diff --git a/.bowerrc b/.bowerrc deleted file mode 100644 index dd7c6b18176e..000000000000 --- a/.bowerrc +++ /dev/null @@ -1,4 +0,0 @@ -{ - "directory": "bower_components", - "json": "bower.json" -} diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 000000000000..2a2130d6e838 --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,509 @@ +# Configuration file for https://circleci.com/gh/angular/angular.js + +# Note: YAML anchors allow an object to be re-used, reducing duplication. +# The ampersand declares an alias for an object, then later the `<<: *name` +# syntax dereferences it. +# See http://blog.daemonl.com/2016/02/yaml.html +# To validate changes, use an online parser, eg. +# http://yaml-online-parser.appspot.com/ + +# CircleCI configuration version +# Version 2.1 allows for extra config reuse features +# https://circleci.com/docs/2.0/reusing-config/#getting-started-with-config-reuse +version: 2.1 + +# Workspace persisted by the `setup` job to share build artifacts with other jobs. +# https://circleci.com/docs/2.0/workflows/#using-workspaces-to-share-data-among-jobs +# https://circleci.com/blog/deep-diving-into-circleci-workspaces/ +var_workspace_location: &workspace_location ~/ + +# Executor Definitions +# https://circleci.com/docs/2.0/reusing-config/#authoring-reusable-executors +# **NOTE 1**: Pin to exact images using an ID (SHA). See https://circleci.com/docs/2.0/circleci-images/#using-a-docker-image-id-to-pin-an-image-to-a-fixed-version. +# (Using the tag in not necessary when pinning by ID, but include it anyway for documentation purposes.) +executors: + default-executor: + parameters: + resource_class: + type: string + default: medium + docker: + - image: circleci/node:14.16.1@sha256:b094e85848b43209ca83d9bb114d406fe62c75cb73b18c9d8eb1a9c6462c97d4 + resource_class: << parameters.resource_class >> + working_directory: ~/ng + cloud-sdk: + description: The docker container to use when running gcp-gcs commands + docker: + - image: google/cloud-sdk:alpine@sha256:7d0cae28cb282b76f2d9babe278c63c910d54f0cceca7a65fdf6806e2b43882e + working_directory: ~/ng + + +# Filter Definitions + +# Filter to run a job on all branches and any `v1.X.Y(-Z)` tags. +# Since the jobs need to run on tagged builds too, a `tags` section has to be explicitly specified. +# (The `branches` section could be omitted, since it defaults to all branches - just being explicit +# here). +# See also https://circleci.com/docs/2.0/workflows/#executing-workflows-for-a-git-tag. +var-filter-run-always: &run-always + filters: + branches: + only: /.*/ + tags: + only: /v1\.\d+\.\d.*/ + +# Filter to run a job when code might need to be deployed - i.e. on builds for the `master` branch. +# (Further checks are needed to determine whether a deployment is actually needed, but these are not +# possible via filters.) +var-filter-run-on-master: &run-on-master + filters: + branches: + only: + - master + tags: + ignore: /.*/ + +# Filter to run a job when code/docs might need to be deployed - i.e. on tagged builds and on builds +# for master and `v1.*.x` branches. +# (Further checks are needed to determine whether a deployment is actually needed, but these are not +# possible via filters.) +var-filter-run-on-tags-and-master-and-version-branches: &run-on-tags-and-master-and-version-branches + filters: + branches: + only: + - master + - /v1\.\d+\.x/ + tags: + only: /v1\.\d+\.\d.*/ + +# Filter to run a job when docs might need to be deployed - i.e. on builds for `v1.*.x` branches, +# which might correspond to the stable branch. +# (Further checks are needed to determine whether a deployment is actually needed, but these are not +# possible via filters.) +var-filter-run-on-version-branches: &run-on-version-branches + filters: + branches: + only: + - /v1\.\d+\.x/ + tags: + ignore: /.*/ + + +# Command Definitions +# https://circleci.com/docs/2.0/reusing-config/#authoring-reusable-commands +commands: + skip_on_pr_and_fork_builds: + description: Skip a job on pull request and fork builds + steps: + - run: + name: Skip this job if this is a pull request or fork build + # Note: Using `CIRCLE_*` env variables (instead of those defined in `env.sh` so that this + # step can be run before `init_environment`. + command: > + if [[ -n "$CIRCLE_PR_NUMBER" ]] || + [[ "$CIRCLE_PROJECT_USERNAME" != "angular" ]] || + [[ "$CIRCLE_PROJECT_REPONAME" != "angular.js" ]]; then + echo "Skipping this job, because this is either a pull request or a fork build." + circleci step halt + fi + + skip_unless_stable_branch: + description: Skip a job unless this is the stable branch + steps: + - run: + name: Skip this job unless this is the stable branch + command: > + if [[ "$DIST_TAG" != "latest" ]]; then + echo "Skipping deployment, because this is not the stable branch." + circleci step halt + fi + + skip_unless_tag_or_master_or_stable_branch: + description: Skip a job unless this is a tag or the master or stable branch + steps: + - run: + name: Skip this job unless this is a tag or the master or stable branch + command: > + if [[ "$CI_GIT_TAG" == "false" ]] && + [[ "$CI_BRANCH" != "master" ]] && + [[ "$DIST_TAG" != "latest" ]]; then + echo "Skipping this job, because this is neither a tag nor the master or stable branch." + circleci step halt + fi + + + custom_attach_workspace: + description: Attach workspace at a predefined location + steps: + - attach_workspace: + at: *workspace_location + + # Java is needed for running the Closure Compiler (during the `minall` task). + install_java: + description: Install java + steps: + - run: + name: Install java + command: | + sudo apt-get update + # Install java runtime + sudo apt-get install default-jre + + # Initializes the CI environment by setting up common environment variables. + init_environment: + description: Initializing environment (setting up variables) + steps: + - run: + name: Set up environment + environment: + CIRCLE_GIT_BASE_REVISION: << pipeline.git.base_revision >> + CIRCLE_GIT_REVISION: << pipeline.git.revision >> + command: ./.circleci/env.sh + - run: + # Configure git as the CircleCI `checkout` command does. + # This is needed because we only checkout on the setup job. + # Add GitHub to known hosts + name: Configure git + command: | + mkdir -p ~/.ssh + echo 'github.com ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==' >> ~/.ssh/known_hosts + git config --global url."ssh://git@github.com".insteadOf "https://github.com/" || true + git config --global gc.auto 0 || true + + init_saucelabs_environment: + description: Sets up a domain that resolves to the local host. + steps: + - run: + name: Preparing environment for running tests on Saucelabs. + command: | + # For SauceLabs jobs, we set up a domain which resolves to the machine which launched + # the tunnel. We do this because devices are sometimes not able to properly resolve + # `localhost` or `127.0.0.1` through the SauceLabs tunnel. Using a domain that does not + # resolve to anything on SauceLabs VMs ensures that such requests are always resolved + # through the tunnel, and resolve to the actual tunnel host machine (i.e. the CircleCI VM). + # More context can be found in: https://github.com/angular/angular/pull/35171. + setPublicVar SAUCE_LOCALHOST_ALIAS_DOMAIN "angular-ci.local" + setSecretVar SAUCE_ACCESS_KEY $(echo $SAUCE_ACCESS_KEY | rev) + - run: + # Sets up a local domain in the machine's host file that resolves to the local + # host. This domain is helpful in Saucelabs tests where devices are not able to + # properly resolve `localhost` or `127.0.0.1` through the sauce-connect tunnel. + name: Setting up alias domain for local host. + command: echo "127.0.0.1 $SAUCE_LOCALHOST_ALIAS_DOMAIN" | sudo tee -a /etc/hosts + + start_saucelabs: + steps: + - run: + name: Starting Saucelabs tunnel service + command: ./lib/saucelabs/sauce-service.sh start-ready-wait + + stop_saucelabs: + steps: + - run: + name: Stopping Saucelabs tunnel service + command: ./lib/saucelabs/sauce-service.sh stop + + run_e2e_tests: + parameters: + specs: + type: string + steps: + - custom_attach_workspace + - init_environment + - init_saucelabs_environment + - start_saucelabs + - run: + command: yarn grunt test:circleci-protractor --specs="<< parameters.specs >>" + no_output_timeout: 30m + - stop_saucelabs + + run_e2e_tests_jquery: + parameters: + specs: + type: string + steps: + - custom_attach_workspace + - init_environment + - init_saucelabs_environment + - start_saucelabs + - run: + environment: + USE_JQUERY: 1 + command: yarn grunt test:circleci-protractor --specs="<< parameters.specs >>" + no_output_timeout: 30m + - stop_saucelabs + +# Job definitions +# Jobs can include parameters that are passed in the workflow job invocation. +# https://circleci.com/docs/2.0/reusing-config/#authoring-parameterized-jobs +jobs: + setup: + executor: default-executor + steps: + - checkout + - init_environment + - install_java + - run: + name: Running Yarn install + command: yarn install --frozen-lockfile --non-interactive + # Yarn's requests sometimes take more than 10mins to complete. + no_output_timeout: 45m + - run: yarn grunt package + # Persist any changes at this point to be reused by further jobs. + # **NOTE**: To add new content to the workspace, always persist on the same root. + - persist_to_workspace: + root: *workspace_location + paths: + - ./ng + + lint: + executor: default-executor + steps: + - custom_attach_workspace + - init_environment + - run: yarn grunt ci-checks + - run: yarn commitplease "$CI_COMMIT_RANGE" + - run: yarn grunt validate-angular-files + + unit-test: + executor: + name: default-executor + steps: + - custom_attach_workspace + - init_environment + - install_java + - init_saucelabs_environment + - run: yarn grunt test:promises-aplus + - run: + command: yarn grunt test:jqlite --browsers="$BROWSERS" --reporters=spec + no_output_timeout: 10m + - run: + command: yarn grunt test:modules --browsers="$BROWSERS" --reporters=spec + no_output_timeout: 10m + - run: + command: yarn grunt test:docs --browsers="$BROWSERS" --reporters=spec + no_output_timeout: 10m + + unit-test-jquery: + executor: + name: default-executor + steps: + - custom_attach_workspace + - init_environment + - init_saucelabs_environment + - run: + command: yarn grunt test:jquery --browsers="$BROWSERS" --reporters=spec + no_output_timeout: 10m + - run: + command: yarn grunt test:jquery-2.2 --browsers="$BROWSERS" --reporters=spec + no_output_timeout: 10m + - run: + command: yarn grunt test:jquery-2.1 --browsers="$BROWSERS" --reporters=spec + no_output_timeout: 10m + + e2e-test-1: + executor: + name: default-executor + steps: + - run_e2e_tests: + specs: test/e2e/tests/**/*.js + + e2e-test-2a: + executor: + name: default-executor + steps: + - run_e2e_tests: + specs: build/docs/ptore2e/example-ng*/**/default_test.js + + e2e-test-2b: + executor: + name: default-executor + steps: + - run_e2e_tests: + specs: "build/docs/ptore2e/!(example-ng*)/**/default_test.js" + + e2e-test-jquery-1: + executor: + name: default-executor + steps: + - run_e2e_tests_jquery: + specs: test/e2e/tests/**/*.js + + e2e-test-jquery-2a: + executor: + name: default-executor + steps: + - run_e2e_tests_jquery: + specs: build/docs/ptore2e/example-ng*/**/jquery_test.js + + e2e-test-jquery-2b: + executor: + name: default-executor + steps: + - run_e2e_tests_jquery: + specs: build/docs/ptore2e/!(example-ng*)/**/jquery_test.js + + prepare-deployment: + executor: + name: default-executor + steps: + - skip_on_pr_and_fork_builds + - custom_attach_workspace + - init_environment + - run: yarn grunt prepareDeploy + # Write the deployment files to the workspace to be used by deploy-docs and deploy-code + - persist_to_workspace: + root: *workspace_location + paths: + - ./ng + + # The `deploy-code-files` job should only run when all of these conditions are true for the build: + # - It is for the `angular/angular.js` repository (not a fork). + # - It is not for a pull request. + # - It is for a tag or the master branch or the stable branch(*). + # + # *: The stable branch is the one that has the value `latest` in `package.json > distTag`. + deploy-code-files: + executor: + name: cloud-sdk + steps: + - skip_on_pr_and_fork_builds + - custom_attach_workspace + - init_environment + - skip_unless_tag_or_master_or_stable_branch + - run: ls scripts/code.angularjs.org-firebase/deploy + - run: + name: Authenticate and configure Docker + command: | + echo $GCLOUD_SERVICE_KEY | gcloud auth activate-service-account --key-file=- + gcloud --quiet config set project ${GOOGLE_PROJECT_ID} + - run: + name: Sync files to code.angularjs.org + command: | + gsutil -m rsync -r scripts/code.angularjs.org-firebase/deploy gs://code-angularjs-org-338b8.appspot.com + + # The `deploy-code-firebase` job should only run when all of these conditions are true for the build: + # - It is for the `angular/angular.js` repository (not a fork). + # - It is not for a pull request. + # - It is for the master branch. + # (This is enforced via job filters, so we don't need to a step to check it here.) + deploy-code-firebase: + executor: + name: default-executor + steps: + - skip_on_pr_and_fork_builds + - custom_attach_workspace + - init_environment + # Install dependencies for Firebase functions to prevent parsing errors during deployment. + # See https://github.com/angular/angular.js/pull/16453. + - run: + name: Install dependencies in `scripts/code.angularjs.org-firebase/functions/`. + working_directory: scripts/code.angularjs.org-firebase/functions + command: yarn install --frozen-lockfile --ignore-engines --non-interactive + - run: + name: Deploy to Firebase from `scripts/code.angularjs.org-firebase/`. + working_directory: scripts/code.angularjs.org-firebase + command: | + # Do not use `yarn firebase` as that causes the Firebase CLI to look for `firebase.json` + # in the root directory, even if run from inside `scripts/code.angularjs.org-firebase/`. + firebase=$(yarn bin)/firebase + $firebase use + $firebase deploy --message "Commit:\ $CI_COMMIT" --non-interactive --token "$FIREBASE_TOKEN" + + # The `deploy-docs` job should only run when all of these conditions are true for the build: + # - It is for the `angular/angular.js` repository (not a fork). + # - It is not for a pull request. + # - It is for the stable branch(*). + # + # *: The stable branch is the one that has the value `latest` in `package.json > distTag`. + deploy-docs: + executor: + name: default-executor + steps: + - skip_on_pr_and_fork_builds + - custom_attach_workspace + - init_environment + - skip_unless_stable_branch + # Install dependencies for Firebase functions to prevent parsing errors during deployment. + # See https://github.com/angular/angular.js/pull/16453. + - run: + name: Install dependencies in `scripts/docs.angularjs.org-firebase/functions/`. + working_directory: scripts/docs.angularjs.org-firebase/functions + command: yarn install --frozen-lockfile --ignore-engines --non-interactive + - run: + name: Deploy to Firebase from `scripts/docs.angularjs.org-firebase/`. + working_directory: scripts/docs.angularjs.org-firebase + command: | + # Do not use `yarn firebase` as that causes the Firebase CLI to look for `firebase.json` + # in the root directory, even if run from inside `scripts/docs.angularjs.org-firebase/`. + firebase=$(yarn bin)/firebase + $firebase use + $firebase deploy --message "Commit:\ $CI_COMMIT" --non-interactive --token "$FIREBASE_TOKEN" + +workflows: + version: 2 + default_workflow: + jobs: + - setup: + <<: *run-always + - lint: + <<: *run-always + requires: + - setup + - unit-test: + <<: *run-always + requires: + - setup + - unit-test-jquery: + <<: *run-always + requires: + - setup + - e2e-test-1: + <<: *run-always + requires: + - setup + - e2e-test-2a: + <<: *run-always + requires: + - setup + - e2e-test-2b: + <<: *run-always + requires: + - setup + - e2e-test-jquery-1: + <<: *run-always + requires: + - setup + - e2e-test-jquery-2a: + <<: *run-always + requires: + - setup + - e2e-test-jquery-2b: + <<: *run-always + requires: + - setup + - prepare-deployment: + <<: *run-on-tags-and-master-and-version-branches + requires: + - setup + - lint + - unit-test + - unit-test-jquery + - e2e-test-1 + - e2e-test-2a + - e2e-test-2b + - e2e-test-jquery-1 + - e2e-test-jquery-2a + - e2e-test-jquery-2b + - deploy-code-files: + <<: *run-on-tags-and-master-and-version-branches + requires: + - prepare-deployment + - deploy-code-firebase: + <<: *run-on-master + requires: + - prepare-deployment + - deploy-docs: + <<: *run-on-version-branches + requires: + - prepare-deployment diff --git a/.circleci/env-helpers.inc.sh b/.circleci/env-helpers.inc.sh new file mode 100644 index 000000000000..5fa1263e112f --- /dev/null +++ b/.circleci/env-helpers.inc.sh @@ -0,0 +1,73 @@ +#################################################################################################### +# Helpers for defining environment variables for CircleCI. +# +# In CircleCI, each step runs in a new shell. The way to share ENV variables across steps is to +# export them from `$BASH_ENV`, which is automatically sourced at the beginning of every step (for +# the default `bash` shell). +# +# See also https://circleci.com/docs/2.0/env-vars/#using-bash_env-to-set-environment-variables. +#################################################################################################### + +# Set and print an environment variable. +# +# Use this function for setting environment variables that are public, i.e. it is OK for them to be +# visible to anyone through the CI logs. +# +# Usage: `setPublicVar ` +function setPublicVar() { + setSecretVar $1 "$2"; + echo "$1=$2"; +} + +# Set (without printing) an environment variable. +# +# Use this function for setting environment variables that are secret, i.e. should not be visible to +# everyone through the CI logs. +# +# Usage: `setSecretVar ` +function setSecretVar() { + # WARNING: Secrets (e.g. passwords, access tokens) should NOT be printed. + # (Keep original shell options to restore at the end.) + local -r originalShellOptions=$(set +o); + set +x -eu -o pipefail; + + echo "export $1=\"${2:-}\";" >> $BASH_ENV; + + # Restore original shell options. + eval "$originalShellOptions"; +} + + +# Create a function to set an environment variable, when called. +# +# Use this function for creating setter for public environment variables that require expensive or +# time-consuming computaions and may not be needed. When needed, you can call this function to set +# the environment variable (which will be available through `$BASH_ENV` from that point onwards). +# +# Arguments: +# - ``: The name of the environment variable. The generated setter function will be +# `setPublicVar_`. +# - ``: The code to run to compute the value for the variable. Since this code should be +# executed lazily, it must be properly escaped. For example: +# ```sh +# # DO NOT do this: +# createPublicVarSetter MY_VAR "$(whoami)"; # `whoami` will be evaluated eagerly +# +# # DO this isntead: +# createPublicVarSetter MY_VAR "\$(whoami)"; # `whoami` will NOT be evaluated eagerly +# ``` +# +# Usage: `createPublicVarSetter ` +# +# Example: +# ```sh +# createPublicVarSetter MY_VAR 'echo "FOO"'; +# echo $MY_VAR; # Not defined +# +# setPublicVar_MY_VAR; +# source $BASH_ENV; +# echo $MY_VAR; # FOO +# ``` +function createPublicVarSetter() { + echo "setPublicVar_$1() { setPublicVar $1 \"$2\"; }" >> $BASH_ENV; +} diff --git a/.circleci/env.sh b/.circleci/env.sh new file mode 100755 index 000000000000..338371017ccb --- /dev/null +++ b/.circleci/env.sh @@ -0,0 +1,69 @@ +#!/usr/bin/env bash + +# Variables +readonly projectDir=$(realpath "$(dirname ${BASH_SOURCE[0]})/..") +readonly envHelpersPath="$projectDir/.circleci/env-helpers.inc.sh"; + +# Load helpers and make them available everywhere (through `$BASH_ENV`). +source $envHelpersPath; +echo "source $envHelpersPath;" >> $BASH_ENV; + +#################################################################################################### +# Define PUBLIC environment variables for CircleCI. +#################################################################################################### +# See https://circleci.com/docs/2.0/env-vars/#built-in-environment-variables for more info. +#################################################################################################### +setPublicVar CI "$CI" +setPublicVar PROJECT_ROOT "$projectDir"; +# This is the branch being built; e.g. `pull/12345` for PR builds. +setPublicVar CI_BRANCH "$CIRCLE_BRANCH"; +setPublicVar CI_BUILD_URL "$CIRCLE_BUILD_URL"; +setPublicVar CI_COMMIT "$CIRCLE_SHA1"; +setPublicVar CI_GIT_BASE_REVISION "${CIRCLE_GIT_BASE_REVISION}"; +setPublicVar CI_GIT_REVISION "${CIRCLE_GIT_REVISION}"; +setPublicVar CI_GIT_TAG "${CIRCLE_TAG:-false}"; +setPublicVar CI_COMMIT_RANGE "$CIRCLE_GIT_BASE_REVISION..$CIRCLE_GIT_REVISION"; +setPublicVar CI_PULL_REQUEST "${CIRCLE_PR_NUMBER:-false}"; +setPublicVar CI_REPO_NAME "$CIRCLE_PROJECT_REPONAME"; +setPublicVar CI_REPO_OWNER "$CIRCLE_PROJECT_USERNAME"; +setPublicVar CI_PR_REPONAME "$CIRCLE_PR_REPONAME"; +setPublicVar CI_PR_USERNAME "$CIRCLE_PR_USERNAME"; + + +#################################################################################################### +# Define SauceLabs environment variables for CircleCI. +#################################################################################################### +setPublicVar BROWSER_PROVIDER "saucelabs" + +# The currently latest-1 version of desktop Safari on Saucelabs (v12.0) is unstable and disconnects +# consistently. The latest version (v12.1) works fine. +# TODO: Add `SL_Safari-1` back, once it no longer corresponds to v12.0. +setPublicVar BROWSERS "SL_Chrome,SL_Chrome-1,\ +SL_Firefox,SL_Firefox-1,\ +SL_Safari,\ +SL_iOS,SL_iOS-1,\ +SL_IE_9,SL_IE_10,SL_IE_11,\ +SL_EDGE,SL_EDGE-1" + +setPublicVar SAUCE_LOG_FILE /tmp/angular/sauce-connect.log +setPublicVar SAUCE_READY_FILE /tmp/angular/sauce-connect-ready-file.lock +setPublicVar SAUCE_PID_FILE /tmp/angular/sauce-connect-pid-file.lock +setPublicVar SAUCE_TUNNEL_IDENTIFIER "angularjs-framework-${CIRCLE_BUILD_NUM}-${CIRCLE_NODE_INDEX}" +# Amount of seconds we wait for sauceconnect to establish a tunnel instance. In order to not +# acquire CircleCI instances for too long if sauceconnect failed, we need a connect timeout. +setPublicVar SAUCE_READY_FILE_TIMEOUT 120 + +#################################################################################################### +# Define additional environment variables +#################################################################################################### + +# NOTE: Make sure the tools used to compute this are available in all executors in `config.yml`. +setPublicVar DIST_TAG $( cat package.json | grep distTag | sed -E 's/^\s*"distTag"\s*:\s*"([^"]+)"\s*,\s*$/\1/' ) + +#################################################################################################### +#################################################################################################### +## Source `$BASH_ENV` to make the variables available immediately. ## +## *** NOTE: This must remain the last command in this script. *** ## +#################################################################################################### +#################################################################################################### +source $BASH_ENV; diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 000000000000..a6bc2855214e --- /dev/null +++ b/.editorconfig @@ -0,0 +1,18 @@ +# https://editorconfig.org + +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true + +[dropdown-toggle.js] +trim_trailing_whitespace = false +insert_final_newline = false + +[htmlparser.js] +insert_final_newline = false diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 000000000000..6d8222eb45db --- /dev/null +++ b/.eslintignore @@ -0,0 +1,10 @@ +build/** +docs/app/assets/js/angular-bootstrap/** +docs/config/templates/** +node_modules/** +lib/htmlparser/** +src/angular.bind.js +src/ngParseExt/ucd.js +i18n/closure/** +tmp/** +vendor/** diff --git a/.eslintrc-base.json b/.eslintrc-base.json new file mode 100644 index 000000000000..ee3a411bb2d7 --- /dev/null +++ b/.eslintrc-base.json @@ -0,0 +1,117 @@ +{ + "rules": { + // Rules are divided into sections from http://eslint.org/docs/rules/ + + // Possible errors + "comma-dangle": ["error", "never"], + "no-cond-assign": ["error", "except-parens"], + "no-constant-condition": ["error", {"checkLoops": false}], + "no-control-regex": "error", + "no-debugger": "error", + "no-dupe-args": "error", + "no-dupe-keys": "error", + "no-duplicate-case": "error", + "no-empty-character-class": "error", + "no-empty": "error", + "no-ex-assign": "error", + "no-extra-boolean-cast": "error", + "no-extra-semi": "error", + "no-func-assign": "error", + "no-inner-declarations": "error", + "no-invalid-regexp": "error", + "no-irregular-whitespace": "error", + "no-negated-in-lhs": "error", + "no-obj-calls": "error", + "no-regex-spaces": "error", + "no-sparse-arrays": "error", + "no-unreachable": "error", + "use-isnan": "error", + "no-unsafe-finally": "error", + "valid-typeof": "error", + "no-unexpected-multiline": "error", + + // Best practices + "accessor-pairs": "error", + "array-callback-return": "error", + "eqeqeq": ["error", "allow-null"], + "no-alert": "error", + "no-caller": "error", + "no-case-declarations": "error", + "no-eval": "error", + "no-extend-native": "error", + "no-extra-bind": "error", + "no-extra-label": "error", + "no-fallthrough": "error", + "no-floating-decimal": "error", + "no-implied-eval": "error", + "no-invalid-this": "error", + "no-iterator": "error", + "no-multi-str": "error", + "no-new-func": "error", + "no-new-wrappers": "error", + "no-new": "error", + "no-octal-escape": "error", + "no-octal": "error", + "no-proto": "error", + "no-redeclare": "error", + "no-return-assign": "error", + "no-script-url": "error", + "no-self-assign": "error", + "no-self-compare": "error", + "no-sequences": "error", + "no-throw-literal": "error", + "no-unmodified-loop-condition": "error", + "no-unused-expressions": "error", + "no-unused-labels": "error", + "no-useless-call": "error", + "no-useless-concat": "error", + "no-useless-escape": "error", + "no-void": "error", + "no-with": "error", + "radix": "error", + "wrap-iife": ["error", "inside"], + + // Strict mode + "strict": ["error", "global"], + + // Variables + "no-delete-var": "error", + "no-label-var": "error", + "no-restricted-globals": ["error", "event"], + "no-shadow-restricted-names": "error", + "no-undef-init": "error", + "no-undef": "error", + "no-unused-vars": ["error", { "vars": "local", "args": "none" }], + + // Node.js + "handle-callback-err": "error", + + // Stylistic issues + "array-bracket-spacing": ["error", "never"], + "brace-style": ["error", "1tbs", { "allowSingleLine": true }], + "comma-style": ["error", "last"], + "eol-last": "error", + "keyword-spacing": "error", + "linebreak-style": ["error", "unix"], + "max-len": ["error", { "code": 200, "ignoreComments": true, "ignoreUrls": true }], + "new-cap": "error", + "new-parens": "error", + "no-array-constructor": "error", + "no-bitwise": "error", + "no-mixed-spaces-and-tabs": "error", + "no-multiple-empty-lines": ["error", { "max": 3, "maxEOF": 1 }], + "no-whitespace-before-property": "error", + "no-spaced-func": "error", + "no-trailing-spaces": "error", + "no-unneeded-ternary": "error", + "quotes": ["error", "single"], + "semi-spacing": "error", + "semi": "error", + "space-before-blocks": ["error", "always"], + "space-before-function-paren": ["error", "never"], + "space-in-parens": ["error", "never"], + "space-infix-ops": "error", + "space-unary-ops": ["error", { "words": true, "nonwords": false }], + "unicode-bom": ["error", "never"] + } +} diff --git a/.eslintrc-browser.json b/.eslintrc-browser.json new file mode 100644 index 000000000000..44024664ae8f --- /dev/null +++ b/.eslintrc-browser.json @@ -0,0 +1,17 @@ +{ + "extends": "./.eslintrc-base.json", + + "env": { + // Note: don't set `"browser": true`; code in "src/" should be compatible with + // non-browser environments like Node.js with a custom window implementation + // like jsdom. All browser globals should be taken from window. + "browser": false, + "node": false + }, + + "globals": { + "window": false, + + "angular": false + } +} diff --git a/.eslintrc-node.json b/.eslintrc-node.json new file mode 100644 index 000000000000..c16a8a883837 --- /dev/null +++ b/.eslintrc-node.json @@ -0,0 +1,13 @@ +{ + "extends": "./.eslintrc-base.json", + "env": { + "browser": false, + "node": true + }, + "parserOptions": { + "ecmaVersion": 2017 + }, + "plugins": [ + "promise" + ] +} diff --git a/.eslintrc-todo.json b/.eslintrc-todo.json new file mode 100644 index 000000000000..a7b24d7a05b0 --- /dev/null +++ b/.eslintrc-todo.json @@ -0,0 +1,25 @@ +{ + // This config contains proposed rules that we'd like to have enabled but haven't + // converted the code to adhere yet. If a decision comes to not enable one of these + // rules, it should be removed from the file. Every rule that got enabled in the + // end should be moved from here to a respective section in .eslintrc.json + + "rules": { + // Rules are divided into sections from http://eslint.org/docs/rules/ + + // Best practices + "complexity": ["error", 10], + "dot-notation": "error", + "dot-location": ["error", "property"], + + // Stylistic issues + "block-spacing": ["error", "always"], + "comma-spacing": "error", + "id-denylist": ["error", "event"], + "indent": ["error", 2], + "key-spacing": ["error", { "beforeColon": false, "afterColon": true, "mode": "minimum" }], + "object-curly-spacing": ["error", "never"], + "object-property-newline": ["error", { "allowMultiplePropertiesPerLine": true }], + "operator-linebreak": ["error", "after", { "overrides": { "?": "before", ":": "before" }}] + } +} diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 000000000000..d8de7a976909 --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,4 @@ +{ + "root": true, + "extends": "./.eslintrc-node.json" +} diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 000000000000..b7ca95b5b77a --- /dev/null +++ b/.gitattributes @@ -0,0 +1,5 @@ +# Auto detect text files and perform LF normalization +* text=auto + +# JS files must always use LF for tools to work +*.js eol=lf diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md new file mode 100644 index 000000000000..f5513f23390c --- /dev/null +++ b/.github/ISSUE_TEMPLATE.md @@ -0,0 +1,42 @@ +# AngularJS is in LTS mode +We are no longer accepting changes that are not critical bug fixes into this project. +See https://blog.angular.io/stable-angularjs-and-long-term-support-7e077635ee9c for more detail. + + + + + +**I'm submitting a ...** + +- [ ] regression from 1.7.0 +- [ ] security issue +- [ ] issue caused by a new browser version +- [ ] other + +**Current behavior:** + + +**Expected / new behavior:** + + +**Minimal reproduction of the problem with instructions:** + + +**AngularJS version:** 1.8.x + + +**Browser:** [all | Chrome XX | Firefox XX | Edge XX | IE XX | Safari XX | Mobile Chrome XX | Android X.X Web Browser | iOS XX Safari | iOS XX UIWebView | iOS XX WKWebView | Opera XX ] + + +**Anything else:** + diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 000000000000..fd23b045065a --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,29 @@ +# AngularJS is in LTS mode +We are no longer accepting changes that are not critical bug fixes into this project. +See https://blog.angular.io/stable-angularjs-and-long-term-support-7e077635ee9c for more detail. + + +**Does this PR fix a regression since 1.7.0, a security flaw, or a problem caused by a new browser version?** + + + + +**What is the current behavior? (You can also link to an open issue here)** + + + +**What is the new behavior (if this is a feature change)?** + + + +**Does this PR introduce a breaking change?** + + + +**Please check if the PR fulfills these requirements** +- [ ] The commit message follows our [guidelines](https://github.com/angular/angular.js/blob/master/DEVELOPERS.md#commits) +- [ ] Fix/Feature: [Docs](https://github.com/angular/angular.js/blob/master/DEVELOPERS.md#documentation) have been added/updated +- [ ] Fix/Feature: Tests have been added; existing tests pass + +**Other information**: + diff --git a/.gitignore b/.gitignore index dcf59c4cf5b3..9641ed4fd609 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ /build/ +/benchpress-build/ .DS_Store gen_docs.disable test.disable @@ -8,13 +9,19 @@ performance/temp*.html *~ *.swp angular.js.tmproj -/node_modules/ -/components/ -/bower_components/ +node_modules/ angular.xcodeproj +.firebase/ .idea +*.iml .agignore +.lvimrc libpeerconnection.log npm-debug.log /tmp/ -/scripts/bower/bower-* +.vscode +*.log +*.stackdump +scripts/code.angularjs.org-firebase/deploy +scripts/docs.angularjs.org-firebase/deploy +scripts/docs.angularjs.org-firebase/functions/content diff --git a/.mailmap b/.mailmap new file mode 100644 index 000000000000..f1a2dc0b18e0 --- /dev/null +++ b/.mailmap @@ -0,0 +1,29 @@ +Andres Ornelas +Caitlin Potter +Caitlin Potter +Di Peng +Di Peng +Georgios Kalpakas +Georgios Kalpakas +Julie Ralph +Lucas Galfaso +Martin Staffa +Martin Staffa +Matias Niemelä +Michał Gołębiowski-Owczarek +Misko Hevery +Misko Hevery +Igor Minar +Igor Minar +Igor Minar +Igor Minar +Pawel Kozlowski +Peter Bacon Darwin +Rodric Haddad +Shahar Talmi +Shahar Talmi +Shyam Seshadri +Shyam Seshadri +Vojta Jina +Vojta Jina +Vojta Jina diff --git a/.nvmrc b/.nvmrc new file mode 100644 index 000000000000..6b17d228d335 --- /dev/null +++ b/.nvmrc @@ -0,0 +1 @@ +14.16.1 diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 0c31fbe8b646..000000000000 --- a/.travis.yml +++ /dev/null @@ -1,28 +0,0 @@ -language: node_js -node_js: - - 0.10 - -env: - global: - - SAUCE_USERNAME=angular-ci - - SAUCE_ACCESS_KEY=9b988f434ff8-fbca-8aa4-4ae3-35442987 - - SAUCE_CONNECT_READY_FILE=/tmp/sauce-connect-ready - - BROWSER_STACK_USERNAME=VojtaJina - - BROWSER_STACK_ACCESS_KEY=HAfHZaypxAc3PEUrUU9a - - LOGS_DIR=/tmp/angular-build/logs - -before_script: - - mkdir -p $LOGS_DIR - - ./lib/browser-stack/start-tunnel.sh - - npm install -g grunt-cli - - grunt bower - - grunt bower - - grunt package-without-bower - - grunt ci-checks - - ./lib/sauce/sauce_connect_block.sh - -script: - - ./travis_build.sh - -after_script: - - ./travis_print_logs.sh diff --git a/CHANGELOG.md b/CHANGELOG.md index 061b7d04a7b6..c720bd43ffa6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,13750 @@ +**AngularJS support has officially ended as of January 2022. +[See what ending support means](https://docs.angularjs.org/misc/version-support-status) +and [read the end of life announcement](https://goo.gle/angularjs-end-of-life).** + +**Visit [angular.io](https://angular.io) for the actively supported Angular.** + + +# 1.8.3 ultimate-farewell (2022-04-07) + +One final release of AngularJS in order to update package README files on npm. + + +# 1.8.2 meteoric-mining (2020-10-21) + +## Bug Fixes +- **$sceDelegate:** ensure that `resourceUrlWhitelist()` is identical to `trustedResourceUrlList()` + ([e41f01](https://github.com/angular/angular.js/commit/e41f018959934bfbf982ba996cd654b1fce88d43), + [#17090](https://github.com/angular/angular.js/issues/17090)) + + + +# 1.8.1 mutually-supporting (2020-09-30) + +## Bug Fixes +- **$sanitize:** do not trigger CSP alert/report in Firefox and Chrome + ([2fab3d](https://github.com/angular/angular.js/commit/2fab3d4e00f4fe35bfa3cf255160cb97404baf24)) + +## Refactorings + +- **SanitizeUriProvider:** remove usages of whitelist + ([76738102](https://github.com/angular/angular.js/commit/767381020d88bda2855ac87ca6f00748907e14ff)) +- **httpProvider:** remove usages of whitelist and blacklist + ([c953af6b](https://github.com/angular/angular.js/commit/c953af6b8cfeefe4acc0ca358550eed5da8cfe00)) +- **sceDelegateProvider:** remove usages of whitelist and blacklist + ([a206e267](https://github.com/angular/angular.js/commit/a206e2675c351c3cdcde3402978126774c1c5df9)) + +## Deprecation Notices + +- Deprecated ~~`$compileProvider.aHrefSanitizationWhitelist`~~. + It is now [`aHrefSanitizationTrustedUrlList`](https://docs.angularjs.org/api/ng/provider/$compileProvider#aHrefSanitizationTrustedUrlList). +- Deprecated ~~`$compileProvider.imgSrcSanitizationWhitelist`~~. + It is now [`imgSrcSanitizationTrustedUrlList`](https://docs.angularjs.org/api/ng/provider/$compileProvider#imgSrcSanitizationTrustedUrlList). +- Deprecated ~~`$httpProvider.xsrfWhitelistedOrigins`~~. + It is now [`xsrfTrustedOrigins`](https://docs.angularjs.org/api/ng/provider/$httpProvider#xsrfTrustedOrigins). +- Deprecated ~~`$sceDelegateProvider.resourceUrlWhitelist`~~. + It is now [`trustedResourceUrlList`](https://docs.angularjs.org/api/ng/provider/$sceDelegateProvider#trustedResourceUrlList). +- Deprecated ~~`$sceDelegateProvider.resourceUrlBlacklist`~~. + It is now [`bannedResourceUrlList`](https://docs.angularjs.org/api/ng/provider/$sceDelegateProvider#bannedResourceUrlList). + +For the purposes of backward compatibility, the previous symbols are aliased to their new symbol. + + + +# 1.8.0 nested-vaccination (2020-06-01) + +_This release contains a breaking change to resolve a security issue which was discovered by +Krzysztof Kotowicz(@koto); and independently by Esben Sparre Andreasen (@esbena) while +performing a Variant Analysis of [CVE-2020-11022](https://github.com/advisories/GHSA-gxr4-xjj5-5px2) +which itself was found and reported by Masato Kinugawa (@masatokinugawa)._ + +## Bug Fixes +- **jqLite:** + - prevent possible XSS due to regex-based HTML replacement + ([2df43c](https://github.com/angular/angular.js/commit/2df43c07779137d1bddf7f3b282a1287a8634acd)) + +## Breaking Changes + +### **jqLite** due to: + - **[2df43c](https://github.com/angular/angular.js/commit/2df43c07779137d1bddf7f3b282a1287a8634acd)**: prevent possible XSS due to regex-based HTML replacement + +JqLite no longer turns XHTML-like strings like `
` to sibling elements `
` +when not in XHTML mode. Instead it will leave them as-is. The browser, in non-XHTML mode, will convert these to: +`
`. + +This is a security fix to avoid an XSS vulnerability if a new jqLite element is created from a user-controlled HTML string. +If you must have this functionality and understand the risk involved then it is posible to restore the original behavior by calling + +```js +angular.UNSAFE_restoreLegacyJqLiteXHTMLReplacement(); +``` + +But you should adjust your code for this change and remove your use of this function as soon as possible. + +Note that this only patches jqLite. If you use jQuery 3.5.0 or newer, please read the [jQuery 3.5 upgrade guide](https://jquery.com/upgrade-guide/3.5/) for more details about the workarounds. + + + +# 1.7.9 pollution-eradication (2019-11-19) + +## Bug Fixes +- **angular.merge:** do not merge __proto__ property + ([726f49](https://github.com/angular/angular.js/commit/726f49dcf6c23106ddaf5cfd5e2e592841db743a)) +
(Thanks to the [Snyk Security Research Team](https://snyk.io/blog/snyk-research-team-discovers-severe-prototype-pollution-security-vulnerabilities-affecting-all-versions-of-lodash/) for identifyng this issue.) +- **ngStyle:** correctly remove old style when new style value is invalid + ([5edd25](https://github.com/angular/angular.js/commit/5edd25364f617083363dc2bd61f9230b38267578), + [#16860](https://github.com/angular/angular.js/issues/16860), + [#16868](https://github.com/angular/angular.js/issues/16868)) + + + +# 1.7.8 enthusiastic-oblation (2019-03-11) + + +## Bug Fixes +- **required:** correctly validate required on non-input element surrounded by ngIf + ([a4c7bd](https://github.com/angular/angular.js/commit/a4c7bdccd76c39c30e33f6215da9a00cc8acde2c), + [#16830](https://github.com/angular/angular.js/issues/16830), + [#16836](https://github.com/angular/angular.js/issues/16836)) + + + +# 1.7.7 kingly-exiting (2019-02-04) + +## Bug Fixes +- **ngRequired:** set error correctly when inside ngRepeat and false by default + ([5ad4f5](https://github.com/angular/angular.js/commit/5ad4f5562c37b1cb575e3e5fddd96e9dd10408e2), + [#16814](https://github.com/angular/angular.js/issues/16814), + [#16820](https://github.com/angular/angular.js/issues/16820)) + + + +# 1.7.6 gravity-manipulation (2019-01-17) + +## Bug Fixes +- **$compile:** fix ng-prop-* with undefined values + ([772440](https://github.com/angular/angular.js/commit/772440cdaf9a9bfa40de1675e20a5f0e356089ed), + [#16797](https://github.com/angular/angular.js/issues/16797), + [#16798](https://github.com/angular/angular.js/issues/16798)) +- **compile:** properly handle false value for boolean attrs with jQuery + ([27486b](https://github.com/angular/angular.js/commit/27486bd15e70946ece2ba713e4e8654b7f9bddad), + [#16778](https://github.com/angular/angular.js/issues/16778), + [#16779](https://github.com/angular/angular.js/issues/16779)) +- **ngRepeat:** + - fix reference to last collection value remaining across linkages + ([cf919a](https://github.com/angular/angular.js/commit/cf919a6fb7fc655f3fa37a74899a797ea5b8073e)) + - fix trackBy function being invoked with incorrect scope + ([d4d103](https://github.com/angular/angular.js/commit/d4d1031bcd9b30ae6a58bd60a79bcc9d20f0f2b7), + [#16776](https://github.com/angular/angular.js/issues/16776), + [#16777](https://github.com/angular/angular.js/issues/16777)) +- **aria/ngClick:** check if element is `contenteditable` before blocking spacebar + ([289374](https://github.com/angular/angular.js/commit/289374a43c1b2fd715ddf7455db225b17afebbaf), + [#16762](https://github.com/angular/angular.js/issues/16762)) +- **input:** prevent browsers from autofilling hidden inputs + ([7cbb10](https://github.com/angular/angular.js/commit/7cbb1044fcb3576cdad791bd22ebea3dfd533ff8)) +- **Angular:** add workaround for Safari / Webdriver problem + ([eb49f6](https://github.com/angular/angular.js/commit/eb49f6b7555cfd7ab03fd35581adb6b4bd49044e)) +- **$browser:** normalize inputted URLs + ([2f72a6](https://github.com/angular/angular.js/commit/2f72a69ded53a122afad3ec28d91f9bd2f41eb4f), + [#16606](https://github.com/angular/angular.js/issues/16606)) +- **interpolate:** do not create directives for constant media URL attributes + ([90a41d](https://github.com/angular/angular.js/commit/90a41d415c83abdbf28317f49df0fd0a7e07db86), + [#16734](https://github.com/angular/angular.js/issues/16734)) +- **$q:** allow third-party promise libraries + ([eefaa7](https://github.com/angular/angular.js/commit/eefaa76a90dbef08fdc7d734a205cc2de50d9f91), + [#16164](https://github.com/angular/angular.js/issues/16164), + [#16471](https://github.com/angular/angular.js/issues/16471)) +- **urlUtils:** make IPv6 URL's hostname wrapped in square brackets in IE/Edge + ([0e1bd7](https://github.com/angular/angular.js/commit/0e1bd7822e61822a48b8fd7ba5913a8702e6dabf), + [#16692](https://github.com/angular/angular.js/issues/16692), + [#16715](https://github.com/angular/angular.js/issues/16715)) +- **ngAnimateSwap:** make it compatible with `ngIf` on the same element + ([b27080](https://github.com/angular/angular.js/commit/b27080d52546409fb4e483f212f03616e2ca8037), + [#16616](https://github.com/angular/angular.js/issues/16616), + [#16729](https://github.com/angular/angular.js/issues/16729)) +- **ngMock:** make matchLatestDefinitionEnabled work + ([3cdffc](https://github.com/angular/angular.js/commit/3cdffcecbae71189b4db69b57fadda6608a23b61), + [#16702](https://github.com/angular/angular.js/issues/16702)) +- **ngStyle:** skip setting empty value when new style has the property + ([d6098e](https://github.com/angular/angular.js/commit/d6098eeb1c9510d599e9bd3cfdba7dd21e7a55a5), + [#16709](https://github.com/angular/angular.js/issues/16709)) + +## Performance Improvements +- **input:** prevent multiple validations on initialization + ([692622](https://github.com/angular/angular.js/commit/69262239632027b373258e75c670b89132ad9edb), + [#14691](https://github.com/angular/angular.js/issues/14691), + [#16760](https://github.com/angular/angular.js/issues/16760)) + + + + +# 1.7.5 anti-prettification (2018-10-04) + +## Bug Fixes +- **ngClass:** do not break on invalid values + ([f3a565](https://github.com/angular/angular.js/commit/f3a565872d802c94bb213944791b11b483d52f73), + [#16697](https://github.com/angular/angular.js/issues/16697), + [#16699](https://github.com/angular/angular.js/issues/16699)) + + + +# 1.7.4 interstellar-exploration (2018-09-07) + +## Bug Fixes +- **ngAria.ngClick:** prevent default event on space/enter only for non-interactive elements + ([61b335](https://github.com/angular/angular.js/commit/61b33543ff8e7f32464dec98a46bf0a35e9b03a4), + [#16664](https://github.com/angular/angular.js/issues/16664), + [#16680](https://github.com/angular/angular.js/issues/16680)) +- **ngAnimate:** remove the "prepare" classes with multiple structural animations + ([3105b2](https://github.com/angular/angular.js/commit/3105b2c26a71594c4e7904efc18f4b2e9da25b1b), + [#16681](https://github.com/angular/angular.js/issues/16681), + [#16677](https://github.com/angular/angular.js/issues/16677)) +- **$route:** correctly extract path params if the path contains a question mark or a hash + ([2ceeb7](https://github.com/angular/angular.js/commit/2ceeb739f35e01fcebcabac4beeeb7684ae9f86d)) +- **ngHref:** allow numbers and other objects in interpolation + ([30084c](https://github.com/angular/angular.js/commit/30084c13699c814ff6703d7aa2d3947a9b2f7067), + [#16652](https://github.com/angular/angular.js/issues/16652), + [#16626](https://github.com/angular/angular.js/issues/16626)) +- **select:** allow to select first option with value `undefined` + ([668a33](https://github.com/angular/angular.js/commit/668a33da3439f17e61dfa8f6d9b114ebde8c9d87), + [#16653](https://github.com/angular/angular.js/issues/16653), + [#16656](https://github.com/angular/angular.js/issues/16656)) + + + +# 1.7.3 eventful-proposal (2018-08-03) + +## Bug Fixes +- **$location:** + - fix infinite recursion/digest on URLs with special characters + ([e68697](https://github.com/angular/angular.js/commit/e68697e2e30695f509e6c2c1e43c2c02b7af41f0), + [#16592](https://github.com/angular/angular.js/issues/16592), + [#16611](https://github.com/angular/angular.js/issues/16611)) + - avoid unnecessary `$locationChange*` events due to empty hash + ([1144b1](https://github.com/angular/angular.js/commit/1144b1eccb886ea0e4a80bcb07d38a305c3263b4), + [#16632](https://github.com/angular/angular.js/issues/16632), + [#16636](https://github.com/angular/angular.js/issues/16636)) +- **ngMock.$httpBackend:** + - pass failed HTTP expectations to `$exceptionHandler` + ([4adbf8](https://github.com/angular/angular.js/commit/4adbf82a84a564a8d3f0982c17a64c6163200bcd), + [#16644](https://github.com/angular/angular.js/issues/16644)) + - correctly ignore query params in {expect,when}Route + ([be417f](https://github.com/angular/angular.js/commit/be417f28549e184fbc3c7f74251ac21fca965ae8), + [#14173](https://github.com/angular/angular.js/issues/14173), + [#16589](https://github.com/angular/angular.js/issues/16589)) +- **Angular:** add workaround for Safari / Webdriver problem + ([0a1db2](https://github.com/angular/angular.js/commit/0a1db2ad5f8da6902b1711a738ae4177ce9685fa), + [#16645](https://github.com/angular/angular.js/issues/16645)) +- **$animate:** avoid memory leak with `$animate.enabled(element, enabled)` + ([4bd424](https://github.com/angular/angular.js/commit/4bd424690612885ca06028e9b27de585edc3d3c3), + [#16649](https://github.com/angular/angular.js/issues/16649)) +- **$compile:** + - use correct parent element when requiring on html element + ([05ac70](https://github.com/angular/angular.js/commit/05ac702bc7edae5f89c363ea661774910735ea8b), + [#16535](https://github.com/angular/angular.js/issues/16535), + [#16647](https://github.com/angular/angular.js/issues/16647)) + - work around Firefox `DocumentFragment` bug + ([10973c](https://github.com/angular/angular.js/commit/10973c3366676ac8e5b2728b1e006cdef4ea197e), + [#16607](https://github.com/angular/angular.js/issues/16607), + [#16615](https://github.com/angular/angular.js/issues/16615)) +- **ngEventDirs:** + - pass error in handler to $exceptionHandler when event was triggered in a digest + ([688211](https://github.com/angular/angular.js/commit/6882113bc194fb10081db9bab3dd7d69dd59f311)) + - don't wrap the event handler in $apply if already in $digest + ([535ee3](https://github.com/angular/angular.js/commit/535ee32a0b4881c9fd526fb5e0ffc10919ba1800), + [#14673](https://github.com/angular/angular.js/issues/14673), + [#14674](https://github.com/angular/angular.js/issues/14674)) +- **angular.element:** do not break on `cleanData()` if `_data()` returns undefined + ([7cf4a2](https://github.com/angular/angular.js/commit/7cf4a2933cb017e45b0c97b0a836cbbd905ee31a), + [#16641](https://github.com/angular/angular.js/issues/16641), + [#16642](https://github.com/angular/angular.js/issues/16642)) +- **ngAria:** do not scroll when pressing spacebar on custom buttons + ([3a517c](https://github.com/angular/angular.js/commit/3a517c25f677294a7a9eca1660654a3edcc9e103), + [#14665](https://github.com/angular/angular.js/issues/14665), + [#16604](https://github.com/angular/angular.js/issues/16604)) + + +## New Features +- **$compile:** add support for arbitrary DOM property and event bindings + ([a5914c](https://github.com/angular/angular.js/commit/a5914c94a8fa5b1eceeab9e4e6849cbf467bc26d), + [#16428](https://github.com/angular/angular.js/issues/16428), + [#16235](https://github.com/angular/angular.js/issues/16235), + [#16614](https://github.com/angular/angular.js/issues/16614)) +- **ngMock:** add `$flushPendingTasks()` and `$verifyNoPendingTasks()` + ([6f7674](https://github.com/angular/angular.js/commit/6f7674a7d063d434205f75f5b861f167e8125999), + [#14336](https://github.com/angular/angular.js/issues/14336)) +- **core:** implement more granular pending task tracking + ([17b139](https://github.com/angular/angular.js/commit/17b139f107e5471a9351af638093a8e13a69e42a)) +- **$animate:** add option data to event callbacks + ([fc64e6](https://github.com/angular/angular.js/commit/fc64e6807642512b567deb52b497bd2bff570a1f), + [#12697](https://github.com/angular/angular.js/issues/12697), + [#13059](https://github.com/angular/angular.js/issues/13059)) +- **form.FormController:** add $getControls() + ([c9d1e6](https://github.com/angular/angular.js/commit/c9d1e690aa597283373b78e646676fa8f1ba1b4d), + [#16601](https://github.com/angular/angular.js/issues/16601), + [#14749](https://github.com/angular/angular.js/issues/14749), + [#14517](https://github.com/angular/angular.js/issues/14517), + [#13202](https://github.com/angular/angular.js/issues/13202)) +- **ngModelOptions:** add `timeStripZeroSeconds` and `timeSecondsFormat` + ([b68221](https://github.com/angular/angular.js/commit/b682213d72d65c996a6a31ea57b79d4c4f4e3c98), + [#10721](https://github.com/angular/angular.js/issues/10721), + [#16510](https://github.com/angular/angular.js/issues/16510), + [#16584](https://github.com/angular/angular.js/issues/16584)) + + +## Performance Improvements +- **ngAnimate:** avoid repeated calls to addClass/removeClass when animation has no duration + ([093635](https://github.com/angular/angular.js/commit/0936353e9a03f072bc3c4056888fd154a96530ef), + [#14165](https://github.com/angular/angular.js/issues/14165), + [#14166](https://github.com/angular/angular.js/issues/14166), + [#16613](https://github.com/angular/angular.js/issues/16613)) + + + +# 1.7.2 extreme-compatiplication (2018-06-12) + +In the previous release, we removed a private, undocumented API that was no longer used by +AngularJS. It turned out that several popular UI libraries (such as +[AngularJS Material](https://material.angularjs.org/), +[UI Bootstrap](https://angular-ui.github.io/bootstrap/), +[ngDialog](http://likeastore.github.io/ngDialog/) and probably others) relied on that API. + +In order to avoid unnecessary pain for developers, this release reverts the removal of the private +API and restores compatibility of the aforementioned libraries with the latest AngularJS. + +## Reverts +- **$compile:** remove `preAssignBindingsEnabled` leftovers + ([2da495](https://github.com/angular/angular.js/commit/2da49504065e9e2b71a7a5622e45118d8abbe87e), + [#16580](https://github.com/angular/angular.js/pull/16580), + [a81232](https://github.com/angular/angular.js/commit/a812327acda8bc890a4c4e809f0debb761c29625), + [#16595](https://github.com/angular/angular.js/pull/16595)) + + + +# 1.7.1 momentum-defiance (2018-06-08) + + +## Bug Fixes +- **$compile:** support transcluding multi-element directives + ([789db8](https://github.com/angular/angular.js/commit/789db83a8ae0e2db5db13289b2c29e56093d967a), + [#15554](https://github.com/angular/angular.js/issues/15554), + [#15555](https://github.com/angular/angular.js/issues/15555)) +- **ngModel:** do not throw if view value changes on destroyed scope + ([2b6c98](https://github.com/angular/angular.js/commit/2b6c9867369fd3ef1ddb687af1153478ab62ee1b), + [#16583](https://github.com/angular/angular.js/issues/16583), + [#16585](https://github.com/angular/angular.js/issues/16585)) + + +## New Features +- **$compile:** add one-way collection bindings + ([f9d1ca](https://github.com/angular/angular.js/commit/f9d1ca20c38f065f15769fbe23aee5314cb58bd4), + [#14039](https://github.com/angular/angular.js/issues/14039), + [#16553](https://github.com/angular/angular.js/issues/16553), + [#15874](https://github.com/angular/angular.js/issues/15874)) +- **ngRef:** add directive to publish controller, or element into scope + ([bf841d](https://github.com/angular/angular.js/commit/bf841d35120bf3c4655fde46af4105c85a0f1cdc), + [#16511](https://github.com/angular/angular.js/issues/16511)) +- **errorHandlingConfig:** add option to exclude error params from url + ([3d6c45](https://github.com/angular/angular.js/commit/3d6c45d76e30b1b3c4eb9672cf4a93e5251c06b3), + [#14744](https://github.com/angular/angular.js/issues/14744), + [#15707](https://github.com/angular/angular.js/issues/15707), + [#16283](https://github.com/angular/angular.js/issues/16283), + [#16299](https://github.com/angular/angular.js/issues/16299), + [#16591](https://github.com/angular/angular.js/issues/16591)) +- **ngAria:** add support for ignoring a specific element + ([7d9d38](https://github.com/angular/angular.js/commit/7d9d387195292cb5e04984602b752d31853cfea6), + [#14602](https://github.com/angular/angular.js/issues/14602), + [#14672](https://github.com/angular/angular.js/issues/14672), + [#14833](https://github.com/angular/angular.js/issues/14833)) +- **ngCookies:** support samesite option + ([10a229](https://github.com/angular/angular.js/commit/10a229ce1befdeaf6295d1635dc11391c252a91a), + [#16543](https://github.com/angular/angular.js/issues/16543), + [#16544](https://github.com/angular/angular.js/issues/16544)) +- **ngMessages:** add support for default message + ([a8c263](https://github.com/angular/angular.js/commit/a8c263c1947cc85ee60b4732f7e4bcdc7ba463e8), + [#12008](https://github.com/angular/angular.js/issues/12008), + [#12213](https://github.com/angular/angular.js/issues/12213), + [#16587](https://github.com/angular/angular.js/issues/16587)) +- **ngMock, ngMockE2E:** add option to match latest definition for `$httpBackend` request + ([773f39](https://github.com/angular/angular.js/commit/773f39c9345479f5f8b6321236ce6ad96f77aa92), + [#16251](https://github.com/angular/angular.js/issues/16251), + [#11637](https://github.com/angular/angular.js/issues/11637), + [#16560](https://github.com/angular/angular.js/issues/16560)) +- **$route:** add support for the `reloadOnUrl` configuration option + ([f4f571](https://github.com/angular/angular.js/commit/f4f571efdf86d6acbcd5c6b1de66b4b33a259125), + [#7925](https://github.com/angular/angular.js/issues/7925), + [#15002](https://github.com/angular/angular.js/issues/15002)) + + + +# 1.7.0 nonexistent-physiology (2018-05-11) + +**Here are the full changes for the release of 1.7.0 that are not already released in the 1.6.x branch, +which includes commits from 1.7.0-rc.0 and commits from 1.7.0 directly.** + +1.7.0 is the last scheduled release of AngularJS that includes breaking changes. 1.7.x patch +releases will continue to receive bug fixes and non-breaking features until AngularJS enters Long +Term Support mode (LTS) on July 1st 2018. + +## Bug Fixes +- **input:** + - listen on "change" instead of "click" for radio/checkbox ngModels + ([656c8f](https://github.com/angular/angular.js/commit/656c8fa8f23b1277cc5c214c4d0237f3393afa1e), + [#4516](https://github.com/angular/angular.js/issues/4516), + [#14667](https://github.com/angular/angular.js/issues/14667), + [#14685](https://github.com/angular/angular.js/issues/14685)) +- **input\[number\]:** validate min/max against viewValue + ([aa3f95](https://github.com/angular/angular.js/commit/aa3f951330ec7b10b43ea884d9b5754e296770ec), + [#12761](https://github.com/angular/angular.js/issues/12761), + [#16325](https://github.com/angular/angular.js/issues/16325)) +- **input\[date\]:** correctly parse 2-digit years + ([627180](https://github.com/angular/angular.js/commit/627180fb71b92048d5b9ca2606b9eff1fd99387e), + [#16537](https://github.com/angular/angular.js/issues/16537), + [#16539](https://github.com/angular/angular.js/issues/16539)) +- **jqLite:** make removeData() not remove event handlers + ([b7d396](https://github.com/angular/angular.js/commit/b7d396b8b6e8f27a1f4556d58fc903321e8d532a), + [#15869](https://github.com/angular/angular.js/issues/15869), + [#16512](https://github.com/angular/angular.js/issues/16512)) +- **$compile:** + - remove the preAssignBindingsEnabled flag + ([38f8c9](https://github.com/angular/angular.js/commit/38f8c97af74649ce224b6dd45f433cc665acfbfb), + [#15782](https://github.com/angular/angular.js/issues/15782)) + - add `base[href]` to the list of RESOURCE_URL context attributes + ([1cf728](https://github.com/angular/angular.js/commit/1cf728e209a9e0016068fac2769827e8f747760e), + [#15597](https://github.com/angular/angular.js/issues/15597)) +- **$interval:** throw when trying to cancel non-$interval promise + ([a8bef9](https://github.com/angular/angular.js/commit/a8bef95127775d83d80daa4617c33227c4b443d4), + [#16424](https://github.com/angular/angular.js/issues/16424), + [#16476](https://github.com/angular/angular.js/issues/16476)) +- **$timeout:** throw when trying to cancel non-$timeout promise + ([336525](https://github.com/angular/angular.js/commit/3365256502344970f86355d3ace1cb4251ae9828), + [#16424](https://github.com/angular/angular.js/issues/16424), + [#16476](https://github.com/angular/angular.js/issues/16476)) +- **$cookies:** remove the deprecated $cookieStore factory + ([73c646](https://github.com/angular/angular.js/commit/73c6467f1468353215dc689c019ed83aa4993c77), + [#16465](https://github.com/angular/angular.js/issues/16465)) +- **$resource:** fix interceptors and success/error callbacks + ([ea0585](https://github.com/angular/angular.js/commit/ea0585773bb93fd891576e2271254a17e15f1ddd), + [#6731](https://github.com/angular/angular.js/issues/6731), + [#9334](https://github.com/angular/angular.js/issues/9334), + [#6865](https://github.com/angular/angular.js/issues/6865), + [#16446](https://github.com/angular/angular.js/issues/16446)) +- **$templateRequest:** + - give tpload error the correct namespace + ([c617d6](https://github.com/angular/angular.js/commit/c617d6dceee5b000bfceda44ced22fc16b48b18b)) + - always return the template that is stored in the cache + ([fb0099](https://github.com/angular/angular.js/commit/fb00991460cf69ae8bc7f1f826363d09c73c0d5e), + [#16225](https://github.com/angular/angular.js/issues/16225)) +- **$animate:** let cancel() reject the runner promise + ([16b82c](https://github.com/angular/angular.js/commit/16b82c6afe0ab916fef1d6ca78053b00bf5ada83), + [#14204](https://github.com/angular/angular.js/issues/14204), + [#16373](https://github.com/angular/angular.js/issues/16373)) +- **ngTouch:** + - deprecate the module and its contents + ([67f54b](https://github.com/angular/angular.js/commit/67f54b660038de2b4346b3e76d66a8dc8ccb1f9b), + [#16427](https://github.com/angular/angular.js/issues/16427), + [#16431](https://github.com/angular/angular.js/issues/16431)) + - remove ngClick override, `$touchProvider`, and `$touch` + ([11d9ad](https://github.com/angular/angular.js/commit/11d9ad1eb25eaf5967195e424108207427835d50), + [#15761](https://github.com/angular/angular.js/issues/15761), + [#15755](https://github.com/angular/angular.js/issues/15755)) +- **ngScenario:** completely remove the angular scenario runner + ([0cd392](https://github.com/angular/angular.js/commit/0cd39217828b0ad53eaf731576af17d66c18ff60), + [#9405](https://github.com/angular/angular.js/issues/9405)) +- **form:** set $submitted to true on child forms when parent is submitted + ([223de5](https://github.com/angular/angular.js/commit/223de59e988dc0cc8b4ec3a045b7c0735eba1c77), + [#10071](https://github.com/angular/angular.js/issues/10071)) +- **$rootScope:** + - provide correct value of one-time bindings in watchGroup + ([c2b8fa](https://github.com/angular/angular.js/commit/c2b8fab0a480204374d561d6b9b3d47347ac5570)) + - don't allow explicit digest calls to affect $evalAsync + ([02c046](https://github.com/angular/angular.js/commit/02c04690da16a9bef55694f5db0b8368dc0125c9), + [#15127](https://github.com/angular/angular.js/issues/15127), + [#15494](https://github.com/angular/angular.js/issues/15494)) +- **ngAria:** do not set aria attributes on input[type="hidden"] + ([6d5ef3](https://github.com/angular/angular.js/commit/6d5ef34fc6a974cde73157ba94f9706723dd8f5b), + [#15113](https://github.com/angular/angular.js/issues/15113), + [#16367](https://github.com/angular/angular.js/issues/16367)) +- **ngModel, input:** improve handling of built-in named parsers + ([74b04c](https://github.com/angular/angular.js/commit/74b04c9403af4fc7df5b6420f22c9f45a3e84140), + [#14292](https://github.com/angular/angular.js/issues/14292), + [#10076](https://github.com/angular/angular.js/issues/10076), + [#16347](https://github.com/angular/angular.js/issues/16347)) +- **$httpParamSerializerJQLike:** + - call functions as jQuery does + ([a784fa](https://github.com/angular/angular.js/commit/a784fab605d825f1158c6292b3c42f8c4a502fdf), + [#16138](https://github.com/angular/angular.js/issues/16138), + [#16139](https://github.com/angular/angular.js/issues/16139)) + - follow jQuery for `null` and `undefined` + ([301fdd](https://github.com/angular/angular.js/commit/301fdda648680d89ccab607c413a7ddede7b0165)) +- **$parse:** + - do not pass scope/locals to interceptors of one-time bindings + ([87a586](https://github.com/angular/angular.js/commit/87a586eb9a23cfd0d0bb681cc778b4b8e5c8451d)) + - always pass the intercepted value to watchers + ([2ee503](https://github.com/angular/angular.js/commit/2ee5033967d5f87a516bad137686b0592e25d26b), + [#16021](https://github.com/angular/angular.js/issues/16021)) + - respect the interceptor.$stateful flag + ([de7403](https://github.com/angular/angular.js/commit/de74034ddf6f92505ccdb61be413a6df2c723f87)) +- **Angular:** remove `angular.lowercase` and `angular.uppercase` + ([1daa4f](https://github.com/angular/angular.js/commit/1daa4f2231a89ee88345689f001805ffffa9e7de), + [#15445](https://github.com/angular/angular.js/issues/15445)) +- **$controller:** remove instantiating controllers defined on window + ([e269c1](https://github.com/angular/angular.js/commit/e269c14425a3209040f65c022658770e00a36f16), + [#15349](https://github.com/angular/angular.js/issues/15349), + [#15762](https://github.com/angular/angular.js/issues/15762)) + + +## New Features +- **angular.isArray:** support Array subclasses in `angular.isArray()` + ([e3ece2](https://github.com/angular/angular.js/commit/e3ece2fad9e1e6d47b5f06815ff186d7e6f44948), + [#15533](https://github.com/angular/angular.js/issues/15533), + [#15541](https://github.com/angular/angular.js/issues/15541)) +- **$sce:** handle URL sanitization through the `$sce` service + ([1e9ead](https://github.com/angular/angular.js/commit/1e9eadcd72dbbd5c67dae8328a63e535cfa91ff9)) +- **orderBy:** consider `null` and `undefined` greater than other values + ([1d8046](https://github.com/angular/angular.js/commit/1d804645f7656d592c90216a0355b4948807f6b8), + [#15294](https://github.com/angular/angular.js/issues/15294), + [#16376](https://github.com/angular/angular.js/issues/16376)) +- **$resource:** add support for `request` and `requestError` interceptors (#15674) + ([240a3d](https://github.com/angular/angular.js/commit/240a3ddbf12a9bb79754031be95dae4b6bd2dded), + [#5146](https://github.com/angular/angular.js/issues/5146)) +- **ngModelOptions:** add debounce catch-all + allow debouncing 'default' only + ([55ba44](https://github.com/angular/angular.js/commit/55ba44913e02650b56410aa9ab5eeea5d3492b68), + [#15411](https://github.com/angular/angular.js/issues/15411), + [#16335](https://github.com/angular/angular.js/issues/16335)) +- **$compile:** lower the `xlink:href` security context for SVG's `a` and `image` elements + ([6ccbfa](https://github.com/angular/angular.js/commit/6ccbfa65d60a3dc396d0cf6da21b993ad74653fd), + [#15736](https://github.com/angular/angular.js/issues/15736)) + + +## Performance Improvements +- **$rootScope:** allow $watchCollection use of expression input watching + ([97b00c](https://github.com/angular/angular.js/commit/97b00ca497676aaff8a803762a9f8c7ff4aa24dd)) +- **ngStyle:** use $watchCollection + ([15bbd3](https://github.com/angular/angular.js/commit/15bbd3e18cd89b91f7206a06c73d40e54a8a48a0), + [#15947](https://github.com/angular/angular.js/issues/15947)) +- **$compile:** do not use deepWatch in literal one-way bindings + ([fd4f01](https://github.com/angular/angular.js/commit/fd4f0111188b62773b99ab6eab38b4d2b5d8d727), + [#15301](https://github.com/angular/angular.js/issues/15301)) + + + + +## Breaking Changes + +### **jqLite** due to: + - **[b7d396](https://github.com/angular/angular.js/commit/b7d396b8b6e8f27a1f4556d58fc903321e8d532a)**: make removeData() not remove event handlers + +Before this commit `removeData()` invoked on an element removed its event +handlers as well. If you want to trigger a full cleanup of an element, change: + +```js +elem.removeData(); +``` + +to: + +```js +angular.element.cleanData(elem); +``` + +In most cases, though, cleaning up after an element is supposed to be done +only when it's removed from the DOM as well; in such cases the following: + +```js +elem.remove(); +``` + +will remove event handlers as well. + +### **$cookies** due to: + - **[73c646](https://github.com/angular/angular.js/commit/73c6467f1468353215dc689c019ed83aa4993c77)**: remove the deprecated $cookieStore factory + +The $cookieStore has been removed. Migrate to the $cookies service. Note that +for object values you need to use the `putObject` & `getObject` methods as +`get`/`put` will not correctly save/retrieve them. + +Before: +```js +$cookieStore.put('name', {key: 'value'}); +$cookieStore.get('name'); // {key: 'value'} +$cookieStore.remove('name'); +``` + +After: +```js +$cookies.putObject('name', {key: 'value'}); +$cookies.getObject('name'); // {key: 'value'} +$cookies.remove('name'); +``` + +### **$resource** due to: + - **[ea0585](https://github.com/angular/angular.js/commit/ea0585773bb93fd891576e2271254a17e15f1ddd)**: fix interceptors and success/error callbacks + +If you are not using `success` or `error` callbacks with `$resource`, +your app should not be affected by this change. + +If you are using `success` or `error` callbacks (with or without +response interceptors), one (subtle) difference is that throwing an +error inside the callbacks will not propagate to the returned +`$promise`. Therefore, you should try to use the promises whenever +possible. E.g.: + +```js +// Avoid +User.query(function onSuccess(users) { throw new Error(); }). + $promise. + catch(function onError() { /* Will not be called. */ }); + +// Prefer +User.query(). + $promise. + then(function onSuccess(users) { throw new Error(); }). + catch(function onError() { /* Will be called. */ }); +``` + +Finally, if you are using `success` or `error` callbacks with response +interceptors, the callbacks will now always run _after_ the interceptors +(and wait for them to resolve in case they return a promise). +Previously, the `error` callback was called before the `responseError` +interceptor and the `success` callback was synchronously called after +the `response` interceptor. E.g.: + +```js +var User = $resource('/api/users/:id', {id: '@id'}, { + get: { + method: 'get', + interceptor: { + response: function(response) { + console.log('responseInterceptor-1'); + return $timeout(1000).then(function() { + console.log('responseInterceptor-2'); + return response.resource; + }); + }, + responseError: function(response) { + console.log('responseErrorInterceptor-1'); + return $timeout(1000).then(function() { + console.log('responseErrorInterceptor-2'); + return $q.reject('Ooops!'); + }); + } + } + } +}); +var onSuccess = function(value) { console.log('successCallback', value); }; +var onError = function(error) { console.log('errorCallback', error); }; + +// Assuming the following call is successful... +User.get({id: 1}, onSuccess, onError); + // Old behavior: + // responseInterceptor-1 + // successCallback, {/* Promise object */} + // responseInterceptor-2 + // New behavior: + // responseInterceptor-1 + // responseInterceptor-2 + // successCallback, {/* User object */} + +// Assuming the following call returns an error... +User.get({id: 2}, onSuccess, onError); + // Old behavior: + // errorCallback, {/* Response object */} + // responseErrorInterceptor-1 + // responseErrorInterceptor-2 + // New behavior: + // responseErrorInterceptor-1 + // responseErrorInterceptor-2 + // errorCallback, Ooops! +``` + + - **[240a3d](https://github.com/angular/angular.js/commit/240a3ddbf12a9bb79754031be95dae4b6bd2dded)**: add support for `request` and `requestError` interceptors (#15674) + +Previously, calling a `$resource` method would synchronously call +`$http`. Now, it will be called asynchronously (regardless if a +`request`/`requestError` interceptor has been defined. + +This is not expected to affect applications at runtime, since the +overall operation is asynchronous already, but may affect assertions in +tests. For example, if you want to assert that `$http` has been called +with specific arguments as a result of a `$resource` call, you now need +to run a `$digest` first, to ensure the (possibly empty) request +interceptor promise has been resolved. + +Before: +```js +it('...', function() { + $httpBackend.expectGET('/api/things').respond(...); + var Things = $resource('/api/things'); + Things.query(); + + expect($http).toHaveBeenCalledWith(...); +}); +``` + +After: +```js +it('...', function() { + $httpBackend.expectGET('/api/things').respond(...); + var Things = $resource('/api/things'); + Things.query(); + $rootScope.$digest(); + + expect($http).toHaveBeenCalledWith(...); +}); +``` + +### **$templateRequest**: + - due to **[c617d6](https://github.com/angular/angular.js/commit/c617d6dceee5b000bfceda44ced22fc16b48b18b)**: give tpload error the correct namespace + +Previously the `tpload` error was namespaced to `$compile`. If you have +code that matches errors of the form `[$compile:tpload]` it will no +longer run. You should change the code to match +`[$templateRequest:tpload]`. + + - due to **([fb0099](https://github.com/angular/angular.js/commit/fb00991460cf69ae8bc7f1f826363d09c73c0d5e)**: always return the template that is stored in the cache + +The service now returns the result of `$templateCache.put()` when making a server request to the +template. Previously it would return the content of the response directly. +This now means if you are decorating `$templateCache.put()` to manipulate the template, you will +now get this manipulated result also on the first `$templateRequest` rather than only on subsequent +calls (when the template is retrived from the cache). +In practice this should not affect any apps, as it is unlikely that they rely on the template being +different in the first and subsequent calls. + +### **$animate** due to: + - **[16b82c](https://github.com/angular/angular.js/commit/16b82c6afe0ab916fef1d6ca78053b00bf5ada83)**: let cancel() reject the runner promise + +$animate.cancel(runner) now rejects the underlying +promise and calls the catch() handler on the runner +returned by $animate functions (enter, leave, move, +addClass, removeClass, setClass, animate). +Previously it would resolve the promise as if the animation +had ended successfully. + +Example: + +```js +var runner = $animate.addClass('red'); +runner.then(function() { console.log('success')}); +runner.catch(function() { console.log('cancelled')}); + +runner.cancel(); +``` + +Pre-1.7.0, this logs 'success', 1.7.0 and later it logs 'cancelled'. +To migrate, add a catch() handler to your animation runners. + +### **angular.isArray** due to: + - **[e3ece2](https://github.com/angular/angular.js/commit/e3ece2fad9e1e6d47b5f06815ff186d7e6f44948)**: support Array subclasses in `angular.isArray()` + +Previously, `angular.isArray()` was an alias for `Array.isArray()`. +Therefore, objects that prototypally inherit from `Array` where not +considered arrays. Now such objects are considered arrays too. + +This change affects several other methods that use `angular.isArray()` +under the hood, such as `angular.copy()`, `angular.equals()`, +`angular.forEach()`, and `angular.merge()`. + +This in turn affects how dirty checking treats objects that prototypally +inherit from `Array` (e.g. MobX observable arrays). AngularJS will now +be able to handle these objects better when copying or watching. + +### **$sce** : + - due to **[1e9ead](https://github.com/angular/angular.js/commit/1e9eadcd72dbbd5c67dae8328a63e535cfa91ff9)**: handle URL sanitization through the `$sce` service + +If you use `attrs.$set` for URL attributes (a[href] and img[src]) there will no +longer be any automated sanitization of the value. This is in line with other +programmatic operations, such as writing to the innerHTML of an element. + +If you are programmatically writing URL values to attributes from untrusted +input then you must sanitize it yourself. You could write your own sanitizer or copy +the private `$$sanitizeUri` service. + +Note that values that have been passed through the `$interpolate` service within the +`URL` or `MEDIA_URL` will have already been sanitized, so you would not need to sanitize +these values again. + + - due to **[1e9ead](https://github.com/angular/angular.js/commit/1e9eadcd72dbbd5c67dae8328a63e535cfa91ff9)**: handle URL sanitization through the `$sce` service + +binding `trustAs()` and the short versions (`trustAsResourceUrl()` et al.) to +`ngSrc`, `ngSrcset`, and `ngHref` will now raise an infinite digest error: + +```js + $scope.imgThumbFn = function(id) { + return $sce.trustAsResourceUrl(someService.someUrl(id)); + }; +``` + +```html + +``` +This is because the `$interpolate` service is now responsible for sanitizing +the attribute value, and its watcher receives a new object from `trustAs()` +on every digest. +To migrate, compute the trusted value only when the input value changes: + +```js + $scope.$watch('imgId', function(id) { + $scope.imgThumb = $sce.trustAsResourceUrl(someService.someUrl(id)); + }); +``` + +```html + +``` + +### **orderBy** due to: + - **[1d8046](https://github.com/angular/angular.js/commit/1d804645f7656d592c90216a0355b4948807f6b8)**: consider `null` and `undefined` greater than other values + +When using `orderBy` to sort arrays containing `null` values, the `null` values +will be considered "greater than" all other values, except for `undefined`. +Previously, they were sorted as strings. This will result in different (but more +intuitive) sorting order. + +Before: +```js +orderByFilter(['a', undefined, 'o', null, 'z']); +//--> 'a', null, 'o', 'z', undefined +``` + +After: +```js +orderByFilter(['a', undefined, 'o', null, 'z']); +//--> 'a', 'o', 'z', null, undefined +``` + +### **ngScenario** due to: + - **[0cd392](https://github.com/angular/angular.js/commit/0cd39217828b0ad53eaf731576af17d66c18ff60)**: completely remove the angular scenario runner + +The angular scenario runner end-to-end test framework has been +removed from the project and will no longer be available on npm +or bower starting with 1.7.0. +It was deprecated and removed from the documentation in 2014. +Applications that still use it should migrate to +[Protractor](http://www.protractortest.org). +Technically, it should also be possible to continue using an +older version of the scenario runner, as the underlying APIs have +not changed. However, we do not guarantee future compatibility. + +### **form** due to: + - **[223de5](https://github.com/angular/angular.js/commit/223de59e988dc0cc8b4ec3a045b7c0735eba1c77)**: set $submitted to true on child forms when parent is submitted + +Forms will now set $submitted on child forms when they are submitted. +For example: +``` +
+ + + + +
+``` + +Submitting this form will set $submitted on "parentform" and "childform". +Previously, it was only set on "parentform". + +This change was introduced because mixing form and ngForm does not create +logically separate forms, but rather something like input groups. +Therefore, child forms should inherit the submission state from their parent form. + +### **ngAria** due to: + - **[6d5ef3](https://github.com/angular/angular.js/commit/6d5ef34fc6a974cde73157ba94f9706723dd8f5b)**: do not set aria attributes on input[type="hidden"] + +ngAria no longer sets aria-* attributes on input[type="hidden"] with ngModel. +This can affect apps that test for the presence of aria attributes on hidden inputs. +To migrate, remove these assertions. +In actual apps, this should not have a user-facing effect, as the previous behavior +was incorrect, and the new behavior is correct for accessibility. + +### **ngModel, input** due to: + - **[74b04c](https://github.com/angular/angular.js/commit/74b04c9403af4fc7df5b6420f22c9f45a3e84140)**: improve handling of built-in named parsers + +*Custom* parsers that fail to parse on input types "email", "url", "number", "date", "month", +"time", "datetime-local", "week", do no longer set `ngModelController.$error[inputType]`, and +the `ng-invalid-[inputType]` class. Also, custom parsers on input type "range" do no +longer set `ngModelController.$error.number` and the `ng-invalid-number` class. + +Instead, any custom parsers on these inputs set `ngModelController.$error.parse` and +`ng-invalid-parse`. This change was made to make distinguishing errors from built-in parsers +and custom parsers easier. + +### **ngModelOptions** due to: + - **[55ba44](https://github.com/angular/angular.js/commit/55ba44913e02650b56410aa9ab5eeea5d3492b68)**: add debounce catch-all + allow debouncing 'default' only + +the 'default' key in 'debounce' now only debounces the default event, i.e. the event +that is added as an update trigger by the different input directives automatically. + +Previously, it also applied to other update triggers defined in 'updateOn' that +did not have a corresponding key in the 'debounce'. + +This behavior is now supported via a special wildcard / catch-all key: '*'. + +See the following example: + +Pre-1.7: +'mouseup' is also debounced by 500 milliseconds because 'default' is applied: +``` +ng-model-options="{ + updateOn: 'default blur mouseup', + debounce: { 'default': 500, 'blur': 0 } +} +``` + +1.7: +The pre-1.7 behavior can be re-created by setting '*' as a catch-all debounce value: +``` +ng-model-options="{ + updateOn: 'default blur mouseup', + debounce: { '*': 500, 'blur': 0 } +} +``` + +In contrast, when only 'default' is used, 'blur' and 'mouseup' are not debounced: +``` +ng-model-options="{ + updateOn: 'default blur mouseup', + debounce: { 'default': 500 } +} +``` + +### **input\[number\]** due to: + - **[aa3f95](https://github.com/angular/angular.js/commit/aa3f951330ec7b10b43ea884d9b5754e296770ec)**: validate min/max against viewValue + +`input[type=number]` with `ngModel` now validates the input for the `max`/`min` restriction against +the `ngModelController.$viewValue` instead of against the `ngModelController.$modelValue`. + +This affects apps that use `$parsers` or `$formatters` to transform the input / model value. + +If you rely on the $modelValue validation, you can overwrite the `min`/`max` validator from a custom directive, as seen in the following example directive definition object: + +``` +{ + restrict: 'A', + require: 'ngModel', + link: function(scope, element, attrs, ctrl) { + var maxValidator = ctrl.$validators.max; + + ctrl.$validators.max = function(modelValue, viewValue) { + return maxValidator(modelValue, modelValue); + }; + } +} +``` + +### **input** due to: + - **[656c8f](https://github.com/angular/angular.js/commit/656c8fa8f23b1277cc5c214c4d0237f3393afa1e)**: listen on "change" instead of "click" for radio/checkbox ngModels + +`input[radio]` and `input[checkbox]` now listen to the "change" event instead of the "click" event. +Most apps should not be affected, as "change" is automatically fired by browsers after "click" +happens. + +Two scenarios might need migration: + +- Custom click events: + +Before this change, custom click event listeners on radio / checkbox would be called after the +input element and `ngModel` had been updated, unless they were specifically registered before +the built-in click handlers. +After this change, they are called before the input is updated, and can call event.preventDefault() +to prevent the input from updating. + +If an app uses a click event listener that expects ngModel to be updated when it is called, it now +needs to register a change event listener instead. + +- Triggering click events: + +Conventional trigger functions: + +The change event might not be fired when the input element is not attached to the document. This +can happen in **tests** that compile input elements and +trigger click events on them. Depending on the browser (Chrome and Safari) and the trigger method, +the change event will not be fired when the input isn't attached to the document. + +Before: + +```js + it('should update the model', inject(function($compile, $rootScope) { + var inputElm = $compile('')($rootScope); + + inputElm[0].click(); // Or different trigger mechanisms, such as jQuery.trigger() + expect($rootScope.checkbox).toBe(true); + }); +``` + +With this patch, `$rootScope.checkbox` might not be true, because the click event +hasn't triggered the change event. To make the test, work append the inputElm to the app's +`$rootElement`, and the `$rootElement` to the `$document`. + +After: + +```js + it('should update the model', inject(function($compile, $rootScope, $rootElement, $document) { + var inputElm = $compile('')($rootScope); + + $rootElement.append(inputElm); + $document.append($rootElement); + + inputElm[0].click(); // Or different trigger mechanisms, such as jQuery.trigger() + expect($rootScope.checkbox).toBe(true); + }); +``` + +`triggerHandler()`: + +If you are using this jQuery / jqLite function on the input elements, you don't have to attach +the elements to the document, but instead change the triggered event to "change". This is because +`triggerHandler(event)` only triggers the exact event when it has been added by jQuery / jqLite. + +### **ngStyle** due to: + - **[15bbd3](https://github.com/angular/angular.js/commit/15bbd3e18cd89b91f7206a06c73d40e54a8a48a0)**: use $watchCollection + +Previously the use of deep watch by ng-style would trigger styles to be +re-applied when nested state changed. Now only changes to direct +properties of the watched object will trigger changes. + +### **$compile** due to: + - **[38f8c9](https://github.com/angular/angular.js/commit/38f8c97af74649ce224b6dd45f433cc665acfbfb)**: remove the preAssignBindingsEnabled flag + +Previously, the `$compileProvider.preAssignBindingsEnabled` flag was supported. +The flag controlled whether bindings were available inside the controller +constructor or only in the `$onInit` hook. The bindings are now no longer +available in the constructor. + +To migrate your code: + +1. If you haven't invoked `$compileProvider.preAssignBindingsEnabled()` you +don't have to do anything to migrate. + +2. If you specified `$compileProvider.preAssignBindingsEnabled(false)`, you +can remove that statement - since AngularJS 1.6.0 this is the default so your +app should still work even in AngularJS 1.6 after such removal. Afterwards, +migrating to AngularJS 1.7.0 shouldn't require any further action. + +3. If you specified `$compileProvider.preAssignBindingsEnabled(true)` you need +to first migrate your code so that the flag can be flipped to `false`. The +instructions on how to do that are available in the "Migrating from 1.5 to 1.6" +guide: +https://docs.angularjs.org/guide/migration#migrating-from-1-5-to-1-6 +Afterwards, remove the `$compileProvider.preAssignBindingsEnabled(true)` +statement. + + - **[6ccbfa](https://github.com/angular/angular.js/commit/6ccbfa65d60a3dc396d0cf6da21b993ad74653fd)**: lower the `xlink:href` security context for SVG's `a` and `image` elements + +In the unlikely case that an app relied on RESOURCE_URL whitelisting for the +purpose of binding to the `xlink:href` property of SVG's `` or `` +elements and if the values do not pass the regular URL sanitization, they will +break. + +To fix this you need to ensure that the values used for binding to the affected +`xlink:href` contexts are considered safe URLs, e.g. by whitelisting them in +`$compileProvider`'s `aHrefSanitizationWhitelist` (for `` elements) or +`imgSrcSanitizationWhitelist` (for `` elements). + + - **[fd4f01](https://github.com/angular/angular.js/commit/fd4f0111188b62773b99ab6eab38b4d2b5d8d727)**: do not use deepWatch in literal one-way bindings + +Previously when a literal value was passed into a directive/component via +one-way binding it would be watched with a deep watcher. + +For example, for ``, a new instance of the array +would be passed into the directive/component (and trigger $onChanges) not +only if `a` changed but also if any sub property of `a` changed such as +`a.b` or `a.b.c.d.e` etc. + +This also means a new but equal value for `a` would NOT trigger such a +change. + +Now literal values use an input-based watch similar to other directive/component +one-way bindings. In this context inputs are the non-constant parts of the +literal. In the example above the input would be `a`. Changes are only +triggered when the inputs to the literal change. + + - **[1cf728](https://github.com/angular/angular.js/commit/1cf728e209a9e0016068fac2769827e8f747760e)**: add `base[href]` to the list of RESOURCE_URL context attributes + +Previously, `` would not require `baseUrl` to +be trusted as a RESOURCE_URL. Now, `baseUrl` will be sent to `$sce`'s +RESOURCE_URL checks. By default, it will break unless `baseUrl` is of the same +origin as the application document. + +Refer to the +[`$sce` API docs](https://code.angularjs.org/snapshot/docs/api/ng/service/$sce) +for more info on how to trust a value in a RESOURCE_URL context. + +Also, concatenation in trusted contexts is not allowed, which means that the +following won't work: ``. + +Either construct complex values in a controller (recommended): + +```js +this.baseUrl = '/something/' + this.partialPath; +``` +```html + +``` + +Or use string concatenation in the interpolation expression (not recommended +except for the simplest of cases): + +```html + +``` + +### **ngTouch** due to: + - **[11d9ad](https://github.com/angular/angular.js/commit/11d9ad1eb25eaf5967195e424108207427835d50)**: remove ngClick override, `$touchProvider`, and `$touch` + +The `ngClick` directive from the ngTouch module has been removed, and with it the +corresponding `$touchProvider` and `$touch` service. + +If you have included ngTouch v1.5.0 or higher in your application, and have not +changed the value of `$touchProvider.ngClickOverrideEnabled()`, or injected and used the `$touch` +service, then there are no migration steps for your code. Otherwise you must remove references to +the provider and service. + +The `ngClick` override directive had been deprecated and by default disabled since v1.5.0, +because of buggy behavior in edge cases, and a general trend to avoid special touch based +overrides of click events. In modern browsers, it should not be necessary to use a touch override +library: + +- Chrome, Firefox, Edge, and Safari remove the 300ms delay when + `` is set. +- Internet Explorer 10+, Edge, Safari, and Chrome remove the delay on elements that have the + `touch-action` css property is set to `manipulation`. + +You can find out more in these articles: +https://developers.google.com/web/updates/2013/12/300ms-tap-delay-gone-away +https://developer.apple.com/library/content/releasenotes/General/WhatsNewInSafari/Articles/Safari_9_1.html#//apple_ref/doc/uid/TP40014305-CH10-SW8 +https://blogs.msdn.microsoft.com/ie/2015/02/24/pointer-events-w3c-recommendation-interoperable-touch-and-removing-the-dreaded-300ms-tap-delay/ + +### **Angular** due to: + - **[1daa4f](https://github.com/angular/angular.js/commit/1daa4f2231a89ee88345689f001805ffffa9e7de)**: remove `angular.lowercase` and `angular.uppercase` + +The helper functions `angular.lowercase` `and angular.uppercase` have +been removed. + +These functions have been deprecated since 1.5.0. They are internally +used, but should not be exposed as they contain special locale handling +(for Turkish) to maintain internal consistency regardless of user-set locale. + +Developers should generally use the built-ins `toLowerCase` and `toUpperCase` +or `toLocaleLowerCase` and `toLocaleUpperCase` for special cases. + +Further, we generally discourage using the angular.x helpers in application code. + +### **$controller** due to: + - **[e269c1](https://github.com/angular/angular.js/commit/e269c14425a3209040f65c022658770e00a36f16)**: remove instantiating controllers defined on window + +The option to instantiate controllers from constructors on the global `window` object +has been removed. Likewise, the deprecated `$controllerProvider.allowGlobals()` +method that could enable this behavior, has been removed. + +This behavior had been deprecated since AngularJS v1.3.0, because polluting the global scope +is bad. To migrate, remove the call to $controllerProvider.allowGlobals() in the config, and +register your controller via the Module API or the $controllerProvider, e.g. + +``` +angular.module('myModule', []).controller('myController', function() {...}); + +angular.module('myModule', []).config(function($controllerProvider) { + $controllerProvider.register('myController', function() {...}); +}); + +``` + +### **$rootScope** due to: + - **[c2b8fa](https://github.com/angular/angular.js/commit/c2b8fab0a480204374d561d6b9b3d47347ac5570)**: provide correct value of one-time bindings in watchGroup + +Previously when using `$watchGroup` the entries in `newValues` and +`oldValues` represented the *most recent change of each entry*. + +Now the entries in `oldValues` will always equal the `newValues` of the previous +call of the listener. This means comparing the entries in `newValues` and +`oldValues` can be used to determine which individual expressions changed. + +For example `$scope.$watchGroup(['a', 'b'], fn)` would previously: + +| Action | newValue | oldValue | +|----------|------------|------------| +| (init) | [undefined, undefined] | [undefined, undefined] | +| `a=1` | [1, undefined] | [undefined, undefined] | +| `a=2` | [2, undefined] | [1, undefined] | +| `b=3` | [2, 3] | [1, undefined] | + + +Now the `oldValue` will always equal the previous `newValue`: + +| Action | newValue | oldValue | +|----------|------------|------------| +| (init) | [undefined, undefined] | [undefined, undefined] | +| `a=1` | [1, undefined] | [undefined, undefined] | +| `a=2` | [2, undefined] | [1, undefined] | +| `b=3` | [2, 3] | [2, undefined] | + +Note the last call now shows `a === 2` in the `oldValues` array. + +This also makes the `oldValue` of one-time watchers more clear. Previously +the `oldValue` of a one-time watcher would remain `undefined` forever. For +example `$scope.$watchGroup(['a', '::b'], fn)` would previously: + +| Action | newValue | oldValue | +|----------|------------|------------| +| (init) | [undefined, undefined] | [undefined, undefined] | +| `a=1` | [1, undefined] | [undefined, undefined] | +| `b=2` | [1, 2] | [undefined, undefined] | +| `a=b=3` | [3, 2] | [1, undefined] | + +Where now the `oldValue` will always equal the previous `newValue`: + +| Action | newValue | oldValue | +|----------|------------|------------| +| (init) | [undefined, undefined] | [undefined, undefined] | +| `a=1` | [1, undefined] | [undefined, undefined] | +| `b=2` | [1, 2] | [1, undefined] | +| `a=b=3` | [3, 2] | [1, 2] | + +### **$interval** due to: + - **[a8bef9](https://github.com/angular/angular.js/commit/a8bef95127775d83d80daa4617c33227c4b443d4)**: throw when trying to cancel non-$interval promise + +`$interval.cancel()` will throw an error if called with a promise that +was not generated by `$interval()`. Previously, it would silently do +nothing. + +Before: +```js +var promise = $interval(doSomething, 1000, 5).then(doSomethingElse); +$interval.cancel(promise); // No error; interval NOT canceled. +``` + +After: +```js +var promise = $interval(doSomething, 1000, 5).then(doSomethingElse); +$interval.cancel(promise); // Throws error. +``` + +Correct usage: +```js +var promise = $interval(doSomething, 1000, 5); +var newPromise = promise.then(doSomethingElse); +$interval.cancel(promise); // Interval canceled. +``` + +### **$timeout** due to: + - **[336525](https://github.com/angular/angular.js/commit/3365256502344970f86355d3ace1cb4251ae9828)**: throw when trying to cancel non-$timeout promise + +`$timeout.cancel()` will throw an error if called with a promise that +was not generated by `$timeout()`. Previously, it would silently do +nothing. + +Before: +```js +var promise = $timeout(doSomething, 1000).then(doSomethingElse); +$timeout.cancel(promise); // No error; timeout NOT canceled. +``` + +After: +```js +var promise = $timeout(doSomething, 1000).then(doSomethingElse); +$timeout.cancel(promise); // Throws error. +``` + +Correct usage: +```js +var promise = $timeout(doSomething, 1000); +var newPromise = promise.then(doSomethingElse); +$timeout.cancel(promise); // Timeout canceled. +``` + + +# 1.7.0-rc.0 maximum-overdrive (2018-04-19) + +## Bug Fixes +- **input:** + - listen on "change" instead of "click" for radio/checkbox ngModels + ([656c8f](https://github.com/angular/angular.js/commit/656c8fa8f23b1277cc5c214c4d0237f3393afa1e), + [#4516](https://github.com/angular/angular.js/issues/4516), + [#14667](https://github.com/angular/angular.js/issues/14667), + [#14685](https://github.com/angular/angular.js/issues/14685)) +- **input\[number\]:** validate min/max against viewValue + ([aa3f95](https://github.com/angular/angular.js/commit/aa3f951330ec7b10b43ea884d9b5754e296770ec), + [#12761](https://github.com/angular/angular.js/issues/12761), + [#16325](https://github.com/angular/angular.js/issues/16325)) +- **jqLite:** make removeData() not remove event handlers + ([b7d396](https://github.com/angular/angular.js/commit/b7d396b8b6e8f27a1f4556d58fc903321e8d532a), + [#15869](https://github.com/angular/angular.js/issues/15869), + [#16512](https://github.com/angular/angular.js/issues/16512)) +- **$compile:** + - remove the preAssignBindingsEnabled flag + ([38f8c9](https://github.com/angular/angular.js/commit/38f8c97af74649ce224b6dd45f433cc665acfbfb), + [#15782](https://github.com/angular/angular.js/issues/15782)) + - add `base[href]` to the list of RESOURCE_URL context attributes + ([1cf728](https://github.com/angular/angular.js/commit/1cf728e209a9e0016068fac2769827e8f747760e), + [#15597](https://github.com/angular/angular.js/issues/15597)) +- **$interval:** throw when trying to cancel non-$interval promise + ([a8bef9](https://github.com/angular/angular.js/commit/a8bef95127775d83d80daa4617c33227c4b443d4), + [#16424](https://github.com/angular/angular.js/issues/16424), + [#16476](https://github.com/angular/angular.js/issues/16476)) +- **$timeout:** throw when trying to cancel non-$timeout promise + ([336525](https://github.com/angular/angular.js/commit/3365256502344970f86355d3ace1cb4251ae9828), + [#16424](https://github.com/angular/angular.js/issues/16424), + [#16476](https://github.com/angular/angular.js/issues/16476)) +- **$cookies:** remove the deprecated $cookieStore factory + ([73c646](https://github.com/angular/angular.js/commit/73c6467f1468353215dc689c019ed83aa4993c77), + [#16465](https://github.com/angular/angular.js/issues/16465)) +- **$resource:** fix interceptors and success/error callbacks + ([ea0585](https://github.com/angular/angular.js/commit/ea0585773bb93fd891576e2271254a17e15f1ddd), + [#6731](https://github.com/angular/angular.js/issues/6731), + [#9334](https://github.com/angular/angular.js/issues/9334), + [#6865](https://github.com/angular/angular.js/issues/6865), + [#16446](https://github.com/angular/angular.js/issues/16446)) +- **$templateRequest:** + - give tpload error the correct namespace + ([c617d6](https://github.com/angular/angular.js/commit/c617d6dceee5b000bfceda44ced22fc16b48b18b)) + - always return the template that is stored in the cache + ([fb0099](https://github.com/angular/angular.js/commit/fb00991460cf69ae8bc7f1f826363d09c73c0d5e), + [#16225](https://github.com/angular/angular.js/issues/16225)) +- **$animate:** let cancel() reject the runner promise + ([16b82c](https://github.com/angular/angular.js/commit/16b82c6afe0ab916fef1d6ca78053b00bf5ada83), + [#14204](https://github.com/angular/angular.js/issues/14204), + [#16373](https://github.com/angular/angular.js/issues/16373)) +- **ngTouch:** + - deprecate the module and its contents + ([67f54b](https://github.com/angular/angular.js/commit/67f54b660038de2b4346b3e76d66a8dc8ccb1f9b), + [#16427](https://github.com/angular/angular.js/issues/16427), + [#16431](https://github.com/angular/angular.js/issues/16431)) + - remove ngClick override, `$touchProvider`, and `$touch` + ([11d9ad](https://github.com/angular/angular.js/commit/11d9ad1eb25eaf5967195e424108207427835d50), + [#15761](https://github.com/angular/angular.js/issues/15761), + [#15755](https://github.com/angular/angular.js/issues/15755)) +- **ngScenario:** completely remove the angular scenario runner + ([0cd392](https://github.com/angular/angular.js/commit/0cd39217828b0ad53eaf731576af17d66c18ff60), + [#9405](https://github.com/angular/angular.js/issues/9405)) +- **form:** set $submitted to true on child forms when parent is submitted + ([223de5](https://github.com/angular/angular.js/commit/223de59e988dc0cc8b4ec3a045b7c0735eba1c77), + [#10071](https://github.com/angular/angular.js/issues/10071)) +- **$rootScope:** + - provide correct value of one-time bindings in watchGroup + ([c2b8fa](https://github.com/angular/angular.js/commit/c2b8fab0a480204374d561d6b9b3d47347ac5570)) +- **ngAria:** do not set aria attributes on input[type="hidden"] + ([6d5ef3](https://github.com/angular/angular.js/commit/6d5ef34fc6a974cde73157ba94f9706723dd8f5b), + [#15113](https://github.com/angular/angular.js/issues/15113), + [#16367](https://github.com/angular/angular.js/issues/16367)) +- **ngModel, input:** improve handling of built-in named parsers + ([74b04c](https://github.com/angular/angular.js/commit/74b04c9403af4fc7df5b6420f22c9f45a3e84140), + [#14292](https://github.com/angular/angular.js/issues/14292), + [#10076](https://github.com/angular/angular.js/issues/10076), + [#16347](https://github.com/angular/angular.js/issues/16347)) +- **$httpParamSerializerJQLike:** + - call functions as jQuery does + ([a784fa](https://github.com/angular/angular.js/commit/a784fab605d825f1158c6292b3c42f8c4a502fdf), + [#16138](https://github.com/angular/angular.js/issues/16138), + [#16139](https://github.com/angular/angular.js/issues/16139)) + - follow jQuery for `null` and `undefined` + ([301fdd](https://github.com/angular/angular.js/commit/301fdda648680d89ccab607c413a7ddede7b0165)) +- **$parse:** + - do not pass scope/locals to interceptors of one-time bindings + ([87a586](https://github.com/angular/angular.js/commit/87a586eb9a23cfd0d0bb681cc778b4b8e5c8451d)) + - always pass the intercepted value to watchers + ([2ee503](https://github.com/angular/angular.js/commit/2ee5033967d5f87a516bad137686b0592e25d26b), + [#16021](https://github.com/angular/angular.js/issues/16021)) + - respect the interceptor.$stateful flag + ([de7403](https://github.com/angular/angular.js/commit/de74034ddf6f92505ccdb61be413a6df2c723f87)) +- **Angular:** remove `angular.lowercase` and `angular.uppercase` + ([1daa4f](https://github.com/angular/angular.js/commit/1daa4f2231a89ee88345689f001805ffffa9e7de), + [#15445](https://github.com/angular/angular.js/issues/15445)) +- **$controller:** remove instantiating controllers defined on window + ([e269c1](https://github.com/angular/angular.js/commit/e269c14425a3209040f65c022658770e00a36f16), + [#15349](https://github.com/angular/angular.js/issues/15349), + [#15762](https://github.com/angular/angular.js/issues/15762)) + + +## New Features +- **angular.isArray:** support Array subclasses in `angular.isArray()` + ([e3ece2](https://github.com/angular/angular.js/commit/e3ece2fad9e1e6d47b5f06815ff186d7e6f44948), + [#15533](https://github.com/angular/angular.js/issues/15533), + [#15541](https://github.com/angular/angular.js/issues/15541)) +- **$sce:** handle URL sanitization through the `$sce` service + ([1e9ead](https://github.com/angular/angular.js/commit/1e9eadcd72dbbd5c67dae8328a63e535cfa91ff9)) +- **orderBy:** consider `null` and `undefined` greater than other values + ([1d8046](https://github.com/angular/angular.js/commit/1d804645f7656d592c90216a0355b4948807f6b8), + [#15294](https://github.com/angular/angular.js/issues/15294), + [#16376](https://github.com/angular/angular.js/issues/16376)) +- **$resource:** add support for `request` and `requestError` interceptors (#15674) + ([240a3d](https://github.com/angular/angular.js/commit/240a3ddbf12a9bb79754031be95dae4b6bd2dded), + [#5146](https://github.com/angular/angular.js/issues/5146)) +- **ngModelOptions:** add debounce catch-all + allow debouncing 'default' only + ([55ba44](https://github.com/angular/angular.js/commit/55ba44913e02650b56410aa9ab5eeea5d3492b68), + [#15411](https://github.com/angular/angular.js/issues/15411), + [#16335](https://github.com/angular/angular.js/issues/16335)) +- **$compile:** lower the `xlink:href` security context for SVG's `a` and `image` elements + ([6ccbfa](https://github.com/angular/angular.js/commit/6ccbfa65d60a3dc396d0cf6da21b993ad74653fd), + [#15736](https://github.com/angular/angular.js/issues/15736)) + + +## Performance Improvements +- **$rootScope:** allow $watchCollection use of expression input watching + ([97b00c](https://github.com/angular/angular.js/commit/97b00ca497676aaff8a803762a9f8c7ff4aa24dd)) +- **ngStyle:** use $watchCollection + ([15bbd3](https://github.com/angular/angular.js/commit/15bbd3e18cd89b91f7206a06c73d40e54a8a48a0), + [#15947](https://github.com/angular/angular.js/issues/15947)) +- **$compile:** do not use deepWatch in literal one-way bindings + ([fd4f01](https://github.com/angular/angular.js/commit/fd4f0111188b62773b99ab6eab38b4d2b5d8d727), + [#15301](https://github.com/angular/angular.js/issues/15301)) + + + + +## Breaking Changes + +### **jqLite** due to: + - **[b7d396](https://github.com/angular/angular.js/commit/b7d396b8b6e8f27a1f4556d58fc903321e8d532a)**: make removeData() not remove event handlers + +Before this commit `removeData()` invoked on an element removed its event +handlers as well. If you want to trigger a full cleanup of an element, change: + +```js +elem.removeData(); +``` + +to: + +```js +angular.element.cleanData(elem); +``` + +In most cases, though, cleaning up after an element is supposed to be done +only when it's removed from the DOM as well; in such cases the following: + +```js +elem.remove(); +``` + +will remove event handlers as well. + +### **$cookies** due to: + - **[73c646](https://github.com/angular/angular.js/commit/73c6467f1468353215dc689c019ed83aa4993c77)**: remove the deprecated $cookieStore factory + +The $cookieStore has been removed. Migrate to the $cookies service. Note that +for object values you need to use the `putObject` & `getObject` methods as +`get`/`put` will not correctly save/retrieve them. + +Before: +```js +$cookieStore.put('name', {key: 'value'}); +$cookieStore.get('name'); // {key: 'value'} +$cookieStore.remove('name'); +``` + +After: +```js +$cookies.putObject('name', {key: 'value'}); +$cookies.getObject('name'); // {key: 'value'} +$cookies.remove('name'); +``` + +### **$resource** due to: + - **[ea0585](https://github.com/angular/angular.js/commit/ea0585773bb93fd891576e2271254a17e15f1ddd)**: fix interceptors and success/error callbacks + +If you are not using `success` or `error` callbacks with `$resource`, +your app should not be affected by this change. + +If you are using `success` or `error` callbacks (with or without +response interceptors), one (subtle) difference is that throwing an +error inside the callbacks will not propagate to the returned +`$promise`. Therefore, you should try to use the promises whenever +possible. E.g.: + +```js +// Avoid +User.query(function onSuccess(users) { throw new Error(); }). + $promise. + catch(function onError() { /* Will not be called. */ }); + +// Prefer +User.query(). + $promise. + then(function onSuccess(users) { throw new Error(); }). + catch(function onError() { /* Will be called. */ }); +``` + +Finally, if you are using `success` or `error` callbacks with response +interceptors, the callbacks will now always run _after_ the interceptors +(and wait for them to resolve in case they return a promise). +Previously, the `error` callback was called before the `responseError` +interceptor and the `success` callback was synchronously called after +the `response` interceptor. E.g.: + +```js +var User = $resource('/api/users/:id', {id: '@id'}, { + get: { + method: 'get', + interceptor: { + response: function(response) { + console.log('responseInterceptor-1'); + return $timeout(1000).then(function() { + console.log('responseInterceptor-2'); + return response.resource; + }); + }, + responseError: function(response) { + console.log('responseErrorInterceptor-1'); + return $timeout(1000).then(function() { + console.log('responseErrorInterceptor-2'); + return $q.reject('Ooops!'); + }); + } + } + } +}); +var onSuccess = function(value) { console.log('successCallback', value); }; +var onError = function(error) { console.log('errorCallback', error); }; + +// Assuming the following call is successful... +User.get({id: 1}, onSuccess, onError); + // Old behavior: + // responseInterceptor-1 + // successCallback, {/* Promise object */} + // responseInterceptor-2 + // New behavior: + // responseInterceptor-1 + // responseInterceptor-2 + // successCallback, {/* User object */} + +// Assuming the following call returns an error... +User.get({id: 2}, onSuccess, onError); + // Old behavior: + // errorCallback, {/* Response object */} + // responseErrorInterceptor-1 + // responseErrorInterceptor-2 + // New behavior: + // responseErrorInterceptor-1 + // responseErrorInterceptor-2 + // errorCallback, Ooops! +``` + + - **[240a3d](https://github.com/angular/angular.js/commit/240a3ddbf12a9bb79754031be95dae4b6bd2dded)**: add support for `request` and `requestError` interceptors (#15674) + +Previously, calling a `$resource` method would synchronously call +`$http`. Now, it will be called asynchronously (regardless if a +`request`/`requestError` interceptor has been defined. + +This is not expected to affect applications at runtime, since the +overall operation is asynchronous already, but may affect assertions in +tests. For example, if you want to assert that `$http` has been called +with specific arguments as a result of a `$resource` call, you now need +to run a `$digest` first, to ensure the (possibly empty) request +interceptor promise has been resolved. + +Before: +```js +it('...', function() { + $httpBackend.expectGET('/api/things').respond(...); + var Things = $resource('/api/things'); + Things.query(); + + expect($http).toHaveBeenCalledWith(...); +}); +``` + +After: +```js +it('...', function() { + $httpBackend.expectGET('/api/things').respond(...); + var Things = $resource('/api/things'); + Things.query(); + $rootScope.$digest(); + + expect($http).toHaveBeenCalledWith(...); +}); +``` + +### **$templateRequest**: + - due to **[c617d6](https://github.com/angular/angular.js/commit/c617d6dceee5b000bfceda44ced22fc16b48b18b)**: give tpload error the correct namespace + +Previously the `tpload` error was namespaced to `$compile`. If you have +code that matches errors of the form `[$compile:tpload]` it will no +longer run. You should change the code to match +`[$templateRequest:tpload]`. + + - due to **([fb0099](https://github.com/angular/angular.js/commit/fb00991460cf69ae8bc7f1f826363d09c73c0d5e)**: always return the template that is stored in the cache + +The service now returns the result of `$templateCache.put()` when making a server request to the +template. Previously it would return the content of the response directly. +This now means if you are decorating `$templateCache.put()` to manipulate the template, you will +now get this manipulated result also on the first `$templateRequest` rather than only on subsequent +calls (when the template is retrived from the cache). +In practice this should not affect any apps, as it is unlikely that they rely on the template being +different in the first and subsequent calls. + +### **$animate** due to: + - **[16b82c](https://github.com/angular/angular.js/commit/16b82c6afe0ab916fef1d6ca78053b00bf5ada83)**: let cancel() reject the runner promise + +$animate.cancel(runner) now rejects the underlying +promise and calls the catch() handler on the runner +returned by $animate functions (enter, leave, move, +addClass, removeClass, setClass, animate). +Previously it would resolve the promise as if the animation +had ended successfully. + +Example: + +```js +var runner = $animate.addClass('red'); +runner.then(function() { console.log('success')}); +runner.catch(function() { console.log('cancelled')}); + +runner.cancel(); +``` + +Pre-1.7.0, this logs 'success', 1.7.0 and later it logs 'cancelled'. +To migrate, add a catch() handler to your animation runners. + +### **angular.isArray** due to: + - **[e3ece2](https://github.com/angular/angular.js/commit/e3ece2fad9e1e6d47b5f06815ff186d7e6f44948)**: support Array subclasses in `angular.isArray()` + +Previously, `angular.isArray()` was an alias for `Array.isArray()`. +Therefore, objects that prototypally inherit from `Array` where not +considered arrays. Now such objects are considered arrays too. + +This change affects several other methods that use `angular.isArray()` +under the hood, such as `angular.copy()`, `angular.equals()`, +`angular.forEach()`, and `angular.merge()`. + +This in turn affects how dirty checking treats objects that prototypally +inherit from `Array` (e.g. MobX observable arrays). AngularJS will now +be able to handle these objects better when copying or watching. + +### **$sce** due to: + - **[1e9ead](https://github.com/angular/angular.js/commit/1e9eadcd72dbbd5c67dae8328a63e535cfa91ff9)**: handle URL sanitization through the `$sce` service + +If you use `attrs.$set` for URL attributes (a[href] and img[src]) there will no +longer be any automated sanitization of the value. This is in line with other +programmatic operations, such as writing to the innerHTML of an element. + +If you are programmatically writing URL values to attributes from untrusted +input then you must sanitize it yourself. You could write your own sanitizer or copy +the private `$$sanitizeUri` service. + +Note that values that have been passed through the `$interpolate` service within the +`URL` or `MEDIA_URL` will have already been sanitized, so you would not need to sanitize +these values again. + +### **orderBy** due to: + - **[1d8046](https://github.com/angular/angular.js/commit/1d804645f7656d592c90216a0355b4948807f6b8)**: consider `null` and `undefined` greater than other values + +When using `orderBy` to sort arrays containing `null` values, the `null` values +will be considered "greater than" all other values, except for `undefined`. +Previously, they were sorted as strings. This will result in different (but more +intuitive) sorting order. + +Before: +```js +orderByFilter(['a', undefined, 'o', null, 'z']); +//--> 'a', null, 'o', 'z', undefined +``` + +After: +```js +orderByFilter(['a', undefined, 'o', null, 'z']); +//--> 'a', 'o', 'z', null, undefined +``` + +### **ngScenario** due to: + - **[0cd392](https://github.com/angular/angular.js/commit/0cd39217828b0ad53eaf731576af17d66c18ff60)**: completely remove the angular scenario runner + +The angular scenario runner end-to-end test framework has been +removed from the project and will no longer be available on npm +or bower starting with 1.7.0. +It was deprecated and removed from the documentation in 2014. +Applications that still use it should migrate to +[Protractor](http://www.protractortest.org). +Technically, it should also be possible to continue using an +older version of the scenario runner, as the underlying APIs have +not changed. However, we do not guarantee future compatibility. + +### **form** due to: + - **[223de5](https://github.com/angular/angular.js/commit/223de59e988dc0cc8b4ec3a045b7c0735eba1c77)**: set $submitted to true on child forms when parent is submitted + +Forms will now set $submitted on child forms when they are submitted. +For example: +``` +
+ + + + +
+``` + +Submitting this form will set $submitted on "parentform" and "childform". +Previously, it was only set on "parentform". + +This change was introduced because mixing form and ngForm does not create +logically separate forms, but rather something like input groups. +Therefore, child forms should inherit the submission state from their parent form. + +### **ngAria** due to: + - **[6d5ef3](https://github.com/angular/angular.js/commit/6d5ef34fc6a974cde73157ba94f9706723dd8f5b)**: do not set aria attributes on input[type="hidden"] + +ngAria no longer sets aria-* attributes on input[type="hidden"] with ngModel. +This can affect apps that test for the presence of aria attributes on hidden inputs. +To migrate, remove these assertions. +In actual apps, this should not have a user-facing effect, as the previous behavior +was incorrect, and the new behavior is correct for accessibility. + +### **ngModel, input** due to: + - **[74b04c](https://github.com/angular/angular.js/commit/74b04c9403af4fc7df5b6420f22c9f45a3e84140)**: improve handling of built-in named parsers + +*Custom* parsers that fail to parse on input types "email", "url", "number", "date", "month", +"time", "datetime-local", "week", do no longer set `ngModelController.$error[inputType]`, and +the `ng-invalid-[inputType]` class. Also, custom parsers on input type "range" do no +longer set `ngModelController.$error.number` and the `ng-invalid-number` class. + +Instead, any custom parsers on these inputs set `ngModelController.$error.parse` and +`ng-invalid-parse`. This change was made to make distinguishing errors from built-in parsers +and custom parsers easier. + +### **ngModelOptions** due to: + - **[55ba44](https://github.com/angular/angular.js/commit/55ba44913e02650b56410aa9ab5eeea5d3492b68)**: add debounce catch-all + allow debouncing 'default' only + +the 'default' key in 'debounce' now only debounces the default event, i.e. the event +that is added as an update trigger by the different input directives automatically. + +Previously, it also applied to other update triggers defined in 'updateOn' that +did not have a corresponding key in the 'debounce'. + +This behavior is now supported via a special wildcard / catch-all key: '*'. + +See the following example: + +Pre-1.7: +'mouseup' is also debounced by 500 milliseconds because 'default' is applied: +``` +ng-model-options="{ + updateOn: 'default blur mouseup', + debounce: { 'default': 500, 'blur': 0 } +} +``` + +1.7: +The pre-1.7 behavior can be re-created by setting '*' as a catch-all debounce value: +``` +ng-model-options="{ + updateOn: 'default blur mouseup', + debounce: { '*': 500, 'blur': 0 } +} +``` + +In contrast, when only 'default' is used, 'blur' and 'mouseup' are not debounced: +``` +ng-model-options="{ + updateOn: 'default blur mouseup', + debounce: { 'default': 500 } +} +``` + +### **input\[number\]** due to: + - **[aa3f95](https://github.com/angular/angular.js/commit/aa3f951330ec7b10b43ea884d9b5754e296770ec)**: validate min/max against viewValue + +`input[type=number]` with `ngModel` now validates the input for the `max`/`min` restriction against +the `ngModelController.$viewValue` instead of against the `ngModelController.$modelValue`. + +This affects apps that use `$parsers` or `$formatters` to transform the input / model value. + +If you rely on the $modelValue validation, you can overwrite the `min`/`max` validator from a custom directive, as seen in the following example directive definition object: + +``` +{ + restrict: 'A', + require: 'ngModel', + link: function(scope, element, attrs, ctrl) { + var maxValidator = ctrl.$validators.max; + + ctrl.$validators.max = function(modelValue, viewValue) { + return maxValidator(modelValue, modelValue); + }; + } +} +``` + +### **input** due to: + - **[656c8f](https://github.com/angular/angular.js/commit/656c8fa8f23b1277cc5c214c4d0237f3393afa1e)**: listen on "change" instead of "click" for radio/checkbox ngModels + +`input[radio]` and `input[checkbox]` now listen to the "change" event instead of the "click" event. +Most apps should not be affected, as "change" is automatically fired by browsers after "click" +happens. + +Two scenarios might need migration: + +- Custom click events: + +Before this change, custom click event listeners on radio / checkbox would be called after the +input element and `ngModel` had been updated, unless they were specifically registered before +the built-in click handlers. +After this change, they are called before the input is updated, and can call event.preventDefault() +to prevent the input from updating. + +If an app uses a click event listener that expects ngModel to be updated when it is called, it now +needs to register a change event listener instead. + +- Triggering click events: + +Conventional trigger functions: + +The change event might not be fired when the input element is not attached to the document. This +can happen in **tests** that compile input elements and +trigger click events on them. Depending on the browser (Chrome and Safari) and the trigger method, +the change event will not be fired when the input isn't attached to the document. + +Before: + +```js + it('should update the model', inject(function($compile, $rootScope) { + var inputElm = $compile('')($rootScope); + + inputElm[0].click(); // Or different trigger mechanisms, such as jQuery.trigger() + expect($rootScope.checkbox).toBe(true); + }); +``` + +With this patch, `$rootScope.checkbox` might not be true, because the click event +hasn't triggered the change event. To make the test, work append the inputElm to the app's +`$rootElement`, and the `$rootElement` to the `$document`. + +After: + +```js + it('should update the model', inject(function($compile, $rootScope, $rootElement, $document) { + var inputElm = $compile('')($rootScope); + + $rootElement.append(inputElm); + $document.append($rootElement); + + inputElm[0].click(); // Or different trigger mechanisms, such as jQuery.trigger() + expect($rootScope.checkbox).toBe(true); + }); +``` + +`triggerHandler()`: + +If you are using this jQuery / jqLite function on the input elements, you don't have to attach +the elements to the document, but instead change the triggered event to "change". This is because +`triggerHandler(event)` only triggers the exact event when it has been added by jQuery / jqLite. + +### **ngStyle** due to: + - **[15bbd3](https://github.com/angular/angular.js/commit/15bbd3e18cd89b91f7206a06c73d40e54a8a48a0)**: use $watchCollection + +Previously the use of deep watch by ng-style would trigger styles to be +re-applied when nested state changed. Now only changes to direct +properties of the watched object will trigger changes. + +### **$compile** due to: + - **[38f8c9](https://github.com/angular/angular.js/commit/38f8c97af74649ce224b6dd45f433cc665acfbfb)**: remove the preAssignBindingsEnabled flag + +Previously, the `$compileProvider.preAssignBindingsEnabled` flag was supported. +The flag controlled whether bindings were available inside the controller +constructor or only in the `$onInit` hook. The bindings are now no longer +available in the constructor. + +To migrate your code: + +1. If you haven't invoked `$compileProvider.preAssignBindingsEnabled()` you +don't have to do anything to migrate. + +2. If you specified `$compileProvider.preAssignBindingsEnabled(false)`, you +can remove that statement - since AngularJS 1.6.0 this is the default so your +app should still work even in AngularJS 1.6 after such removal. Afterwards, +migrating to AngularJS 1.7.0 shouldn't require any further action. + +3. If you specified `$compileProvider.preAssignBindingsEnabled(true)` you need +to first migrate your code so that the flag can be flipped to `false`. The +instructions on how to do that are available in the "Migrating from 1.5 to 1.6" +guide: +https://docs.angularjs.org/guide/migration#migrating-from-1-5-to-1-6 +Afterwards, remove the `$compileProvider.preAssignBindingsEnabled(true)` +statement. + + - **[6ccbfa](https://github.com/angular/angular.js/commit/6ccbfa65d60a3dc396d0cf6da21b993ad74653fd)**: lower the `xlink:href` security context for SVG's `a` and `image` elements + +In the unlikely case that an app relied on RESOURCE_URL whitelisting for the +purpose of binding to the `xlink:href` property of SVG's `` or `` +elements and if the values do not pass the regular URL sanitization, they will +break. + +To fix this you need to ensure that the values used for binding to the affected +`xlink:href` contexts are considered safe URLs, e.g. by whitelisting them in +`$compileProvider`'s `aHrefSanitizationWhitelist` (for `` elements) or +`imgSrcSanitizationWhitelist` (for `` elements). + + - **[fd4f01](https://github.com/angular/angular.js/commit/fd4f0111188b62773b99ab6eab38b4d2b5d8d727)**: do not use deepWatch in literal one-way bindings + +Previously when a literal value was passed into a directive/component via +one-way binding it would be watched with a deep watcher. + +For example, for ``, a new instance of the array +would be passed into the directive/component (and trigger $onChanges) not +only if `a` changed but also if any sub property of `a` changed such as +`a.b` or `a.b.c.d.e` etc. + +This also means a new but equal value for `a` would NOT trigger such a +change. + +Now literal values use an input-based watch similar to other directive/component +one-way bindings. In this context inputs are the non-constant parts of the +literal. In the example above the input would be `a`. Changes are only +triggered when the inputs to the literal change. + + - **[1cf728](https://github.com/angular/angular.js/commit/1cf728e209a9e0016068fac2769827e8f747760e)**: add `base[href]` to the list of RESOURCE_URL context attributes + +Previously, `` would not require `baseUrl` to +be trusted as a RESOURCE_URL. Now, `baseUrl` will be sent to `$sce`'s +RESOURCE_URL checks. By default, it will break unless `baseUrl` is of the same +origin as the application document. + +Refer to the +[`$sce` API docs](https://code.angularjs.org/snapshot/docs/api/ng/service/$sce) +for more info on how to trust a value in a RESOURCE_URL context. + +Also, concatenation in trusted contexts is not allowed, which means that the +following won't work: ``. + +Either construct complex values in a controller (recommended): + +```js +this.baseUrl = '/something/' + this.partialPath; +``` +```html + +``` + +Or use string concatenation in the interpolation expression (not recommended +except for the simplest of cases): + +```html + +``` + +### **ngTouch** due to: + - **[11d9ad](https://github.com/angular/angular.js/commit/11d9ad1eb25eaf5967195e424108207427835d50)**: remove ngClick override, `$touchProvider`, and `$touch` + +The `ngClick` directive from the ngTouch module has been removed, and with it the +corresponding `$touchProvider` and `$touch` service. + +If you have included ngTouch v1.5.0 or higher in your application, and have not +changed the value of `$touchProvider.ngClickOverrideEnabled()`, or injected and used the `$touch` +service, then there are no migration steps for your code. Otherwise you must remove references to +the provider and service. + +The `ngClick` override directive had been deprecated and by default disabled since v1.5.0, +because of buggy behavior in edge cases, and a general trend to avoid special touch based +overrides of click events. In modern browsers, it should not be necessary to use a touch override +library: + +- Chrome, Firefox, Edge, and Safari remove the 300ms delay when + `` is set. +- Internet Explorer 10+, Edge, Safari, and Chrome remove the delay on elements that have the + `touch-action` css property is set to `manipulation`. + +You can find out more in these articles: +https://developers.google.com/web/updates/2013/12/300ms-tap-delay-gone-away +https://developer.apple.com/library/content/releasenotes/General/WhatsNewInSafari/Articles/Safari_9_1.html#//apple_ref/doc/uid/TP40014305-CH10-SW8 +https://blogs.msdn.microsoft.com/ie/2015/02/24/pointer-events-w3c-recommendation-interoperable-touch-and-removing-the-dreaded-300ms-tap-delay/ + +### **Angular** due to: + - **[1daa4f](https://github.com/angular/angular.js/commit/1daa4f2231a89ee88345689f001805ffffa9e7de)**: remove `angular.lowercase` and `angular.uppercase` + +The helper functions `angular.lowercase` `and angular.uppercase` have +been removed. + +These functions have been deprecated since 1.5.0. They are internally +used, but should not be exposed as they contain special locale handling +(for Turkish) to maintain internal consistency regardless of user-set locale. + +Developers should generally use the built-ins `toLowerCase` and `toUpperCase` +or `toLocaleLowerCase` and `toLocaleUpperCase` for special cases. + +Further, we generally discourage using the angular.x helpers in application code. + +### **$controller** due to: + - **[e269c1](https://github.com/angular/angular.js/commit/e269c14425a3209040f65c022658770e00a36f16)**: remove instantiating controllers defined on window + +The option to instantiate controllers from constructors on the global `window` object +has been removed. Likewise, the deprecated `$controllerProvider.allowGlobals()` +method that could enable this behavior, has been removed. + +This behavior had been deprecated since AngularJS v1.3.0, because polluting the global scope +is bad. To migrate, remove the call to $controllerProvider.allowGlobals() in the config, and +register your controller via the Module API or the $controllerProvider, e.g. + +``` +angular.module('myModule', []).controller('myController', function() {...}); + +angular.module('myModule', []).config(function($controllerProvider) { + $controllerProvider.register('myController', function() {...}); +}); + +``` + +### **$rootScope** due to: + - **[c2b8fa](https://github.com/angular/angular.js/commit/c2b8fab0a480204374d561d6b9b3d47347ac5570)**: provide correct value of one-time bindings in watchGroup + +Previously when using `$watchGroup` the entries in `newValues` and +`oldValues` represented the *most recent change of each entry*. + +Now the entries in `oldValues` will always equal the `newValues` of the previous +call of the listener. This means comparing the entries in `newValues` and +`oldValues` can be used to determine which individual expressions changed. + +For example `$scope.$watchGroup(['a', 'b'], fn)` would previously: + +| Action | newValue | oldValue | +|----------|------------|------------| +| (init) | [undefined, undefined] | [undefined, undefined] | +| `a=1` | [1, undefined] | [undefined, undefined] | +| `a=2` | [2, undefined] | [1, undefined] | +| `b=3` | [2, 3] | [1, undefined] | + + +Now the `oldValue` will always equal the previous `newValue`: + +| Action | newValue | oldValue | +|----------|------------|------------| +| (init) | [undefined, undefined] | [undefined, undefined] | +| `a=1` | [1, undefined] | [undefined, undefined] | +| `a=2` | [2, undefined] | [1, undefined] | +| `b=3` | [2, 3] | [2, undefined] | + +Note the last call now shows `a === 2` in the `oldValues` array. + +This also makes the `oldValue` of one-time watchers more clear. Previously +the `oldValue` of a one-time watcher would remain `undefined` forever. For +example `$scope.$watchGroup(['a', '::b'], fn)` would previously: + +| Action | newValue | oldValue | +|----------|------------|------------| +| (init) | [undefined, undefined] | [undefined, undefined] | +| `a=1` | [1, undefined] | [undefined, undefined] | +| `b=2` | [1, 2] | [undefined, undefined] | +| `a=b=3` | [3, 2] | [1, undefined] | + +Where now the `oldValue` will always equal the previous `newValue`: + +| Action | newValue | oldValue | +|----------|------------|------------| +| (init) | [undefined, undefined] | [undefined, undefined] | +| `a=1` | [1, undefined] | [undefined, undefined] | +| `b=2` | [1, 2] | [1, undefined] | +| `a=b=3` | [3, 2] | [1, 2] | + +### **$interval** due to: + - **[a8bef9](https://github.com/angular/angular.js/commit/a8bef95127775d83d80daa4617c33227c4b443d4)**: throw when trying to cancel non-$interval promise + +`$interval.cancel()` will throw an error if called with a promise that +was not generated by `$interval()`. Previously, it would silently do +nothing. + +Before: +```js +var promise = $interval(doSomething, 1000, 5).then(doSomethingElse); +$interval.cancel(promise); // No error; interval NOT canceled. +``` + +After: +```js +var promise = $interval(doSomething, 1000, 5).then(doSomethingElse); +$interval.cancel(promise); // Throws error. +``` + +Correct usage: +```js +var promise = $interval(doSomething, 1000, 5); +var newPromise = promise.then(doSomethingElse); +$interval.cancel(promise); // Interval canceled. +``` + +### **$timeout** due to: + - **[336525](https://github.com/angular/angular.js/commit/3365256502344970f86355d3ace1cb4251ae9828)**: throw when trying to cancel non-$timeout promise + +`$timeout.cancel()` will throw an error if called with a promise that +was not generated by `$timeout()`. Previously, it would silently do +nothing. + +Before: +```js +var promise = $timeout(doSomething, 1000).then(doSomethingElse); +$timeout.cancel(promise); // No error; timeout NOT canceled. +``` + +After: +```js +var promise = $timeout(doSomething, 1000).then(doSomethingElse); +$timeout.cancel(promise); // Throws error. +``` + +Correct usage: +```js +var promise = $timeout(doSomething, 1000); +var newPromise = promise.then(doSomethingElse); +$timeout.cancel(promise); // Timeout canceled. +``` + + + +# 1.6.10 crystalline-persuasion (2018-04-17) + +## Bug Fixes +- **$compile:** + - correctly handle `null`/`undefined` href `attrs.$set()` + ([f04e04](https://github.com/angular/angular.js/commit/f04e04e0e63e0d30c29718abd5cae634901793b2), + [#16520](https://github.com/angular/angular.js/issues/16520)) + - throw error in `$onChanges` immediately + ([b7d1e0fbd](https://github.com/angular/angular.js/commit/983e27b628fd1eab653e2b3966d90a270f27cc93), + [#15578](https://github.com/angular/angular.js/issues/15578), + [#16492](https://github.com/angular/angular.js/issues/16492)) +- **input:** + - allow overriding timezone for date input types + ([4355de](https://github.com/angular/angular.js/commit/4355dee21d26667bb7f6f21bf75c081351315033), + [#16181](https://github.com/angular/angular.js/issues/16181), + [#13382](https://github.com/angular/angular.js/issues/13382), + [#16336](https://github.com/angular/angular.js/issues/16336)) + - take timezone into account when validating minimum and maximum in date types + ([2f0ac6](https://github.com/angular/angular.js/commit/2f0ac696cb09aec3e291bb8c9c8a1092cbe3a061), + [#16342](https://github.com/angular/angular.js/issues/16342), + [#16390](https://github.com/angular/angular.js/issues/16390)) + - fix composition mode in IE for Korean input + ([9a1b7c](https://github.com/angular/angular.js/commit/9a1b7c9fa135d1dae3f9b4ccf48f081675796e92), + [#6656](https://github.com/angular/angular.js/issues/6656), + [#16273](https://github.com/angular/angular.js/issues/16273)) +- **jqLite:** use XHTML-compliant HTML as input for jqLite + ([a0c55a](https://github.com/angular/angular.js/commit/a0c55af9858075ab268a88dd7a4464788a46f4b7), + [#6917](https://github.com/angular/angular.js/issues/6917), + [#16518](https://github.com/angular/angular.js/issues/16518)) +- **minErr:** update url to https + ([52e466](https://github.com/angular/angular.js/commit/52e46683bfcc0ce0dc9a3d2ee42b389508423799)) +- **$http:** set correct xhrStatus in response when using 'timeout' + ([1faf7e](https://github.com/angular/angular.js/commit/1faf7ec30d55bba107b18efbcf0ef07732c55b91)) +- **browserTrigger:** support CompositionEvent + ([c33fd1](https://github.com/angular/angular.js/commit/c33fd1325417fdc6d7d6abc90cd935130653b149)) + + +## New Features +- **$http:** support sending XSRF token to whitelisted origins + ([bc7757](https://github.com/angular/angular.js/commit/bc775759c88b2221c2bb71d2335bc233c93f43b0), + [#7862](https://github.com/angular/angular.js/issues/7862)) +- **minErr:** strip error url from error parameters + ([980b69](https://github.com/angular/angular.js/commit/980b69dcae73dd8a3d0b9d91b63fa7711cd0ba36)) +- **$sanitize:** support enhancing elements/attributes white-lists + ([ee8e05](https://github.com/angular/angular.js/commit/ee8e05cfafe086188fc318ed4115fb56ba335112), + [#5900](https://github.com/angular/angular.js/issues/5900), + [#16326](https://github.com/angular/angular.js/issues/16326)) +- **$rootScope:** allow suspending and resuming watchers on scope + ([efb822c58](https://github.com/angular/angular.js/commit/41d5c90f170cc054b0f8f88220c22ef1ef6cc0a6), + [#16308](https://github.com/angular/angular.js/issues/5301)) + + +# 1.6.9 fiery-basilisk (2018-02-02) + + +## Bug Fixes +- **input:** add `drop` event support for IE + ([5dc076](https://github.com/angular/angular.js/commit/5dc07667de00c5e85fd69c5b7b7fe4fb5fd65a77)) +- **ngMessages:** prevent memory leak from messages that are never attached + ([9d058d](https://github.com/angular/angular.js/commit/9d058de04bb78694b83179e9b97bc40214eca01a), + [#16389](https://github.com/angular/angular.js/issues/16389), + [#16404](https://github.com/angular/angular.js/issues/16404), + [#16406](https://github.com/angular/angular.js/issues/16406)) +- **ngTransclude:** remove terminal: true + ([1d826e](https://github.com/angular/angular.js/commit/1d826e2f1e941d14c3c56d7a0249f5796ba11f85), + [#16411](https://github.com/angular/angular.js/issues/16411), + [#16412](https://github.com/angular/angular.js/issues/16412)) +- **$sanitize:** sanitize `xml:base` attributes + ([b9ef65](https://github.com/angular/angular.js/commit/b9ef6585e10477fbbf912a971fe0b390bca692a6)) + + +## New Features +- **currencyFilter:** trim whitespace around an empty currency symbol + ([367390](https://github.com/angular/angular.js/commit/3673909896efb6ff47546caf7fc61549f193e043), + [#15018](https://github.com/angular/angular.js/issues/15018), + [#15085](https://github.com/angular/angular.js/issues/15085), + [#15105](https://github.com/angular/angular.js/issues/15105)) + + + +# 1.6.8 beneficial-tincture (2017-12-18) + + +## Bug Fixes +- **$location:** + - always decode special chars in `$location.url(https://github.com/value)` + ([2bdf71](https://github.com/angular/angular.js/commit/2bdf7126878c87474bb7588ce093d0a3c57b0026)) + - decode non-component special chars in Hashbang URLS + ([57b626](https://github.com/angular/angular.js/commit/57b626a673b7530399d3377dfe770165bec35f8a)) +- **ngModelController:** allow $overrideModelOptions to set updateOn + ([55516d](https://github.com/angular/angular.js/commit/55516da2dfc7c5798dce24e9fa930c5ac90c900c), + [#16351](https://github.com/angular/angular.js/issues/16351), + [#16364](https://github.com/angular/angular.js/issues/16364)) + + +## New Features +- **$parse:** add a hidden interface to retrieve an expression's AST + ([f33d95](https://github.com/angular/angular.js/commit/f33d95cfcff6fd0270f92a142df8794cca2013ad), + [#16253](https://github.com/angular/angular.js/issues/16253), + [#16260](https://github.com/angular/angular.js/issues/16260)) + + +# 1.6.7 imperial-backstroke (2017-11-24) + + +## Bug Fixes +- **$compile:** sanitize special chars in directive name + ([c4003f](https://github.com/angular/angular.js/commit/c4003fd03489f876b646f06838f4edb576bacf6f), + [#16314](https://github.com/angular/angular.js/issues/16314), + [#16278](https://github.com/angular/angular.js/issues/16278)) +- **$location:** do not decode forward slashes in the path in HTML5 mode + ([e06ebf](https://github.com/angular/angular.js/commit/e06ebfdbb558544602fe9da4d7d98045a965f468), + [#16312](https://github.com/angular/angular.js/issues/16312)) +- **sanitizeUri:** sanitize URIs that contain IDEOGRAPHIC SPACE chars + ([ddeb1d](https://github.com/angular/angular.js/commit/ddeb1df15a23de93eb95dbe202e83e93673e1c4e), + [#16288](https://github.com/angular/angular.js/issues/16288)) +- **$rootScope:** fix potential memory leak when removing scope listeners + ([358a69](https://github.com/angular/angular.js/commit/358a69fa8b89b251ee44e523458d6c7f40b92b2d), + [#16135](https://github.com/angular/angular.js/issues/16135), + [#16161](https://github.com/angular/angular.js/issues/16161)) +- **http:** do not allow encoded callback params in jsonp requests + ([569e90](https://github.com/angular/angular.js/commit/569e906a5818271416ad0b749be2f58dc34938bd)) +- **ngMock:** pass unexpected request failures in `$httpBackend` to the error handler + ([1555a4](https://github.com/angular/angular.js/commit/1555a4911ad5360c145c0ddc8ec6c4bf9a381c13), + [#16150](https://github.com/angular/angular.js/issues/16150), + [#15855](https://github.com/angular/angular.js/issues/15855)) +- **ngAnimate:** don't close transitions when child transitions close + ([1391e9](https://github.com/angular/angular.js/commit/1391e99c7f73795180b792af21ad4402f96e225d), + [#16210](https://github.com/angular/angular.js/issues/16210)) +- **ngMock.browserTrigger:** add 'bubbles' to Transition/Animation Event + ([7a5f06](https://github.com/angular/angular.js/commit/7a5f06d55d123a39bb7b030667fb1ab672939598)) + + +## New Features +- **$sanitize, $compileProvider, linky:** add support for the "sftp" protocol in links + ([a675ea](https://github.com/angular/angular.js/commit/a675ea034366fbb0fcf0d73fed65216aa99bce11), + [#16102](https://github.com/angular/angular.js/issues/16102)) +- **ngModel.NgModelController:** expose $processModelValue to run model -> view pipeline + ([145194](https://github.com/angular/angular.js/commit/14519488ce9218aa891d34e89fc3271fd4ed0f04), + [#3407](https://github.com/angular/angular.js/issues/3407), + [#10764](https://github.com/angular/angular.js/issues/10764), + [#16237](https://github.com/angular/angular.js/issues/16237)) +- **$injector:** ability to load new modules after bootstrapping + ([6e78fe](https://github.com/angular/angular.js/commit/6e78fee73258bb0ae36414f9db2e8734273e481b)) + + +## Performance Improvements +- **jqLite:** + - avoid setting class attribute when not changed + ([9c95f6](https://github.com/angular/angular.js/commit/9c95f6d5e00ee7e054aabb3e363f5bfb3b7b4103)) + - avoid repeated add/removeAttribute in jqLiteRemoveClass + ([cab9eb](https://github.com/angular/angular.js/commit/cab9ebfd5a02e897f802bf6321b8471e4843c5d3), + [#16078](https://github.com/angular/angular.js/issues/16078), + [#16131](https://github.com/angular/angular.js/issues/16131)) + + + +# 1.6.6 interdimensional-cable (2017-08-18) + + +## Bug Fixes +- **$httpParamSerializer:** ignore functions + ([b51ded](https://github.com/angular/angular.js/commit/b51ded67366865f36c5781dd5d9b801488ec95ea), + [#16133](https://github.com/angular/angular.js/issues/16133)) +- **$resource:** do not throw when calling old `$cancelRequest()` + ([009ebe](https://github.com/angular/angular.js/commit/009ebec64c81d11b280c635167050e8906e191c6), + [#16037](https://github.com/angular/angular.js/issues/16037)) +- **$parse:** + - do not shallow-watch computed property keys + ([750465](https://github.com/angular/angular.js/commit/7504656a26202de591e4ac9674333254304edf8a)) + - support constants in computed keys + ([9d6c3f](https://github.com/angular/angular.js/commit/9d6c3f3ec233279885e37a250d25860d5c15f716)) +- **$http:** do not throw error if `Content-Type` is not `application/json` but response is JSON-like + ([2e1163](https://github.com/angular/angular.js/commit/2e1163ef5cb56d1933e8ecd7b74020b9df9c6693), + [#16027](https://github.com/angular/angular.js/issues/16027), + [#16075](https://github.com/angular/angular.js/issues/16075)) + + +## New Features +- **$compile:** add `strictComponentBindingsEnabled()` method + ([3ec181](https://github.com/angular/angular.js/commit/3ec1819b913c8edf0649e06217dbd5920f29f126), + [#16129](https://github.com/angular/angular.js/issues/16129)) +- **$resource:** add resource to response for error interceptors + ([9256db](https://github.com/angular/angular.js/commit/9256dbc4201343ce5cd63a9eadf98da4793f45af), + [#16109](https://github.com/angular/angular.js/issues/16109)) +- **$http:** allow differentiation between XHR completion, error, abort, timeout + ([5e2bc5](https://github.com/angular/angular.js/commit/5e2bc5bbf347a9dfadc08b1514b8be06fd550913), + [#15924](https://github.com/angular/angular.js/issues/15924), + [#15847](https://github.com/angular/angular.js/issues/15847)) + + + +# 1.6.5 toffee-salinization (2017-07-03) + + +## Bug Fixes +- **core:** + - correctly detect Error instances from different contexts + ([6daca0](https://github.com/angular/angular.js/commit/6daca023e42098f7098b9bf153c8e53a17af84f1), + [#15868](https://github.com/angular/angular.js/issues/15868), + [#15872](https://github.com/angular/angular.js/issues/15872)) + - deprecate `angular.merge` + ([dc41f4](https://github.com/angular/angular.js/commit/dc41f465baae9bc91418a61f446596157c530b6e), + [#12653](https://github.com/angular/angular.js/issues/12653), + [#14941](https://github.com/angular/angular.js/issues/14941), + [#15180](https://github.com/angular/angular.js/issues/15180), + [#15992](https://github.com/angular/angular.js/issues/15992), + [#16036](https://github.com/angular/angular.js/issues/16036)) +- **ngOptions:** + - re-render after empty option has been removed + ([510d0f](https://github.com/angular/angular.js/commit/510d0f946fa1a443ad43fa31bc9337676ef31332)) + - allow empty option to be removed and re-added + ([71b4da](https://github.com/angular/angular.js/commit/71b4daa4e10b6912891927ee2a7930c604b538f8)) + - select unknown option if unmatched model does not match empty option + ([17d34b](https://github.com/angular/angular.js/commit/17d34b7a983a0ef63f6cf404490385c696fb0da1)) +- **orderBy:** guarantee stable sort + ([e50ed4](https://github.com/angular/angular.js/commit/e50ed4da9e8177168f67da68bdf02f07da4e7bcf), + [#14881](https://github.com/angular/angular.js/issues/14881), + [#15914](https://github.com/angular/angular.js/issues/15914)) +- **$parse:** + - do not shallow-watch inputs to one-time intercepted expressions + ([6e3b5a](https://github.com/angular/angular.js/commit/6e3b5a57cd921823f3eca7200a79ac5c2ef0567a)) + - standardize one-time literal vs non-literal and interceptors + ([f003d9](https://github.com/angular/angular.js/commit/f003d93a3dd052dccddef41125d9c51034ac3605)) + - do not shallow-watch inputs when wrapped in an interceptor fn + ([aac562](https://github.com/angular/angular.js/commit/aac5623247a86681cbe0e1c8179617b816394c1d), + [#15905](https://github.com/angular/angular.js/issues/15905)) + - always re-evaluate filters within literals when an input is an object + ([ec9768](https://github.com/angular/angular.js/commit/ec97686f2f4a5481cc806462313a664fc7a1c893), + [#15964](https://github.com/angular/angular.js/issues/15964), + [#15990](https://github.com/angular/angular.js/issues/15990)) +- **$sanitize:** use appropriate inert document strategy for Firefox and Safari + ([8f31f1](https://github.com/angular/angular.js/commit/8f31f1ff43b673a24f84422d5c13d6312b2c4d94)) +- **$timeout/$interval:** do not trigger a digest on cancel + ([a222d0](https://github.com/angular/angular.js/commit/a222d0b452622624dc498ef0b9d3c43647fd4fbc), + [#16057](https://github.com/angular/angular.js/issues/16057), + [#16064](https://github.com/angular/angular.js/issues/16064))
+ This change might affect the use of `$timeout.flush()` in unit tests. See the commit message for + more info. +- **ngMock/$interval:** add support for zero-delay intervals in tests + ([a1e3f8](https://github.com/angular/angular.js/commit/a1e3f8728e0a80396f980e48f8dc68dde6721b2b), + [#15952](https://github.com/angular/angular.js/issues/15952), + [#15953](https://github.com/angular/angular.js/issues/15953)) +- **angular-loader:** do not depend on "closure" globals that may not be available + ([a3226d](https://github.com/angular/angular.js/commit/a3226d01fadaf145713518dc5b8022b581c34e81), + [#15880](https://github.com/angular/angular.js/issues/15880), + [#15881](https://github.com/angular/angular.js/issues/15881)) + + +## New Features +- **select:** expose info about selection state in controller + ([0b962d](https://github.com/angular/angular.js/commit/0b962d4881e98327a91c37f7317da557aa991663), + [#13172](https://github.com/angular/angular.js/issues/13172), + [#10127](https://github.com/angular/angular.js/issues/10127)) +- **$animate:** add support for `customFilter` + ([ab114a](https://github.com/angular/angular.js/commit/ab114af8508bdbdb1fa5fd1e070d08818d882e28), + [#14891](https://github.com/angular/angular.js/issues/14891)) +- **$compile:** overload `.component()` to accept object map of components + ([210112](https://github.com/angular/angular.js/commit/2101126ce72308d8fc468ca2411bb9972e614f79), + [#14579](https://github.com/angular/angular.js/issues/14579), + [#16062](https://github.com/angular/angular.js/issues/16062)) +- **$log:** log all parameters in IE 9, not just the first two. + ([3671a4](https://github.com/angular/angular.js/commit/3671a43be43d05b00c90dfb3a3f746c013139581)) +- **ngMock:** describe unflushed http requests + ([d9128e](https://github.com/angular/angular.js/commit/d9128e7b2371ab2bb5169ba854b21c78baa784d2), + [#10596](https://github.com/angular/angular.js/issues/10596), + [#15928](https://github.com/angular/angular.js/issues/15928)) + + +## Performance Improvements +- **ngOptions:** prevent initial options repainting + ([ff52b1](https://github.com/angular/angular.js/commit/ff52b188a759f2cc7ee6ee78a8c646c2354a47eb), + [#15801](https://github.com/angular/angular.js/issues/15801), + [#15812](https://github.com/angular/angular.js/issues/15812), + [#16071](https://github.com/angular/angular.js/issues/16071)) +- **$animate:** + - avoid unnecessary computations if animations are globally disabled + ([ce5ffb](https://github.com/angular/angular.js/commit/ce5ffbf667464bd58eae4c4af0917eb2685f1f6a), + [#14914](https://github.com/angular/angular.js/issues/14914)) + - do not retrieve `className` unless `classNameFilter` is used + ([275978](https://github.com/angular/angular.js/commit/27597887379a1904cd86832602e286894b449a75)) + + + + +# 1.6.4 phenomenal-footnote (2017-03-31) + + +## Bug Fixes +- **$parse:** + - standardize one-time literal vs non-literal and interceptors + ([60394a](https://github.com/angular/angular.js/commit/60394a9d91dad8932fa900af7c8529837f1d4557), + [#15858](https://github.com/angular/angular.js/issues/15858)) + - fix infinite digest errors when watching objects with .valueOf in literals + ([f5ddb1](https://github.com/angular/angular.js/commit/f5ddb10b56676c2ad912ce453acb87f0a7a94e01), + [#15867](https://github.com/angular/angular.js/issues/15867)) +- **ngModel:** prevent internal scope reference from being copied + ([e1f8a6](https://github.com/angular/angular.js/commit/e1f8a6e82bb8a70079ef3db9a891b1c08b5bae31), + [#15833](https://github.com/angular/angular.js/issues/15833)) +- **jqLite:** make jqLite invoke jqLite.cleanData as a method + ([9cde98](https://github.com/angular/angular.js/commit/9cde98cbc770f8d33fc074ba563b7ab6e2baaf8b), + [#15846](https://github.com/angular/angular.js/issues/15846)) +- **$http:** throw more informative error on invalid JSON response + ([df8887](https://github.com/angular/angular.js/commit/df88873bb79213057057adb47151b626a7ec0e5d), + [#15695](https://github.com/angular/angular.js/issues/15695), + [#15724](https://github.com/angular/angular.js/issues/15724)) +- **dateFilter:** correctly handle newlines in `format` string + ([982271](https://github.com/angular/angular.js/commit/9822711ad2a401c2449239edc13d18b301714757), + [#15794](https://github.com/angular/angular.js/issues/15794), + [#15792](https://github.com/angular/angular.js/issues/15792)) + + +## New Features +- **$resource:** add `hasBody` action configuration option + ([a9f987](https://github.com/angular/angular.js/commit/a9f987a0c9653246ea471a89197907d94c0cea2a), + [#10128](https://github.com/angular/angular.js/issues/10128), + [#12181](https://github.com/angular/angular.js/issues/12181)) + + + +# 1.6.3 scriptalicious-bootstrapping (2017-03-08) + + +## Bug Fixes +- **AngularJS:** + - do not auto-bootstrap if the `src` exists but is empty + ([3536e8](https://github.com/angular/angular.js/commit/3536e83d8a085b02bd6dcec8324800b7e6c734e4)) + - do not auto bootstrap if the currentScript has been clobbered + ([95f964](https://github.com/angular/angular.js/commit/95f964b827b6f5b5aab10af54f7831316c7a9935)) + - do not auto-bootstrap if the script source is bad and inside SVG + ([c8f78a](https://github.com/angular/angular.js/commit/c8f78a8ca9debc33a6deaf951f344b8d372bf210)) +- **$log:** don't parse error stacks manually outside of IE/Edge + ([64e5af](https://github.com/angular/angular.js/commit/64e5afc4786fdfd850c6bdb488a5aa2b8b077f74), + [#15590](https://github.com/angular/angular.js/issues/15590), + [#15767](https://github.com/angular/angular.js/issues/15767)) +- **$sanitize:** prevent clobbered elements from freezing the browser + ([3bb1dd](https://github.com/angular/angular.js/commit/3bb1dd5d7f7dcde6fea5a3148f8f10e92f451e9d), + [#15699](https://github.com/angular/angular.js/issues/15699)) +- **$animate:** + - reset `classNameFilter` to `null` when a disallowed RegExp is used + ([a584fb](https://github.com/angular/angular.js/commit/a584fb6e1569fc1dd85e23b251a7c126edc2dd5b), + [#14913](https://github.com/angular/angular.js/issues/14913)) + - improve detection on `ng-animate` in `classNameFilter` RegExp + ([1f1331](https://github.com/angular/angular.js/commit/1f13313f403381581e1c31c57ebfe7a96546c6e4), + [#14806](https://github.com/angular/angular.js/issues/14806)) +- **filterFilter:** don't throw if `key.charAt` is not a function + ([f27d19](https://github.com/angular/angular.js/commit/f27d19ed606bf05ba41698159ebbc5fbc195033e), + [#15644](https://github.com/angular/angular.js/issues/15644), + [#15660](https://github.com/angular/angular.js/issues/15660)) +- **select:** + - add attribute "selected" for `select[multiple]` + ([851367](https://github.com/angular/angular.js/commit/8513674911300b27d518383a905fde9b3f25f7ae)) + - keep original selection when using shift to add options in IE/Edge + ([97b74a](https://github.com/angular/angular.js/commit/97b74ad6fbcbc4b63e37e9eb44962d6f8de83e8b), + [#15675](https://github.com/angular/angular.js/issues/15675), + [#15676](https://github.com/angular/angular.js/issues/15676)) +- **$jsonpCallbacks:** allow `$window` to be mocked in unit tests + ([5ca0de](https://github.com/angular/angular.js/commit/5ca0de64873c32ab2f540a3226e73c4175a15c50), + [#15685](https://github.com/angular/angular.js/issues/15685), + [#15686](https://github.com/angular/angular.js/issues/15686)) + + +## New Features +- **info:** add `angularVersion` info to each module + ([1e582e](https://github.com/angular/angular.js/commit/1e582e4fa486f340150bba95927f1b26d9142de2)) +- **$injector:** add new `modules` property + ([742123](https://github.com/angular/angular.js/commit/7421235f247e5b7113345401bc5727cfbf81ddc2)) +- **Module:** add `info()` method + ([09ba69](https://github.com/angular/angular.js/commit/09ba69078de6ba52c70571b82b6205929f6facc5), + [#15225](https://github.com/angular/angular.js/issues/15225)) +- **errorHandlingConfig:** make the depth for object stringification in errors configurable + ([4a5eaf](https://github.com/angular/angular.js/commit/4a5eaf7bec85ceca8b934ebaff4d1834a1a09f57), + [#15402](https://github.com/angular/angular.js/issues/15402), + [#15433](https://github.com/angular/angular.js/issues/15433)) + + + +# 1.6.2 llamacorn-lovehug (2017-02-07) + + +## Bug Fixes +- **$compile:** + - do not swallow thrown errors in testsg + ([0377c6](https://github.com/angular/angular.js/commit/0377c6f0e890cb4ed3eb020b96720b4b34f75df3), + [#15629](https://github.com/angular/angular.js/issues/15629), + [#15631](https://github.com/angular/angular.js/issues/15631)) + - allow the usage of "$" in isolate scope property alias + ([7f2af3](https://github.com/angular/angular.js/commit/7f2af3f923e7a3f85c8862d0ed57d21c72eae904), + [#15594](https://github.com/angular/angular.js/issues/15594)) +- **$location:** correctly handle external URL change during `$digest` + ([b60761](https://github.com/angular/angular.js/commit/b607618342d6c4fab364966fe05f152be6bd4d5f), + [#11075](https://github.com/angular/angular.js/issues/11075), + [#12571](https://github.com/angular/angular.js/issues/12571), + [#15556](https://github.com/angular/angular.js/issues/15556), + [#15561](https://github.com/angular/angular.js/issues/15561)) +- **$browser:** detect external changes in `history.state` + ([fa50fb](https://github.com/angular/angular.js/commit/fa50fbaf57b3437be7a410ecaba7008dbe0ef239)) +- **$resource:** + - do not swallow errors in `success` callback + ([27146e](https://github.com/angular/angular.js/commit/27146e8a7fad54c1342179b6d291b1b5c2ebe816), + [#15624](https://github.com/angular/angular.js/issues/15624), + [#15628](https://github.com/angular/angular.js/issues/15628)) + - correctly unescape `/\.` even if `\.` comes from a param value + ([419a48](https://github.com/angular/angular.js/commit/419a4813e354496bdf0df44e3f8afaa198df1ab1), + [#15627](https://github.com/angular/angular.js/issues/15627)) + - delete `$cancelRequest()` in `toJSON()` + ([086c5d](https://github.com/angular/angular.js/commit/086c5d0354db8cb3d106b9ff966fb48d6fb46ef8), + [#15244](https://github.com/angular/angular.js/issues/15244)) +- **$animate:** correctly animate transcluded clones with `templateUrl` + ([f01212](https://github.com/angular/angular.js/commit/f01212ab5287ac7a154da7d75037ed444e81eb34), + [#15510](https://github.com/angular/angular.js/issues/15510), + [#15514](https://github.com/angular/angular.js/issues/15514)) +- **$route:** make asynchronous tasks count as pending requests + ([eb968c](https://github.com/angular/angular.js/commit/eb968c4a6884838db05369a04459066424c5bba8), + [#14159](https://github.com/angular/angular.js/issues/14159)) +- **$parse:** make sure ES6 object computed properties are watched + ([5e418b](https://github.com/angular/angular.js/commit/5e418b1145a1045da598c7863e785d647ea83850), + [#15678](https://github.com/angular/angular.js/issues/15678)) +- **$sniffer:** allow `history` for NW.js apps + ([4a593d](https://github.com/angular/angular.js/commit/4a593db79ba1e21a6aa600a82cf6d757cad94d01), + [#15474](https://github.com/angular/angular.js/issues/15474), + [#15633](https://github.com/angular/angular.js/issues/15633)) +- **input:** fix `step` validation for `input[type=number/range]` + ([c95a67](https://github.com/angular/angular.js/commit/c95a6737fbd277e40c064bd9f68f383bf119505c), + [#15504](https://github.com/angular/angular.js/issues/15504), + [#15506](https://github.com/angular/angular.js/issues/15506)) +- **select:** keep `ngModel` when selected option is recreated by `ngRepeat` + ([131af8](https://github.com/angular/angular.js/commit/131af8272d269a541d04cb522c264a91e0ec8b6a), + [#15630](https://github.com/angular/angular.js/issues/15630), + [#15632](https://github.com/angular/angular.js/issues/15632)) +- **ngValue:** correctly update the `value` property when `value` is undefined + ([05aab6](https://github.com/angular/angular.js/commit/05aab660ce74f526f2110d3b5faf9a5b4f4e664b) + [#15603](https://github.com/angular/angular.js/issues/15603), + [#15605](https://github.com/angular/angular.js/issues/15605)) +- **angularInit:** allow auto-bootstrapping from inline script + ([bb464d](https://github.com/angular/angular.js/commit/bb464d16b434b9e2de2fecf80c192d4741cba879), + [#15567](https://github.com/angular/angular.js/issues/15567), + [#15571](https://github.com/angular/angular.js/issues/15571)) +- **ngMockE2E:** ensure that mocked `$httpBackend` uses correct `$browser` + ([bd63b2](https://github.com/angular/angular.js/commit/bd63b2235cd410251cb83eebd9a47d3102830b6b), + [#15593](https://github.com/angular/angular.js/issues/15593)) + + +## New Features +- **ngModel:** add `$overrideModelOptions` support + ([2546c2](https://github.com/angular/angular.js/commit/2546c29f811b68eea4d68be7fa1c8f7bb562dc11), + [#15415](https://github.com/angular/angular.js/issues/15415)) +- **$parse:** allow watching array/object literals with non-primitive values + ([25f008](https://github.com/angular/angular.js/commit/25f008f541d68b09efd7b428b648c6d4899e6972), + [#15301](https://github.com/angular/angular.js/issues/15301)) + + + + +# 1.5.11 princely-quest (2017-01-13) + + +## Bug Fixes +- **$compile:** allow the usage of "$" in isolate scope property alias + ([e75fbc](https://github.com/angular/angular.js/commit/e75fbc494e6a0da6a9231b40bb0382431b62be07), + [#15586](https://github.com/angular/angular.js/issues/15586), + [#15594](https://github.com/angular/angular.js/issues/15594)) +- **angularInit:** allow auto-bootstrapping from inline script + ([41aa91](https://github.com/angular/angular.js/commit/41aa9125b9aaf771addb250642f524a4e6f9d8d3), + [#15567](https://github.com/angular/angular.js/issues/15567), + [#15571](https://github.com/angular/angular.js/issues/15571)) +- **$resource:** delete `$cancelRequest()` in `toJSON()` + ([4f3858](https://github.com/angular/angular.js/commit/4f3858e7c371f87534397f45b9d002add33b00cc), + [#15244](https://github.com/angular/angular.js/issues/15244)) +- **$$cookieReader:** correctly handle forbidden access to `document.cookie` + ([6933cf](https://github.com/angular/angular.js/commit/6933cf64fe51f54b10d1639f2b95bab3c1178df9), + [#15523](https://github.com/angular/angular.js/issues/15523), + [#15532](https://github.com/angular/angular.js/issues/15532)) + + + + +# 1.6.1 promise-rectification (2016-12-23) + + +## Bug Fixes +- **$q:** Add traceback to unhandled promise rejections + ([174cb4](https://github.com/angular/angular.js/commit/174cb4a8c81e25581da5b452c2bb43b0fa377a9b), + [#14631](https://github.com/angular/angular.js/issues/14631)) +- **$$cookieReader:** correctly handle forbidden access to `document.cookie` + ([33f769](https://github.com/angular/angular.js/commit/33f769b0a1214055c16fb59adad4897bf53d62bf), + [#15523](https://github.com/angular/angular.js/issues/15523)) +- **ngOptions:** do not unset the `selected` property unless necessary + ([bc4844](https://github.com/angular/angular.js/commit/bc4844d3b297d80aecef89aa1b32615024decedc), + [#15477](https://github.com/angular/angular.js/issues/15477)) +- **ngModelOptions:** work correctly when on the template of `replace` directives + ([5f8ed6](https://github.com/angular/angular.js/commit/5f8ed63f2ab02ffb9c21bf9c29d27c851d162e26), + [#15492](https://github.com/angular/angular.js/issues/15492)) +- **ngClassOdd/Even:** add/remove the correct classes when expression/`$index` change simultaneously + ([d52864](https://github.com/angular/angular.js/commit/d528644fe3e9ffd43999e7fc67806059f9e1083e)) +- **jqLite:** silently ignore `after()` if element has no parent + ([3d68b9](https://github.com/angular/angular.js/commit/3d68b9502848ff6714ef89bfb95b8e70ae34eff6), + [#15331](https://github.com/angular/angular.js/issues/15331), + [#15475](https://github.com/angular/angular.js/issues/15475)) +- **$rootScope:** when adding/removing watchers during $digest + ([163aca](https://github.com/angular/angular.js/commit/163aca336d7586a45255787af41b14b2a12361dd), + [#15422](https://github.com/angular/angular.js/issues/15422)) + + +## Performance Improvements +- **ngClass:** avoid unnecessary `.data()` accesses, deep-watching and copies + ([1d3b65](https://github.com/angular/angular.js/commit/1d3b65adc2c22ff662159ef910089cf10d1edb7b), + [#14404](https://github.com/angular/angular.js/issues/14404)) + + + + +# 1.5.10 asynchronous-synchronization (2016-12-15) + + +## Bug Fixes +- **$compile:** + - don't throw tplrt error when there is whitespace around a top-level comment + ([12752f](https://github.com/angular/angular.js/commit/12752f66ac425ab38a5ee574a4bfbf3516adc42c), + [#15108](https://github.com/angular/angular.js/issues/15108)) + - clean up `@`-binding observers when re-assigning bindings + ([f3cb6e](https://github.com/angular/angular.js/commit/f3cb6e309aa1f676e5951ac745fa886d3581c2f4), + [#15268](https://github.com/angular/angular.js/issues/15268)) + - set attribute value even if `ngAttr*` contains no interpolation + ([229799](https://github.com/angular/angular.js/commit/22979904fb754c59e9f6ee5d8763e3b8de0e18c2), + [#15133](https://github.com/angular/angular.js/issues/15133)) + - `bindToController` should work without `controllerAs` + ([944989](https://github.com/angular/angular.js/commit/9449893763a4fd95ee8ff78b53c6966a874ec9ae), + [#15088](https://github.com/angular/angular.js/issues/15088)) + - do not overwrite values set in `$onInit()` for `<`-bound literals + ([07e1ba](https://github.com/angular/angular.js/commit/07e1ba365fb5e8a049be732bd7b62f71e0aa1672), + [#15118](https://github.com/angular/angular.js/issues/15118)) + - avoid calling `$onChanges()` twice for `NaN` initial values + ([0cf5be](https://github.com/angular/angular.js/commit/0cf5be52642f7e9d81a708b3005042eac6492572)) +- **$location:** prevent infinite digest with IDN urls in Edge + ([4bf892](https://github.com/angular/angular.js/commit/4bf89218130d434771089fdfe643490b8d2ee259), + [#15217](https://github.com/angular/angular.js/issues/15217)) +- **$rootScope:** correctly handle adding/removing watchers during `$digest` + ([a9708d](https://github.com/angular/angular.js/commit/a9708de84b50f06eacda33834d5bbdfc97c97f37), + [#15422](https://github.com/angular/angular.js/issues/15422)) +- **$sce:** fix `adjustMatcher` to replace multiple `*` and `**` + ([78eecb](https://github.com/angular/angular.js/commit/78eecb43dbb0500358d333aea8955bd0646a7790)) +- **jqLite:** silently ignore `after()` if element has no parent + ([77ed85](https://github.com/angular/angular.js/commit/77ed85bcd3be057a5a79231565ac7accc6d644c6), + [#15331](https://github.com/angular/angular.js/issues/15331)) +- **input[radio]:** use non-strict comparison for checkedness + ([593a50](https://github.com/angular/angular.js/commit/593a5034841b3b7661d3bcbdd06b7a9d0876fd34)) +- **select, ngOptions:** + - let `ngValue` take precedence over option text with multiple interpolations + ([5b7ec8](https://github.com/angular/angular.js/commit/5b7ec8c84e88ee08aacaf9404853eda0016093f5), + [#15413](https://github.com/angular/angular.js/issues/15413)) + - don't add comment nodes as empty options + ([1d29c9](https://github.com/angular/angular.js/commit/1d29c91c3429de96e4103533752700d1266741be), + [#15454](https://github.com/angular/angular.js/issues/15454)) +- **ngClassOdd/Even:** add/remove the correct classes when expression/`$index` change simultaneously + ([e3d020](https://github.com/angular/angular.js/commit/e3d02070ab8a02c818dcc5114db6fba9d3f385d6)) +- **$sanitize:** reduce stack height in IE <= 11 + ([862dc2](https://github.com/angular/angular.js/commit/862dc2532f8126a4a71fd3d957884ba6f11f591c), + [#14928](https://github.com/angular/angular.js/issues/14928)) +- **ngMock/$controller:** respect `$compileProvider.preAssignBindingsEnabled()` + ([75c83f](https://github.com/angular/angular.js/commit/75c83ff3195931859a099f7a95bf81d32abf2eb3)) + + +## New Features +- **bootstrap:** do not bootstrap from unknown schemes with a different origin + ([bdeb33](https://github.com/angular/angular.js/commit/bdeb3392a8719131ab2b993f2a881c43a2860f92), + [#15428](https://github.com/angular/angular.js/issues/15428)) +- **$anchorScroll:** convert numeric hash targets to string + ([a52640](https://github.com/angular/angular.js/commit/a5264090b66ad0cf9a93de84bb7b307868c0edef), + [#14680](https://github.com/angular/angular.js/issues/14680)) +- **$compile:** + - add `preAssignBindingsEnabled` option + ([f86576](https://github.com/angular/angular.js/commit/f86576def44005f180a66e3aa12d6cc73c1ac72c)) + - throw error when directive name or factory function is invalid + ([5c9399](https://github.com/angular/angular.js/commit/5c9399d18ae5cd79e6cf6fc4377d66df00f6fcc7), + [#15056](https://github.com/angular/angular.js/issues/15056)) +- **$controller:** throw when requested controller is not registered + ([9ae793](https://github.com/angular/angular.js/commit/9ae793d8a69afe84370b601e07fc375fc18a576a), + [#14980](https://github.com/angular/angular.js/issues/14980)) +- **$location:** add support for selectively rewriting links based on attribute + ([a4a222](https://github.com/angular/angular.js/commit/a4a22266f127d3b9a6818e6f4754f048e253f693)) +- **$resource:** pass `status`/`statusText` to success callbacks + ([a8da25](https://github.com/angular/angular.js/commit/a8da25c74d2c1f6265f0fafd95bf72c981d9d678), + [#8341](https://github.com/angular/angular.js/issues/8841), + [#8841](https://github.com/angular/angular.js/issues/8841)) +- **ngSwitch:** allow multiple case matches via optional attribute `ngSwitchWhenSeparator` + ([0e1651](https://github.com/angular/angular.js/commit/0e1651bfd28ba73ebd0e4943d85af48c4506e02c), + [#3410](https://github.com/angular/angular.js/issues/3410), + [#3516](https://github.com/angular/angular.js/issues/3516)) + + +## Performance Improvements +- **all:** don't trigger digests after enter/leave of structural directives + ([c57779](https://github.com/angular/angular.js/commit/c57779d8725493c5853dceda0105dafd5c0e3a7c), + [#15322](https://github.com/angular/angular.js/issues/15322)) +- **$compile:** validate `directive.restrict` property on directive init + ([31d464](https://github.com/angular/angular.js/commit/31d464feef38b1cc950da6c8dccd0f194ebfc68b)) +- **ngOptions:** avoid calls to `element.value` + ([e269ad](https://github.com/angular/angular.js/commit/e269ad1244bc50fee9218f7c18fab3e9ab063aab)) +- **jqLite:** move bind/unbind definitions out of the loop + ([7717b9](https://github.com/angular/angular.js/commit/7717b96e950a5916a5f12fd611c73d3b06a8d717)) + + + +# 1.6.0 rainbow-tsunami (2016-12-08) + +**Here are the full changes for the release of 1.6.0 that are not already released in the 1.5.x branch, +consolidating all the changes shown in the previous 1.6.0 release candidates.** + +## New Features +- **ngModelOptions:** allow options to be inherited from ancestor `ngModelOptions` + ([296cfc](https://github.com/angular/angular.js/commit/296cfce40c25e9438bfa46a0eb27240707a10ffa), + [#10922](https://github.com/angular/angular.js/issues/10922)) +- **$compile:** + - add `preAssignBindingsEnabled` option + ([dfb8cf](https://github.com/angular/angular.js/commit/dfb8cf6402678206132e5bc603764d21e0f986ef)) + - set `preAssignBindingsEnabled` to false by default + ([bcd0d4](https://github.com/angular/angular.js/commit/bcd0d4d896d0dfdd988ff4f849c1d40366125858), + [#15352](https://github.com/angular/angular.js/issues/15352)) + - throw error when directive name or factory function is invalid + ([53a3bf](https://github.com/angular/angular.js/commit/53a3bf6634600c3aeff092eacc35edf399b27aec) + [#15056](https://github.com/angular/angular.js/issues/15056)) +- **jqLite:** + - implement `jqLite(f)` as an alias to `jqLite(document).ready(f)` + ([369fb7](https://github.com/angular/angular.js/commit/369fb7f4f73664bcdab0350701552d8bef6f605e)) + - don't throw for elements with missing `getAttribute` + ([4e6c14](https://github.com/angular/angular.js/commit/4e6c14dcae4a9a30b3610a288ef8d20db47c4417)) + - don't get/set properties when getting/setting boolean attributes + ([7ceb5f](https://github.com/angular/angular.js/commit/7ceb5f6fcc43d35d1b66c3151ce6a71c60309304), + [#14126](https://github.com/angular/angular.js/issues/14126)) + - don't remove a boolean attribute for `.attr(attrName, '')` + ([3faf45](https://github.com/angular/angular.js/commit/3faf4505732758165083c9d21de71fa9b6983f4a)) + - remove the attribute for `.attr(attribute, null)` + ([4e3624](https://github.com/angular/angular.js/commit/4e3624552284d0e725bf6262b2e468cd2c7682fa)) + - return `[]` for `.val()` on ` + + + +``` + +The migration strategy is to convert values that matched with non-strict +conversion so that they will match with strict conversion. + + +- **feat(ngModelOptions): allow options to be inherited from ancestor `ngModelOptions` + ([296cfc](https://github.com/angular/angular.js/commit/296cfce40c25e9438bfa46a0eb27240707a10ffa))**: + +The programmatic API for `ngModelOptions` has changed. You must now read options +via the `ngModelController.$options.getOption(name)` method, rather than accessing the +option directly as a property of the `ngModelContoller.$options` object. This does not +affect the usage in templates and only affects custom directives that might have been +reading options for their own purposes. + +One benefit of these changes, though, is that the `ngModelControler.$options` property +is now guaranteed to be defined so there is no need to check before accessing. + +So, previously: + +``` +var myOption = ngModelController.$options && ngModelController.$options['my-option']; +``` + +and now: + +``` +var myOption = ngModelController.$options.getOption('my-option'); +``` + +### **jqLite** due to: +- **[fc0c11](https://github.com/angular/angular.js/commit/fc0c11db845d53061430b7f05e773dcb3fb5b860)**: + camelCase keys in `jqLite#data` + +Previously, keys passed to the data method were left untouched. +Now they are internally camelCased similarly to how jQuery handles it, i.e. +only single (!) hyphens followed by a lowercase letter get converted to an +uppercase letter. This means keys `a-b` and `aB` represent the same data piece; +writing to one of them will also be reflected if you ask for the other one. + +If you use Angular with jQuery, it already behaved in this way so no changes +are required on your part. + +To migrate the code follow the examples below: + +BEFORE: + +```js +/* 1 */ +elem.data('my-key', 2); +elem.data('myKey', 3); + +/* 2 */ +elem.data('foo-bar', 42); +elem.data()['foo-bar']; // 42 +elem.data()['fooBar']; // undefined + +/* 3 */ +elem.data()['foo-bar'] = 1; +elem.data()['fooBar'] = 2; +elem.data('foo-bar'); // 1 +``` + +AFTER: + +```js +/* 1 */ +// Rename one of the keys as they would now map to the same data slot. +elem.data('my-key', 2); +elem.data('my-key2', 3); + +/* 2 */ +elem.data('foo-bar', 42); +elem.data()['foo-bar']; // undefined +elem.data()['fooBar']; // 42 + +/* 3 */ +elem.data()['foo-bar'] = 1; +elem.data()['fooBar'] = 2; +elem.data('foo-bar'); // 2 +``` + +- **[73050c](https://github.com/angular/angular.js/commit/73050cdda04675bfa6705dc841ddbbb6919eb048)**: + align jqLite camelCasing logic with JQuery + +Before, when Angular was used without jQuery, the key passed +to the css method was more heavily camelCased; now only a single (!) hyphen +followed by a lowercase letter is getting transformed. This also affects APIs +that rely on the css method, like ngStyle. + +If you use Angular with jQuery, it already behaved in this way so no changes +are needed on your part. + +To migrate the code follow the example below: + +Before: + +HTML: + +```html +// All five versions used to be equivalent. +
+
+
+
+
+``` + +JS: + +```js +// All five versions used to be equivalent. +elem.css('background_color', 'blue'); +elem.css('background:color', 'blue'); +elem.css('background-color', 'blue'); +elem.css('background--color', 'blue'); +elem.css('backgroundColor', 'blue'); + +// All five versions used to be equivalent. +var bgColor = elem.css('background_color'); +var bgColor = elem.css('background:color'); +var bgColor = elem.css('background-color'); +var bgColor = elem.css('background--color'); +var bgColor = elem.css('backgroundColor'); +``` + +After: + +HTML: + +```html +// Previous five versions are no longer equivalent but these two still are. +
+
+``` + +JS: + +```js +// Previous five versions are no longer equivalent but these two still are. +elem.css('background-color', 'blue'); +elem.css('backgroundColor', 'blue'); + +// Previous five versions are no longer equivalent but these two still are. +var bgColor = elem.css('background-color'); +var bgColor = elem.css('backgroundColor'); +``` + +- **[7ceb5f](https://github.com/angular/angular.js/commit/7ceb5f6fcc43d35d1b66c3151ce6a71c60309304)**: don't get/set properties when getting/setting boolean attributes + +Previously, all boolean attributes were reflected into the corresponding property when calling a +setter and from the corresponding property when calling a getter, even on elements that don't treat +those attributes in a special way. Now Angular doesn't do it by itself, but relies on browsers to +know when to reflect the property. Note that this browser-level conversion differs between browsers; +if you need to dynamically change the state of an element, you should modify the property, not the +attribute. See https://jquery.com/upgrade-guide/1.9/#attr-versus-prop- for a more detailed +description about a related change in jQuery 1.9. + +This change aligns jqLite with jQuery 3. To migrate the code follow the example below: + +Before: + +CSS: + +```css +input[checked="checked"] { ... } +``` + +JS: + +```js +elem1.attr('checked', 'checked'); +elem2.attr('checked', false); +``` + +After: + +CSS: + +```css +input:checked { ... } +``` + +JS: + +```js +elem1.prop('checked', true); +elem2.prop('checked', false); +``` + +- **[3faf45](https://github.com/angular/angular.js/commit/3faf4505732758165083c9d21de71fa9b6983f4a)**: + don't remove a boolean attribute for `.attr(attrName, '')` + +Before, using the `attr` method with an empty string as a value +would remove the boolean attribute. Now it sets it to its lowercase name as +was happening for every non-empty string so far. The only two values that remove +the boolean attribute are now null & false, just like in jQuery. + +To migrate the code follow the example below: + +Before: + +```js +elem.attr(booleanAttrName, ''); +``` + +After: + +```js +elem.attr(booleanAttrName, false); +``` + +or: + +```js +elem.attr(booleanAttrName, null); +``` + +- **[4e3624](https://github.com/angular/angular.js/commit/4e3624552284d0e725bf6262b2e468cd2c7682fa)**: + remove the attribute for `.attr(attribute, null)` + +Invoking `elem.attr(attributeName, null)` would set the +`attributeName` attribute value to a string `"null"`, now it removes the +attribute instead. + +To migrate the code follow the example below: + +Before: + +```js +elem.attr(attributeName, null); +``` + +After: + +```js +elem.attr(attributeName, "null"); +``` + +- **[d882fd](https://github.com/angular/angular.js/commit/d882fde2e532216e7cf424495db1ccb5be1789f8)**: + return [] for .val() on ` + + + +``` + +JavaScript: + +```js + var value = $element.val(); + if (value) { + /* do something */ + } +``` + +After: + +HTML: + +```html + +``` + +JavaScript: + +```js + var value = $element.val(); + if (value.length > 0) { + /* do something */ + } +``` + + +### `ngModel` due to: + +- **[7bc71a](https://github.com/angular/angular.js/commit/7bc71adc63bb6bb609b44dd2d3ea8fb0cd3f300b)**: + treat synchronous validators as boolean always + +Previously, only a literal `false` return would resolve as the +synchronous validator failing. Now, all falsy JavaScript values +are treated as failing the validator, as one would naturally expect. + +Specifically, the values `0` (the number zero), `null`, `NaN` and `''` (the +empty string) used to be considered valid (passing) and they are now considered +invalid (failing). The value `undefined` was treated similarly to a pending +asynchronous validator, causing the validation to be pending. `undefined` is +also now considered invalid. + +To migrate, make sure your synchronous validators are returning either a +literal `true` or a literal `false` value. For most code, we expect this to +already be the case. Only a very small subset of projects will be affected. + +Namely, anyone using `undefined` or any falsy value as a return will now see +their validation failing, whereas previously falsy values other than `undefined` +would have been seen as passing and `undefined` would have been seen as pending. + +- **[9e24e7](https://github.com/angular/angular.js/commit/9e24e774a558143b3478536911a3a4c1714564ba)**: + change controllers to use prototype methods + +The use of prototype methods instead of new methods per instance removes the ability to pass +NgModelController and FormController methods without context. + +For example + +```js +$scope.$watch('something', myNgModelCtrl.$render) +``` + +will no longer work because the `$render` method is passed without any context. +This must now be replaced with + +```js +$scope.$watch('something', function() { + myNgModelCtrl.$render(); +}) +``` + +or possibly by using `Function.prototype.bind` or `angular.bind`. + + +### `aria/ngModel` due to: + +- **[975a61](https://github.com/angular/angular.js/commit/975a6170efceb2a5e6377c57329731c0636eb8c8)**: + do not overwrite the default `$isEmpty()` method for checkboxes + +Custom `checkbox`-shaped controls (e.g. checkboxes, menuitemcheckboxes), no longer have a custom +`$isEmpty()` method on their `NgModelController` that checks for `value === false`. Unless +overwritten, the default `$isEmpty()` method will be used, which treats `undefined`, `null`, `NaN` +and `''` as "empty". + +**Note:** The `$isEmpty()` method is used to determine if the checkbox is checked ("not empty" means + "checked") and thus it can indirectly affect other things, such as the control's validity + with respect to the `required` validator (e.g. "empty" + "required" --> "invalid"). + +Before: + +```js +var template = ''; +var customCheckbox = $compile(template)(scope); +var ctrl = customCheckbox.controller('ngModel'); + +scope.$apply('value = false'); +console.log(ctrl.$isEmpty()); //--> true + +scope.$apply('value = true'); +console.log(ctrl.$isEmpty()); //--> false + +scope.$apply('value = undefined'/* or null or NaN or '' */); +console.log(ctrl.$isEmpty()); //--> false +``` + +After: + +```js +var template = ''; +var customCheckbox = $compile(template)(scope); +var ctrl = customCheckbox.controller('ngModel'); + +scope.$apply('value = false'); +console.log(ctrl.$isEmpty()); //--> false + +scope.$apply('value = true'); +console.log(ctrl.$isEmpty()); //--> false + +scope.$apply('value = undefined'/* or null or NaN or '' */); +console.log(ctrl.$isEmpty()); //--> true +``` + +-- +If you want to have a custom `$isEmpty()` method, you need to overwrite the default. For example: + +```js +.directive('myCheckbox', function myCheckboxDirective() { + return { + require: 'ngModel', + link: function myCheckboxPostLink(scope, elem, attrs, ngModelCtrl) { + ngModelCtrl.$isEmpty = function myCheckboxIsEmpty(value) { + return !value; // Any falsy value means "empty" + + // Or to restore the previous behavior: + // return value === false; + }; + } + }; +}) +``` + +### `$http` due to: +- **[b54a39](https://github.com/angular/angular.js/commit/b54a39e2029005e0572fbd2ac0e8f6a4e5d69014)**: + remove deprecated callback methods: `success()/error()` + +`$http`'s deprecated custom callback methods - `success()` and `error()` - have been removed. +You can use the standard `then()`/`catch()` promise methods instead, but note that the method +signatures and return values are different. + +`success(fn)` can be replaced with `then(fn)`, and `error(fn)` can be replaced with either +`then(null, fn)` or `catch(fn)`. + +Before: + +```js +$http(...). + success(function onSuccess(data, status, headers, config) { + // Handle success + ... + }). + error(function onError(data, status, headers, config) { + // Handle error + ... + }); +``` + +After: + +```js +$http(...). + then(function onSuccess(response) { + // Handle success + var data = response.data; + var status = response.status; + var statusText = response.statusText; + var headers = response.headers; + var config = response.config; + ... + }, function onError(response) { + // Handle error + var data = response.data; + var status = response.status; + var statusText = response.statusText; + var headers = response.headers; + var config = response.config; + ... + }); + +// or + +$http(...). + then(function onSuccess(response) { + // Handle success + var data = response.data; + var status = response.status; + var statusText = response.statusText; + var headers = response.headers; + var config = response.config; + ... + }). + catch(function onError(response) { + // Handle error + var data = response.data; + var status = response.status; + var statusText = response.statusText; + var headers = response.headers; + var config = response.config; + ... + }); +``` + +**Note:** +There is a subtle difference between the variations showed above. When using +`$http(...).success(onSuccess).error(onError)` or `$http(...).then(onSuccess, onError)`, the +`onError()` callback will only handle errors/rejections produced by the `$http()` call. If the +`onSuccess()` callback produces an error/rejection, it won't be handled by `onError()` and might go +unnoticed. In contrast, when using `$http(...).then(onSuccess).catch(onError)`, `onError()` will +handle errors/rejections produced by both `$http()` _and_ `onSuccess()`. + +- **[fb6634](https://github.com/angular/angular.js/commit/fb663418710736161a6b5da49c345e92edf58dcb)**: + JSONP callback must be specified by `jsonpCallbackParam` config + +You can no longer use the `JSON_CALLBACK` placeholder in your JSONP requests. +Instead you must provide the name of the query parameter that will pass the +callback via the `jsonpCallbackParam` property of the config object, or app-wide via +the `$http.defaults.jsonpCallbackParam` property, which is `"callback"` by default. + +Before this change: + +```js +$http.json('trusted/url?callback=JSON_CALLBACK'); +$http.json('other/trusted/url', {params: {cb:'JSON_CALLBACK'}}); +``` + +After this change: + +```js +$http.json('trusted/url'); +$http.json('other/trusted/url', {jsonpCallbackParam:'cb'}); +``` + +- **[6476af](https://github.com/angular/angular.js/commit/6476af83cd0418c84e034a955b12a842794385c4)**: + JSONP requests now require a trusted resource URL + +All JSONP requests now require the URL to be trusted as resource URLs. +There are two approaches to trust a URL: + +**Whitelisting with the `$sceDelegateProvider.resourceUrlWhitelist()` +method.** + +You configure this list in a module configuration block: + +```js +appModule.config(['$sceDelegateProvider', function($sceDelegateProvider) { + $sceDelegateProvider.resourceUrlWhitelist([ + // Allow same origin resource loads. + 'self', + // Allow JSONP calls that match this pattern + 'https://some.dataserver.com/**.jsonp?**' + ]); +}]); +``` + +**Explicitly trusting the URL via the `$sce.trustAsResourceUrl(url)` +method.** + +You can pass a trusted object instead of a string as a URL to the `$http` +service: + +```js +var promise = $http.jsonp($sce.trustAsResourceUrl(url)); +``` + +- **[4f6f2b](https://github.com/angular/angular.js/commit/4f6f2bce4ac93b85320e42e5023c09d099779b7d)**: + properly increment/decrement `$browser.outstandingRequestCount` + +HTTP requests now update the outstanding request count synchronously. +Previously the request count would not have been updated until the +request to the server is actually in flight. Now the request count is +updated before the async interceptor is called. + +The new behaviour is correct but it may change the expected behaviour in +a small number of e2e test cases where an async request interceptor is +being used. + + +### `$q` due to: + +- **[e13eea](https://github.com/angular/angular.js/commit/e13eeabd7e34a78becec06cfbe72c23f2dcb85f9)**: + treat thrown errors as regular rejections + +Previously, throwing an error from a promise's `onFulfilled` or `onRejection` handlers, would result +in passing the error to the `$exceptionHandler()` (in addition to rejecting the promise with the +error as reason). + +Now, a thrown error is treated exactly the same as a regular rejection. This applies to all +services/controllers/filters etc that rely on `$q` (including built-in services, such as `$http` and +`$route`). For example, `$http`'s `transformRequest/Response` functions or a route's `redirectTo` +function as well as functions specified in a route's `resolve` object, will no longer result in a +call to `$exceptionHandler()` if they throw an error. Other than that, everything will continue to +behave in the same way; i.e. the promises will be rejected, route transition will be cancelled, +`$routeChangeError` events will be broadcasted etc. + +- **[c9dffd](https://github.com/angular/angular.js/commit/c9dffde1cb167660120753181cb6d01dc1d1b3d0)**: + report promises with non rejection callback + +Unhandled rejected promises will be logged to $exceptionHandler. + +Tests that depend on specific order or number of messages in $exceptionHandler +will need to handle rejected promises report. + + +### `ngTransclude` due to: + +- **[32aa7e](https://github.com/angular/angular.js/commit/32aa7e7395527624119e3917c54ee43b4d219301)**: + use fallback content if only whitespace is provided + +Previously whitespace only transclusion would be treated as the transclusion +being "not empty", which meant that fallback content was not used in that +case. + +Now if you only provide whitespace as the transclusion content, it will be +assumed to be empty and the fallback content will be used instead. + +If you really do want whitespace then you can force it to be used by adding +a comment to the whitespace. + +Previously this would not fallback to default content: + +```html + + +``` + +Now the whitespace between the opening and closing tags is treated as empty. To force the +previous behaviour simply add a comment: + +```html + + +``` + + +### `$compile` due to: + +- **[13c252](https://github.com/angular/angular.js/commit/13c2522baf7c8f616b2efcaab4bffd54c8736591)**: + correctly merge consecutive text nodes on IE11 + +**Note:** Everything described below affects **IE11 only**. + +Previously, consecutive text nodes would not get merged if they had no parent. They will now, which +might have unexpected side effects in the following cases: + +1. Passing an array or jqLite/jQuery collection of parent-less text nodes to `$compile` directly: + + ```js + // Assuming: + var textNodes = [ + document.createTextNode('{{'), + document.createTextNode('"foo:"'), + document.createTextNode('}}') + ]; + var compiledNodes = $compile(textNodes)($rootScope); + + // Before: + console.log(compiledNodes.length); // 3 + console.log(compiledNodes.text()); // {{'foo'}} + + // After: + console.log(compiledNodes.length); // 1 + console.log(compiledNodes.text()); // foo + + // To get the old behavior, compile each node separately: + var textNodes = [ + document.createTextNode('{{'), + document.createTextNode('"foo"'), + document.createTextNode('}}') + ]; + var compiledNodes = angular.element(textNodes.map(function (node) { + return $compile(node)($rootScope)[0]; + })); + ``` + +2. Using multi-slot transclusion with non-consecutive, default-content text nodes (that form + interpolated expressions when merged): + + ```js + // Assuming the following component: + .component('someThing', { + template: '' + transclude: { + ignored: 'veryImportantContent' + } + }) + ``` + + ```html + + + {{ + Nooot + 'foo'}} + + + + + + {{ <-- Two separate + 'foo'}} <-- text nodes + + + + + + + foo <-- The text nodes were merged into `{{'foo'}}`, which was then interpolated + + + + + + + {{ + Nooot + 'foo'}} + + + + + + {{ <-- Two separate + 'foo'}} <-- nodes + + + ``` + +- **[b89c21](https://github.com/angular/angular.js/commit/b89c2181a9a165e06c027390164e08635ec449f4)**: + move check for interpolation of `on-"event"` attributes to compile time + +Using interpolation in any on* event attributes (e.g. `
+ + +{# Be aware that we need these extra new lines here or marked will not realize that the
+ above is HTML and wrap each line in a

- thus breaking the HTML #} diff --git a/docs/config/templates/examples/template.css b/docs/config/templates/examples/template.css new file mode 100644 index 000000000000..82cb1e38ad5d --- /dev/null +++ b/docs/config/templates/examples/template.css @@ -0,0 +1 @@ +{$ doc.fileContents $} \ No newline at end of file diff --git a/docs/config/templates/examples/template.html b/docs/config/templates/examples/template.html new file mode 100644 index 000000000000..82cb1e38ad5d --- /dev/null +++ b/docs/config/templates/examples/template.html @@ -0,0 +1 @@ +{$ doc.fileContents $} \ No newline at end of file diff --git a/docs/config/templates/examples/template.js b/docs/config/templates/examples/template.js new file mode 100644 index 000000000000..7cc69668f9ae --- /dev/null +++ b/docs/config/templates/examples/template.js @@ -0,0 +1,4 @@ +(function(angular) { + 'use strict'; +{$ doc.fileContents $} +})(window.angular); \ No newline at end of file diff --git a/docs/config/templates/examples/template.json b/docs/config/templates/examples/template.json new file mode 100644 index 000000000000..82cb1e38ad5d --- /dev/null +++ b/docs/config/templates/examples/template.json @@ -0,0 +1 @@ +{$ doc.fileContents $} \ No newline at end of file diff --git a/docs/config/templates/examples/template.protractor b/docs/config/templates/examples/template.protractor new file mode 100644 index 000000000000..82cb1e38ad5d --- /dev/null +++ b/docs/config/templates/examples/template.protractor @@ -0,0 +1 @@ +{$ doc.fileContents $} \ No newline at end of file diff --git a/docs/config/templates/examples/template.scenario b/docs/config/templates/examples/template.scenario new file mode 100644 index 000000000000..82cb1e38ad5d --- /dev/null +++ b/docs/config/templates/examples/template.scenario @@ -0,0 +1 @@ +{$ doc.fileContents $} \ No newline at end of file diff --git a/docs/config/templates/examples/template.spec b/docs/config/templates/examples/template.spec new file mode 100644 index 000000000000..82cb1e38ad5d --- /dev/null +++ b/docs/config/templates/examples/template.spec @@ -0,0 +1 @@ +{$ doc.fileContents $} \ No newline at end of file diff --git a/docs/config/templates/ngdoc/api/api.template.html b/docs/config/templates/ngdoc/api/api.template.html new file mode 100644 index 000000000000..0a622197b4e2 --- /dev/null +++ b/docs/config/templates/ngdoc/api/api.template.html @@ -0,0 +1,63 @@ +{% extends "base.template.html" %} +{% import "lib/deprecated.html" as x -%} + +{% block content %} + + +  View Source + + +{% block header %} +

+

{$ doc.name $}

+
    + {% block related_components %}{% endblock %} +
  1. + - {$ doc.docType $} in module {$ doc.moduleDoc.name $} +
  2. +
+
+{% endblock %} + +{$ x.deprecatedBlock(doc) $} + +{% block description %} +
+

Overview

+ {$ doc.description | marked $} +
+{% endblock %} + +{% if doc.knownIssues %} +

Known Issues

+{% for issue in doc.knownIssues -%} +
+ {$ issue | marked $} +
+{% endfor -%} +{% endif %} + +
+ {% block dependencies %} + {%- if doc.requires %} +

Dependencies

+
    + {% for require in doc.requires %}
  • {$ require | link $}
  • {% endfor %} +
+ {% endif -%} + {% endblock %} + + {% block additional %} + {% endblock %} + + {% block examples %} + {%- if doc.examples %} +

{$ "Examples" if doc.examples | length > 1 else "Example" $}

+ {%- for example in doc.examples -%} + {$ example | marked $} + {%- endfor -%} + {% endif -%} + {% endblock %} +
+ +{% endblock %} diff --git a/docs/config/templates/ngdoc/api/componentGroup.template.html b/docs/config/templates/ngdoc/api/componentGroup.template.html new file mode 100644 index 000000000000..b3780f718a92 --- /dev/null +++ b/docs/config/templates/ngdoc/api/componentGroup.template.html @@ -0,0 +1,31 @@ +{% block content %} +

+ {%- if doc.title -%} + {$ doc.title $} + {%- elif doc.moduleName -%} + {$ doc.groupType | title $} components in {$ doc.moduleName | code $} + {%- else -%} + Pages + {%- endif -%} +

+ +{$ doc.description | marked $} + +
+
+ + + + + + {% for page in doc.components %} + + + + + {% endfor %} +
NameDescription
{$ page.id | link(page.name, page) $}{$ page.description | firstParagraph | marked $}
+
+
+ +{% endblock %} \ No newline at end of file diff --git a/docs/config/templates/ngdoc/api/directive.template.html b/docs/config/templates/ngdoc/api/directive.template.html new file mode 100644 index 000000000000..0a3480eee988 --- /dev/null +++ b/docs/config/templates/ngdoc/api/directive.template.html @@ -0,0 +1,86 @@ +{% import "lib/macros.html" as lib -%} +{% extends "api/api.template.html" %} + +{% block additional %} +

Directive Info

+
    + {% if doc.scope %}
  • This directive creates new scope.
  • {% endif %} +
  • This directive executes at priority level {$ doc.priority $}.
  • + {% if doc.multiElement %}
  • This directive can be used as {@link $compile#-multielement- multiElement}
  • {% endif %} +
+ + {% block usage %} +

Usage

+
+ {% if doc.usage %} + {$ doc.usage | marked $} + {% else %} +
    + {% if doc.restrict.element %} +
  • as element: + {% code %} + <{$ doc.name | dashCase $} + {%- for param in doc.params %} + {$ lib.directiveParam(param.alias or param.name, param.type, '="', '"') $} + {%- endfor %}> + ... + + {% endcode %} +
  • + {% endif -%} + + + {% set hasNameAsParam = false %} + + {# when a directive's name is not a parameter (i.e. doesn't take a value), + add the directive name to the list of attributes and/or css classes #} + + {%- for param in doc.params %} + {% set hasNameAsParam = true if param.name === doc.name else hasNameAsParam %} + {%- endfor %} + + {%- if doc.restrict.attribute -%} +
  • as attribute: + {% code %} + <{$ doc.element $} + {%- if not hasNameAsParam %} + {$ lib.directiveParam(doc.name, {}, '', '') $} + {%- endif -%} + {%- for param in doc.params %} + {$ lib.directiveParam(param.name, param.type, '="', '"') $} + {%- endfor %}> + ... + + {% endcode %} +
  • + {% endif -%} + + {%- if doc.restrict.cssClass -%} + +
  • as CSS class: + {% code %} + {% set sep = joiner(' ') %} + <{$ doc.element $} class=" + {%- if not hasNameAsParam -%} + {$ sep() $}{$ lib.directiveParam(doc.name, {}, '', '') $} + {%- endif -%} + {%- for param in doc.params -%} + {$ sep() $}{$ lib.directiveParam(param.name, param.type, ': ', ';') $} + {%- endfor %}"> ... + {% endcode %} +
  • + {% endif -%} + + {%- endif %} +
+ {% endblock -%} + + {% include "lib/params.template.html" %} + {% include "lib/events.template.html" %} + + {%- if doc.animations %} +

Animations

+ {$ doc.animations | marked $} + {$ 'module:ngAnimate.$animate' | link('Click here', doc) $} to learn more about the steps involved in the animation. + {%- endif -%} +{% endblock %} diff --git a/docs/config/templates/ngdoc/api/filter.template.html b/docs/config/templates/ngdoc/api/filter.template.html new file mode 100644 index 000000000000..28fcef1f1c9c --- /dev/null +++ b/docs/config/templates/ngdoc/api/filter.template.html @@ -0,0 +1,26 @@ +{% import "lib/macros.html" as lib -%} +{% extends "api/api.template.html" %} + +{% block additional %} +

Usage

+

In HTML Template Binding

+ {% if doc.usage %} + {$ doc.usage | code $} + {% else %} + {% code -%} + {{ {$ doc.name $}_expression | {$ doc.name $} + {%- for param in doc.params %}{% if not loop.first %} : {$ param.name $}{% endif %}{% endfor -%} + }} + {%- endcode %} + {% endif %} + +

In JavaScript

+ {% code -%} + {%- set sep = joiner(', ') -%} + $filter('{$ doc.name $}')({% for param in doc.params %}{$ sep() $}{$ param.name $}{% endfor -%}) + {%- endcode %} + + {% include "lib/params.template.html" %} + {% include "lib/this.template.html" %} + {% include "lib/returns.template.html" %} +{% endblock %} diff --git a/docs/config/templates/ngdoc/api/function.template.html b/docs/config/templates/ngdoc/api/function.template.html new file mode 100644 index 000000000000..dcf3778ca8a6 --- /dev/null +++ b/docs/config/templates/ngdoc/api/function.template.html @@ -0,0 +1 @@ +{% extends "api/object.template.html" %} diff --git a/docs/config/templates/ngdoc/api/input.template.html b/docs/config/templates/ngdoc/api/input.template.html new file mode 100644 index 000000000000..4fd03b97e799 --- /dev/null +++ b/docs/config/templates/ngdoc/api/input.template.html @@ -0,0 +1,12 @@ +{% import "lib/macros.html" as lib -%} +{% extends "api/directive.template.html" %} + +{% block usage %} +

Usage

+ {% code %} + + {% endcode %} +{% endblock %} \ No newline at end of file diff --git a/docs/config/templates/ngdoc/api/module.template.html b/docs/config/templates/ngdoc/api/module.template.html new file mode 100644 index 000000000000..248b4093d3a5 --- /dev/null +++ b/docs/config/templates/ngdoc/api/module.template.html @@ -0,0 +1,105 @@ +{% extends "base.template.html" %} +{% import "lib/deprecated.html" as x %} + +{% block content %} +

+ {% if doc.title %}{$ doc.title | marked $}{% else %}{$ doc.name | code $}{% endif %} +

+ +{$ x.deprecatedBlock(doc) $} + +

Installation

+{% if doc.installation or doc.installation == '' %} + {$ doc.installation | marked $} +{% else %} + +

First, get the file:

+
    +
  • + Google CDN e.g. + {% code %}"//ajax.googleapis.com/ajax/libs/angularjs/X.Y.Z/{$ doc.packageFile $}"{% endcode %} +
  • +
  • + NPM e.g. + {% code %}npm install --save {$ doc.packageName $}@X.Y.Z{% endcode %} + or + {% code %}yarn add {$ doc.packageName $}@X.Y.Z{% endcode %} +
  • +
  • + Bower e.g. + {% code %}bower install {$ doc.packageName $}#X.Y.Z{% endcode %} +
  • +
  • + code.angularjs.org + (discouraged for production use) e.g. + {% code %}"//code.angularjs.org/X.Y.Z/{$ doc.packageFile $}"{% endcode %} +
  • +
+

where X.Y.Z is the AngularJS version you are running.

+ +

Then, include {$ doc.packageFile | code $} in your HTML:

+ + {% code %} + + + {% endcode %} + +

Finally, load the module in your application by adding it as a dependent module:

+ {% code %} + angular.module('app', ['{$ doc.name $}']); + {% endcode %} + +

With that you're ready to get started!

+{% endif %} + +{$ doc.description | marked $} + +{% if doc.knownIssueDocs %} +
+

Known Issues

+ + + {% for issueDoc in doc.knownIssueDocs -%} + + + + + {% endfor -%} +
NameDescription
{$ issueDoc.id | link(issueDoc.name, issueDoc) $} + {% for issue in issueDoc.knownIssues -%} + {$ issue | marked $} {% if not loop.last %}
{% endif %} + {% endfor -%} +
+
+{% endif %} + + +{% if doc.componentGroups.length %} +
+

Module Components

+ {% for componentGroup in doc.componentGroups %} +
+

{$ componentGroup.groupType | title $}

+ + + + + + {% for component in componentGroup.components %} + + + + + {% endfor %} +
NameDescription
{$ component.id | link(component.name, component) $}{$ component.description | firstParagraph | marked $}
+
+ {% endfor %} +
+{% endif %} + +{% if doc.usage %} +

Usage

+ {$ doc.usage | marked $} +{% endif %} + +{% endblock %} diff --git a/docs/config/templates/ngdoc/api/object.template.html b/docs/config/templates/ngdoc/api/object.template.html new file mode 100644 index 000000000000..ca5311446cc6 --- /dev/null +++ b/docs/config/templates/ngdoc/api/object.template.html @@ -0,0 +1,23 @@ +{% import "lib/macros.html" as lib %} +{% extends "api/api.template.html" %} + +{% block additional %} + + {% if doc.params or doc.returns or doc.this or doc.kind == 'function' -%} +

Usage

+ {% if doc.usage %} + {$ doc.usage | code $} + {% else %} + {$ lib.functionSyntax(doc) $} + {% endif %} + + {% include "lib/params.template.html" %} + {% include "lib/this.template.html" %} + {% include "lib/returns.template.html" %} + {%- endif %} + + {% include "lib/methods.template.html" %} + {% include "lib/events.template.html" %} + {% include "lib/properties.template.html" %} + +{% endblock %} diff --git a/docs/config/templates/ngdoc/api/provider.template.html b/docs/config/templates/ngdoc/api/provider.template.html new file mode 100644 index 000000000000..f0a1a976a42c --- /dev/null +++ b/docs/config/templates/ngdoc/api/provider.template.html @@ -0,0 +1,9 @@ +{% extends "api/object.template.html" %} + +{% block related_components %} + {% if doc.serviceDoc -%} +
  • + - {$ doc.serviceDoc.name $} +
  • + {%- endif %} +{% endblock %} diff --git a/docs/config/templates/ngdoc/api/service.template.html b/docs/config/templates/ngdoc/api/service.template.html new file mode 100644 index 000000000000..dce54fe4a4ba --- /dev/null +++ b/docs/config/templates/ngdoc/api/service.template.html @@ -0,0 +1,9 @@ +{% extends "api/object.template.html" %} + +{% block related_components %} + {% if doc.providerDoc -%} +
  • + - {$ doc.providerDoc.name $} +
  • + {%- endif %} +{% endblock %} diff --git a/docs/config/templates/ngdoc/api/type.template.html b/docs/config/templates/ngdoc/api/type.template.html new file mode 100644 index 000000000000..dcf3778ca8a6 --- /dev/null +++ b/docs/config/templates/ngdoc/api/type.template.html @@ -0,0 +1 @@ +{% extends "api/object.template.html" %} diff --git a/docs/config/templates/ngdoc/base.template.html b/docs/config/templates/ngdoc/base.template.html new file mode 100644 index 000000000000..63851d82e636 --- /dev/null +++ b/docs/config/templates/ngdoc/base.template.html @@ -0,0 +1,4 @@ + Improve this Doc + +{% block content %} +{% endblock %} diff --git a/docs/config/templates/ngdoc/lib/deprecated.html b/docs/config/templates/ngdoc/lib/deprecated.html new file mode 100644 index 000000000000..d1521e69ce83 --- /dev/null +++ b/docs/config/templates/ngdoc/lib/deprecated.html @@ -0,0 +1,9 @@ +{% macro deprecatedBlock(doc) %}{% if doc.deprecated %} +
    +
    Deprecated: + {% if doc.deprecated.sinceVersion %}(since {$ doc.deprecated.sinceVersion $}) {% endif %} + {% if doc.deprecated.removeVersion %}(to be removed in {$ doc.deprecated.removeVersion $}) {% endif %} +
    + {$ doc.deprecated.description | marked $} +
    +{% endif %}{% endmacro %} \ No newline at end of file diff --git a/docs/config/templates/ngdoc/lib/events.template.html b/docs/config/templates/ngdoc/lib/events.template.html new file mode 100644 index 000000000000..b4b159de5008 --- /dev/null +++ b/docs/config/templates/ngdoc/lib/events.template.html @@ -0,0 +1,37 @@ +{% import "lib/macros.html" as lib -%} +{% import "lib/deprecated.html" as x -%} + +{%- if doc.events %} +

    Events

    +
      + {%- for event in doc.events %} +
    • +

      {$ event.name $}

      +
      {$ event.description | marked $}
      + + {$ x.deprecatedBlock(event) $} + + {%- if event.eventType == 'listen' %} +
      +

      Listen on: {$ event.eventTarget $}

      +
      + {%- else %} +
      +

      Type:

      +
      {$ event.eventType $}
      +
      +
      +

      Target:

      +
      {$ event.eventTarget $}
      +
      + {% endif -%} + {%- if event.params %} +
      +

      Parameters

      + {$ lib.paramTable(event.params) $} +
      + {%- endif -%} +
    • + {% endfor -%} +
    +{% endif -%} diff --git a/docs/config/templates/ngdoc/lib/macros.html b/docs/config/templates/ngdoc/lib/macros.html new file mode 100644 index 000000000000..8fbd577d4008 --- /dev/null +++ b/docs/config/templates/ngdoc/lib/macros.html @@ -0,0 +1,60 @@ +{% macro typeList(types) -%} +{% for typeName in types %}{$ typeName | escape $}{% endfor %} +{%- endmacro -%} + +{%- macro paramTable(params) %} + + + + + + + + + + {% for param in params %} + + + + + + {% endfor %} + +
    ParamTypeDetails
    + {$ param.name $} + {% if param.alias %}| {$ param.alias $}{% endif %} + {% if param.optional %}
    (optional)
    {% endif %} +
    + {$ typeList(param.typeList) $} + + {$ param.description | marked $} + {% if param.defaultValue %}

    (default: {$ param.defaultValue $})

    {% endif %} +
    +{% endmacro -%} + + +{%- macro directiveParam(name, type, join, sep) %} + {%- if type.optional %}[{% endif -%} + {$ name | dashCase $}{$ join $}{$ type.name $}{$ sep $} + {%- if type.optional %}]{% endif -%} +{% endmacro -%} + +{%- macro functionSyntax(fn) %} + {%- set sep = joiner(', ') -%} + {% marked -%} + `{$ fn.name $}({%- for param in fn.params %}{$ sep() $} + {%- if param.type.optional %}[{% endif -%} + {$ param.name $} + {%- if param.type.optional %}]{% endif -%} + {% endfor %});` + {%- endmarked %} +{% endmacro -%} + +{%- macro typeInfo(fn) -%} + + + + + +
    {$ typeList(fn.typeList) $}{$ fn.description | marked $}
    +{%- endmacro -%} diff --git a/docs/config/templates/ngdoc/lib/methods.template.html b/docs/config/templates/ngdoc/lib/methods.template.html new file mode 100644 index 000000000000..ea9218a568b7 --- /dev/null +++ b/docs/config/templates/ngdoc/lib/methods.template.html @@ -0,0 +1,39 @@ +{% import "lib/macros.html" as lib -%} +{% import "lib/deprecated.html" as x -%} + +{%- if doc.methods %} +

    Methods

    +
      + {%- for method in doc.methods %} +
    • +

      {$ lib.functionSyntax(method) $}

      +
      {$ method.description | marked $}
      + + {$ x.deprecatedBlock(method) $} + + {% if method.params %} +

      Parameters

      + {$ lib.paramTable(method.params) $} + {% endif %} + + {% if method.this %} +

      Method's `this`

      + {$ method.this | marked $} + {% endif %} + + {% if method.returns %} +

      Returns

      + {$ lib.typeInfo(method.returns) $} + {% endif %} + + {%- if method.examples %} +

      {$ "Examples" if method.examples | length > 1 else "Example" $}

      + {%- for example in method.examples -%} + {$ example | marked $} + {%- endfor -%} + {% endif -%} + +
    • + {% endfor -%} +
    +{%- endif -%} diff --git a/docs/config/templates/ngdoc/lib/params.template.html b/docs/config/templates/ngdoc/lib/params.template.html new file mode 100644 index 000000000000..24d21d73a881 --- /dev/null +++ b/docs/config/templates/ngdoc/lib/params.template.html @@ -0,0 +1,7 @@ +{% import "lib/macros.html" as lib -%} +{%- if doc.params %} +
    +

    Arguments

    +{$ lib.paramTable(doc.params) $} +
    +{%- endif -%} diff --git a/docs/config/templates/ngdoc/lib/properties.template.html b/docs/config/templates/ngdoc/lib/properties.template.html new file mode 100644 index 000000000000..22e792382d9e --- /dev/null +++ b/docs/config/templates/ngdoc/lib/properties.template.html @@ -0,0 +1,15 @@ +{% import "lib/macros.html" as lib -%} +{% import "lib/deprecated.html" as x -%} + +{%- if doc.properties %} +

    Properties

    +
      + {%- for property in doc.properties %} +
    • +

      {$ property.name | code $}

      + {$ lib.typeInfo(property) $} + {$ x.deprecatedBlock(property) $} +
    • + {% endfor -%} +
    +{%- endif -%} diff --git a/docs/config/templates/ngdoc/lib/returns.template.html b/docs/config/templates/ngdoc/lib/returns.template.html new file mode 100644 index 000000000000..80d54b3b7954 --- /dev/null +++ b/docs/config/templates/ngdoc/lib/returns.template.html @@ -0,0 +1,5 @@ +{% import "lib/macros.html" as lib -%} +{% if doc.returns -%} +

    Returns

    +{$ lib.typeInfo(doc.returns) $} +{%- endif %} \ No newline at end of file diff --git a/docs/config/templates/ngdoc/lib/this.template.html b/docs/config/templates/ngdoc/lib/this.template.html new file mode 100644 index 000000000000..1829c1b374d6 --- /dev/null +++ b/docs/config/templates/ngdoc/lib/this.template.html @@ -0,0 +1,4 @@ +{% if doc.this %} +

    Method's `this`

    +{$ doc.this | marked $} +{% endif %} diff --git a/docs/config/templates/ngdoc/overview.template.html b/docs/config/templates/ngdoc/overview.template.html new file mode 100644 index 000000000000..6b805a9ef35d --- /dev/null +++ b/docs/config/templates/ngdoc/overview.template.html @@ -0,0 +1,5 @@ +{% extends "base.template.html" %} + +{% block content %} +{$ doc.description | marked $} +{% endblock %} \ No newline at end of file diff --git a/docs/content/api/index.ngdoc b/docs/content/api/index.ngdoc index 3fc2c36d7e63..2aff6f7022e1 100644 --- a/docs/content/api/index.ngdoc +++ b/docs/content/api/index.ngdoc @@ -3,20 +3,33 @@ @description # AngularJS API Docs -Welcome to the AngularJS API docs page. These pages contain the AngularJS reference materials for version . +
    +AngularJS support has officially ended as of January 2022. +[See what ending support means](https://docs.angularjs.org/misc/version-support-status) +and [read the end of life announcement](https://goo.gle/angularjs-end-of-life). -The documentation is organized into **modules** which contain various components of an AngularJS application. -These components are directives, services, filters, providers, types, global APIs and testing mocks. +Visit [angular.io](https://angular.io) for the actively supported Angular. +
    + +## Welcome to the AngularJS API docs page. + +These pages contain the AngularJS reference materials for version . + + +The documentation is organized into **{@link guide/module modules}** which contain various components of an AngularJS application. +These components are {@link guide/directive directives}, {@link guide/services services}, {@link guide/filter filters}, {@link guide/providers providers}, {@link guide/templates templates}, global APIs, and testing mocks. + +There is also a {@link guide/index guide} with articles on various topics, and a list of external resources.
    -**Angular Namespaces `$` and `$$`** +**AngularJS Prefixes `$` and `$$`**: To prevent accidental name collisions with your code, -Angular prefixes names of public objects with `$` and names of private objects with `$$`. +AngularJS prefixes names of public objects with `$` and names of private objects with `$$`. Please do not use the `$` or `$$` prefix in your code.
    -## Angular Namespace +## AngularJS Modules ## {@link ng ng (core module)} @@ -33,8 +46,8 @@ This module is provided by default and contains the core components of AngularJS

    Some examples include: {@link ng.directive:ngClick ngClick}, - {@link ng.directive:ngInclude ngInclude}, - {@link ng.directive:ngRepeat ngRepeat}, + {@link directive:ngInclude ngInclude}, + {@link directive:ngRepeat ngRepeat}, etc…

    @@ -51,7 +64,6 @@ This module is provided by default and contains the core components of AngularJS Some examples include: {@link ng.$compile $compile}, {@link ng.$http $http}, - {@link ngRoute.$routeParams $routeParams}, {@link ng.$location $location}, etc…

    @@ -63,7 +75,7 @@ This module is provided by default and contains the core components of AngularJS

    - The core filters available in the ng module are used to transform template data before it is renders within directives and expressions. + The core filters available in the ng module are used to transform template data before it is rendered within directives and expressions.

    Some examples include: @@ -82,7 +94,7 @@ This module is provided by default and contains the core components of AngularJS

    - The core global API functions are attached to the angular object. These core functions are useful for low level JavaScript operations within your application. + The core global API functions are attached to the `angular` object. These core functions are useful for low level JavaScript operations within your application.

    Some examples include: @@ -129,7 +141,7 @@ Use ngRoute to enable URL routing to your application. The ngRoute module suppor ## {@link ngAnimate ngAnimate} -Use ngAnimate to enable animation features into your application. Various core ng directives will provide +Use ngAnimate to enable animation features within your application. Various core AngularJS directives will provide animation hooks into your application when ngAnimate is included. Animations are defined by using CSS transitions/animations or JavaScript callbacks. @@ -141,7 +153,7 @@ or JavaScript callbacks. {@link ngAnimate#service Services / Factories} - Use {@link ngAnimate.$animate $animate} to trigger animation operations within your directive code. + Use {@link ng.$animate $animate} to trigger animation operations within your directive code. @@ -149,7 +161,7 @@ or JavaScript callbacks. {@link ngAnimate CSS-based animations} - Follow ngAnimate’s CSS naming structure to reference CSS transitions / keyframe animations in AngularJS. Once defined the animation can be triggered by referencing the CSS class within the HTML template code. + Follow ngAnimate’s CSS naming structure to reference CSS transitions / keyframe animations in AngularJS. Once defined, the animation can be triggered by referencing the CSS class within the HTML template code. @@ -157,11 +169,32 @@ or JavaScript callbacks. {@link ngAnimate JS-based animations} - Use {@link angular.Module#methods_animation module.animation()} to register a JavaScript animation. Once registered the animation can be triggered by referencing the CSS class within the HTML template code. + Use {@link angular.Module#animation module.animation()} to register a JavaScript animation. Once registered, the animation can be triggered by referencing the CSS class within the HTML template code. +## {@link ngAria ngAria} + +Use ngAria to inject common accessibility attributes into directives and improve the experience for users with disabilities. + +

    Include the **angular-aria.js** file and set ngAria as a dependency for this to work in your application.
    + + + + + + +
    + {@link ngAria#service Services} + +

    + The {@link ngAria.$aria $aria} service contains helper methods for applying ARIA attributes to HTML. +

    +

    + {@link ngAria.$ariaProvider $ariaProvider} is used for configuring ARIA attributes. +

    +
    ## {@link ngResource ngResource} @@ -192,11 +225,7 @@ Use the ngCookies module to handle cookie management within your application. {@link ngCookies#service Services / Factories} - The following services are used for cookie management: -
      -
    • The {@link ngCookies.$cookies $cookie} service is a convenient wrapper to store simple data within browser cookies.
    • -
    • {@link ngCookies.$cookieStore $cookieStore} is used to store more complex data using serialization.
    • -
    + The {@link ngCookies.$cookies $cookies} service is a convenient wrapper to store simple data within browser cookies. @@ -213,7 +242,7 @@ Use ngTouch when developing for mobile browsers/devices. {@link ngTouch#service Services / Factories} - The {@link ngTouch.$swipe $swipe} service is used to register and manage mobile DOM events. + The {@link ngTouch.$swipe $swipe} service is used to register and manage mobile DOM events. @@ -243,7 +272,7 @@ Use ngSanitize to securely parse and manipulate HTML data in your application. - {@link ngTouch#filter Filters} + {@link ngSanitize#filter Filters} The {@link ngSanitize.filter:linky linky filter} is used to turn URLs into HTML links within the provided string. @@ -253,7 +282,7 @@ Use ngSanitize to securely parse and manipulate HTML data in your application. ## {@link ngMock ngMock} -Use ngMock to inject and mock modules, factories, services and providers within your unit tests +Use ngMock to inject and mock modules, factories, services and providers within your unit tests.
    Include the **angular-mocks.js** file into your test runner for this to work.
    diff --git a/docs/content/api/ng.ngdoc b/docs/content/api/ng.ngdoc deleted file mode 100644 index 2877a5660f91..000000000000 --- a/docs/content/api/ng.ngdoc +++ /dev/null @@ -1,8 +0,0 @@ -@ngdoc overview -@name ng -@description - -# ng (core module) -The ng module is loaded by default when an AngularJS application is started. The module itself contains the essential components to for an AngularJS application to function. The table below lists a high level breakdown of each of the services/factories, filters, directives and testing components available within this core module. - -
    diff --git a/docs/content/cookbook/advancedform.ngdoc b/docs/content/cookbook/advancedform.ngdoc deleted file mode 100644 index bcf8069a1072..000000000000 --- a/docs/content/cookbook/advancedform.ngdoc +++ /dev/null @@ -1,122 +0,0 @@ -@ngdoc overview -@name Cookbook: Advanced Form -@description - -Here we extend the basic form example to include common features such as reverting, dirty state -detection, and preventing invalid form submission. - - - - -
    - -
    - -
    -

    - -
    -
    - , - -

    - - - [ add ] -
    - - - [ X ] -
    - - -
    - -
    - Debug View: -
    form={{form}}
    -
    -
    - - it('should enable save button', function() { - expect(element(':button:contains(Save)').attr('disabled')).toBeTruthy(); - input('form.name').enter(''); - expect(element(':button:contains(Save)').attr('disabled')).toBeTruthy(); - input('form.name').enter('change'); - expect(element(':button:contains(Save)').attr('disabled')).toBeFalsy(); - element(':button:contains(Save)').click(); - expect(element(':button:contains(Save)').attr('disabled')).toBeTruthy(); - }); - it('should enable cancel button', function() { - expect(element(':button:contains(Cancel)').attr('disabled')).toBeTruthy(); - input('form.name').enter('change'); - expect(element(':button:contains(Cancel)').attr('disabled')).toBeFalsy(); - element(':button:contains(Cancel)').click(); - expect(element(':button:contains(Cancel)').attr('disabled')).toBeTruthy(); - expect(element(':input[ng\\:model="form.name"]').val()).toEqual('John Smith'); - }); - -
    - - -#Things to notice - -* Cancel & save buttons are only enabled if the form is dirty — there is something to cancel or -save. -* Save button is only enabled if there are no validation errors on the form. -* Cancel reverts the form changes back to original state. -* Save updates the internal model of the form. -* Debug view shows the two models. One presented to the user form and the other being the pristine -copy master. diff --git a/docs/content/cookbook/buzz.ngdoc b/docs/content/cookbook/buzz.ngdoc deleted file mode 100644 index 00db35cf7b16..000000000000 --- a/docs/content/cookbook/buzz.ngdoc +++ /dev/null @@ -1,63 +0,0 @@ -@ngdoc overview -@name Cookbook: Resources - Buzz -@description - -External resources are URLs that provide JSON data, which are then rendered with the help of -templates. Angular has a resource factory that can be used to give names to the URLs and then -attach behavior to them. For example you can use the -{@link http://code.google.com/apis/buzz/v1/getting_started.html#background-operations| Google Buzz -API} -to retrieve Buzz activity and comments. - - - - -
    - - -
    -
    -

    - - {{item.actor.name}} - - Expand replies: {{item.links.replies[0].count}} - -

    - {{item.object.content | html}} -
    - - {{reply.actor.name}}: - {{reply.content | html}} -
    -
    -
    -
    - - xit('fetch buzz and expand', function() { - element(':button:contains(fetch)').click(); - expect(repeater('div.buzz').count()).toBeGreaterThan(0); - element('.buzz a:contains(Expand replies):first').click(); - expect(repeater('div.reply').count()).toBeGreaterThan(0); - }); - -
    diff --git a/docs/content/cookbook/deeplinking.ngdoc b/docs/content/cookbook/deeplinking.ngdoc deleted file mode 100644 index bdcf0b0978f0..000000000000 --- a/docs/content/cookbook/deeplinking.ngdoc +++ /dev/null @@ -1,151 +0,0 @@ -@ngdoc overview -@name Cookbook: Deep Linking -@description - -Deep linking allows you to encode the state of the application in the URL so that it can be -bookmarked and the application can be restored from the URL to the same state. - -While Angular does not force you to deal with bookmarks in any particular way, it has services -which make the common case described here very easy to implement. - -# Assumptions - -Your application consists of a single HTML page which bootstraps the application. We will refer -to this page as the chrome. -Your application is divided into several screens (or views) which the user can visit. For example, -the home screen, settings screen, details screen, etc. For each of these screens, we would like to -assign a URL so that it can be bookmarked and later restored. Each of these screens will be -associated with a controller which define the screen's behavior. The most common case is that the -screen will be constructed from an HTML snippet, which we will refer to as the partial. Screens can -have multiple partials, but a single partial is the most common construct. This example makes the -partial boundary visible using a blue line. - -You can make a routing table which shows which URL maps to which partial view template and which -controller. - -# Example - -In this example we have a simple app which consist of two screens: - -* Welcome: url `welcome` Show the user contact information. -* Settings: url `settings` Show an edit screen for user contact information. - - - - angular.module('deepLinking', ['ngRoute', 'ngSanitize']) - .config(function($routeProvider) { - $routeProvider. - when("/welcome", {templateUrl:'welcome.html', controller:WelcomeCntl}). - when("/settings", {templateUrl:'settings.html', controller:SettingsCntl}); - }); - - AppCntl.$inject = ['$scope', '$route'] - function AppCntl($scope, $route) { - $scope.$route = $route; - - // initialize the model to something useful - $scope.person = { - name:'anonymous', - contacts:[{type:'email', url:'anonymous@example.com'}] - }; - } - - function WelcomeCntl($scope) { - $scope.greet = function() { - alert("Hello " + $scope.person.name); - }; - } - - function SettingsCntl($scope, $location) { - $scope.cancel = function() { - $scope.form = angular.copy($scope.person); - }; - - $scope.save = function() { - angular.copy($scope.form, $scope.person); - $location.path('/welcome'); - }; - - $scope.cancel(); - } - - - [ng-view] { - border: 1px solid blue; - margin: 0; - padding:1em; - } - - .partial-info { - background-color: blue; - color: white; - padding: 3px; - } - - -
    -

    Your App Chrome

    - [ Welcome | Settings ] -
    - - Partial: {{$route.current.template}} - -
    - Your app footer -
    -
    - - - - -
    - - - [ X ] -
    -
    - [ add ] -
    - - - -
    - - Hello {{person.name}}, -
    - Your contact information: -
    {{contact.type}}: - -
    -
    -
    - - it('should navigate to URL', function() { - element('a:contains(Welcome)').click(); - expect(element('[ng-view]').text()).toMatch(/Hello anonymous/); - element('a:contains(Settings)').click(); - input('form.name').enter('yourname'); - element(':button:contains(Save)').click(); - element('a:contains(Welcome)').click(); - expect(element('[ng-view]').text()).toMatch(/Hello yourname/); - }); - -
    - - - -# Things to notice - -* Routes are defined in the `AppCntl` class. The initialization of the controller causes the - initialization of the {@link api/ngRoute.$route $route} service with the proper URL - routes. -* The {@link api/ngRoute.$route $route} service then watches the URL and instantiates the - appropriate controller when the URL changes. -* The {@link api/ngRoute.directive:ngView ngView} widget loads the - view when the URL changes. It also sets the view scope to the newly instantiated controller. -* Changing the URL is sufficient to change the controller and view. It makes no difference whether - the URL is changed programmatically or by the user. diff --git a/docs/content/cookbook/form.ngdoc b/docs/content/cookbook/form.ngdoc deleted file mode 100644 index aaa49d2f0d06..000000000000 --- a/docs/content/cookbook/form.ngdoc +++ /dev/null @@ -1,114 +0,0 @@ -@ngdoc overview -@name Cookbook: Form -@description - -A web application's main purpose is to present and gather data. For this reason Angular strives -to make both of these operations trivial. This example shows off how you can build a simple form to -allow a user to enter data. - - - - - -
    - -
    -

    - -
    -
    - , - -

    - - - [ add ] -
    - - - [ X ] -
    -
    - Debug View: -
    user={{user | json}}
    -
    - -
    - - it('should show debug', function() { - expect(binding('user')).toMatch(/John Smith/); - }); - it('should add contact', function() { - using('.example').element('a:contains(add)').click(); - using('.example div:last').input('contact.value').enter('you@example.org'); - expect(binding('user')).toMatch(/\(234\) 555\-1212/); - expect(binding('user')).toMatch(/you@example.org/); - }); - - it('should remove contact', function() { - using('.example').element('a:contains(X)').click(); - expect(binding('user')).not().toMatch(/\(234\) 555\-1212/); - }); - - it('should validate zip', function() { - expect(using('.example'). - element(':input[ng\\:model="user.address.zip"]'). - prop('className')).not().toMatch(/ng-invalid/); - using('.example').input('user.address.zip').enter('abc'); - expect(using('.example'). - element(':input[ng\\:model="user.address.zip"]'). - prop('className')).toMatch(/ng-invalid/); - }); - - it('should validate state', function() { - expect(using('.example').element(':input[ng\\:model="user.address.state"]').prop('className')) - .not().toMatch(/ng-invalid/); - using('.example').input('user.address.state').enter('XXX'); - expect(using('.example').element(':input[ng\\:model="user.address.state"]').prop('className')) - .toMatch(/ng-invalid/); - }); - -
    - - -# Things to notice - -* The user data model is initialized {@link api/ng.directive:ngController controller} and is - available in the {@link api/ng.$rootScope.Scope scope} with the initial data. -* For debugging purposes we have included a debug view of the model to better understand what - is going on. -* The {@link api/ng.directive:input input directives} simply refer - to the model and are data-bound. -* The inputs validate. (Try leaving them blank or entering non digits in the zip field) -* In your application you can simply read from or write to the model and the form will be updated. -* By clicking the 'add' link you are adding new items into the `user.contacts` array which are then - reflected in the view. diff --git a/docs/content/cookbook/helloworld.ngdoc b/docs/content/cookbook/helloworld.ngdoc deleted file mode 100644 index a24f959a7858..000000000000 --- a/docs/content/cookbook/helloworld.ngdoc +++ /dev/null @@ -1,39 +0,0 @@ -@ngdoc overview -@name Cookbook: Hello World -@description - - - - -
    - Your name: -
    - Hello {{name || "World"}}! -
    -
    - - it('should change the binding when user enters text', function() { - expect(binding('name')).toEqual('World'); - input('name').enter('angular'); - expect(binding('name')).toEqual('angular'); - }); - -
    - -# Things to notice - -Take a look through the source and note: - -* The script tag that {@link guide/bootstrap bootstraps} the Angular environment. -* The text {@link api/ng.directive:input input form control} which is - bound to the greeting name text. -* There is no need for listener registration and event firing on change events. -* The implicit presence of the `name` variable which is in the root {@link api/ng.$rootScope.Scope scope}. -* The double curly brace `{{markup}}`, which binds the name variable to the greeting text. -* The concept of {@link guide/databinding data binding}, which reflects any -changes to the - input field in the greeting text. diff --git a/docs/content/cookbook/index.ngdoc b/docs/content/cookbook/index.ngdoc deleted file mode 100644 index 4fe3eb4dff31..000000000000 --- a/docs/content/cookbook/index.ngdoc +++ /dev/null @@ -1,58 +0,0 @@ -@ngdoc overview -@name Cookbook -@description - -Welcome to the Angular cookbook. Here we will show you typical uses of Angular by example. - - -# Hello World - -{@link helloworld Hello World}: The simplest possible application that demonstrates the -classic Hello World! - - -# Basic Form - -{@link form Basic Form}: Displaying forms to the user for editing is the bread and butter -of web applications. Angular makes forms easy through bidirectional data binding. - - -# Advanced Form - -{@link advancedform Advanced Form}: Taking the form example to the next level and -providing advanced features such as dirty detection, form reverting and submit disabling if -validation errors exist. - - -# Model View Controller - -{@link mvc MVC}: Tic-Tac-Toe: Model View Controller (MVC) is a time-tested design pattern -to separate the behavior (JavaScript controller) from the presentation (HTML view). This -separation aids in maintainability and testability of your project. - - -# Multi-page App and Deep Linking - -{@link deeplinking Deep Linking}: An AJAX application never navigates away from the -first page it loads. Instead, it changes the DOM of its single page. Eliminating full-page reloads -is what makes AJAX apps responsive, but it creates a problem in that apps with a single URL -prevent you from emailing links to a particular screen within your application. - -Deep linking tries to solve this by changing the URL anchor without reloading a page, thus -allowing you to send links to specific screens in your app. - - -# Services - -{@link api/ng Services}: Services are long lived objects in your applications that are -available across controllers. A collection of useful services are pre-bundled with Angular but you -will likely add your own. Services are initialized using dependency injection, which resolves the -order of initialization. This safeguards you from the perils of global state (a common way to -implement long lived objects). - - -# External Resources - -{@link buzz Resources}: Web applications must be able to communicate with the external -services to get and update data. Resources are the abstractions of external URLs which are -specially tailored to Angular data binding. diff --git a/docs/content/cookbook/mvc.ngdoc b/docs/content/cookbook/mvc.ngdoc deleted file mode 100644 index 59f9ef859696..000000000000 --- a/docs/content/cookbook/mvc.ngdoc +++ /dev/null @@ -1,128 +0,0 @@ -@ngdoc overview -@name Cookbook: MVC -@description - -MVC allows for a clean and testable separation between the behavior (controller) and the view -(HTML template). A Controller is just a JavaScript class which is grafted onto the scope of the -view. This makes it very easy for the controller and the view to share the model. - -The model is a set of objects and primitives that are referenced from the Scope ($scope) object. -This makes it very easy to test the controller in isolation since one can simply instantiate the -controller and test without a view, because there is no connection between the controller and the -view. - - - - - - -

    Tic-Tac-Toe

    -
    - Next Player: {{nextMove}} -
    Player {{winner}} has won!
    - - - - -
    {{cell}}
    - -
    -
    - - it('should play a game', function() { - piece(1, 1); - expect(binding('nextMove')).toEqual('O'); - piece(3, 1); - expect(binding('nextMove')).toEqual('X'); - piece(1, 2); - piece(3, 2); - piece(1, 3); - expect(element('.winner').text()).toEqual('Player X has won!'); - }); - - function piece(row, col) { - element('.board tr:nth-child('+row+') td:nth-child('+col+')').click(); - } - -
    - - -# Things to notice - -* The controller is defined in JavaScript and has no reference to the rendering logic. -* The controller is instantiated by Angular and injected into the view. -* The controller can be instantiated in isolation (without a view) and the code will still execute. -This makes it very testable. -* The HTML view is a projection of the model. In the above example, the model is stored in the -board variable. -* All of the controller's properties (such as board and nextMove) are available to the view. -* Changing the model changes the view. -* The view can call any controller function. -* In this example, the `setUrl()` and `readUrl()` functions copy the game state to/from the URL's -hash so the browser's back button will undo game steps. See deep-linking. This example calls {@link -api/ng.$rootScope.Scope#methods_$watch $watch()} to set up a listener that invokes `readUrl()` when needed. diff --git a/docs/content/error/$animate/nongcls.ngdoc b/docs/content/error/$animate/nongcls.ngdoc new file mode 100644 index 000000000000..b5774bb46627 --- /dev/null +++ b/docs/content/error/$animate/nongcls.ngdoc @@ -0,0 +1,8 @@ +@ngdoc error +@name $animate:nongcls +@fullName `ng-animate` class not allowed +@description + +This error occurs, when trying to set `$animateProvider.classNameFilter()` to a RegExp containing +the reserved `ng-animate` class. Since `.ng-animate` will be added/removed by `$animate` itself, +using it as part of the `classNameFilter` RegExp is not allowed. diff --git a/docs/content/error/animate/notcsel.ngdoc b/docs/content/error/$animate/notcsel.ngdoc similarity index 100% rename from docs/content/error/animate/notcsel.ngdoc rename to docs/content/error/$animate/notcsel.ngdoc diff --git a/docs/content/error/$cacheFactory/iid.ngdoc b/docs/content/error/$cacheFactory/iid.ngdoc new file mode 100644 index 000000000000..62e985e8cf98 --- /dev/null +++ b/docs/content/error/$cacheFactory/iid.ngdoc @@ -0,0 +1,8 @@ +@ngdoc error +@name $cacheFactory:iid +@fullName Invalid ID +@description + +This error occurs when trying to create a new `cache` object via {@link ng.$cacheFactory} with an ID that was already used to create another cache object. + +To resolve the error please use a different cache ID when calling `$cacheFactory`. diff --git a/docs/content/error/$compile/baddir.ngdoc b/docs/content/error/$compile/baddir.ngdoc new file mode 100644 index 000000000000..69a3ef875874 --- /dev/null +++ b/docs/content/error/$compile/baddir.ngdoc @@ -0,0 +1,8 @@ +@ngdoc error +@name $compile:baddir +@fullName Invalid Directive/Component Name +@description + +This error occurs when the name of a directive or component is not valid. + +Directives and Components must start with a lowercase character and must not contain leading or trailing whitespaces. diff --git a/docs/content/error/$compile/badrestrict.ngdoc b/docs/content/error/$compile/badrestrict.ngdoc new file mode 100644 index 000000000000..45288d4b935a --- /dev/null +++ b/docs/content/error/$compile/badrestrict.ngdoc @@ -0,0 +1,18 @@ +@ngdoc error +@name $compile:badrestrict +@fullName Invalid Directive Restrict +@description + +This error occurs when the restrict property of a directive is not valid. + +The directive restrict property must be a string including one or more of the following characters: +* E (element) +* A (attribute) +* C (class) +* M (comment) + +For example: +```javascript +restrict: 'E' +restrict: 'EAC' +``` diff --git a/docs/content/error/$compile/ctreq.ngdoc b/docs/content/error/$compile/ctreq.ngdoc new file mode 100644 index 000000000000..8aedd10a38c5 --- /dev/null +++ b/docs/content/error/$compile/ctreq.ngdoc @@ -0,0 +1,49 @@ +@ngdoc error +@name $compile:ctreq +@fullName Missing Required Controller +@description + +This error occurs when {@link ng.$compile HTML compiler} tries to process a directive that specifies the {@link ng.$compile#directive-definition-object `require` option} in a {@link ng.$compile#comprehensive-directive-api directive definition}, +but the required directive controller is not present on the current DOM element (or its ancestor element, if `^` was specified). + +To resolve this error ensure that there is no typo in the required controller name and that the required directive controller is present on the current element. + +If the required controller is expected to be on an ancestor element, make sure that you prefix the controller name in the `require` definition with `^`. + +If the required controller is optionally requested, use `?` or `^?` to specify that. + + +Example of a directive that requires {@link ng.directive:ngModel ngModel} controller: +``` +myApp.directive('myDirective', function() { + return { + require: 'ngModel', + ... + } +} +``` + +This directive can then be used as: +``` + +``` + + +Example of a directive that optionally requires a {@link ng.directive:form form} controller from an ancestor: +``` +myApp.directive('myDirective', function() { + return { + require: '^?form', + ... + } +} +``` + +This directive can then be used as: +``` +
    +
    + +
    +
    +``` diff --git a/docs/content/error/$compile/ctxoverride.ngdoc b/docs/content/error/$compile/ctxoverride.ngdoc new file mode 100644 index 000000000000..839b304d47a3 --- /dev/null +++ b/docs/content/error/$compile/ctxoverride.ngdoc @@ -0,0 +1,13 @@ +@ngdoc error +@name $compile:ctxoverride +@fullName DOM Property Security Context Override +@description + +This error occurs when the security context for a property is defined via {@link ng.$compileProvider#addPropertySecurityContext addPropertySecurityContext()} multiple times under different security contexts. + +For example: + +```js +$compileProvider.addPropertySecurityContext("my-element", "src", $sce.MEDIA_URL); +$compileProvider.addPropertySecurityContext("my-element", "src", $sce.RESOURCE_URL); //throws +``` diff --git a/docs/content/error/$compile/infchng.ngdoc b/docs/content/error/$compile/infchng.ngdoc new file mode 100644 index 000000000000..463840ee933e --- /dev/null +++ b/docs/content/error/$compile/infchng.ngdoc @@ -0,0 +1,30 @@ +@ngdoc error +@name $compile:infchng +@fullName Unstable `$onChanges` hooks +@description + +This error occurs when the application's model becomes unstable because some `$onChanges` hooks are causing updates which then trigger +further calls to `$onChanges` that can never complete. +AngularJS detects this situation and prevents an infinite loop from causing the browser to become unresponsive. + +For example, the situation can occur by setting up a `$onChanges()` hook which triggers an event on the component, which subsequently +triggers the component's bound inputs to be updated: + +```html + +``` + +```js +function Controller1() {} +Controller1.$onChanges = function() { + this.onChange(); +}; + +mod.component('c1', { + controller: Controller1, + bindings: {'prop': '<', onChange: '&'} +} +``` + +The maximum number of allowed iterations of the `$onChanges` hooks is controlled via TTL setting which can be configured via +{@link ng.$compileProvider#onChangesTtl `$compileProvider.onChangesTtl`}. diff --git a/docs/content/error/$compile/iscp.ngdoc b/docs/content/error/$compile/iscp.ngdoc new file mode 100644 index 000000000000..8153e44d4a05 --- /dev/null +++ b/docs/content/error/$compile/iscp.ngdoc @@ -0,0 +1,29 @@ +@ngdoc error +@name $compile:iscp +@fullName Invalid Isolate Scope Definition +@description + +When declaring isolate scope the scope definition object must be in specific format which starts with mode character (`@&=<`), after which comes an optional `?`, and it ends with an optional local name. + +``` +myModule.directive('directiveName', function factory() { + return { + ... + scope: { + 'localName': '@', // OK + 'localName2': '&attr', // OK + 'localName3': ' +``` + diff --git a/docs/content/error/compile/multidir.ngdoc b/docs/content/error/$compile/multidir.ngdoc similarity index 100% rename from docs/content/error/compile/multidir.ngdoc rename to docs/content/error/$compile/multidir.ngdoc diff --git a/docs/content/error/$compile/multilink.ngdoc b/docs/content/error/$compile/multilink.ngdoc new file mode 100644 index 000000000000..6404ec04f69a --- /dev/null +++ b/docs/content/error/$compile/multilink.ngdoc @@ -0,0 +1,27 @@ +@ngdoc error +@name $compile:multilink +@fullName Linking Element Multiple Times +@description + +This error occurs when a single element is linked more then once. + +For example, if an element is compiled and linked twice without cloning: +``` + var linker = $compile(template); + linker($scope); //=> ok + linker($scope); //=> multilink error +``` + +Linking an element as a clone multiple times is ok: +``` + var linker = $compile(template); + linker($scope, function() { ... }); //=> ok + linker($scope, function() { ... }); //=> ok +``` + +However once an element has been linked it can not be re-linked as a clone: +``` + var linker = $compile(template); + linker($scope); //=> ok + linker($scope, function() { ... }); //=> multilink error +``` \ No newline at end of file diff --git a/docs/content/error/$compile/noctrl.ngdoc b/docs/content/error/$compile/noctrl.ngdoc new file mode 100644 index 000000000000..ddbe15838081 --- /dev/null +++ b/docs/content/error/$compile/noctrl.ngdoc @@ -0,0 +1,12 @@ +@ngdoc error +@name $compile:noctrl +@fullName Controller is required. +@description + +When using the `bindToController` feature of AngularJS, a directive is required +to have a Controller. A controller may be specified by adding a "controller" +property to the directive definition object. Its value should be either a +string, or an invokable object (a function, or an array whose last element is a +function). + +For more information, see the {@link guide/directive directives guide}. diff --git a/docs/content/error/$compile/nodomevents.ngdoc b/docs/content/error/$compile/nodomevents.ngdoc new file mode 100644 index 000000000000..283bd76fa669 --- /dev/null +++ b/docs/content/error/$compile/nodomevents.ngdoc @@ -0,0 +1,20 @@ +@ngdoc error +@name $compile:nodomevents +@fullName Event Attribute/Property Binding +@description + +This error occurs when one tries to create a binding for event handler attributes or properties like `onclick`, `onload`, `onsubmit`, etc. + +There is no practical value in binding to these attributes/properties and doing so only exposes your application to security vulnerabilities like XSS. +For these reasons binding to event handler attributes and properties (`formaction` and all starting with `on`) is not supported. + + +An example code that would allow XSS vulnerability by evaluating user input in the window context could look like this: +``` + +
    click me
    +``` + +Since the `onclick` evaluates the value as JavaScript code in the window context, setting the `username` model to a value like `javascript:alert('PWND')` would result in script injection when the `div` is clicked. + +Please use the `ng-*` or `ng-on-*` versions instead (such as `ng-click` or `ng-on-click` rather than `onclick`). diff --git a/docs/content/error/$compile/nonassign.ngdoc b/docs/content/error/$compile/nonassign.ngdoc new file mode 100644 index 000000000000..8a13fd8574bb --- /dev/null +++ b/docs/content/error/$compile/nonassign.ngdoc @@ -0,0 +1,60 @@ +@ngdoc error +@name $compile:nonassign +@fullName Non-Assignable Expression +@description + +This error occurs when a directive defines an isolate scope property +(using the `=` mode in the {@link ng.$compile#directive-definition-object +`scope` option} of a directive definition) but the directive is used with an expression that is not-assignable. + +In order for the two-way data-binding to work, it must be possible to write new values back into the path defined with the expression. + +For example, given a directive: + +``` +myModule.directive('myDirective', function factory() { + return { + ... + scope: { + localValue: '=bind' + } + ... + } +}); +``` + +Following are invalid uses of this directive: +``` + + + + + + + + +``` + + +To resolve this error, do one of the following options: + +- use path expressions with scope properties that are two-way data-bound like so: + +``` + + +``` + +- Make the binding optional + +``` +myModule.directive('myDirective', function factory() { + return { + ... + scope: { + localValue: '=?bind' // <-- the '?' makes it optional + } + ... + } +}); +``` diff --git a/docs/content/error/$compile/noslot.ngdoc b/docs/content/error/$compile/noslot.ngdoc new file mode 100644 index 000000000000..a882ddde0e7a --- /dev/null +++ b/docs/content/error/$compile/noslot.ngdoc @@ -0,0 +1,38 @@ +@ngdoc error +@name $compile:noslot +@fullName No matching slot in parent directive +@description + +This error occurs when declaring a specific slot in a {@link ng.ngTransclude `ngTransclude`} +which does not map to a specific slot defined in the transclude property of the directive. + +In this example the template has declared a slot missing from the transclude definition. +This example will generate a noslot error. +```js +var componentConfig = { + template: '
    ' + + '
    ' + + '
    ' + + '
    ', + transclude: { + // The key value pairs here are considered "slots" that are provided for components to slot into. + slotProvided: 'slottedComponent', // mandatory transclusion + // There is no slot provided here for the transclude 'noSlotProvided' declared in the above template. + } +}; +``` + +If we make the following change we will no longer get the noslot error. +```js +var componentConfig = { + template: '
    ' + + '
    ' + + '
    ' + + '
    ', + transclude: { + slotProvided: 'slottedComponent', + noSlotProvided: 'otherComponent' // now it is declared and the error should cease + } +}; + +``` diff --git a/docs/content/error/$compile/reqslot.ngdoc b/docs/content/error/$compile/reqslot.ngdoc new file mode 100644 index 000000000000..b09e714fed26 --- /dev/null +++ b/docs/content/error/$compile/reqslot.ngdoc @@ -0,0 +1,47 @@ +@ngdoc error +@name $compile:reqslot +@fullName Required transclusion slot +@description + +This error occurs when a directive or component try to transclude a slot that is not provided. + +Transcluded elements must contain something. This error could happen when you try to transclude a self closing tag element. +Also you can make a transclusion slot optional with a `?` prefix. + +```js +// In this example the must have an inside to transclude it. +// If not, a reqslot error will be generated. + +var componentConfig = { + template: 'path/to/template.html', + transclude: { + importantSlot: 'importantComponent', // mandatory transclusion + optionalSlot: '?optionalComponent', // optional transclusion + } +}; + +angular + .module('doc') + .component('myComponent', componentConfig) + +``` + +```html + + + + + + + + + + + + + + + + + +``` diff --git a/docs/content/error/$compile/selmulti.ngdoc b/docs/content/error/$compile/selmulti.ngdoc new file mode 100644 index 000000000000..51221ad8109c --- /dev/null +++ b/docs/content/error/$compile/selmulti.ngdoc @@ -0,0 +1,20 @@ +@ngdoc error +@name $compile:selmulti +@fullName Binding to Multiple Attribute +@description + +Binding to the `multiple` attribute of `select` element is not supported since switching between multiple and single mode changes the {@link ng.directive:ngModel `ngModel`} object type from instance to array of instances which breaks the model semantics. + +If you need to use different types of `select` elements in your template based on some variable, please use {@link ng.directive:ngIf ngIf} or {@link ng.directive:ngSwitch ngSwitch} directives to select one of them to be used at runtime. + + +Example with invalid usage: +``` + +``` + +Example that uses ngIf to pick one of the `select` elements based on a variable: +``` + + +``` diff --git a/docs/content/error/$compile/srcset.ngdoc b/docs/content/error/$compile/srcset.ngdoc new file mode 100644 index 000000000000..cab3de5f4d79 --- /dev/null +++ b/docs/content/error/$compile/srcset.ngdoc @@ -0,0 +1,12 @@ +@ngdoc error +@name $compile:srcset +@fullName Invalid value passed to `attr.$set('srcset', value)` +@description + +This error occurs if you try to programmatically set the `srcset` attribute with a non-string value. + +This can be the case if you tried to avoid the automatic sanitization of the `srcset` value by +passing a "trusted" value provided by calls to `$sce.trustAsMediaUrl(value)`. + +If you want to programmatically set explicitly trusted unsafe URLs, you should use `$sce.trustAsHtml` +on the whole `img` tag and inject it into the DOM using the `ng-bind-html` directive. diff --git a/docs/content/error/$compile/tplrt.ngdoc b/docs/content/error/$compile/tplrt.ngdoc new file mode 100644 index 000000000000..363529bff9f7 --- /dev/null +++ b/docs/content/error/$compile/tplrt.ngdoc @@ -0,0 +1,53 @@ +@ngdoc error +@name $compile:tplrt +@fullName Invalid Template Root +@description + +When a directive is declared with `template` (or `templateUrl`) and `replace` mode on, the template +must have exactly one root element. That is, the text of the template property or the content +referenced by the templateUrl must be contained within a single html element. +For example, `

    blah blah blah

    ` instead of simply `blah blah blah`. +Otherwise, the replacement operation would result in a single element (the directive) being replaced +with multiple elements or nodes, which is unsupported and not commonly needed in practice. + + +For example a directive with definition: + +``` +myModule.directive('myDirective', function factory() { + return { + ... + replace: true, + templateUrl: 'someUrl' + ... + } +}); +``` + +And a template provided at URL `someUrl`. The template must be an html fragment that has only a +single root element, like the `div` element in this template: + +``` +
    Hello World!
    +``` + +An invalid template to be used with this directive is one that defines multiple root nodes or +elements. For example: + +``` +Hello World! +``` + +Watch out for html comments at the beginning or end of templates, as these can cause this error as +well. Consider the following template: + +``` +
    +
    + ... +
    +
    +``` + +The `` comment is interpreted as a second root element and causes the template to +be invalid. diff --git a/docs/content/error/compile/uterdir.ngdoc b/docs/content/error/$compile/uterdir.ngdoc similarity index 100% rename from docs/content/error/compile/uterdir.ngdoc rename to docs/content/error/$compile/uterdir.ngdoc diff --git a/docs/content/error/$controller/ctrlfmt.ngdoc b/docs/content/error/$controller/ctrlfmt.ngdoc new file mode 100644 index 000000000000..effd9c04ace2 --- /dev/null +++ b/docs/content/error/$controller/ctrlfmt.ngdoc @@ -0,0 +1,46 @@ +@ngdoc error +@name $controller:ctrlfmt +@fullName Badly formed controller string +@description + +This error occurs when {@link ng.$controller $controller} service is called +with a string that does not match the supported controller string formats. + +Supported formats: + +1. `__name__` +2. `__name__ as __identifier__` + +Neither `__name__` or `__identifier__` may contain spaces. + +Example of incorrect usage that leads to this error: +```html + +
    ` tag, loader like +require.js, or testing harness like karma). + +A less common reason for this error is trying to "re-open" a module that has not yet been defined. + +To define a new module, call {@link angular.module angular.module} with a name +and an array of dependent modules, like so: + +```js +// When defining a module with no module dependencies, +// the array of dependencies should be defined and empty. +var myApp = angular.module('myApp', []); +``` + +To retrieve a reference to the same module for further configuration, call +`angular.module` without the array argument. + +```js +var myApp = angular.module('myApp'); +``` + +Calling `angular.module` without the array of dependencies when the module has not yet been defined +causes this error to be thrown. To fix it, define your module with a name and an empty array, as in +the first example above. diff --git a/docs/content/error/injector/pget.ngdoc b/docs/content/error/$injector/pget.ngdoc similarity index 83% rename from docs/content/error/injector/pget.ngdoc rename to docs/content/error/$injector/pget.ngdoc index c195767a949b..620fa098a4f4 100644 --- a/docs/content/error/injector/pget.ngdoc +++ b/docs/content/error/$injector/pget.ngdoc @@ -22,5 +22,5 @@ angular.module("myApp", []) .provider('good', GoodProvider); ``` -For more information, refer to the {@link api/AUTO.$provide#methods_provider -$provide.provider} api doc. \ No newline at end of file +For more information, refer to the {@link auto.$provide#provider +$provide.provider} api doc. diff --git a/docs/content/error/$injector/strictdi.ngdoc b/docs/content/error/$injector/strictdi.ngdoc new file mode 100644 index 000000000000..f68cc4b8aeef --- /dev/null +++ b/docs/content/error/$injector/strictdi.ngdoc @@ -0,0 +1,54 @@ +@ngdoc error +@name $injector:strictdi +@fullName Explicit annotation required +@description + +This error occurs when attempting to invoke a function or provider which +has not been explicitly annotated, while the application is running with +strict-di mode enabled. + +For example: + +``` +angular.module("myApp", []) + // BadController cannot be invoked, because + // the dependencies to be injected are not + // explicitly listed. + .controller("BadController", function($scope, $http, $filter) { + // ... + }); +``` + +To fix the error, explicitly annotate the function using either the inline +bracket notation, or with the $inject property: + +``` +function GoodController1($scope, $http, $filter) { + // ... +} +GoodController1.$inject = ["$scope", "$http", "$filter"]; + +angular.module("myApp", []) + // GoodController1 can be invoked because it + // had an $inject property, which is an array + // containing the dependency names to be + // injected. + .controller("GoodController1", GoodController1) + + // GoodController2 can also be invoked, because + // the dependencies to inject are listed, in + // order, in the array, with the function to be + // invoked trailing on the end. + .controller("GoodController2", [ + "$scope", + "$http", + "$filter", + function($scope, $http, $filter) { + // ... + } + ]); + +``` + +For more information about strict-di mode, see {@link ng.directive:ngApp ngApp} +and {@link angular.bootstrap angular.bootstrap}. diff --git a/docs/content/error/$injector/undef.ngdoc b/docs/content/error/$injector/undef.ngdoc new file mode 100644 index 000000000000..9c476d6c9a78 --- /dev/null +++ b/docs/content/error/$injector/undef.ngdoc @@ -0,0 +1,33 @@ +@ngdoc error +@name $injector:undef +@fullName Undefined Value +@description + +This error results from registering a factory which does not return a value (or whose return value is undefined). + +The following is an example of a factory which will throw this error upon injection: + +```js +angular.module("badModule", []). + factory("badFactory", function() { + doLotsOfThings(); + butDontReturnAValue(); + }); +``` + +In order to prevent the error, return a value of some sort, such as an object which exposes an API for working +with the injected object. + +```js +angular.module("goodModule", []). + factory("goodFactory", function() { + doLotsOfThings(); + butDontReturnAValue(); + + return { + doTheThing: function methodThatDoesAThing() { + } + }; + }); +``` + diff --git a/docs/content/error/$injector/unpr.ngdoc b/docs/content/error/$injector/unpr.ngdoc new file mode 100644 index 000000000000..c057baf743c1 --- /dev/null +++ b/docs/content/error/$injector/unpr.ngdoc @@ -0,0 +1,86 @@ +@ngdoc error +@name $injector:unpr +@fullName Unknown Provider +@description + +This error results from the `$injector` being unable to resolve a required +dependency. To fix this, make sure the dependency is defined and spelled +correctly. For example: + +``` +angular.module('myApp', []) + .controller('MyController', ['myService', function (myService) { + // Do something with myService + }]); +``` + +The above code will fail with `$injector:unpr` if `myService` is not defined. + +Making sure each dependency is defined will fix the problem, as noted below. + +``` +angular.module('myApp', []) + .service('myService', function () { /* ... */ }) + .controller('MyController', ['myService', function (myService) { + // Do something with myService + }]); +``` + +An unknown provider error can also be caused by accidentally redefining a +module using the `angular.module` API, as shown in the following example. + +``` +angular.module('myModule', []) + .service('myCoolService', function () { /* ... */ }); + +angular.module('myModule', []) + // myModule has already been created! This is not what you want! + .directive('myDirective', ['myCoolService', function (myCoolService) { + // This directive definition throws unknown provider, because myCoolService + // has been destroyed. + }]); +``` + +To fix this problem, make sure you only define each module with the +`angular.module(name, [requires])` syntax once across your entire project. +Retrieve it for subsequent use with `angular.module(name)`. The fixed example +is shown below. + +``` +angular.module('myModule', []) + .service('myCoolService', function () { /* ... */ }); + +angular.module('myModule') + .directive('myDirective', ['myCoolService', function (myCoolService) { + // This directive definition does not throw unknown provider. + }]); +``` + + +Attempting to inject one controller into another will also throw an `Unknown provider` error: + +``` +angular.module('myModule', []) + .controller('MyFirstController', function() { /* ... */ }) + .controller('MySecondController', ['MyFirstController', function(MyFirstController) { + // This controller throws an unknown provider error because + // MyFirstController cannot be injected. + }]); +``` + +Use the `$controller` service if you want to instantiate controllers yourself. + +Attempting to inject a scope object into anything that's not a controller or a directive, +for example a service, will also throw an `Unknown provider: $scopeProvider <- $scope` error. +This might happen if one mistakenly registers a controller as a service, ex.: + +``` +angular.module('myModule', []) + .service('MyController', ['$scope', function($scope) { + // This controller throws an unknown provider error because + // a scope object cannot be injected into a service. + }]); +``` + +If you encounter this error only with minified code, consider using `ngStrictDi` (see +{@link ng.directive:ngApp ngApp}) to provoke the error with the non-minified source. diff --git a/docs/content/error/$interpolate/badexpr.ngdoc b/docs/content/error/$interpolate/badexpr.ngdoc new file mode 100644 index 000000000000..8ef977231fd5 --- /dev/null +++ b/docs/content/error/$interpolate/badexpr.ngdoc @@ -0,0 +1,6 @@ +@ngdoc error +@name $interpolate:badexpr +@fullName Expecting end operator +@description + +The AngularJS expression is missing the corresponding closing operator. diff --git a/docs/content/error/$interpolate/dupvalue.ngdoc b/docs/content/error/$interpolate/dupvalue.ngdoc new file mode 100644 index 000000000000..c9cd39014a3a --- /dev/null +++ b/docs/content/error/$interpolate/dupvalue.ngdoc @@ -0,0 +1,11 @@ +@ngdoc error +@name $interpolate:dupvalue +@fullName Duplicate choice in plural/select +@description + +You have repeated a match selection for your plural or select MessageFormat +extension in your interpolation expression. The different choices have to be unique. + +For more information about the MessageFormat syntax in interpolation +expressions, please refer to MessageFormat extensions section at +{@link guide/i18n#MessageFormat AngularJS i18n MessageFormat} diff --git a/docs/content/error/interpolate/interr.ngdoc b/docs/content/error/$interpolate/interr.ngdoc similarity index 100% rename from docs/content/error/interpolate/interr.ngdoc rename to docs/content/error/$interpolate/interr.ngdoc diff --git a/docs/content/error/$interpolate/logicbug.ngdoc b/docs/content/error/$interpolate/logicbug.ngdoc new file mode 100644 index 000000000000..9753424d9942 --- /dev/null +++ b/docs/content/error/$interpolate/logicbug.ngdoc @@ -0,0 +1,12 @@ +@ngdoc error +@name $interpolate:logicbug +@fullName Bug in ngMessageFormat module +@description + +You've just hit a bug in the ngMessageFormat module provided by angular-message-format.min.js. +Please file a github issue for this and provide the interpolation text that caused you to hit this +bug mentioning the exact version of AngularJS used and we will fix it! + +For more information about the MessageFormat syntax in interpolation +expressions, please refer to MessageFormat extensions section at +{@link guide/i18n#MessageFormat AngularJS i18n MessageFormat} diff --git a/docs/content/error/$interpolate/nochgmustache.ngdoc b/docs/content/error/$interpolate/nochgmustache.ngdoc new file mode 100644 index 000000000000..af7981992086 --- /dev/null +++ b/docs/content/error/$interpolate/nochgmustache.ngdoc @@ -0,0 +1,17 @@ +@ngdoc error +@name $interpolate:nochgmustache +@fullName Redefinition of start/endSymbol incompatible with MessageFormat extensions +@description + +You have redefined `$interpolate.startSymbol`/`$interpolate.endSymbol` and also +loaded the `ngMessageFormat` module (provided by angular-message-format.min.js) +while creating your injector. + +`ngMessageFormat` currently does not support redefinition of the +startSymbol/endSymbol used by `$interpolate`. If this is affecting you, please +file an issue and mention @chirayuk on it. This is intended to be fixed in a +future commit and the github issue will help gauge urgency. + +For more information about the MessageFormat syntax in interpolation +expressions, please refer to MessageFormat extensions section at +{@link guide/i18n#MessageFormat AngularJS i18n MessageFormat} diff --git a/docs/content/error/interpolate/noconcat.ngdoc b/docs/content/error/$interpolate/noconcat.ngdoc similarity index 92% rename from docs/content/error/interpolate/noconcat.ngdoc rename to docs/content/error/$interpolate/noconcat.ngdoc index c611b81a2ba0..dccbf17e4042 100644 --- a/docs/content/error/interpolate/noconcat.ngdoc +++ b/docs/content/error/$interpolate/noconcat.ngdoc @@ -9,4 +9,4 @@ it hard to reason about whether some combination of concatenated values are unsafe to use and could easily lead to XSS. For more information about how AngularJS helps keep your app secure, refer to -the {@link api/ng.$sce $sce} API doc. \ No newline at end of file +the {@link ng.$sce $sce} API doc. diff --git a/docs/content/error/$interpolate/reqarg.ngdoc b/docs/content/error/$interpolate/reqarg.ngdoc new file mode 100644 index 000000000000..89f27fdc4c0d --- /dev/null +++ b/docs/content/error/$interpolate/reqarg.ngdoc @@ -0,0 +1,12 @@ +@ngdoc error +@name $interpolate:reqarg +@fullName Missing required argument for MessageFormat +@description + +You must specify the MessageFormat function that you're using right after the +comma following the AngularJS expression. Currently, the supported functions are +"plural" and "select" (for gender selections.) + +For more information about the MessageFormat syntax in interpolation +expressions, please refer to MessageFormat extensions section at +{@link guide/i18n#MessageFormat AngularJS i18n MessageFormat} diff --git a/docs/content/error/$interpolate/reqcomma.ngdoc b/docs/content/error/$interpolate/reqcomma.ngdoc new file mode 100644 index 000000000000..fccfe95c4ed7 --- /dev/null +++ b/docs/content/error/$interpolate/reqcomma.ngdoc @@ -0,0 +1,11 @@ +@ngdoc error +@name $interpolate:reqcomma +@fullName Missing comma following MessageFormat plural/select keyword +@description + +The MessageFormat syntax requires a comma following the "plural" or "select" +extension keyword in the extended interpolation syntax. + +For more information about the MessageFormat syntax in interpolation +expressions, please refer to MessageFormat extensions section at +{@link guide/i18n#MessageFormat AngularJS i18n MessageFormat} diff --git a/docs/content/error/$interpolate/reqendbrace.ngdoc b/docs/content/error/$interpolate/reqendbrace.ngdoc new file mode 100644 index 000000000000..b7d75ce19797 --- /dev/null +++ b/docs/content/error/$interpolate/reqendbrace.ngdoc @@ -0,0 +1,11 @@ +@ngdoc error +@name $interpolate:reqendbrace +@fullName Unterminated message for plural/select value +@description + +The plural or select message for a value or keyword choice has no matching end +brace to mark the end of the message. + +For more information about the MessageFormat syntax in interpolation +expressions, please refer to MessageFormat extensions section at +{@link guide/i18n#MessageFormat AngularJS i18n MessageFormat} diff --git a/docs/content/error/$interpolate/reqendinterp.ngdoc b/docs/content/error/$interpolate/reqendinterp.ngdoc new file mode 100644 index 000000000000..f5e78441b7ef --- /dev/null +++ b/docs/content/error/$interpolate/reqendinterp.ngdoc @@ -0,0 +1,6 @@ +@ngdoc error +@name $interpolate:reqendinterp +@fullName Unterminated interpolation +@description + +The interpolation text does not have an ending `endSymbol` ("}}" by default) and is unterminated. diff --git a/docs/content/error/$interpolate/reqopenbrace.ngdoc b/docs/content/error/$interpolate/reqopenbrace.ngdoc new file mode 100644 index 000000000000..3e0041e9912b --- /dev/null +++ b/docs/content/error/$interpolate/reqopenbrace.ngdoc @@ -0,0 +1,12 @@ +@ngdoc error +@name $interpolate:reqopenbrace +@fullName An opening brace was expected but not found +@description + +The plural or select extension keyword or values (such as "other", "male", +"female", "=0", "one", "many", etc.) MUST be followed by a message enclosed in +braces. + +For more information about the MessageFormat syntax in interpolation +expressions, please refer to MessageFormat extensions section at +{@link guide/i18n#MessageFormat AngularJS i18n MessageFormat} diff --git a/docs/content/error/$interpolate/reqother.ngdoc b/docs/content/error/$interpolate/reqother.ngdoc new file mode 100644 index 000000000000..cdfeb5f03d1c --- /dev/null +++ b/docs/content/error/$interpolate/reqother.ngdoc @@ -0,0 +1,13 @@ +@ngdoc error +@name $interpolate:reqother +@fullName Required choice "other" for select/plural in MessageFormat +@description + +Your interpolation expression with a MessageFormat extension for either +"plural" or "select" (typically used for gender selection) does not contain a +message for the choice "other". Using either select or plural MessageFormat +extensions require that you provide a message for the selection "other". + +For more information about the MessageFormat syntax in interpolation +expressions, please refer to MessageFormat extensions section at +{@link guide/i18n#MessageFormat AngularJS i18n MessageFormat} diff --git a/docs/content/error/$interpolate/unknarg.ngdoc b/docs/content/error/$interpolate/unknarg.ngdoc new file mode 100644 index 000000000000..779594141181 --- /dev/null +++ b/docs/content/error/$interpolate/unknarg.ngdoc @@ -0,0 +1,12 @@ +@ngdoc error +@name $interpolate:unknarg +@fullName Unrecognized MessageFormat extension +@description + +The MessageFormat extensions provided by `ngMessageFormat` are currently +limited to "plural" and "select". The extension that you have used is either +unsupported or invalid. + +For more information about the MessageFormat syntax in interpolation +expressions, please refer to MessageFormat extensions section at +{@link guide/i18n#MessageFormat AngularJS i18n MessageFormat} diff --git a/docs/content/error/$interpolate/unsafe.ngdoc b/docs/content/error/$interpolate/unsafe.ngdoc new file mode 100644 index 000000000000..91cc7d915d20 --- /dev/null +++ b/docs/content/error/$interpolate/unsafe.ngdoc @@ -0,0 +1,10 @@ +@ngdoc error +@name $interpolate:unsafe +@fullName MessageFormat extensions not allowed in secure context +@description + +You have attempted to use a MessageFormat extension in your interpolation expression that is marked as a secure context. For security purposes, this is not supported. + +Read more about secure contexts at {@link ng.$sce Strict Contextual Escaping +(SCE)} and about the MessageFormat extensions at {@link +guide/i18n#MessageFormat AngularJS i18n MessageFormat}. diff --git a/docs/content/error/$interpolate/untermstr.ngdoc b/docs/content/error/$interpolate/untermstr.ngdoc new file mode 100644 index 000000000000..c3575e1cc05d --- /dev/null +++ b/docs/content/error/$interpolate/untermstr.ngdoc @@ -0,0 +1,6 @@ +@ngdoc error +@name $interpolate:untermstr +@fullName Unterminated string literal +@description + +The string literal was not terminated in your AngularJS expression. diff --git a/docs/content/error/$interpolate/wantstring.ngdoc b/docs/content/error/$interpolate/wantstring.ngdoc new file mode 100644 index 000000000000..757efc87dfd2 --- /dev/null +++ b/docs/content/error/$interpolate/wantstring.ngdoc @@ -0,0 +1,8 @@ +@ngdoc error +@name $interpolate:wantstring +@fullName Expected the beginning of a string +@description + +We expected to see the beginning of a string (either a single quote or a double +quote character) in the expression but it was not found. The expression is +invalid. If this is incorrect, please file an issue on github. diff --git a/docs/content/error/$interval/badprom.ngdoc b/docs/content/error/$interval/badprom.ngdoc new file mode 100644 index 000000000000..2c9f8c5371a9 --- /dev/null +++ b/docs/content/error/$interval/badprom.ngdoc @@ -0,0 +1,25 @@ +@ngdoc error +@name $interval:badprom +@fullName Non-$interval promise +@description + +This error occurs when calling {@link ng.$interval#cancel $interval.cancel()} with a promise that +was not generated by the {@link ng.$interval $interval} service. This can, for example, happen when +calling {@link ng.$q#the-promise-api then()/catch()} on the returned promise, which creates a new +promise, and pass that new promise to {@link ng.$interval#cancel $interval.cancel()}. + +Example of incorrect usage that leads to this error: + +```js +var promise = $interval(doSomething, 1000, 5).then(doSomethingElse); +$interval.cancel(promise); +``` + +To fix the example above, keep a reference to the promise returned by +{@link ng.$interval $interval()} and pass that to {@link ng.$interval#cancel $interval.cancel()}: + +```js +var promise = $interval(doSomething, 1000, 5); +var newPromise = promise.then(doSomethingElse); +$interval.cancel(promise); +``` diff --git a/docs/content/error/$location/badpath.ngdoc b/docs/content/error/$location/badpath.ngdoc new file mode 100644 index 000000000000..65c6f39dd2bb --- /dev/null +++ b/docs/content/error/$location/badpath.ngdoc @@ -0,0 +1,9 @@ +@ngdoc error +@name $location:badpath +@fullName Invalid Path +@description + +This error occurs when the path of a location contains invalid characters. +The most common fault is when the path starts with double slashes (`//`) or backslashes ('\\'). +For example if the base path of an application is `https://a.b.c/` then the following path is +invalid `https://a.b.c///d/e/f`. diff --git a/docs/content/error/$location/ipthprfx.ngdoc b/docs/content/error/$location/ipthprfx.ngdoc new file mode 100644 index 000000000000..55b75d865830 --- /dev/null +++ b/docs/content/error/$location/ipthprfx.ngdoc @@ -0,0 +1,8 @@ +@ngdoc error +@name $location:ipthprfx +@fullName Invalid or Missing Path Prefix +@description + +This error occurs when you configure the {@link ng.$location `$location`} service in the html5 mode, specify a base url for your application via `` element and try to update the location with a path that doesn't match the base prefix. + +To resolve this issue, please check the base url specified via the `` tag in the head of your main html document, as well as the url that you tried to set the location to. diff --git a/docs/content/error/location/isrcharg.ngdoc b/docs/content/error/$location/isrcharg.ngdoc similarity index 79% rename from docs/content/error/location/isrcharg.ngdoc rename to docs/content/error/$location/isrcharg.ngdoc index 4f6f4b43fc8e..4b60ddd5a2b8 100644 --- a/docs/content/error/location/isrcharg.ngdoc +++ b/docs/content/error/$location/isrcharg.ngdoc @@ -6,4 +6,4 @@ To resolve this error, ensure that the first argument for the `$location.search` call is a `string` or an object. You can use the stack trace associated with this error to identify the call site that caused this issue. -To learn more, please consult the {@link api/ng.$location `$location`} api docs. +To learn more, please consult the {@link ng.$location `$location`} api docs. diff --git a/docs/content/error/$location/nobase.ngdoc b/docs/content/error/$location/nobase.ngdoc new file mode 100644 index 000000000000..baa14dc090d8 --- /dev/null +++ b/docs/content/error/$location/nobase.ngdoc @@ -0,0 +1,63 @@ +@ngdoc error +@name $location:nobase +@fullName $location in HTML5 mode requires a <base> tag to be present! +@description + +If you configure {@link ng.$location `$location`} to use +{@link $locationProvider `html5Mode`} (`history.pushState`), you need to specify the base URL for the application with a [``](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/base) tag or configure +`$locationProvider` to not require a base tag by passing a definition object with +`requireBase:false` to `$locationProvider.html5Mode()`: + +```javascript +$locationProvider.html5Mode({ + enabled: true, + requireBase: false +}); +``` + +Note that removing the requirement for a `` tag will have adverse side effects when resolving +relative paths with `$location` in IE9. + +The base URL is then used to resolve all relative URLs throughout the application regardless of the +entry point into the app. + +If you are deploying your app into the root context (e.g. `https://myapp.com/`), set the base URL to `/`: + +```html + + + ... + +``` + +If you are deploying your app into a sub-context (e.g. `https://myapp.com/subapp/`), set the base URL to the +URL of the subcontext: + +```html + + + ... + +``` + +Before AngularJS 1.3 we didn't have this hard requirement and it was easy to write apps that worked +when deployed in the root context but were broken when moved to a sub-context because in the +sub-context all absolute urls would resolve to the root context of the app. To prevent this, +use relative URLs throughout your app: + +```html + +User Profile + + + +User Profile + +``` + +Additionally, if you want to support [browsers that don't have the `history.pushState` +API](http://caniuse.com/#feat=history), the fallback mechanism provided by `$location` +won't work well without specifying the base url of the application. + +In order to make it easier to migrate from hashbang mode to html5 mode, we require that the base +URL is always specified when `$location`'s `html5mode` is enabled. diff --git a/docs/content/error/$location/nostate.ngdoc b/docs/content/error/$location/nostate.ngdoc new file mode 100644 index 000000000000..de91316971ed --- /dev/null +++ b/docs/content/error/$location/nostate.ngdoc @@ -0,0 +1,8 @@ +@ngdoc error +@name $location:nostate +@fullName History API state support is available only in HTML5 mode and only in browsers supporting HTML5 History API +@description + +This error occurs when the {@link ng.$location#state $location.state} method is used when {@link ng.$locationProvider#html5Mode $locationProvider.html5Mode} is not turned on or the browser used doesn't support the HTML5 History API (for example, IE9 or Android 2.3). + +To avoid this error, either drop support for those older browsers or avoid using this method. diff --git a/docs/content/error/$parse/esc.ngdoc b/docs/content/error/$parse/esc.ngdoc new file mode 100644 index 000000000000..3f308b2d2fec --- /dev/null +++ b/docs/content/error/$parse/esc.ngdoc @@ -0,0 +1,10 @@ +@ngdoc error +@name $parse:esc +@fullName Value cannot be escaped +@description + +Occurs when the parser tries to escape a value that is not known. + +This should never occur in practice. If it does then that indicates a programming +error in the AngularJS `$parse` service itself and should be reported as an issue +at https://github.com/angular/angular.js/issues. \ No newline at end of file diff --git a/docs/content/error/$parse/lexerr.ngdoc b/docs/content/error/$parse/lexerr.ngdoc new file mode 100644 index 000000000000..b5a95d829a5f --- /dev/null +++ b/docs/content/error/$parse/lexerr.ngdoc @@ -0,0 +1,10 @@ +@ngdoc error +@name $parse:lexerr +@fullName Lexer Error +@description + +Occurs when an expression has a lexical error, for example a malformed number (0.5e-) or an invalid unicode escape. + +The error message contains a more precise error. + +To resolve, learn more about {@link guide/expression AngularJS expressions}, identify the error and fix the expression's syntax. diff --git a/docs/content/error/$parse/lval.ngdoc b/docs/content/error/$parse/lval.ngdoc new file mode 100644 index 000000000000..e5905c40e74a --- /dev/null +++ b/docs/content/error/$parse/lval.ngdoc @@ -0,0 +1,13 @@ +@ngdoc error +@name $parse:lval +@fullName Trying to assign a value to a non l-value +@description + +Occurs when an expression is trying to assign a value to a non-assignable expression. + +This can happen if the left side of an assignment is not a valid reference to a variable +or property. E.g. In the following snippet `1+2` is not assignable. + +``` +(1+2) = 'hello'; +``` diff --git a/docs/content/error/$parse/syntax.ngdoc b/docs/content/error/$parse/syntax.ngdoc new file mode 100644 index 000000000000..33d6bc0d317c --- /dev/null +++ b/docs/content/error/$parse/syntax.ngdoc @@ -0,0 +1,9 @@ +@ngdoc error +@name $parse:syntax +@fullName Syntax Error +@description + +Occurs when there is a syntax error in an expression. These errors are thrown while compiling the expression. +The error message contains a more precise description of the error, including the location (column) in the expression where the error occurred. + +To resolve, learn more about {@link guide/expression AngularJS expressions}, identify the error and fix the expression's syntax. diff --git a/docs/content/error/$parse/ueoe.ngdoc b/docs/content/error/$parse/ueoe.ngdoc new file mode 100644 index 000000000000..6fca05b4cce8 --- /dev/null +++ b/docs/content/error/$parse/ueoe.ngdoc @@ -0,0 +1,12 @@ +@ngdoc error +@name $parse:ueoe +@fullName Unexpected End of Expression +@description + +Occurs when an expression is missing tokens at the end of the expression. + +For example, forgetting to close a bracket or failing to properly escape quotes in an expression +will trigger this error. + +To resolve, learn more about {@link guide/expression AngularJS expressions}, identify the error and +fix the expression's syntax. diff --git a/docs/content/error/$q/norslvr.ngdoc b/docs/content/error/$q/norslvr.ngdoc new file mode 100644 index 000000000000..174433aedbae --- /dev/null +++ b/docs/content/error/$q/norslvr.ngdoc @@ -0,0 +1,17 @@ +@ngdoc error +@name $q:norslvr +@fullName No resolver function passed to $Q +@description + +Occurs when calling creating a promise using {@link $q} as a constructor, without providing the +required `resolver` function. + +``` +//bad +var promise = $q().then(doSomething); + +//good +var promise = $q(function(resolve, reject) { + waitForSomethingAsync.then(resolve); +}).then(doSomething); +``` diff --git a/docs/content/error/$q/qcycle.ngdoc b/docs/content/error/$q/qcycle.ngdoc new file mode 100644 index 000000000000..7b0bba204c30 --- /dev/null +++ b/docs/content/error/$q/qcycle.ngdoc @@ -0,0 +1,23 @@ +@ngdoc error +@name $q:qcycle +@fullName Cannot resolve a promise with itself +@description + +Occurs when resolving a promise with itself as the value, including returning the promise in a +function passed to `then`. The A+ 1.1 spec mandates that this behavior throw a TypeError. +https://github.com/promises-aplus/promises-spec#the-promise-resolution-procedure + +``` +var promise = $q.defer().promise; + +//bad +promise.then(function (val) { + //Cannot return self + return promise; +}); + +//good +promise.then(function (val) { + return 'some other value'; +}); +``` diff --git a/docs/content/error/$resource/badargs.ngdoc b/docs/content/error/$resource/badargs.ngdoc new file mode 100644 index 000000000000..834c7826191a --- /dev/null +++ b/docs/content/error/$resource/badargs.ngdoc @@ -0,0 +1,9 @@ +@ngdoc error +@name $resource:badargs +@fullName Too Many Arguments +@description + +This error occurs when specifying too many arguments to a {@link ngResource.$resource `$resource`} action, such as `get`, `query` or any user-defined custom action. +These actions may take up to 4 arguments. + +For more information, refer to the {@link ngResource.$resource `$resource`} API reference documentation. diff --git a/docs/content/error/$resource/badcfg.ngdoc b/docs/content/error/$resource/badcfg.ngdoc new file mode 100644 index 000000000000..08309798cfd3 --- /dev/null +++ b/docs/content/error/$resource/badcfg.ngdoc @@ -0,0 +1,11 @@ +@ngdoc error +@name $resource:badcfg +@fullName Response does not match configured parameter +@description + +This error occurs when the {@link ngResource.$resource `$resource`} service expects a response that can be deserialized as an array but receives an object, or vice versa. +By default, all resource actions expect objects, except `query` which expects arrays. + +To resolve this error, make sure your `$resource` configuration matches the actual format of the data returned from the server. + +For more information, see the {@link ngResource.$resource `$resource`} API reference documentation. diff --git a/docs/content/error/resource/badmember.ngdoc b/docs/content/error/$resource/badmember.ngdoc similarity index 100% rename from docs/content/error/resource/badmember.ngdoc rename to docs/content/error/$resource/badmember.ngdoc diff --git a/docs/content/error/resource/badname.ngdoc b/docs/content/error/$resource/badname.ngdoc similarity index 81% rename from docs/content/error/resource/badname.ngdoc rename to docs/content/error/$resource/badname.ngdoc index 99f73bdc77cd..cde2c0d216f1 100644 --- a/docs/content/error/resource/badname.ngdoc +++ b/docs/content/error/$resource/badname.ngdoc @@ -5,4 +5,4 @@ Occurs when you try to use the name `hasOwnProperty` as a name of a parameter. Generally, a name cannot be `hasOwnProperty` because it is used, internally, on a object -and allowing such a name would break lookups on this object. \ No newline at end of file +and allowing such a name would break lookups on this object. diff --git a/docs/content/error/$rootScope/infdig.ngdoc b/docs/content/error/$rootScope/infdig.ngdoc new file mode 100644 index 000000000000..7eae81ec7197 --- /dev/null +++ b/docs/content/error/$rootScope/infdig.ngdoc @@ -0,0 +1,41 @@ +@ngdoc error +@name $rootScope:infdig +@fullName Infinite $digest Loop +@description + +This error occurs when the application's model becomes unstable and each `$digest` cycle triggers a state change and subsequent `$digest` cycle. +AngularJS detects this situation and prevents an infinite loop from causing the browser to become unresponsive. + +For example, the situation can occur by setting up a watch on a path and subsequently updating the same path when the value changes. + +``` +$scope.$watch('foo', function() { + $scope.foo = $scope.foo + 1; +}); +``` + +One common mistake is binding to a function which generates a new array every time it is called. For example: + +``` +
    {{ user.name }}
    + +... + +$scope.getUsers = function() { + return [ { name: 'Hank' }, { name: 'Francisco' } ]; +}; +``` + +Since `getUsers()` returns a new array, AngularJS determines that the model is different on each `$digest` +cycle, resulting in the error. The solution is to return the same array object if the elements have +not changed: + +``` +var users = [ { name: 'Hank' }, { name: 'Francisco' } ]; + +$scope.getUsers = function() { + return users; +}; +``` + +The maximum number of allowed iterations of the `$digest` cycle is controlled via TTL setting which can be configured via {@link ng.$rootScopeProvider $rootScopeProvider}. diff --git a/docs/content/error/$rootScope/inprog.ngdoc b/docs/content/error/$rootScope/inprog.ngdoc new file mode 100644 index 000000000000..6a4549c0e001 --- /dev/null +++ b/docs/content/error/$rootScope/inprog.ngdoc @@ -0,0 +1,312 @@ +@ngdoc error +@name $rootScope:inprog +@fullName Action Already In Progress +@description + +At any point in time there can be only one `$digest` or `$apply` operation in progress. This is to +prevent very hard to detect bugs from entering your application. The stack trace of this error +allows you to trace the origin of the currently executing `$apply` or `$digest` call, which caused +the error. + +## Background + +AngularJS uses a dirty-checking digest mechanism to monitor and update values of the scope during +the processing of your application. The digest works by checking all the values that are being +watched against their previous value and running any watch handlers that have been defined for those +values that have changed. + +This digest mechanism is triggered by calling `$digest` on a scope object. Normally you do not need +to trigger a digest manually, because every external action that can trigger changes in your +application, such as mouse events, timeouts or server responses, wrap the AngularJS application code +in a block of code that will run `$digest` when the code completes. + +You wrap AngularJS code in a block that will be followed by a `$digest` by calling `$apply` on a scope +object. So, in pseudo-code, the process looks like this: + +``` +element.on('mouseup', function() { + scope.$apply(function() { + $scope.doStuff(); + }); +}); +``` + +where `$apply()` looks something like: + +``` +$apply = function(fn) { + try { + fn(); + } finally() { + $digest(); + } +} +``` + +## Digest Phases + +AngularJS keeps track of what phase of processing we are in, the relevant ones being `$apply` and +`$digest`. Trying to reenter a `$digest` or `$apply` while one of them is already in progress is +typically a sign of programming error that needs to be fixed. So AngularJS will throw this error when +that occurs. + +In most situations it should be well defined whether a piece of code will be run inside an `$apply`, +in which case you should not be calling `$apply` or `$digest`, or it will be run outside, in which +case you should wrap any code that will be interacting with AngularJS scope or services, in a call to +`$apply`. + +As an example, all Controller code should expect to be run within AngularJS, so it should have no need +to call `$apply` or `$digest`. Conversely, code that is being trigger directly as a call back to +some external event, from the DOM or 3rd party library, should expect that it is never called from +within AngularJS, and so any AngularJS application code that it calls should first be wrapped in a call +to $apply. + +## Common Causes + +Apart from simply incorrect calls to `$apply` or `$digest` there are some cases when you may get +this error through no fault of your own. + +### Inconsistent API (Sync/Async) + +This error is often seen when interacting with an API that is sometimes sync and sometimes async. + +For example, imagine a 3rd party library that has a method which will retrieve data for us. Since it +may be making an asynchronous call to a server, it accepts a callback function, which will be called +when the data arrives. + +``` +function MyController($scope, thirdPartyComponent) { + thirdPartyComponent.getData(function(someData) { + $scope.$apply(function() { + $scope.someData = someData; + }); + }); +} +``` + +We expect that our callback will be called asynchronously, and so from outside AngularJS. Therefore, we +correctly wrap our application code that interacts with AngularJS in a call to `$apply`. + +The problem comes if `getData()` decides to call the callback handler synchronously; perhaps it has +the data already cached in memory and so it immediately calls the callback to return the data, +synchronously. + +Since, the `MyController` constructor is always instantiated from within an `$apply` call, our +handler is trying to enter a new `$apply` block from within one. + +This is not an ideal design choice on the part of the 3rd party library. + +To resolve this type of issue, either fix the api to be always synchronous or asynchronous or force +your callback handler to always run asynchronously by using the `$timeout` service. + +``` +function MyController($scope, $timeout, thirdPartyComponent) { + thirdPartyComponent.getData(function(someData) { + $timeout(function() { + $scope.someData = someData; + }, 0); + }); +} +``` + +Here we have used `$timeout` to schedule the changes to the scope in a future call stack. +By providing a timeout period of 0ms, this will occur as soon as possible and `$timeout` will ensure +that the code will be called in a single `$apply` block. + +### Triggering Events Programmatically + +The other situation that often leads to this error is when you trigger code (such as a DOM event) +programmatically (from within AngularJS), which is normally called by an external trigger. + +For example, consider a directive that will set focus on an input control when a value in the scope +is true: + +``` +myApp.directive('setFocusIf', function() { + return { + link: function($scope, $element, $attr) { + $scope.$watch($attr.setFocusIf, function(value) { + if ( value ) { $element[0].focus(); } + }); + } + }; +}); +``` + +If we applied this directive to an input which also used the `ngFocus` directive to trigger some +work when the element receives focus we will have a problem: + +``` + + +``` + +In this setup, there are two ways to trigger ngFocus. First from a user interaction: + +* Click on the input control +* The input control gets focus +* The `ngFocus` directive is triggered, setting `$scope.msg='has focus'` from within a new call to +`$apply()` + +Second programmatically: + +* Click the button +* The `ngClick` directive sets the value of `$scope.hasFocus` to true inside a call to `$apply` +* The `$digest` runs, which triggers the watch inside the `setFocusIf` directive +* The watch's handle runs, which gives the focus to the input +* The `ngFocus` directive is triggered, setting `$scope.msg='has focus'` from within a new call to +`$apply()` + +In this second scenario, we are already inside a `$digest` when the ngFocus directive makes another +call to `$apply()`, causing this error to be thrown. + +It is possible to workaround this problem by moving the call to set the focus outside of the digest, +by using `$timeout(fn, 0, false)`, where the `false` value tells AngularJS not to wrap this `fn` in an +`$apply` block: + +``` +myApp.directive('setFocusIf', function($timeout) { + return { + link: function($scope, $element, $attr) { + $scope.$watch($attr.setFocusIf, function(value) { + if ( value ) { + $timeout(function() { + // We must reevaluate the value in case it was changed by a subsequent + // watch handler in the digest. + if ( $scope.$eval($attr.setFocusIf) ) { + $element[0].focus(); + } + }, 0, false); + } + }); + } + } +}); +``` + +## Diagnosing This Error + +When you get this error it can be rather daunting to diagnose the cause of the issue. The best +course of action is to investigate the stack trace from the error. You need to look for places +where `$apply` or `$digest` have been called and find the context in which this occurred. + +There should be two calls: + +* The first call is the good `$apply`/`$digest` and would normally be triggered by some event near +the top of the call stack. + +* The second call is the bad `$apply`/`$digest` and this is the one to investigate. + +Once you have identified this call you work your way up the stack to see what the problem is. + +* If the second call was made in your application code then you should look at why this code has been +called from within an `$apply`/`$digest`. It may be a simple oversight or maybe it fits with the +sync/async scenario described earlier. + +* If the second call was made inside an AngularJS directive then it is likely that it matches the second +programmatic event trigger scenario described earlier. In this case you may need to look further up +the tree to what triggered the event in the first place. + +### Example Problem + +Let's look at how to investigate this error using the `setFocusIf` example from above. This example +defines a new `setFocusIf` directive that sets the focus on the element where it is defined when the +value of its attribute becomes true. + + + + + + + + angular.module('app', []).directive('setFocusIf', function() { + return function link($scope, $element, $attr) { + $scope.$watch($attr.setFocusIf, function(value) { + if (value) { $element[0].focus(); } + }); + }; + }); + + + +When you click on the button to cause the focus to occur we get our `$rootScope:inprog` error. The +stacktrace looks like this: + +``` +Error: [$rootScope:inprog] + at Error (native) + at angular.min.js:6:467 + at n (angular.min.js:105:60) + at g.$get.g.$apply (angular.min.js:113:195) + at HTMLInputElement. (angular.min.js:198:401) + at angular.min.js:32:32 + at Array.forEach (native) + at q (angular.min.js:7:295) + at HTMLInputElement.c (angular.min.js:32:14) + at Object.fn (app.js:12:38) angular.js:10111 +(anonymous function) angular.js:10111 +$get angular.js:7412 +$get.g.$apply angular.js:12738 <--- $apply +(anonymous function) angular.js:19833 <--- called here +(anonymous function) angular.js:2890 +q angular.js:320 +c angular.js:2889 +(anonymous function) app.js:12 +$get.g.$digest angular.js:12469 +$get.g.$apply angular.js:12742 <--- $apply +(anonymous function) angular.js:19833 <--- called here +(anonymous function) angular.js:2890 +q angular.js:320 +``` + +We can see (even though the AngularJS code is minified) that there were two calls to `$apply`, first +on line `19833`, then on line `12738` of `angular.js`. + +It is this second call that caused the error. If we look at the angular.js code, we can see that +this call is made by an AngularJS directive. + +``` +var ngEventDirectives = {}; +forEach( + 'click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste'.split(' '), + function(name) { + var directiveName = directiveNormalize('ng-' + name); + ngEventDirectives[directiveName] = ['$parse', function($parse) { + return { + compile: function($element, attr) { + var fn = $parse(attr[directiveName]); + return function(scope, element, attr) { + element.on(lowercase(name), function(event) { + scope.$apply(function() { + fn(scope, {$event:event}); + }); + }); + }; + } + }; + }]; + } +); +``` + +It is not possible to tell which from the stack trace, but we happen to know in this case that it is +the `ngFocus` directive. + +Now look up the stack to see that our application code is only entered once in `app.js` at line `12`. +This is where our problem is: + +``` +10: link: function($scope, $element, $attr) { +11: $scope.$watch($attr.setFocusIf, function(value) { +12: if ( value ) { $element[0].focus(); } <---- This is the source of the problem +13: }); +14: } +``` + +We can now see that the second `$apply` was caused by us programmatically triggering a DOM event +(i.e. focus) to occur. We must fix this by moving the code outside of the $apply block using +`$timeout` as described above. + +## Further Reading +To learn more about AngularJS processing model please check out the +{@link guide/concepts concepts doc} as well as the {@link ng.$rootScope.Scope api} doc. diff --git a/docs/content/error/$route/norout.ngdoc b/docs/content/error/$route/norout.ngdoc new file mode 100644 index 000000000000..5dc5a9b8b7ee --- /dev/null +++ b/docs/content/error/$route/norout.ngdoc @@ -0,0 +1,8 @@ +@ngdoc error +@name $route:norout +@fullName Tried updating route with no current route +@description + +Occurs when an attempt is made to update the parameters on the current route when +there is no current route. This can happen if you try to call `$route.updateParams();` +before the first route transition has completed. \ No newline at end of file diff --git a/docs/content/error/$sanitize/elclob.ngdoc b/docs/content/error/$sanitize/elclob.ngdoc new file mode 100644 index 000000000000..1e9e9db42725 --- /dev/null +++ b/docs/content/error/$sanitize/elclob.ngdoc @@ -0,0 +1,11 @@ +@ngdoc error +@name $sanitize:elclob +@fullName Failed to sanitize html because the element is clobbered +@description + +This error occurs when `$sanitize` sanitizer is unable to traverse the HTML because one or more of the elements in the +HTML have been "clobbered". This could be a sign that the payload contains code attempting to cause a DoS attack on the +browser. + +Typically clobbering breaks the `nextSibling` property on an element so that it points to one of its child nodes. This +makes it impossible to walk the HTML tree without getting stuck in an infinite loop, which causes the browser to freeze. \ No newline at end of file diff --git a/docs/content/error/$sanitize/noinert.ngdoc b/docs/content/error/$sanitize/noinert.ngdoc new file mode 100644 index 000000000000..3eb5944eb3c5 --- /dev/null +++ b/docs/content/error/$sanitize/noinert.ngdoc @@ -0,0 +1,10 @@ +@ngdoc error +@name $sanitize:noinert +@fullName Can't create an inert html document +@description + +This error occurs when `$sanitize` sanitizer determines that `document.implementation.createHTMLDocument ` api is not supported by the current browser. + +This api is necessary for safe parsing of HTML strings into DOM trees and without it the sanitizer can't sanitize the input. + +The api is present in all supported browsers including IE 9.0, so the presence of this error usually indicates that AngularJS's `$sanitize` is being used on an unsupported platform. diff --git a/docs/content/error/$sanitize/uinput.ngdoc b/docs/content/error/$sanitize/uinput.ngdoc new file mode 100644 index 000000000000..e3bcdb037514 --- /dev/null +++ b/docs/content/error/$sanitize/uinput.ngdoc @@ -0,0 +1,13 @@ +@ngdoc error +@name $sanitize:uinput +@fullName Failed to sanitize html because the input is unstable +@description + +This error occurs when `$sanitize` sanitizer tries to check the input for possible mXSS payload and the verification +errors due to the input mutating indefinitely. This could be a sign that the payload contains code exploiting an mXSS +vulnerability in the browser. + +mXSS attack exploit browser bugs that cause some browsers parse a certain html strings into DOM, which once serialized +doesn't match the original input. These browser bugs can be exploited by attackers to create payload which looks +harmless to sanitizers, but due to mutations caused by the browser are turned into dangerous code once processed after +sanitization. diff --git a/docs/content/error/$sce/icontext.ngdoc b/docs/content/error/$sce/icontext.ngdoc new file mode 100644 index 000000000000..3ad0f22d98d7 --- /dev/null +++ b/docs/content/error/$sce/icontext.ngdoc @@ -0,0 +1,8 @@ +@ngdoc error +@name $sce:icontext +@fullName Invalid / Unknown SCE context +@description + +The context enum passed to {@link ng.$sce#trustAs $sce.trustAs} was not recognized. + +Please consult the list of {@link ng.$sce#contexts supported Strict Contextual Escaping (SCE) contexts}. diff --git a/docs/content/error/$sce/iequirks.ngdoc b/docs/content/error/$sce/iequirks.ngdoc new file mode 100644 index 000000000000..3ddd33eb6844 --- /dev/null +++ b/docs/content/error/$sce/iequirks.ngdoc @@ -0,0 +1,17 @@ +@ngdoc error +@name $sce:iequirks +@fullName IE<11 in quirks mode is unsupported +@description + +This error occurs when you are using AngularJS with {@link ng.$sce Strict Contextual Escaping (SCE)} mode enabled (the default) on IE10 or lower in quirks mode. + +In this mode, IE<11 allow one to execute arbitrary javascript by the use of the `expression()` syntax and is not supported. +Refer +[CSS expressions no longer supported for the Internet zone](http://msdn.microsoft.com/en-us/library/ie/dn384050(v=vs.85).aspx) +to learn more about them. + +To resolve this error please specify the proper doctype at the top of your main html document: + +``` + +``` diff --git a/docs/content/error/$sce/imatcher.ngdoc b/docs/content/error/$sce/imatcher.ngdoc new file mode 100644 index 000000000000..c1009f8a2929 --- /dev/null +++ b/docs/content/error/$sce/imatcher.ngdoc @@ -0,0 +1,9 @@ +@ngdoc error +@name $sce:imatcher +@fullName Invalid matcher (only string patterns and RegExp instances are supported) +@description + +Please see {@link $sceDelegateProvider#trustedResourceUrlList +$sceDelegateProvider.trustedResourceUrlList} and {@link +$sceDelegateProvider#bannedResourceUrlList $sceDelegateProvider.bannedResourceUrlList} for the +list of acceptable items. diff --git a/docs/content/error/$sce/insecurl.ngdoc b/docs/content/error/$sce/insecurl.ngdoc new file mode 100644 index 000000000000..66a419f73f96 --- /dev/null +++ b/docs/content/error/$sce/insecurl.ngdoc @@ -0,0 +1,26 @@ +@ngdoc error +@name $sce:insecurl +@fullName Processing of a Resource from Untrusted Source Blocked +@description + +AngularJS' {@link ng.$sce Strict Contextual Escaping (SCE)} mode (enabled by default) has blocked loading a resource from an insecure URL. + +Typically, this would occur if you're attempting to load an AngularJS template from an untrusted source. +It's also possible that a custom directive threw this error for a similar reason. + +AngularJS only loads templates from trusted URLs (by calling {@link ng.$sce#getTrustedResourceUrl $sce.getTrustedResourceUrl} on the template URL). + +By default, only URLs that belong to the same origin are trusted. These are urls with the same domain, protocol and port as the application document. + +The {@link ng.directive:ngInclude ngInclude} directive and {@link guide/directive directives} that specify a `templateUrl` require a trusted resource URL. + +To load templates from other domains and/or protocols, either adjust the {@link +ng.$sceDelegateProvider#trustedResourceUrlList trusted resource URL list}/ {@link +ng.$sceDelegateProvider#bannedResourceUrlList banned resource URL list} or wrap the URL with a call to {@link +ng.$sce#trustAsResourceUrl $sce.trustAsResourceUrl}. + +**Note**: The browser's [Same Origin +Policy](https://code.google.com/p/browsersec/wiki/Part2#Same-origin_policy_for_XMLHttpRequest) and +[Cross-Origin Resource Sharing (CORS)](http://www.w3.org/TR/cors/) policy apply +that may further restrict whether the template is successfully loaded. (e.g. neither cross-domain +requests won't work on all browsers nor `file://` requests on some browsers) diff --git a/docs/content/error/$sce/itype.ngdoc b/docs/content/error/$sce/itype.ngdoc new file mode 100644 index 000000000000..80ed8f593ddf --- /dev/null +++ b/docs/content/error/$sce/itype.ngdoc @@ -0,0 +1,8 @@ +@ngdoc error +@name $sce:itype +@fullName String Value is Required for SCE Trust Call +@description + +{@link ng.$sce#trustAs $sce.trustAs} requires a string value. + +Read more about {@link ng.$sce Strict Contextual Escaping (SCE)} in AngularJS. diff --git a/docs/content/error/$sce/iwcard.ngdoc b/docs/content/error/$sce/iwcard.ngdoc new file mode 100644 index 000000000000..88f4787fddb0 --- /dev/null +++ b/docs/content/error/$sce/iwcard.ngdoc @@ -0,0 +1,9 @@ +@ngdoc error +@name $sce:iwcard +@fullName The sequence *** is not a valid pattern wildcard +@description + +The strings in {@link $sceDelegateProvider#trustedResourceUrlList +$sceDelegateProvider.trustedResourceUrlList} and {@link +$sceDelegateProvider#bannedResourceUrlList $sceDelegateProvider.bannedResourceUrlList} may not +contain the undefined sequence `***`. Only `*` and `**` wildcard patterns are defined. diff --git a/docs/content/error/$sce/unsafe.ngdoc b/docs/content/error/$sce/unsafe.ngdoc new file mode 100644 index 000000000000..5b6420a1581f --- /dev/null +++ b/docs/content/error/$sce/unsafe.ngdoc @@ -0,0 +1,16 @@ +@ngdoc error +@name $sce:unsafe +@fullName Require a safe/trusted value +@description + +The value provided for use in a specific context was not found to be safe/trusted for use. + +AngularJS's {@link ng.$sce Strict Contextual Escaping (SCE)} mode +(enabled by default), requires bindings in certain +contexts to result in a value that is trusted as safe for use in such a context. (e.g. loading an +AngularJS template from a URL requires that the URL is one considered safe for loading resources.) + +This helps prevent XSS and other security issues. Read more at +{@link ng.$sce Strict Contextual Escaping (SCE)} + +You may want to include the ngSanitize module to use the automatic sanitizing. diff --git a/docs/content/error/$templateRequest/tpload.ngdoc b/docs/content/error/$templateRequest/tpload.ngdoc new file mode 100644 index 000000000000..dba0788ce62b --- /dev/null +++ b/docs/content/error/$templateRequest/tpload.ngdoc @@ -0,0 +1,18 @@ +@ngdoc error +@name $templateRequest:tpload +@fullName Error Loading Template +@description + +This error occurs when {@link $templateRequest} attempts to fetch a template from some URL, and +the request fails. + +The template URL might be defined in a directive/component definition, an instance of `ngInclude`, +an instance of `ngMessagesInclude` or a templated route in a `$route` route definition. + +To resolve this error, ensure that the URL of the template is spelled correctly and resolves to +correct absolute URL. +The [Chrome Developer Tools](https://developers.google.com/chrome-developer-tools/docs/network#network_panel_overview) +might also be helpful in determining why the request failed. + +If you are using {@link ng.$templateCache} to pre-load templates, ensure that the cache was +populated with the template. diff --git a/docs/content/error/$timeout/badprom.ngdoc b/docs/content/error/$timeout/badprom.ngdoc new file mode 100644 index 000000000000..c1b0d025ad8f --- /dev/null +++ b/docs/content/error/$timeout/badprom.ngdoc @@ -0,0 +1,25 @@ +@ngdoc error +@name $timeout:badprom +@fullName Non-$timeout promise +@description + +This error occurs when calling {@link ng.$timeout#cancel $timeout.cancel()} with a promise that +was not generated by the {@link ng.$timeout $timeout} service. This can, for example, happen when +calling {@link ng.$q#the-promise-api then()/catch()} on the returned promise, which creates a new +promise, and pass that new promise to {@link ng.$timeout#cancel $timeout.cancel()}. + +Example of incorrect usage that leads to this error: + +```js +var promise = $timeout(doSomething, 1000).then(doSomethingElse); +$timeout.cancel(promise); +``` + +To fix the example above, keep a reference to the promise returned by +{@link ng.$timeout $timeout()} and pass that to {@link ng.$timeout#cancel $timeout.cancel()}: + +```js +var promise = $timeout(doSomething, 1000); +var newPromise = promise.then(doSomethingElse); +$timeout.cancel(promise); +``` diff --git a/docs/content/error/cacheFactory/iid.ngdoc b/docs/content/error/cacheFactory/iid.ngdoc deleted file mode 100644 index 838ff75ea5e1..000000000000 --- a/docs/content/error/cacheFactory/iid.ngdoc +++ /dev/null @@ -1,8 +0,0 @@ -@ngdoc error -@name $cacheFactory:iid -@fullName Invalid ID -@description - -This error occurs when trying to create a new `cache` object via {@link api/ng.$cacheFactory} with an ID that was already used to create another cache object. - -To resolve the error please use a different cache ID when calling `$cacheFactory`. diff --git a/docs/content/error/compile/ctreq.ngdoc b/docs/content/error/compile/ctreq.ngdoc deleted file mode 100644 index e3f46532983b..000000000000 --- a/docs/content/error/compile/ctreq.ngdoc +++ /dev/null @@ -1,49 +0,0 @@ -@ngdoc error -@name $compile:ctreq -@fullName Missing Required Controller -@description - -This error occurs when {@link api/ng.$compile HTML compiler} tries to process a directive that specifies the {@link api/ng.$compile#description_comprehensive-directive-api_directive-definition-object `require` option} in a {@link api/ng.$compile#description_comprehensive-directive-api directive definition}, -but the required directive controller is not present on the current DOM element (or its ancestor element, if `^` was specified). - -To resolve this error ensure that there is no typo in the required controller name and that the required directive controller is present on the current element. - -If the required controller is expected to be on a ancestor element, make ensure that you prefix the controller name in the `require` definition with `^`. - -If the required controller is optionally requested, use `?` or `^?` to specify that. - - -Example of a directive that requires {@link api/ng.directive:ngModel ngModel} controller: -``` -myApp.directive('myDirective', function() { - return { - require: 'ngModel', - ... - } -} -``` - -This directive can then be used as: -``` - -``` - - -Example of a directive that optionally requires a {@link api/ng.directive:form form} controller from an ancestor: -``` -myApp.directive('myDirective', function() { - return { - require: '^?form', - ... - } -} -``` - -This directive can then be used as: -``` -
    -
    - -
    -
    -``` diff --git a/docs/content/error/compile/iscp.ngdoc b/docs/content/error/compile/iscp.ngdoc deleted file mode 100644 index 0bfe216b6910..000000000000 --- a/docs/content/error/compile/iscp.ngdoc +++ /dev/null @@ -1,25 +0,0 @@ -@ngdoc error -@name $compile:iscp -@fullName Invalid Isolate Scope Definition -@description - -When declaring isolate scope the scope definition object must be in specific format which starts with mode character (`@&=`) with an optional local name. - -``` -myModule.directive('directiveName', function factory() { - return { - ... - scope: { - 'attrName': '@', // OK - 'attrName2': '=localName', // OK - 'attrName3': 'name', // ERROR: missing mode @&= - 'attrName4': ' = name', // ERROR: extra spaces - 'attrName5': 'name=', // ERROR: must be prefixed with @&= - } - ... - } -}); -``` - -Please refer to the {@link api/ng.$compile#description_comprehensive-directive-api_directive-definition-object -`scope` option} of the directive definition documentation to learn more about the API. diff --git a/docs/content/error/compile/nodomevents.ngdoc b/docs/content/error/compile/nodomevents.ngdoc deleted file mode 100644 index 67bd81eed97c..000000000000 --- a/docs/content/error/compile/nodomevents.ngdoc +++ /dev/null @@ -1,20 +0,0 @@ -@ngdoc error -@name $compile:nodomevents -@fullName Interpolated Event Attributes -@description - -This error occurs when one tries to create a binding for event handler attributes like `onclick`, `onload`, `onsubmit`, etc. - -There is no practical value in binding to these attributes and doing so only exposes your application to security vulnerabilities like XSS. -For these reasons binding to event handler attributes (all attributes that start with `on` and `formaction` attribute) is not supported. - - -An example code that would allow XSS vulnerability by evaluating user input in the window context could look like this: -``` - -
    click me
    -``` - -Since the `onclick` evaluates the value as JavaScript code in the window context, setting the `username` model to a value like `javascript:alert('PWND')` would result in script injection when the `div` is clicked. - - diff --git a/docs/content/error/compile/nonassign.ngdoc b/docs/content/error/compile/nonassign.ngdoc deleted file mode 100644 index 3870c2ed5e00..000000000000 --- a/docs/content/error/compile/nonassign.ngdoc +++ /dev/null @@ -1,41 +0,0 @@ -@ngdoc error -@name $compile:nonassign -@fullName Non-Assignable Expression -@description - -This error occurs when a directive defines an isolate scope property -(using the `=` mode in the {@link api/ng.$compile#description_comprehensive-directive-api_directive-definition-object -`scope` option} of a directive definition) but the directive is used with an expression that is not-assignable. - -In order for the two-way data-binding to work, it must be possible to write new values back into the path defined with the expression. - -For example, given a directive: - -``` -myModule.directive('myDirective', function factory() { - return { - ... - scope: { - 'bind': '=localValue' - } - ... - } -}); -``` - -Following are invalid uses of this directive: -``` - - - - - -``` - - -To resolve this error, always use path expressions with scope properties that are two-way data-bound: -``` - - -``` - diff --git a/docs/content/error/compile/selmulti.ngdoc b/docs/content/error/compile/selmulti.ngdoc deleted file mode 100644 index 8154cc675e05..000000000000 --- a/docs/content/error/compile/selmulti.ngdoc +++ /dev/null @@ -1,20 +0,0 @@ -@ngdoc error -@name $compile:selmulti -@fullName Binding to Multiple Attribute -@description - -Binding to the `multiple` attribute of `select` element is not supported since switching between multiple and single mode changes the {@link api/ng.directive:ngModel `ngModel`} object type from instance to array of instances which breaks the model semantics. - -If you need to use different types of `select` elements in your template based on some variable, please use {@link api/ng.directive:ngIf ngIf} or {@link api/ng.directive:ngSwitch ngSwitch} directives to select one of them to be used at runtime. - - -Example with invalid usage: -``` - -``` - -Example that uses ngIf to pick one of the `select` elements based on a variable: -``` - - -``` diff --git a/docs/content/error/compile/tpload.ngdoc b/docs/content/error/compile/tpload.ngdoc deleted file mode 100644 index 3e0da4abca1f..000000000000 --- a/docs/content/error/compile/tpload.ngdoc +++ /dev/null @@ -1,11 +0,0 @@ -@ngdoc error -@name $compile:tpload -@fullName Error Loading Template -@description - -This error occurs when {@link api/ng.$compile `$compile`} attempts to fetch a template from some URL, and the request fails. - -To resolve this error, ensure that the URL of the template is spelled correctly and resolves to correct absolute URL. -The [Chrome Developer Tools](https://developers.google.com/chrome-developer-tools/docs/network#network_panel_overview) might also be helpful in determining why the request failed. - -If you are using {@link api/ng.$templateCache} to pre-load templates, ensure that the cache was populated with the template. diff --git a/docs/content/error/compile/tplrt.ngdoc b/docs/content/error/compile/tplrt.ngdoc deleted file mode 100644 index 3c29dbdcdc7e..000000000000 --- a/docs/content/error/compile/tplrt.ngdoc +++ /dev/null @@ -1,39 +0,0 @@ -@ngdoc error -@name $compile:tplrt -@fullName Invalid Template Root -@description - -When a directive is declared with `template` (or `templateUrl`) and `replace` mode on, the template -must have exactly one root element. That is, the text of the template property or the content -referenced by the templateUrl must be contained within a single html element. -For example, `

    blah blah blah

    ` instead of simply `blah blah blah`. -Otherwise, the replacement operation would result in a single element (the directive) being replaced -with multiple elements or nodes, which is unsupported and not commonly needed in practice. - - -For example a directive with definition: - -``` -myModule.directive('myDirective', function factory() { - return { - ... - replace: true, - templateUrl: 'someUrl' - ... - } -}); -``` - -And a template provided at URL `someUrl`. The template must be an html fragment that has only a -single root element, like the `div` element in this template: - -``` -
    Hello World!
    -``` - -An an invalid template to be used with this directive is one that defines multiple root nodes or -elements. For example: - -``` -Hello World! -``` diff --git a/docs/content/error/controller/noscp.ngdoc b/docs/content/error/controller/noscp.ngdoc deleted file mode 100644 index 18a01e0c4406..000000000000 --- a/docs/content/error/controller/noscp.ngdoc +++ /dev/null @@ -1,21 +0,0 @@ -@ngdoc error -@name $controller:noscp -@fullName Missing $scope object -@description - -This error occurs when {@link api/ng.$controller $controller} service is called in order to instantiate a new controller but no scope is provided via `$scope` property of the locals map. - -Example of incorrect usage that leads to this error: -``` -$controller(MyController); -//or -$controller(MyController, {scope: newScope}); -``` - -To fix the example above please provide a scope to the $controller call: - -``` -$controller(MyController, {$scope, newScope}); -``` - -Please consult the {@link api/ng.$controller $controller} service api docs to learn more. diff --git a/docs/content/error/filter/notarray.ngdoc b/docs/content/error/filter/notarray.ngdoc new file mode 100644 index 000000000000..4586424de118 --- /dev/null +++ b/docs/content/error/filter/notarray.ngdoc @@ -0,0 +1,51 @@ +@ngdoc error +@name filter:notarray +@fullName Not an array +@description + +This error occurs when {@link ng.filter filter} is not used with an array: +```html + +
    + {{ key }} : {{ value }} +
    +``` + +Filter must be used with an array so a subset of items can be returned. +The array can be initialized asynchronously and therefore null or undefined won't throw this error. + +To filter an object by the value of its properties you can create your own custom filter: +```js +angular.module('customFilter',[]) + .filter('custom', function() { + return function(input, search) { + if (!input) return input; + if (!search) return input; + var expected = ('' + search).toLowerCase(); + var result = {}; + angular.forEach(input, function(value, key) { + var actual = ('' + value).toLowerCase(); + if (actual.indexOf(expected) !== -1) { + result[key] = value; + } + }); + return result; + } + }); +``` +That can be used as: +```html + +
    + {{ key }} : {{ value }} +
    +``` + +You could as well convert the object to an array using a filter such as +[toArrayFilter](https://github.com/petebacondarwin/angular-toArrayFilter): +```html + +
    + {{ item }} +
    +``` diff --git a/docs/content/error/httpBackend/noxhr.ngdoc b/docs/content/error/httpBackend/noxhr.ngdoc deleted file mode 100644 index 3ac5244c8c8e..000000000000 --- a/docs/content/error/httpBackend/noxhr.ngdoc +++ /dev/null @@ -1,9 +0,0 @@ -@ngdoc error -@name $httpBackend:noxhr -@fullName Unsupported XHR -@description - -This error occurs in browsers that do not support XmlHttpRequest. AngularJS -supports Safari, Chrome, Firefox, Opera, IE8 and higher, and mobile browsers -(Android, Chrome Mobile, iOS Safari). To avoid this error, use an officially -supported browser. \ No newline at end of file diff --git a/docs/content/error/index.ngdoc b/docs/content/error/index.ngdoc index 9512dc9c9337..7414b977e684 100644 --- a/docs/content/error/index.ngdoc +++ b/docs/content/error/index.ngdoc @@ -2,6 +2,8 @@ @name Error Reference @description +# Error Reference + Use the Error Reference manual to find information about error conditions in your AngularJS app. Errors thrown in production builds of AngularJS will log links to this site on the console. diff --git a/docs/content/error/injector/modulerr.ngdoc b/docs/content/error/injector/modulerr.ngdoc deleted file mode 100644 index db3ca76b33c6..000000000000 --- a/docs/content/error/injector/modulerr.ngdoc +++ /dev/null @@ -1,11 +0,0 @@ -@ngdoc error -@name $injector:modulerr -@fullName Module Error -@description - -This error occurs when a module fails to load due to some exception. The error -message above should provide additional context. - -In AngularJS `1.2.0` and later, `ngRoute` has been moved to its own module. -If you are getting this error after upgrading to `1.2.x`, be sure that you've -installed {@link api/ngRoute `ngRoute`}. diff --git a/docs/content/error/injector/nomod.ngdoc b/docs/content/error/injector/nomod.ngdoc deleted file mode 100644 index 66e2a5adc45e..000000000000 --- a/docs/content/error/injector/nomod.ngdoc +++ /dev/null @@ -1,26 +0,0 @@ -@ngdoc error -@name $injector:nomod -@fullName Module Unavailable -@description - -This error occurs when trying to "re-open" a module that has not yet been defined. - -To define a new module, call {@link api/angular.module angular.module} with a name -and an array of dependent modules, like so: - -``` -// When defining a module with no module dependencies, -// the requires array should be defined and empty. -var myApp = angular.module('myApp', []); -``` - -To retrieve a reference to the same module for further configuration, call -`angular.module` without the `requires` array. - -``` -var myApp = angular.module('myApp'); -``` - -Calling `angular.module` without the `requires` array when the module has not yet -been defined causes this error to be thrown. To fix it, define your module with -a name and an empty array, as in the first example above. \ No newline at end of file diff --git a/docs/content/error/injector/unpr.ngdoc b/docs/content/error/injector/unpr.ngdoc deleted file mode 100644 index 1b0faa8e0e9d..000000000000 --- a/docs/content/error/injector/unpr.ngdoc +++ /dev/null @@ -1,26 +0,0 @@ -@ngdoc error -@name $injector:unpr -@fullName Unknown Provider -@description - -This error results from the `$injector` being unable to resolve a required -dependency. To fix this, make sure the dependency is defined and spelled -correctly. For example: - -``` -angular.module('myApp', []) - .controller('myCtrl', ['myService', function (myService) { - // Do something with myService - }]); -``` - -This code will fail with `$injector:unpr` if `myService` is not defined. Making -sure each dependency is defined will fix the problem. - -``` -angular.module('myApp', []) - .service('myService', function () { /* ... */ }) - .controller('myCtrl', ['myService', function (myService) { - // Do something with myService - }]); -``` \ No newline at end of file diff --git a/docs/content/error/jqLite/nosel.ngdoc b/docs/content/error/jqLite/nosel.ngdoc index 7009db6bf9da..161a177e5960 100644 --- a/docs/content/error/jqLite/nosel.ngdoc +++ b/docs/content/error/jqLite/nosel.ngdoc @@ -3,9 +3,9 @@ @fullName Unsupported Selector Lookup @description -In order to keep Angular small, Angular implements only a subset of the selectors in {@link api/angular.element#description_angulars-jqlite jqLite}. +In order to keep AngularJS small, AngularJS implements only a subset of the selectors in {@link angular.element#angularjs-s-jqlite jqLite}. This error occurs when a jqLite instance is invoked with a selector other than this subset. In order to resolve this error, rewrite your code to only use tag name selectors and manually traverse the DOM using the APIs provided by jqLite. -Alternatively, you can include a full version of jQuery, which Angular will automatically use and that will make all selectors available. +Alternatively, you can include a full version of jQuery, which AngularJS will automatically use and that will make all selectors available. diff --git a/docs/content/error/linky/notstring.ngdoc b/docs/content/error/linky/notstring.ngdoc new file mode 100644 index 000000000000..159ac42de123 --- /dev/null +++ b/docs/content/error/linky/notstring.ngdoc @@ -0,0 +1,16 @@ +@ngdoc error +@name linky:notstring +@fullName Not a string +@description + +This error occurs when {@link ngSanitize.linky linky} is used with a non-empty, non-string value: +```html +
    +``` + +`linky` is supposed to be used with string values only, and therefore assumes that several methods +(such as `.match()`) are available on the passed in value. +The value can be initialized asynchronously and therefore null or undefined won't throw this error. + +If you want to pass non-string values to `linky` (e.g. Objects whose `.toString()` should be +utilized), you need to manually convert them to strings. diff --git a/docs/content/error/location/ihshprfx.ngdoc b/docs/content/error/location/ihshprfx.ngdoc deleted file mode 100644 index cb1189dd944e..000000000000 --- a/docs/content/error/location/ihshprfx.ngdoc +++ /dev/null @@ -1,17 +0,0 @@ -@ngdoc error -@name $location:ihshprfx -@fullName Missing Hash Prefix -@description - -This error occurs when {@link api/ng.$location $location} service is configured to use a hash prefix but this prefix was not present in a url that the `$location` service was asked to parse. - -For example if you configure `$location` service with prefix `'!'`: -``` -myApp.config(function($locationProvider) { - $locationProvider.prefix('!'); -}); -``` - -If you enter the app at url `http:/myapp.com/#/myView` this error will be throw. - -The correct url for this configuration is `http:/myapp.com/#!/myView` (note the `'!'` after `'#'` symbol). diff --git a/docs/content/error/location/ipthprfx.ngdoc b/docs/content/error/location/ipthprfx.ngdoc deleted file mode 100644 index afbcda3f7fdc..000000000000 --- a/docs/content/error/location/ipthprfx.ngdoc +++ /dev/null @@ -1,8 +0,0 @@ -@ngdoc error -@name $location:ipthprfx -@fullName Invalid or Missing Path Prefix -@description - -This error occurs when you configure the {@link api/ng.$location `$location`} service in the html5 mode, specify a base url for your application via `` element and try to update the location with a path that doesn't match the base prefix. - -To resolve this issue, please check the base url specified via the `` tag in the head of your main html document, as well as the url that you tried to set the location to. diff --git a/docs/content/error/ng/aobj.ngdoc b/docs/content/error/ng/aobj.ngdoc new file mode 100644 index 000000000000..101fb172393b --- /dev/null +++ b/docs/content/error/ng/aobj.ngdoc @@ -0,0 +1,7 @@ +@ngdoc error +@name ng:aobj +@fullName Invalid Argument +@description + +The argument passed should be an object. Check the value that was passed to the function where +this error was thrown. diff --git a/docs/content/error/ng/areq.ngdoc b/docs/content/error/ng/areq.ngdoc index fbc45d8a13f2..5a6984f17c33 100644 --- a/docs/content/error/ng/areq.ngdoc +++ b/docs/content/error/ng/areq.ngdoc @@ -3,6 +3,9 @@ @fullName Bad Argument @description -AngularJS often asserts that certain values will be present and truthy using a -helper function. If the assertion fails, this error is thrown. To fix this problem, -make sure that the value the assertion expects is defined and truthy. \ No newline at end of file +AngularJS often asserts that certain values will be present and truthy using a helper function. If +the assertion fails, this error is thrown. To fix this problem, make sure that the value the +assertion expects is defined and matches the type mentioned in the error. + +If the type is `undefined`, make sure any newly added controllers/directives/services are properly +defined and included in the script(s) loaded by your page. diff --git a/docs/content/error/ng/badname.ngdoc b/docs/content/error/ng/badname.ngdoc index 5d3a6f616981..c6a38ae7e58e 100644 --- a/docs/content/error/ng/badname.ngdoc +++ b/docs/content/error/ng/badname.ngdoc @@ -3,6 +3,6 @@ @fullName Bad `hasOwnProperty` Name @description -Occurs when you try to use the name `hasOwnProperty` in a context where it is not allow. +Occurs when you try to use the name `hasOwnProperty` in a context where it is not allowed. Generally, a name cannot be `hasOwnProperty` because it is used, internally, on a object -and allowing such a name would break lookups on this object. \ No newline at end of file +and allowing such a name would break lookups on this object. diff --git a/docs/content/error/ng/btstrpd.ngdoc b/docs/content/error/ng/btstrpd.ngdoc index 401e276720fa..97af898b2caa 100644 --- a/docs/content/error/ng/btstrpd.ngdoc +++ b/docs/content/error/ng/btstrpd.ngdoc @@ -3,9 +3,11 @@ @fullName App Already Bootstrapped with this Element @description -Occurs when calling angular.bootstrap on an element that has already been bootstrapped. +Occurs when calling {@link angular.bootstrap} on an element that has already been bootstrapped. + +This usually happens when you accidentally use both `ng-app` and `angular.bootstrap` to bootstrap an +application. -This usually happens when you accidentally use both `ng-app` and `angular.bootstrap` to bootstrap an application. ``` @@ -18,7 +20,9 @@ This usually happens when you accidentally use both `ng-app` and `angular.bootst ``` -Note that for bootrapping purposes, the `` element is the same as `document`, so the following will also throw an error. +Note that for bootstrapping purposes, the `` element is the same as `document`, so the following +will also throw an error. + ``` ... @@ -27,3 +31,22 @@ Note that for bootrapping purposes, the `` element is the same as `documen ``` + +You can also get this error if you accidentally load AngularJS itself more than once. + +``` + + + + + ... + + + + + ... + + + + +``` diff --git a/docs/content/error/ng/cpi.ngdoc b/docs/content/error/ng/cpi.ngdoc index 5d41ee641fa7..dc65cead2e41 100644 --- a/docs/content/error/ng/cpi.ngdoc +++ b/docs/content/error/ng/cpi.ngdoc @@ -4,7 +4,7 @@ @description This error occurs when attempting to copy an object to itself. Calling {@link -api/angular.copy angular.copy} with a `destination` object deletes +angular.copy angular.copy} with a `destination` object deletes all of the elements or properties on `destination` before copying to it. Copying an object to itself is not supported. Make sure to check your calls to -`angular.copy` and avoid copying objects or arrays to themselves. \ No newline at end of file +`angular.copy` and avoid copying objects or arrays to themselves. diff --git a/docs/content/error/ng/cpta.ngdoc b/docs/content/error/ng/cpta.ngdoc new file mode 100644 index 000000000000..8dd43bc7c879 --- /dev/null +++ b/docs/content/error/ng/cpta.ngdoc @@ -0,0 +1,7 @@ +@ngdoc error +@name ng:cpta +@fullName Copying TypedArray +@description + +Copying TypedArray's with a destination is not supported because TypedArray +objects can not be mutated, they are fixed length. diff --git a/docs/content/error/ng/cpws.ngdoc b/docs/content/error/ng/cpws.ngdoc index 59b9ffac80c0..6d81bc3ad773 100644 --- a/docs/content/error/ng/cpws.ngdoc +++ b/docs/content/error/ng/cpws.ngdoc @@ -7,4 +7,4 @@ Copying Window or Scope instances is not supported because of cyclical and self references. Avoid copying windows and scopes, as well as any other cyclical or self-referential structures. Note that trying to deep copy an object containing cyclical references that is neither a window nor a scope will cause infinite -recursion and a stack overflow. \ No newline at end of file +recursion and a stack overflow. diff --git a/docs/content/error/ng/test.ngdoc b/docs/content/error/ng/test.ngdoc new file mode 100644 index 000000000000..7088f5c8ee43 --- /dev/null +++ b/docs/content/error/ng/test.ngdoc @@ -0,0 +1,9 @@ +@ngdoc error +@name ng:test +@fullName Testability Not Found +@description + +AngularJS's testability helper, getTestability, requires a root element to be +passed in. This helps differentiate between different AngularJS apps on the same +page. This error is thrown when no injector is found for root element. It is +often because the root element is outside of the ng-app. diff --git a/docs/content/error/ngModel/constexpr.ngdoc b/docs/content/error/ngModel/constexpr.ngdoc new file mode 100644 index 000000000000..7196d1201b28 --- /dev/null +++ b/docs/content/error/ngModel/constexpr.ngdoc @@ -0,0 +1,21 @@ +@ngdoc error +@name ngModel:constexpr +@fullName Non-Constant Expression +@description + +Some attributes used in conjunction with ngModel (such as ngTrueValue or ngFalseValue) will only +accept constant expressions. + +Examples using constant expressions include: + +``` + + +``` + +Examples of non-constant expressions include: + +``` + + +``` diff --git a/docs/content/error/ngModel/datefmt.ngdoc b/docs/content/error/ngModel/datefmt.ngdoc new file mode 100644 index 000000000000..0e174251ad08 --- /dev/null +++ b/docs/content/error/ngModel/datefmt.ngdoc @@ -0,0 +1,11 @@ +@ngdoc error +@name ngModel:datefmt +@fullName Model is not a date object +@description + +All date-related inputs like `` require the model to be a `Date` object. +If the model is something else, this error will be thrown. +AngularJS does not set validation errors on the `` in this case +as those errors are shown to the user, but the erroneous state was +caused by incorrect application logic and not by the user. + diff --git a/docs/content/error/ngModel/nonassign.ngdoc b/docs/content/error/ngModel/nonassign.ngdoc index 33894c49b161..cc6e3f716608 100644 --- a/docs/content/error/ngModel/nonassign.ngdoc +++ b/docs/content/error/ngModel/nonassign.ngdoc @@ -3,7 +3,7 @@ @fullName Non-Assignable Expression @description -This error occurs when expression the {@link api/ng.directive:ngModel ngModel} directive is bound to is a non-assignable expression. +This error occurs when expression the {@link ng.directive:ngModel ngModel} directive is bound to is a non-assignable expression. Examples using assignable expressions include: @@ -24,4 +24,4 @@ Examples of non-assignable expressions include: Always make sure that the expression bound via `ngModel` directive can be assigned to. -For more information, see the {@link api/ng.directive:ngModel ngModel API doc}. +For more information, see the {@link ng.directive:ngModel ngModel API doc}. diff --git a/docs/content/error/ngModel/nopromise.ngdoc b/docs/content/error/ngModel/nopromise.ngdoc new file mode 100644 index 000000000000..e20cc4e980a5 --- /dev/null +++ b/docs/content/error/ngModel/nopromise.ngdoc @@ -0,0 +1,28 @@ +@ngdoc error +@name ngModel:nopromise +@fullName No promise +@description + +The return value of an async validator, must always be a promise. If you want to return a +non-promise value, you can convert it to a promise using {@link ng.$q#resolve `$q.resolve()`} or +{@link ng.$q#reject `$q.reject()`}. + +Example: + +``` +.directive('asyncValidator', function($q) { + return { + require: 'ngModel', + link: function(scope, elem, attrs, ngModel) { + ngModel.$asyncValidators.myAsyncValidation = function(modelValue, viewValue) { + if (/* I don't need to hit the backend API */) { + return $q.resolve(); // to mark as valid or + // return $q.reject(); // to mark as invalid + } else { + // ...send a request to the backend and return a promise + } + }; + } + }; +}) +``` diff --git a/docs/content/error/ngModel/numfmt.ngdoc b/docs/content/error/ngModel/numfmt.ngdoc new file mode 100644 index 000000000000..5eee0c34337c --- /dev/null +++ b/docs/content/error/ngModel/numfmt.ngdoc @@ -0,0 +1,56 @@ +@ngdoc error +@name ngModel:numfmt +@fullName Model is not of type `number` +@description + +The `input[number]` and `input[range]` directives require the model to be a `number`. + +If the model is something else, this error will be thrown. + +AngularJS does not set validation errors on the `` in this case +as this error is caused by incorrect application logic and not by bad input from the user. + +If your model does not contain actual numbers then it is up to the application developer +to use a directive that will do the conversion in the `ngModel` `$formatters` and `$parsers` +pipeline. + +## Example + +In this example, our model stores the number as a string, so we provide the `stringToNumber` +directive to convert it into the format the `input[number]` directive expects. + + + + + + + + +
    + {{ x }} : {{ typeOf(x) }} +
    +
    + + angular.module('numfmt-error-module', []) + + .run(function($rootScope) { + $rootScope.typeOf = function(value) { + return typeof value; + }; + }) + + .directive('stringToNumber', function() { + return { + require: 'ngModel', + link: function(scope, element, attrs, ngModel) { + ngModel.$parsers.push(function(value) { + return '' + value; + }); + ngModel.$formatters.push(function(value) { + return parseFloat(value); + }); + } + }; + }); + +
    diff --git a/docs/content/error/ngOptions/iexp.ngdoc b/docs/content/error/ngOptions/iexp.ngdoc index a4515048583e..47f387d8e8d7 100644 --- a/docs/content/error/ngOptions/iexp.ngdoc +++ b/docs/content/error/ngOptions/iexp.ngdoc @@ -10,4 +10,4 @@ Here's an example of correct syntax: + +
    + [{{ item.id }}] {{ item.name }} +
    +``` + +You could as well convert the object to an array using a filter such as +[toArrayFilter](https://github.com/petebacondarwin/angular-toArrayFilter): +```html + +
    + [{{ item.id }}] {{ item.name }} +
    +``` diff --git a/docs/content/error/parse/isecdom.ngdoc b/docs/content/error/parse/isecdom.ngdoc deleted file mode 100644 index 666bf36cb468..000000000000 --- a/docs/content/error/parse/isecdom.ngdoc +++ /dev/null @@ -1,16 +0,0 @@ -@ngdoc error -@name $parse:isecdom -@fullName Referencing a DOM node in Expression -@description - -Occurs when an expression attempts to access a DOM node. - -AngularJS restricts access to DOM nodes from within expressions since it's a known way to -execute arbitrary Javascript code. - -This check is only performed on object index and function calls in Angular expressions. These are -places that are harder for the developer to guard. Dotted member access (such as a.b.c) does not -perform this check - it's up to the developer to not expose such sensitive and powerful objects -directly on the scope chain. - -To resolve this error, avoid access to DOM nodes. diff --git a/docs/content/error/parse/isecfld.ngdoc b/docs/content/error/parse/isecfld.ngdoc deleted file mode 100644 index f9acc19d4f3b..000000000000 --- a/docs/content/error/parse/isecfld.ngdoc +++ /dev/null @@ -1,18 +0,0 @@ -@ngdoc error -@name $parse:isecfld -@fullName Referencing 'constructor' Field in Expression -@description - -Occurs when an expression attempts to access an objects constructor field. - -AngularJS bans constructor access from within expressions since constructor -access is a known way to execute arbitrary Javascript code. - -To resolve this error, avoid constructor access. As a last resort, alias -the constructor and access it through the alias instead. - -Example expression that would result in this error: - -``` -
    {{user.constructor.name}}
    -``` diff --git a/docs/content/error/parse/isecfn.ngdoc b/docs/content/error/parse/isecfn.ngdoc deleted file mode 100644 index 417551cb3606..000000000000 --- a/docs/content/error/parse/isecfn.ngdoc +++ /dev/null @@ -1,10 +0,0 @@ -@ngdoc error -@name $parse:isecfn -@fullName Referencing Function Disallowed -@description - -Occurs when an expression attempts to access the 'Function' object (constructor for all functions in JavaScript). - -Angular bans access to Function from within expressions since constructor access is a known way to execute arbitrary Javascript code. - -To resolve this error, avoid Function access. diff --git a/docs/content/error/parse/isecwindow.ngdoc b/docs/content/error/parse/isecwindow.ngdoc deleted file mode 100644 index 81adeea07ad2..000000000000 --- a/docs/content/error/parse/isecwindow.ngdoc +++ /dev/null @@ -1,16 +0,0 @@ -@ngdoc error -@name $parse:isecwindow -@fullName Referencing Window object in Expression -@description - -Occurs when an expression attempts to access a Window object. - -AngularJS restricts access to the Window object from within expressions since it's a known way to -execute arbitrary Javascript code. - -This check is only performed on object index and function calls in Angular expressions. These are -places that are harder for the developer to guard. Dotted member access (such as a.b.c) does not -perform this check - it's up to the developer to not expose such sensitive and powerful objects -directly on the scope chain. - -To resolve this error, avoid Window access. diff --git a/docs/content/error/parse/lexerr.ngdoc b/docs/content/error/parse/lexerr.ngdoc deleted file mode 100644 index 2a40d9399fb0..000000000000 --- a/docs/content/error/parse/lexerr.ngdoc +++ /dev/null @@ -1,10 +0,0 @@ -@ngdoc error -@name $parse:lexerr -@fullName Lexer Error -@description - -Occurs when an expression has a lexical error, for example a malformed number (0.5e-) or an invalid unicode escape. - -The error message contains a more precise error. - -To resolve, learn more about {@link guide/expression Angular expressions}, identify the error and fix the expression's syntax. diff --git a/docs/content/error/parse/syntax.ngdoc b/docs/content/error/parse/syntax.ngdoc deleted file mode 100644 index 1af212f18288..000000000000 --- a/docs/content/error/parse/syntax.ngdoc +++ /dev/null @@ -1,9 +0,0 @@ -@ngdoc error -@name $parse:syntax -@fullName Syntax Error -@description - -Occurs when there is a syntax error in an expression. These errors are thrown while compiling the expression. -The error message contains a more precise description of the error, including the location (column) in the expression where the error occurred. - -To resolve, learn more about {@link guide/expression Angular expressions}, identify the error and fix the expression's syntax. diff --git a/docs/content/error/parse/ueoe.ngdoc b/docs/content/error/parse/ueoe.ngdoc deleted file mode 100644 index 97535a317416..000000000000 --- a/docs/content/error/parse/ueoe.ngdoc +++ /dev/null @@ -1,9 +0,0 @@ -@ngdoc error -@name $parse:ueoe -@fullName Unexpected End of Expression -@description - -Occurs when an expression is missing tokens at the end of the expression. -For example, forgetting a closing bracket in an expression will trigger this error. - -To resolve, learn more about {@link guide/expression Angular expressions}, identify the error and fix the expression's syntax. diff --git a/docs/content/error/resource/badargs.ngdoc b/docs/content/error/resource/badargs.ngdoc deleted file mode 100644 index a9a3f213bf46..000000000000 --- a/docs/content/error/resource/badargs.ngdoc +++ /dev/null @@ -1,9 +0,0 @@ -@ngdoc error -@name $resource:badargs -@fullName Too Many Arguments -@description - -This error occurs when specifying too many arguments to a {@link api/ngResource.$resource `$resource`} action, such as `get`, `query` or any user-defined custom action. -These actions may take up to 4 arguments. - -For more information, refer to the {@link api/ngResource.$resource `$resource`} API reference documentation. diff --git a/docs/content/error/resource/badcfg.ngdoc b/docs/content/error/resource/badcfg.ngdoc deleted file mode 100644 index 82e875048dbd..000000000000 --- a/docs/content/error/resource/badcfg.ngdoc +++ /dev/null @@ -1,11 +0,0 @@ -@ngdoc error -@name $resource:badcfg -@fullName Response does not match configured parameter -@description - -This error occurs when the {@link api/ngResource.$resource `$resource`} service expects a response that can be deserialized as an array, receives an object, or vice versa. -By default, all resource actions expect objects, except `query` which expects arrays. - -To resolve this error, make sure your `$resource` configuration matches the actual format of the data returned from the server. - -For more information, see the {@link api/ngResource.$resource `$resource`} API reference documentation. diff --git a/docs/content/error/rootScope/infdig.ngdoc b/docs/content/error/rootScope/infdig.ngdoc deleted file mode 100644 index 137bc120e919..000000000000 --- a/docs/content/error/rootScope/infdig.ngdoc +++ /dev/null @@ -1,17 +0,0 @@ -@ngdoc error -@name $rootScope:infdig -@fullName Infinite $digest Loop -@description - -This error occurs when the application's model becomes unstable and each `$digest` cycle triggers a state change and subsequent `$digest` cycle. -Angular detects this situation and prevents an infinite loop from causing the browser to become unresponsive. - -For example, the situation can occur by setting up a watch on a path and subsequently updating the same path when the value changes. - -``` -$scope.$watch('foo', function() { - $scope.foo = $scope.foo + 1; -}); -``` - -The maximum number of allowed iterations of the `$digest` cycle is controlled via TTL setting which can be configured via {@link api/ng.$rootScopeProvider $rootScopeProvider}. diff --git a/docs/content/error/rootScope/inprog.ngdoc b/docs/content/error/rootScope/inprog.ngdoc deleted file mode 100644 index c3f42c12ad85..000000000000 --- a/docs/content/error/rootScope/inprog.ngdoc +++ /dev/null @@ -1,74 +0,0 @@ -@ngdoc error -@name $rootScope:inprog -@fullName Action Already In Progress -@description - -At any point in time there can be only one `$digest` or $apply operation in progress. -The stack trace of this error allows you to trace the origin of the currently executing $apply or $digest call. - -`$digest` or `$apply` are processing operational states of the Scope - data-structure in Angular that provides context for models and enables model mutation observation. - -Trying to reenter a `$digest` or `$apply` while one of them is already in progress is typically a sign of programming error that needs to be fixed. - -This error is often seen when interacting with an API that is sometimes sync and sometimes async. - -For example: - -``` -function MyController() { - thirdPartyComponent.getData(function(someData) { - scope.$apply(function() { - scope.someData = someData; - }); - }); -} -``` - -The controller constructor is always instantiated from within an $apply cycle, so if the third-party component called our callback synchronously, we'd be trying to enter the $apply again. - -To resolve this type of issue, either fix the api to be always synchronous or asynchronous or wrap the call to the api with setTimeout call to make it always asynchronous. - - -Other situation that leads to this error is when you are trying to reuse a function to by using it as a callback for code that is called by various apis inside and outside of $apply. - -For example: - -``` -myApp.directive('myDirective', function() { - return { - link: function($scope, $element) { - function doSomeWork() { - $scope.$apply(function() { - // do work here, and update the model - }; - } - - $element.on('click', doSomeWork); - doSomeWork(); // << this will throw an exception because templates are compiled within $apply - } - } -}); - -``` - -The fix for the example above looks like this: -``` -myApp.directive('myDirective', function() { - return { - link: function($scope, $element) { - function doSomeWork() { - // do work here, and update the model - } - - $element.on('click', function() { - $scope.$apply(doSomeWork); // <<< the $apply call was moved to the callsite that doesn't execute in $apply call already - }); - - doSomeWork(); - } - } -}); - -``` - -To learn more about Angular processing model please check out the {@link guide/concepts concepts doc} as well as the {@link api/ng.$rootScope.Scope api} doc. diff --git a/docs/content/error/sanitize/badparse.ngdoc b/docs/content/error/sanitize/badparse.ngdoc deleted file mode 100644 index d07c6d62a403..000000000000 --- a/docs/content/error/sanitize/badparse.ngdoc +++ /dev/null @@ -1,11 +0,0 @@ -@ngdoc error -@name $sanitize:badparse -@fullName Parsing Error while Sanitizing -@description - -This error occurs when the HTML string passed to '$sanitize' can't be parsed by the sanitizer. -The error contains part of the html string that can't be parsed. - -The parser is more strict than a typical browser parser, so it's possible that some obscure input would produce this error despite the string being recognized as valid HTML by a browser. - -If a valid html code results in this error, please file a bug. diff --git a/docs/content/error/sce/icontext.ngdoc b/docs/content/error/sce/icontext.ngdoc deleted file mode 100644 index 3ce8eccd1a0f..000000000000 --- a/docs/content/error/sce/icontext.ngdoc +++ /dev/null @@ -1,8 +0,0 @@ -@ngdoc error -@name $sce:icontext -@fullName Invalid / Unknown SCE context -@description - -The context enum passed to {@link api/ng.$sce#methods_trustAs $sce.trustAs} was not recognized. - -Please consult the list of {@link api/ng.$sce#contexts supported Strict Contextual Escaping (SCE) contexts}. diff --git a/docs/content/error/sce/iequirks.ngdoc b/docs/content/error/sce/iequirks.ngdoc deleted file mode 100644 index b63e540bebde..000000000000 --- a/docs/content/error/sce/iequirks.ngdoc +++ /dev/null @@ -1,15 +0,0 @@ -@ngdoc error -@name $sce:iequirks -@fullName IE8 in quirks mode is unsupported -@description - -This error occurs when you are using AngularJS with {@link api/ng.$sce Strict Contextual Escaping (SCE)} mode enabled (the default) on IE8 or lower in quirks mode. - -In this mode, IE8 allows one to execute arbitrary javascript by the use of the `expression()` syntax and is not supported. -Refer {@link http://blogs.msdn.com/b/ie/archive/2008/10/16/ending-expressions.aspx MSDN Blogs > IEBlog > Ending Expressions} to learn more about them. - -To resolve this error please specify the proper doctype at the top of your main html document: - -``` - -``` diff --git a/docs/content/error/sce/imatcher.ngdoc b/docs/content/error/sce/imatcher.ngdoc deleted file mode 100644 index 86d27f139a5c..000000000000 --- a/docs/content/error/sce/imatcher.ngdoc +++ /dev/null @@ -1,9 +0,0 @@ -@ngdoc error -@name $sce:imatcher -@fullName Invalid matcher (only string patterns and RegExp instances are supported) -@description - -Please see {@link api/ng.$sceDelegateProvider#methods_resourceUrlWhitelist -$sceDelegateProvider.resourceUrlWhitelist} and {@link -api/ng.$sceDelegateProvider#methods_resourceUrlBlacklist $sceDelegateProvider.resourceUrlBlacklist} for the -list of acceptable items. diff --git a/docs/content/error/sce/insecurl.ngdoc b/docs/content/error/sce/insecurl.ngdoc deleted file mode 100644 index e7c610108beb..000000000000 --- a/docs/content/error/sce/insecurl.ngdoc +++ /dev/null @@ -1,26 +0,0 @@ -@ngdoc error -@name $sce:insecurl -@fullName Processing of a Resource from Untrusted Source Blocked -@description - -AngularJS' {@link api/ng.$sce Strict Contextual Escaping (SCE)} mode (enabled by default) has blocked loading a resource from an insecure URL. - -Typically, this would occur if you're attempting to load an Angular template from an untrusted source. -It's also possible that a custom directive threw this error for a similar reason. - -Angular only loads templates from trusted URLs (by calling {@link api/ng.$sce#methods_getTrustedResourceUrl $sce.getTrustedResourceUrl} on the template URL). - -By default, only URLs that belong to the same origin are trusted. These are urls with the same domain and protocol as the application document. - -The {@link api/ng.directive:ngInclude ngInclude} directive and {@link guide/directive directives} that specify a `templateUrl` require a trusted resource URL. - -To load templates from other domains and/or protocols, either adjust the {@link -api/ng.$sceDelegateProvider#methods_resourceUrlWhitelist whitelist}/ {@link -api/ng.$sceDelegateProvider#methods_resourceUrlBlacklist blacklist} or wrap the URL with a call to {@link -api/ng.$sce#methods_trustAsResourceUrl $sce.trustAsResourceUrl}. - -**Note**: The browser's {@link -https://code.google.com/p/browsersec/wiki/Part2#Same-origin_policy_for_XMLHttpRequest Same Origin -Policy} and {@link http://www.w3.org/TR/cors/ Cross-Origin Resource Sharing (CORS)} policy apply -that may further restrict whether the template is successfully loaded. (e.g. neither cross-domain -requests won't work on all browsers nor `file://` requests on some browsers) diff --git a/docs/content/error/sce/itype.ngdoc b/docs/content/error/sce/itype.ngdoc deleted file mode 100644 index 04106afaf438..000000000000 --- a/docs/content/error/sce/itype.ngdoc +++ /dev/null @@ -1,8 +0,0 @@ -@ngdoc error -@name $sce:itype -@fullName String Value is Required for SCE Trust Call -@description - -{@link api/ng.$sce#methods_trustAs $sce.trustAs} requires a string value. - -Read more about {@link api/ng.$sce Strict Contextual Escaping (SCE)} in AngularJS. diff --git a/docs/content/error/sce/iwcard.ngdoc b/docs/content/error/sce/iwcard.ngdoc deleted file mode 100644 index 4b0b51920575..000000000000 --- a/docs/content/error/sce/iwcard.ngdoc +++ /dev/null @@ -1,9 +0,0 @@ -@ngdoc error -@name $sce:iwcard -@fullName The sequence *** is not a valid pattern wildcard -@description - -The strings in {@link api/ng.$sceDelegateProvider#methods_resourceUrlWhitelist -$sceDelegateProvider.resourceUrlWhitelist} and {@link -api/ng.$sceDelegateProvider#methods_resourceUrlBlacklist $sceDelegateProvider.resourceUrlBlacklist} may not -contain the undefined sequence `***`. Only `*` and `**` wildcard patterns are defined. diff --git a/docs/content/error/sce/unsafe.ngdoc b/docs/content/error/sce/unsafe.ngdoc deleted file mode 100644 index 7ebd2c0c8899..000000000000 --- a/docs/content/error/sce/unsafe.ngdoc +++ /dev/null @@ -1,15 +0,0 @@ -@ngdoc error -@name $sce:unsafe -@fullName Require a safe/trusted value -@description - -The value provided for use in a specific context was not found to be safe/trusted for use. - -Angular's {@link api/ng.$sce Strict Contextual Escaping (SCE)} mode -(enabled by default), requires bindings in certain -contexts to result in a value that is trusted as safe for use in such a context. (e.g. loading an -Angular template from a URL requires that the URL is one considered safe for loading resources.) - -This helps prevent XSS and other security issues. Read more at {@link -api/ng.$sce Strict Contextual Escaping (SCE)} - diff --git a/docs/content/guide/$location.ngdoc b/docs/content/guide/$location.ngdoc new file mode 100644 index 000000000000..66f79fab9ac8 --- /dev/null +++ b/docs/content/guide/$location.ngdoc @@ -0,0 +1,805 @@ +@ngdoc overview +@name Using $location +@sortOrder 500 +@description + +# Using the `$location` service + +The `$location` service parses the URL in the browser address bar (based on [`window.location`](https://developer.mozilla.org/en/window.location)) and makes the URL available to +your application. Changes to the URL in the address bar are reflected into the `$location` service and +changes to `$location` are reflected into the browser address bar. + +**The $location service:** + +- Exposes the current URL in the browser address bar, so you can + - Watch and observe the URL. + - Change the URL. +- Maintains synchronization between itself and the browser's URL when the user + - Changes the address in the browser's address bar. + - Clicks the back or forward button in the browser (or clicks a History link). + - Clicks on a link in the page. +- Represents the URL object as a set of methods (protocol, host, port, path, search, hash). + + +## Comparing `$location` to `window.location` + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    window.location$location service
    purposeallow read/write access to the current browser locationsame
    APIexposes "raw" object with properties that can be directly modifiedexposes jQuery-style getters and setters
    integration with AngularJS application life-cyclenoneknows about all internal life-cycle phases, integrates with {@link ng.$rootScope.Scope#$watch $watch}, ...
    seamless integration with HTML5 APInoyes (with a fallback for legacy browsers)
    aware of docroot/context from which the application is loadedno - window.location.pathname returns "/docroot/actual/path"yes - $location.path() returns "/actual/path"
    + +## When should I use `$location`? +Any time your application needs to react to a change in the current URL or if you want to change +the current URL in the browser. + +## What does it not do? +It does not cause a full page reload when the browser URL is changed. To reload the page after +changing the URL, use the lower-level API, `$window.location.href`. + +## General overview of the API + +The `$location` service can behave differently, depending on the configuration that was provided to +it when it was instantiated. The default configuration is suitable for many applications, for +others customizing the configuration can enable new features. + +Once the `$location` service is instantiated, you can interact with it via jQuery-style getter and +setter methods that allow you to get or change the current URL in the browser. + +### `$location` service configuration + +To configure the `$location` service, retrieve the +{@link ng.$locationProvider $locationProvider} and set the parameters as follows: + + +- **html5Mode(mode)**: `{boolean|Object}`
    + `false` or `{enabled: false}` (default) - + see [Hashbang mode](guide/$location#hashbang-mode-default-mode-)
    + `true` or `{enabled: true}` - + see [HTML5 mode](guide/$location#html5-mode)
    + `{..., requireBase: true/false}` (only affects HTML5 mode) - + see [Relative links](guide/$location#relative-links)
    + `{..., rewriteLinks: true/false/'string'}` (only affects HTML5 mode) - + see [HTML link rewriting](guide/$location#html-link-rewriting)
    + Default: + ```j + { + enabled: false, + requireBase: true, + rewriteLinks: true + } + ``` + +- **hashPrefix(prefix)**: `{string}`
    + Prefix used for Hashbang URLs (used in Hashbang mode or in legacy browsers in HTML5 mode).
    + Default: `'!'` + +#### Example configuration +```js +$locationProvider.html5Mode(true).hashPrefix('*'); +``` + +### Getter and setter methods + +`$location` service provides getter methods for read-only parts of the URL (absUrl, protocol, host, +port) and getter / setter methods for url, path, search, hash: +```js +// get the current path +$location.path(); + +// change the path +$location.path('/newValue') +``` + +All of the setter methods return the same `$location` object to allow chaining. For example, to +change multiple segments in one go, chain setters like this: + +```js +$location.path('/newValue').search({key: value}); +``` + +### Replace method + +There is a special `replace` method which can be used to tell the $location service that the next +time the $location service is synced with the browser, the last history record should be replaced +instead of creating a new one. This is useful when you want to implement redirection, which would +otherwise break the back button (navigating back would retrigger the redirection). To change the +current URL without creating a new browser history record you can call: + +```js + $location.path('/someNewPath'); + $location.replace(); + // or you can chain these as: $location.path('/someNewPath').replace(); +``` + +Note that the setters don't update `window.location` immediately. Instead, the `$location` service is +aware of the {@link ng.$rootScope.Scope scope} life-cycle and coalesces multiple `$location` +mutations into one "commit" to the `window.location` object during the scope `$digest` phase. Since +multiple changes to the $location's state will be pushed to the browser as a single change, it's +enough to call the `replace()` method just once to make the entire "commit" a replace operation +rather than an addition to the browser history. Once the browser is updated, the $location service +resets the flag set by `replace()` method and future mutations will create new history records, +unless `replace()` is called again. + +### Setters and character encoding +You can pass special characters to `$location` service and it will encode them according to rules +specified in [RFC 3986](http://www.ietf.org/rfc/rfc3986.txt). When you access the methods: + +- All values that are passed to `$location` setter methods, `path()`, `search()`, `hash()`, are +encoded. +- Getters (calls to methods without parameters) return decoded values for the following methods +`path()`, `search()`, `hash()`. +- When you call the `absUrl()` method, the returned value is a full url with its segments encoded. +- When you call the `url()` method, the returned value is path, search and hash, in the form +`/path?search=a&b=c#hash`. The segments are encoded as well. + + +## Hashbang and HTML5 Modes + +`$location` service has two configuration modes which control the format of the URL in the browser +address bar: **Hashbang mode** (the default) and the **HTML5 mode** which is based on using the +[HTML5 History API](https://html.spec.whatwg.org/multipage/browsers.html#the-history-interface). Applications use the same API in +both modes and the `$location` service will work with appropriate URL segments and browser APIs to +facilitate the browser URL change and history management. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Hashbang modeHTML5 mode
    configurationthe default{ html5Mode: true }
    URL formathashbang URLs in all browsersregular URLs in modern browser, hashbang URLs in old browser
    <a href=""> link rewritingnoyes
    requires server-side configurationnoyes
    + +### Hashbang mode (default mode) + +In this mode, `$location` uses Hashbang URLs in all browsers. +AngularJS also does not intercept and rewrite links in this mode. I.e. links work +as expected and also perform full page reloads when other parts of the url +than the hash fragment was changed. + + +#### Example + +```js +it('should show example', function() { + module(function($locationProvider) { + $locationProvider.html5Mode(false); + $locationProvider.hashPrefix('!'); + }); + inject(function($location) { + // open http://example.com/base/index.html#!/a + expect($location.absUrl()).toBe('http://example.com/base/index.html#!/a'); + expect($location.path()).toBe('/a'); + + $location.path('/foo'); + expect($location.absUrl()).toBe('http://example.com/base/index.html#!/foo'); + + expect($location.search()).toEqual({}); + $location.search({a: 'b', c: true}); + expect($location.absUrl()).toBe('http://example.com/base/index.html#!/foo?a=b&c'); + + $location.path('/new').search('x=y'); + expect($location.absUrl()).toBe('http://example.com/base/index.html#!/new?x=y'); + }); +}); +``` + +### HTML5 mode + +In HTML5 mode, the `$location` service getters and setters interact with the browser URL address +through the HTML5 history API. This allows for use of regular URL path and search segments, +instead of their hashbang equivalents. If the HTML5 History API is not supported by a browser, the +`$location` service will fall back to using the hashbang URLs automatically. This frees you from +having to worry about whether the browser displaying your app supports the history API or not; the +`$location` service transparently uses the best available option. + +- Opening a regular URL in a legacy browser -> redirects to a hashbang URL +- Opening hashbang URL in a modern browser -> rewrites to a regular URL + +Note that in this mode, AngularJS intercepts all links (subject to the "Html link rewriting" rules below) +and updates the url in a way that never performs a full page reload. + + +#### Example + +```js +it('should show example', function() { + module(function($locationProvider) { + $locationProvider.html5Mode(true); + $locationProvider.hashPrefix('!'); + }); + inject(function($location) { + // in browser with HTML5 history support: + // open http://example.com/#!/a -> rewrite to http://example.com/a + // (replacing the http://example.com/#!/a history record) + expect($location.path()).toBe('/a'); + + $location.path('/foo'); + expect($location.absUrl()).toBe('http://example.com/foo'); + + expect($location.search()).toEqual({}); + $location.search({a: 'b', c: true}); + expect($location.absUrl()).toBe('http://example.com/foo?a=b&c'); + + $location.path('/new').search('x=y'); + expect($location.url()).toBe('/new?x=y'); + expect($location.absUrl()).toBe('http://example.com/new?x=y'); + }); +}); + +it('should show example (when browser doesn\'t support HTML5 mode', function() { + module(function($provide, $locationProvider) { + $locationProvider.html5Mode(true); + $locationProvider.hashPrefix('!'); + $provide.value('$sniffer', {history: false}); + }); + inject(initBrowser({ url: 'http://example.com/new?x=y', basePath: '/' }), + function($location) { + // in browser without html5 history support: + // open http://example.com/new?x=y -> redirect to http://example.com/#!/new?x=y + // (again replacing the http://example.com/new?x=y history item) + expect($location.path()).toBe('/new'); + expect($location.search()).toEqual({x: 'y'}); + + $location.path('/foo/bar'); + expect($location.path()).toBe('/foo/bar'); + expect($location.url()).toBe('/foo/bar?x=y'); + expect($location.absUrl()).toBe('http://example.com/#!/foo/bar?x=y'); + }); +}); +``` + +#### Fallback for legacy browsers + +For browsers that support the HTML5 history API, `$location` uses the HTML5 history API to write +path and search. If the history API is not supported by a browser, `$location` supplies a Hashbang +URL. This frees you from having to worry about whether the browser viewing your app supports the +history API or not; the `$location` service makes this transparent to you. + +#### HTML link rewriting + +When you use HTML5 history API mode, you will not need special hashbang links. All you have to do +is specify regular URL links, such as: `link` + +When a user clicks on this link, + +- In a legacy browser, the URL changes to `/index.html#!/some?foo=bar` +- In a modern browser, the URL changes to `/some?foo=bar` + + +In cases like the following, links are not rewritten; instead, the browser will perform a full page +reload to the original link. + +- Links that contain `target` element
    + Example: `link` +- Absolute links that go to a different domain
    + Example: `link` +- Links starting with '/' that lead to a different base path
    + Example: `link` + +If `mode.rewriteLinks` is set to `false` in the `mode` configuration object passed to +`$locationProvider.html5Mode()`, the browser will perform a full page reload for every link. +`mode.rewriteLinks` can also be set to a string, which will enable link rewriting only on anchor +elements that have the given attribute. + +For example, if `mode.rewriteLinks` is set to `'internal-link'`: +- `link` will be rewritten +- `link` will perform a full page reload + +Note that [attribute name normalization](guide/directive#normalization) does not apply here, so +`'internalLink'` will **not** match `'internal-link'`. + + +#### Relative links + +Be sure to check all relative links, images, scripts etc. AngularJS requires you to specify the url +base in the head of your main html file (``) unless `html5Mode.requireBase` +is set to `false` in the html5Mode definition object passed to `$locationProvider.html5Mode()`. With +that, relative urls will always be resolved to this base url, even if the initial url of the +document was different. + +There is one exception: Links that only contain a hash fragment (e.g. ``) +will only change `$location.hash()` and not modify the url otherwise. This is useful for scrolling +to anchors on the same page without needing to know on which page the user currently is. + + +#### Server side + +Using this mode requires URL rewriting on server side, basically you have to rewrite all your links +to entry point of your application (e.g. index.html). Requiring a `` tag is also important for +this case, as it allows AngularJS to differentiate between the part of the url that is the application +base and the path that should be handled by the application. + +#### Base href constraints + +The `$location` service is not able to function properly if the current URL is outside the URL given +as the base href. This can have subtle confusing consequences... + +Consider a base href set as follows: `` (i.e. the application exists in the "folder" +called `/base`). The URL `/base` is actually outside the application (it refers to the `base` file found +in the root `/` folder). + +If you wish to be able to navigate to the application via a URL such as `/base` then you should ensure that +your server is setup to redirect such requests to `/base/`. + +See https://github.com/angular/angular.js/issues/14018 for more information. + +### Sending links among different browsers + +Because of rewriting capability in HTML5 mode, your users will be able to open regular url links in +legacy browsers and hashbang links in modern browser: + +- Modern browser will rewrite hashbang URLs to regular URLs. +- Older browsers will redirect regular URLs to hashbang URLs. + +#### Example + +Here you can see two `$location` instances that show the difference between **Html5 mode** and **Html5 Fallback mode**. +Note that to simulate different levels of browser support, the `$location` instances are connected to +a fakeBrowser service, which you don't have to set up in actual projects. + +Note that when you type hashbang url into the first browser (or vice versa) it doesn't rewrite / +redirect to regular / hashbang url, as this conversion happens only during parsing the initial URL += on page reload. + +In these examples we use ``. The inputs represent the address bar of the browser. + +##### Browser in HTML5 mode + + + + + + angular.module('html5-mode', ['fake-browser', 'address-bar']) + + // Configure the fakeBrowser. Do not set these values in actual projects. + .constant('initUrl', 'http://www.example.com/base/path?a=b#h') + .constant('baseHref', '/base/index.html') + .value('$sniffer', { history: true }) + + .controller('LocationController', function($scope, $location) { + $scope.$location = {}; + angular.forEach('protocol host port path search hash'.split(' '), function(method) { + $scope.$location[method] = function() { + var result = $location[method](); + return angular.isObject(result) ? angular.toJson(result) : result; + }; + }); + }) + + .config(function($locationProvider) { + $locationProvider.html5Mode(true).hashPrefix('!'); + }) + + .run(function($rootElement) { + $rootElement.on('click', function(e) { e.stopPropagation(); }); + }); + + + + angular.module('fake-browser', []) + + .config(function($provide) { + $provide.decorator('$browser', function($delegate, baseHref, initUrl) { + + $delegate.onUrlChange = function(fn) { + this.urlChange = fn; + }; + + $delegate.url = function() { + return initUrl; + }; + + $delegate.defer = function(fn, delay) { + setTimeout(function() { fn(); }, delay || 0); + }; + + $delegate.baseHref = function() { + return baseHref; + }; + + return $delegate; + }); + }); + + + + angular.module('address-bar', []) + .directive('ngAddressBar', function($browser, $timeout) { + return { + template: 'Address: ', + link: function(scope, element, attrs) { + var input = element.children('input'), delay; + + input.on('keypress keyup keydown', function(event) { + delay = (!delay ? $timeout(fireUrlChange, 250) : null); + event.stopPropagation(); + }) + .val($browser.url()); + + $browser.url = function(url) { + return url ? input.val(url) : input.val(); + }; + + function fireUrlChange() { + delay = null; + $browser.urlChange(input.val()); + } + } + }; + }); + + + + + var addressBar = element(by.css("#addressBar")), + url = 'http://www.example.com/base/path?a=b#h'; + + + it("should show fake browser info on load", function() { + expect(addressBar.getAttribute('value')).toBe(url); + + expect(element(by.binding('$location.protocol()')).getText()).toBe('http'); + expect(element(by.binding('$location.host()')).getText()).toBe('www.example.com'); + expect(element(by.binding('$location.port()')).getText()).toBe('80'); + expect(element(by.binding('$location.path()')).getText()).toBe('/path'); + expect(element(by.binding('$location.search()')).getText()).toBe('{"a":"b"}'); + expect(element(by.binding('$location.hash()')).getText()).toBe('h'); + + }); + + it("should change $location accordingly", function() { + var navigation = element.all(by.css("#navigation a")); + + navigation.get(0).click(); + + expect(addressBar.getAttribute('value')).toBe("http://www.example.com/base/first?a=b"); + + expect(element(by.binding('$location.protocol()')).getText()).toBe('http'); + expect(element(by.binding('$location.host()')).getText()).toBe('www.example.com'); + expect(element(by.binding('$location.port()')).getText()).toBe('80'); + expect(element(by.binding('$location.path()')).getText()).toBe('/first'); + expect(element(by.binding('$location.search()')).getText()).toBe('{"a":"b"}'); + expect(element(by.binding('$location.hash()')).getText()).toBe(''); + + + navigation.get(1).click(); + + expect(addressBar.getAttribute('value')).toBe("http://www.example.com/base/sec/ond?flag#hash"); + + expect(element(by.binding('$location.protocol()')).getText()).toBe('http'); + expect(element(by.binding('$location.host()')).getText()).toBe('www.example.com'); + expect(element(by.binding('$location.port()')).getText()).toBe('80'); + expect(element(by.binding('$location.path()')).getText()).toBe('/sec/ond'); + expect(element(by.binding('$location.search()')).getText()).toBe('{"flag":true}'); + expect(element(by.binding('$location.hash()')).getText()).toBe('hash'); + }); + + + + + +##### Browser in HTML5 Fallback mode (Hashbang mode) + + +
    +


    +
    + $location.protocol() =
    + $location.host() =
    + $location.port() =
    + $location.path() =
    + $location.search() =
    + $location.hash() =
    +
    + +
    +
    + + angular.module('hashbang-mode', ['fake-browser', 'address-bar']) + + // Configure the fakeBrowser. Do not set these values in actual projects. + .constant('initUrl', 'http://www.example.com/base/index.html#!/path?a=b#h') + .constant('baseHref', '/base/index.html') + .value('$sniffer', { history: false }) + + .config(function($locationProvider) { + $locationProvider.html5Mode(true).hashPrefix('!'); + }) + + .controller('LocationController', function($scope, $location) { + $scope.$location = {}; + angular.forEach('protocol host port path search hash'.split(' '), function(method) { + $scope.$location[method] = function() { + var result = $location[method](); + return angular.isObject(result) ? angular.toJson(result) : result; + }; + }); + }) + + .run(function($rootElement) { + $rootElement.on('click', function(e) { + e.stopPropagation(); + }); + }); + + + + + angular.module('fake-browser', []) + + .config(function($provide) { + $provide.decorator('$browser', function($delegate, baseHref, initUrl) { + + $delegate.onUrlChange = function(fn) { + this.urlChange = fn; + }; + + $delegate.url = function() { + return initUrl; + }; + + $delegate.defer = function(fn, delay) { + setTimeout(function() { fn(); }, delay || 0); + }; + + $delegate.baseHref = function() { + return baseHref; + }; + + return $delegate; + }); + }); + + + + + angular.module('address-bar', []) + .directive('ngAddressBar', function($browser, $timeout) { + return { + template: 'Address: ', + link: function(scope, element, attrs) { + var input = element.children('input'), delay; + + input.on('keypress keyup keydown', function(event) { + delay = (!delay ? $timeout(fireUrlChange, 250) : null); + event.stopPropagation(); + }) + .val($browser.url()); + + $browser.url = function(url) { + return url ? input.val(url) : input.val(); + }; + + function fireUrlChange() { + delay = null; + $browser.urlChange(input.val()); + } + } + }; + }); + + + + + var addressBar = element(by.css("#addressBar")), + url = 'http://www.example.com/base/index.html#!/path?a=b#h'; + + it("should show fake browser info on load", function() { + expect(addressBar.getAttribute('value')).toBe(url); + + expect(element(by.binding('$location.protocol()')).getText()).toBe('http'); + expect(element(by.binding('$location.host()')).getText()).toBe('www.example.com'); + expect(element(by.binding('$location.port()')).getText()).toBe('80'); + expect(element(by.binding('$location.path()')).getText()).toBe('/path'); + expect(element(by.binding('$location.search()')).getText()).toBe('{"a":"b"}'); + expect(element(by.binding('$location.hash()')).getText()).toBe('h'); + + }); + + it("should change $location accordingly", function() { + var navigation = element.all(by.css("#navigation a")); + + navigation.get(0).click(); + + expect(addressBar.getAttribute('value')).toBe("http://www.example.com/base/index.html#!/first?a=b"); + + expect(element(by.binding('$location.protocol()')).getText()).toBe('http'); + expect(element(by.binding('$location.host()')).getText()).toBe('www.example.com'); + expect(element(by.binding('$location.port()')).getText()).toBe('80'); + expect(element(by.binding('$location.path()')).getText()).toBe('/first'); + expect(element(by.binding('$location.search()')).getText()).toBe('{"a":"b"}'); + expect(element(by.binding('$location.hash()')).getText()).toBe(''); + + + navigation.get(1).click(); + + expect(addressBar.getAttribute('value')).toBe("http://www.example.com/base/index.html#!/sec/ond?flag#hash"); + + expect(element(by.binding('$location.protocol()')).getText()).toBe('http'); + expect(element(by.binding('$location.host()')).getText()).toBe('www.example.com'); + expect(element(by.binding('$location.port()')).getText()).toBe('80'); + expect(element(by.binding('$location.path()')).getText()).toBe('/sec/ond'); + expect(element(by.binding('$location.search()')).getText()).toBe('{"flag":true}'); + expect(element(by.binding('$location.hash()')).getText()).toBe('hash'); + + }); + + +
    + +## Caveats + +### Page reload navigation + +The `$location` service allows you to change only the URL; it does not allow you to reload the +page. When you need to change the URL and reload the page or navigate to a different page, please +use a lower level API, {@link ng.$window $window.location.href}. + +### Using $location outside of the scope life-cycle + +`$location` knows about AngularJS's {@link ng.$rootScope.Scope scope} life-cycle. When a URL changes in +the browser it updates the `$location` and calls `$apply` so that all +{@link ng.$rootScope.Scope#$watch $watchers} / +{@link ng.$compile.directive.Attributes#$observe $observers} are notified. +When you change the `$location` inside the `$digest` phase everything is ok; `$location` will +propagate this change into browser and will notify all the {@link ng.$rootScope.Scope#$watch $watchers} / +{@link ng.$compile.directive.Attributes#$observe $observers}. +When you want to change the `$location` from outside AngularJS (for example, through a DOM Event or +during testing) - you must call `$apply` to propagate the changes. + +### $location.path() and ! or / prefixes + +A path should always begin with forward slash (`/`); the `$location.path()` setter will add the +forward slash if it is missing. + +Note that the `!` prefix in the hashbang mode is not part of `$location.path()`; it is actually +`hashPrefix`. + +### Crawling your app + +Most modern search engines are able to crawl AJAX applications with dynamic content, provided all +included resources are available to the crawler bots. + +There also exists a special +[AJAX crawling scheme](http://code.google.com/web/ajaxcrawling/docs/specification.html) developed by +Google that allows bots to crawl the static equivalent of a dynamically generated page, +but this schema has been deprecated, and support for it may vary by search engine. + +## Testing with the $location service + +When using `$location` service during testing, you are outside of the angular's {@link +ng.$rootScope.Scope scope} life-cycle. This means it's your responsibility to call `scope.$apply()`. + +```js +describe('serviceUnderTest', function() { + beforeEach(module(function($provide) { + $provide.factory('serviceUnderTest', function($location) { + // whatever it does... + }); + }); + + it('should...', inject(function($location, $rootScope, serviceUnderTest) { + $location.path('/new/path'); + $rootScope.$apply(); + + // test whatever the service should do... + + })); +}); +``` + +## Two-way binding to $location + +Because `$location` uses getters/setters, you can use `ng-model-options="{ getterSetter: true }"` +to bind it to `ngModel`: + + + +
    + +
    +
    + +angular.module('locationExample', []) + .controller('LocationController', ['$scope', '$location', function($scope, $location) { + $scope.locationPath = function(newLocation) { + return $location.path(newLocation); + }; + }]); + +
    + +## Related API + +* {@link ng.$location `$location` API} diff --git a/docs/content/guide/accessibility.ngdoc b/docs/content/guide/accessibility.ngdoc new file mode 100644 index 000000000000..29d2ccd1f146 --- /dev/null +++ b/docs/content/guide/accessibility.ngdoc @@ -0,0 +1,453 @@ +@ngdoc overview +@name Accessibility +@sortOrder 530 +@description + + +# Accessibility with ngAria + +The goal of ngAria is to improve AngularJS's default accessibility by enabling common +[ARIA](http://www.w3.org/TR/wai-aria/) attributes that convey state or semantic information for +assistive technologies used by persons with disabilities. + +## Including ngAria + +Using {@link ngAria ngAria} is as simple as requiring the ngAria module in your application. ngAria hooks into +standard AngularJS directives and quietly injects accessibility support into your application +at runtime. + +```js +angular.module('myApp', ['ngAria'])... +``` + +### Using ngAria +Most of what ngAria does is only visible "under the hood". To see the module in action, once you've +added it as a dependency, you can test a few things: + * Using your favorite element inspector, look for attributes added by ngAria in your own code. + * Test using your keyboard to ensure `tabindex` is used correctly. + * Fire up a screen reader such as VoiceOver or NVDA to check for ARIA support. +[Helpful screen reader tips.](http://webaim.org/articles/screenreader_testing/) + +## Supported directives +Currently, ngAria interfaces with the following directives: + + * {@link guide/accessibility#ngmodel ngModel} + * {@link guide/accessibility#ngdisabled ngDisabled} + * {@link guide/accessibility#ngrequired ngRequired} + * {@link guide/accessibility#ngreadonly ngReadonly} + * {@link guide/accessibility#ngvaluechecked ngChecked} + * {@link guide/accessibility#ngvaluechecked ngValue} + * {@link guide/accessibility#ngshow ngShow} + * {@link guide/accessibility#nghide ngHide} + * {@link guide/accessibility#ngclick ngClick} + * {@link guide/accessibility#ngdblclick ngDblClick} + * {@link guide/accessibility#ngmessages ngMessages} + +

    ngModel

    + +Much of ngAria's heavy lifting happens in the {@link ng.ngModel ngModel} +directive. For elements using ngModel, special attention is paid by ngAria if that element also +has a role or type of `checkbox`, `radio`, `range` or `textbox`. + +For those elements using ngModel, ngAria will dynamically bind and update the following ARIA +attributes (if they have not been explicitly specified by the developer): + + * aria-checked + * aria-valuemin + * aria-valuemax + * aria-valuenow + * aria-invalid + * aria-required + * aria-readonly + * aria-disabled + +### Example + + + +
    + + Custom checkbox + +
    +
    + Is checked: {{ !!checked }} +
    + + angular. + module('ngAria_ngModelExample', ['ngAria']). + directive('customCheckbox', customCheckboxDirective). + directive('showAttrs', showAttrsDirective); + + function customCheckboxDirective() { + return { + restrict: 'E', + require: 'ngModel', + transclude: true, + template: + ' ' + + '', + link: function(scope, elem, attrs, ctrl) { + // Overwrite necessary `NgModelController` methods + ctrl.$isEmpty = isEmpty; + ctrl.$render = render; + + // Bind to events + elem.on('click', function(event) { + event.preventDefault(); + scope.$apply(toggleCheckbox); + }); + elem.on('keypress', function(event) { + event.preventDefault(); + if (event.keyCode === 32 || event.keyCode === 13) { + scope.$apply(toggleCheckbox); + } + }); + + // Helpers + function isEmpty(value) { + return !value; + } + + function render() { + elem[ctrl.$viewValue ? 'addClass' : 'removeClass']('checked'); + } + + function toggleCheckbox() { + ctrl.$setViewValue(!ctrl.$viewValue); + ctrl.$render(); + } + } + }; + } + + function showAttrsDirective($timeout) { + return function(scope, elem, attrs) { + var pre = document.createElement('pre'); + elem.after(pre); + + scope.$watchCollection(function() { + return Array.prototype.slice.call(elem[0].attributes).reduce(function(aggr, attr) { + if (attr.name !== attrs.$attr.showAttrs) aggr[attr.name] = attr.value; + return aggr; + }, {}); + }, function(newValues) { + $timeout(function() { + pre.textContent = angular.toJson(newValues, 2); + }); + }); + }; + } + + + custom-checkbox { + cursor: pointer; + display: inline-block; + } + + custom-checkbox .icon:before { + content: '\2610'; + display: inline-block; + font-size: 2em; + line-height: 1; + speak: none; + vertical-align: middle; + } + + custom-checkbox.checked .icon:before { + content: '\2611'; + } + + + var checkbox = element(by.css('custom-checkbox')); + var checkedCheckbox = element(by.css('custom-checkbox.checked')); + + it('should have the `checked` class only when checked', function() { + expect(checkbox.isPresent()).toBe(true); + expect(checkedCheckbox.isPresent()).toBe(false); + + checkbox.click(); + expect(checkedCheckbox.isPresent()).toBe(true); + + checkbox.click(); + expect(checkedCheckbox.isPresent()).toBe(false); + }); + + it('should have the `aria-checked` attribute set to the appropriate value', function() { + expect(checkedCheckbox.isPresent()).toBe(false); + expect(checkbox.getAttribute('aria-checked')).toBe('false'); + + checkbox.click(); + expect(checkedCheckbox.isPresent()).toBe(true); + expect(checkbox.getAttribute('aria-checked')).toBe('true'); + + checkbox.click(); + expect(checkedCheckbox.isPresent()).toBe(false); + expect(checkbox.getAttribute('aria-checked')).toBe('false'); + }); + +
    + +ngAria will also add `tabIndex`, ensuring custom elements with these roles will be reachable from +the keyboard. It is still up to **you** as a developer to **ensure custom controls will be +accessible**. As a rule, any time you create a widget involving user interaction, be sure to test +it with your keyboard and at least one mobile and desktop screen reader. + +

    ngValue and ngChecked

    + +To ease the transition between native inputs and custom controls, ngAria now supports +{@link ng.ngValue ngValue} and {@link ng.ngChecked ngChecked}. +The original directives were created for native inputs only, so ngAria extends +support to custom elements by managing `aria-checked` for accessibility. + +### Example + +```html + + +``` + +Becomes: + +```html + + +``` + +

    ngDisabled

    + +The `disabled` attribute is only valid for certain elements such as `button`, `input` and +`textarea`. To properly disable custom element directives such as `` or ``, +using ngAria with {@link ng.ngDisabled ngDisabled} will also +add `aria-disabled`. This tells assistive technologies when a non-native input is disabled, helping +custom controls to be more accessible. + +### Example + +```html + +``` + +Becomes: + +```html + +``` + +
    +You can check whether a control is legitimately disabled for a screen reader by visiting +[chrome://accessibility](chrome://accessibility) and inspecting [the accessibility tree](http://www.paciellogroup.com/blog/2015/01/the-browser-accessibility-tree/). +
    + +

    ngRequired

    + +The boolean `required` attribute is only valid for native form controls such as `input` and +`textarea`. To properly indicate custom element directives such as `` or `` +as required, using ngAria with {@link ng.ngRequired ngRequired} will also add +`aria-required`. This tells accessibility APIs when a custom control is required. + +### Example + +```html + +``` + +Becomes: + +```html + +``` + +

    ngReadonly

    + +The boolean `readonly` attribute is only valid for native form controls such as `input` and +`textarea`. To properly indicate custom element directives such as `` or `` +as required, using ngAria with {@link ng.ngReadonly ngReadonly} will also add +`aria-readonly`. This tells accessibility APIs when a custom control is read-only. + +### Example + +```html + +``` + +Becomes: + +```html + +``` + +

    ngShow

    + +The {@link ng.ngShow ngShow} directive shows or hides the +given HTML element based on the expression provided to the `ngShow` attribute. The element is +shown or hidden by removing or adding the `.ng-hide` CSS class onto the element. + +In its default setup, ngAria for `ngShow` is actually redundant. It toggles `aria-hidden` on the +directive when it is hidden or shown. However, the default CSS of `display: none !important`, +already hides child elements from a screen reader. It becomes more useful when the default +CSS is overridden with properties that don’t affect assistive technologies, such as `opacity` +or `transform`. By toggling `aria-hidden` dynamically with ngAria, we can ensure content visually +hidden with this technique will not be read aloud in a screen reader. + +One caveat with this combination of CSS and `aria-hidden`: you must also remove links and other +interactive child elements from the tab order using `tabIndex=“-1”` on each control. This ensures +screen reader users won't accidentally focus on "mystery elements". Managing tab index on every +child control can be complex and affect performance, so it’s best to just stick with the default +`display: none` CSS. See the [fourth rule of ARIA use](http://www.w3.org/TR/aria-in-html/#fourth-rule-of-aria-use). + +### Example +```css +.ng-hide { + display: block; + opacity: 0; +} +``` +```html + +``` + +Becomes: + +```html +
    +``` +*Note: Child links, buttons or other interactive controls must also be removed from the tab order.* + +

    ngHide

    + +The {@link ng.ngHide ngHide} directive shows or hides the +given HTML element based on the expression provided to the `ngHide` attribute. The element is +shown or hidden by removing or adding the `.ng-hide` CSS class onto the element. + +The default CSS for `ngHide`, the inverse method to `ngShow`, makes ngAria redundant. It toggles +`aria-hidden` on the directive when it is hidden or shown, but the content is already hidden with +`display: none`. See explanation for {@link guide/accessibility#ngshow ngShow} when overriding the default CSS. + +

    ngClick and ngDblclick

    +If `ng-click` or `ng-dblclick` is encountered, ngAria will add `tabindex="0"` to any element not in +the list of built in aria nodes: + + * Button + * Anchor + * Input + * Textarea + * Select + * Details/Summary + +To fix widespread accessibility problems with `ng-click` on `div` elements, ngAria will +dynamically bind a keypress event by default as long as the element isn't in a node from the list of +built in aria nodes. +You can turn this functionality on or off with the `bindKeypress` configuration option. + +ngAria will also add the `button` role to communicate to users of assistive technologies. This can +be disabled with the `bindRoleForClick` configuration option. + +For `ng-dblclick`, you must still manually add `ng-keypress` and a role to non-interactive elements +such as `div` or `taco-button` to enable keyboard access. + +

    Example

    +```html +
    +``` + +Becomes: +```html +
    +``` + +

    ngMessages

    + +The ngMessages module makes it easy to display form validation or other messages with priority +sequencing and animation. To expose these visual messages to screen readers, +ngAria injects `aria-live="assertive"`, causing them to be read aloud any time a message is shown, +regardless of the user's focus location. +### Example + +```html +
    +
    You did not enter a field
    +
    Your field is too long
    +
    +``` + +Becomes: + +```html +
    +
    You did not enter a field
    +
    Your field is too long
    +
    +``` + +## Disabling attributes +The attribute magic of ngAria may not work for every scenario. To disable individual attributes, +you can use the {@link ngAria.$ariaProvider#config config} method. Just keep in mind this will +tell ngAria to ignore the attribute globally. + + + +
    + <div> with ng-click and bindRoleForClick, tabindex set to false +
    + +
    +
    + +## Common Accessibility Patterns + +Accessibility best practices that apply to web apps in general also apply to AngularJS. + + * **Text alternatives**: Add alternate text content to make visual information accessible using + [these W3C guidelines](http://www.w3.org/TR/html-alt-techniques/). The appropriate technique + depends on the specific markup but can be accomplished using offscreen spans, `aria-label` or + label elements, image `alt` attributes, `figure`/`figcaption` elements and more. + * **HTML Semantics**: If you're creating custom element directives, Web Components or HTML in + general, use native elements wherever possible to utilize built-in events and properties. + Alternatively, use ARIA to communicate semantic meaning. See [notes on ARIA use](http://www.w3.org/TR/aria-in-html/#notes-on-aria-use-in-html). + * **Focus management**: Guide the user around the app as views are appended/removed. + Focus should *never* be lost, as this causes unexpected behavior and much confusion (referred to + as "freak-out mode"). + * **Announcing changes**: When filtering or other UI messaging happens away from the user's focus, + notify with [ARIA Live Regions](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/ARIA_Live_Regions). + * **Color contrast and scale**: Make sure content is legible and interactive controls are usable + at all screen sizes. Consider configurable UI themes for people with color blindness, low vision + or other visual impairments. + * **Progressive enhancement**: Some users do not browse with JavaScript enabled or do not have + the latest browser. An accessible message about site requirements can inform users and improve + the experience. + +## Additional Resources + + * [Using ARIA in HTML](http://www.w3.org/TR/aria-in-html/) + * [AngularJS Accessibility at ngEurope](https://www.youtube.com/watch?v=dmYDggEgU-s&list=UUEGUP3TJJfMsEM_1y8iviSQ) + * [Testing with Screen Readers](http://webaim.org/articles/screenreader_testing/) + * [Chrome Accessibility Developer Tools](https://chrome.google.com/webstore/detail/accessibility-developer-t/fpkknkljclfencbdbgkenhalefipecmb?hl=en) + * [W3C Accessibility Testing](http://www.w3.org/wiki/Accessibility_testing) + * [WebAIM](http://webaim.org) + * [A11y Project](http://a11yproject.com) diff --git a/docs/content/guide/animations.ngdoc b/docs/content/guide/animations.ngdoc index 80e7377da633..5807db4cd42e 100644 --- a/docs/content/guide/animations.ngdoc +++ b/docs/content/guide/animations.ngdoc @@ -1,278 +1,258 @@ @ngdoc overview -@name Developer Guide: Animations +@name Animations +@sortOrder 310 @description # Animations -AngularJS 1.2 provides animation hooks for common directives such as `ngRepeat`, `ngSwitch`, and `ngView`, as well as custom directives -via the `$animate` service. These animation hooks are set in place to trigger animations during the life cycle of various directives and when -triggered, will attempt to perform a CSS Transition, CSS Keyframe Animation or a JavaScript callback Animation (depending on if an animation is -placed on the given directive). Animations can be placed using vanilla CSS by following the naming conventions set in place by AngularJS -or with JavaScript code when it's defined as a factory. +AngularJS provides animation hooks for common directives such as +{@link ng.directive:ngRepeat ngRepeat}, {@link ng.directive:ngSwitch ngSwitch}, and +{@link ngRoute.directive:ngView ngView}, as well as custom directives via the `$animate` service. +These animation hooks are set in place to trigger animations during the life cycle of various +directives and when triggered, will attempt to perform a CSS Transition, CSS Keyframe Animation or a +JavaScript callback Animation (depending on whether an animation is placed on the given directive). +Animations can be placed using vanilla CSS by following the naming conventions set in place by +AngularJS or with JavaScript code, defined as a factory. + +
    + Note that we have used non-prefixed CSS transition properties in our examples as the major + browsers now support non-prefixed properties. If you intend to support older browsers or certain + mobile browsers then you will need to include prefixed versions of the transition properties. Take + a look at http://caniuse.com/#feat=css-transitions for what browsers require prefixes, and + https://github.com/postcss/autoprefixer for a tool that can automatically generate the prefixes + for you. +
    -Animations are not available unless you include the {@link api/ngAnimate `ngAnimate` module} as a dependency within your application. +Animations are not available unless you include the {@link ngAnimate `ngAnimate` module} as a +dependency of your application. Below is a quick example of animations being enabled for `ngShow` and `ngHide`: - + -
    +
    -
    - Visible... +
    + Content...
    - .animate-show-hide { - padding:10px; - border:1px solid black; - background:white; - } - - .animate-show-hide.ng-hide-add, .animate-show-hide.ng-hide-remove { - -webkit-transition:all linear 0.5s; - -moz-transition:all linear 0.5s; - -o-transition:all linear 0.5s; - transition:all linear 0.5s; - display:block!important; + .content-area { + border: 1px solid black; + margin-top: 10px; + padding: 10px; } - .animate-show-hide.ng-hide-add.ng-hide-add-active, - .animate-show-hide.ng-hide-remove { - opacity:0; + .sample-show-hide { + transition: all linear 0.5s; } - - .animate-show-hide.ng-hide-add, - .animate-show-hide.ng-hide-remove.ng-hide-remove-active { - opacity:1; + .sample-show-hide.ng-hide { + opacity: 0; } ## Installation -See the {@link api/ngAnimate API docs for `ngAnimate`} for instructions on installing the module. +See the {@link ngAnimate API docs for `ngAnimate`} for instructions on installing the module. You may also want to setup a separate CSS file for defining CSS-based animations. ## How they work -Animations in AngularJS are completely based on CSS classes. As long as you have a CSS class attached to a HTML element within -your website, you can apply animations to it. Lets say for example that we have an HTML template with a repeater in it like so: +Animations in AngularJS are completely based on CSS classes. As long as you have a CSS class +attached to an HTML element within your application, you can apply animations to it. Let's say for +example that we have an HTML template with a repeater like so: -
    +```html
     
    {{ item.id }}
    -
    +``` -As you can see, the `.repeated-item` class is present on the element that will be repeated and this class will be -used as a reference within our application's CSS and/or JavaScript animation code to tell AngularJS to perform an animation. +As you can see, the `repeated-item` class is present on the element that will be repeated and this +class will be used as a reference within our application's CSS and/or JavaScript animation code to +tell AngularJS to perform an animation. -As ngRepeat does its thing, each time a new item is added into the list, ngRepeat will add -a `ng-enter` class name to the element that is being added. When removed it will apply a `ng-leave` class name and when moved around -it will apply a `ng-move` class name. +As `ngRepeat` does its thing, each time a new item is added into the list, `ngRepeat` will add an +`ng-enter` class to the element that is being added. When removed it will apply an `ng-leave` class +and when moved around it will apply an `ng-move` class. -Taking a look at the following CSS code, we can see some transition and keyframe animation code set for each of those events that -occur when ngRepeat triggers them: +Taking a look at the following CSS code, we can see some transition and keyframe animation code set +up for each of those events that occur when `ngRepeat` triggers them: -
    -/*
    -  We're using CSS transitions for when
    -  the enter and move events are triggered
    -  for the element that has the .repeated-item
    -  class
    -*/
    +```css
    +/*
    +  We are using CSS transitions for when the enter and move events
    +  are triggered for the element that has the `repeated-item` class
    +*/
     .repeated-item.ng-enter, .repeated-item.ng-move {
    -  -webkit-transition:0.5s linear all;
    -  -moz-transition:0.5s linear all;
    -  -o-transition:0.5s linear all;
    -  transition:0.5s linear all;
    -  opacity:0;
    +  transition: all 0.5s linear;
    +  opacity: 0;
     }
     
    -/*
    - The ng-enter-active and ng-move-active
    - are where the transition destination properties
    - are set so that the animation knows what to
    - animate.
    -*/
    +/*
    +  `.ng-enter-active` and `.ng-move-active` are where the transition destination
    +  properties are set so that the animation knows what to animate
    +*/
     .repeated-item.ng-enter.ng-enter-active,
     .repeated-item.ng-move.ng-move-active {
    -  opacity:1;
    +  opacity: 1;
     }
     
    -/*
    -  We're using CSS keyframe animations for when
    -  the leave event is triggered for the element
    -  that has the .repeated-item class
    -*/
    +/*
    +  We are using CSS keyframe animations for when the `leave` event
    +  is triggered for the element that has the `repeated-item` class
    +*/
     .repeated-item.ng-leave {
    -  -webkit-animation:0.5s my_animation;
    -  -moz-animation:0.5s my_animation;
    -  -o-animation:0.5s my_animation;
    -  animation:0.5s my_animation;
    -}
    -
    -@keyframes my_animation {
    -  from { opacity:1; }
    -  to { opacity:0; }
    +  animation: 0.5s my_animation;
     }
     
    -/*
    -  Unfortunately each browser vendor requires
    -  its own definition of keyframe animation code...
    -*/
    -@-webkit-keyframes my_animation {
    -  from { opacity:1; }
    -  to { opacity:0; }
    +@keyframes my_animation {
    +  from { opacity: 1; }
    +  to   { opacity: 0; }
     }
    +```
     
    -@-moz-keyframes my_animation {
    -  from { opacity:1; }
    -  to { opacity:0; }
    -}
    -
    -@-o-keyframes my_animation {
    -  from { opacity:1; }
    -  to { opacity:0; }
    -}
    -
    +The same approach to animation can be used using JavaScript code +(**for simplicity, we rely on jQuery to perform animations here**): -The same approach to animation can be used using JavaScript code (**jQuery is used within to perform animations**): - -
    +```js
     myModule.animation('.repeated-item', function() {
       return {
    -    enter : function(element, done) {
    -      element.css('opacity',0);
    -      jQuery(element).animate({
    -        opacity: 1
    -      }, done);
    -
    -      // optional onDone or onCancel callback
    -      // function to handle any post-animation
    -      // cleanup operations
    +    enter: function(element, done) {
    +      // Initialize the element's opacity
    +      element.css('opacity', 0);
    +
    +      // Animate the element's opacity
    +      // (`element.animate()` is provided by jQuery)
    +      element.animate({opacity: 1}, done);
    +
    +      // Optional `onDone`/`onCancel` callback function
    +      // to handle any post-animation cleanup operations
           return function(isCancelled) {
    -        if(isCancelled) {
    -          jQuery(element).stop();
    +        if (isCancelled) {
    +          // Abort the animation if cancelled
    +          // (`element.stop()` is provided by jQuery)
    +          element.stop();
             }
    -      }
    +      };
         },
    -    leave : function(element, done) {
    +    leave: function(element, done) {
    +      // Initialize the element's opacity
           element.css('opacity', 1);
    -      jQuery(element).animate({
    -        opacity: 0
    -      }, done);
     
    -      // optional onDone or onCancel callback
    -      // function to handle any post-animation
    -      // cleanup operations
    -      return function(isCancelled) {
    -        if(isCancelled) {
    -          jQuery(element).stop();
    -        }
    -      }
    -    },
    -    move : function(element, done) {
    -      element.css('opacity', 0);
    -      jQuery(element).animate({
    -        opacity: 1
    -      }, done);
    +      // Animate the element's opacity
    +      // (`element.animate()` is provided by jQuery)
    +      element.animate({opacity: 0}, done);
     
    -      // optional onDone or onCancel callback
    -      // function to handle any post-animation
    -      // cleanup operations
    +      // Optional `onDone`/`onCancel` callback function
    +      // to handle any post-animation cleanup operations
           return function(isCancelled) {
    -        if(isCancelled) {
    -          jQuery(element).stop();
    +        if (isCancelled) {
    +          // Abort the animation if cancelled
    +          // (`element.stop()` is provided by jQuery)
    +          element.stop();
             }
    -      }
    +      };
         },
     
    -    // you can also capture these animation events
    -    addClass : function(element, className, done) {},
    -    removeClass : function(element, className, done) {}
    +    // We can also capture the following animation events:
    +    move: function(element, done) {},
    +    addClass: function(element, className, done) {},
    +    removeClass: function(element, className, done) {}
       }
     });
    -
    +``` With these generated CSS class names present on the element at the time, AngularJS automatically -figures out whether to perform a CSS and/or JavaScript animation. If both CSS and JavaScript animation -code is present, and match the CSS class name on the element, then AngularJS will run both animations at the same time. +figures out whether to perform a CSS and/or JavaScript animation. Note that you can't have both CSS +and JavaScript animations based on the same CSS class. See +{@link ngAnimate#css-js-animations-together here} for more details. -## Class and ngClass animation hooks +## Class and `ngClass` animation hooks -AngularJS also pays attention to CSS class changes on elements by triggering the **add** and **remove** hooks. -This means that if a CSS class is added to or removed from an element then an animation can be executed in between -before the CSS class addition or removal is finalized. (Keep in mind that AngularJS will only be -able to capture class changes if an **expression** or the **ng-class** directive is used on the element.) +AngularJS also pays attention to CSS class changes on elements by triggering the **add** and +**remove** hooks. This means that if a CSS class is added to or removed from an element then an +animation can be executed in between, before the CSS class addition or removal is finalized. +(Keep in mind that AngularJS will only be able to capture class changes if an +**interpolated expression** or the **ng-class** directive is used on the element.) The example below shows how to perform animations during class changes: - - -

    - - -
    - CSS-Animated Text -

    -
    - - .css-class-add, .css-class-remove { - -webkit-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s; - -moz-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s; - -o-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s; - transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s; - } - - .css-class, - .css-class-add.css-class-add-active { - color: red; - font-size:3em; - } - - .css-class-remove.css-class-remove-active { - font-size:1.0em; - color:black; - } - -
    + + +

    + + +
    + CSS-Animated Text +

    +
    + + .css-class-add, .css-class-remove { + transition: all 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940); + } -Although the CSS is a little different then what we saw before, the idea is the same. + .css-class, + .css-class-add.css-class-add-active { + color: red; + font-size: 3em; + } -## Which directives support animations? + .css-class-remove.css-class-remove-active { + font-size: 1em; + color: black; + } + +
    -A handful of common AngularJS directives support and trigger animation hooks whenever any major event occurs during its life cycle. -The table below explains in detail which animation events are triggered +Although the CSS is a little different than what we saw before, the idea is the same. -| Directive | Supported Animations | -|-------------------------------------------------------------------------------------|------------------------------------------| -| {@link api/ng.directive:ngRepeat#usage_animations ngRepeat} | enter, leave, and move | -| {@link api/ngRoute.directive:ngView#usage_animations ngView} | enter and leave | -| {@link api/ng.directive:ngInclude#usage_animations ngInclude} | enter and leave | -| {@link api/ng.directive:ngSwitch#usage_animations ngSwitch} | enter and leave | -| {@link api/ng.directive:ngIf#usage_animations ngIf} | enter and leave | -| {@link api/ng.directive:ngShow#usage_animations ngClass or {{class}}} | add and remove | -| {@link api/ng.directive:ngShow#usage_animations ngShow & ngHide} | add and remove (the ng-hide class value) | +## Which directives support animations? -For a full breakdown of the steps involved during each animation event, refer to the {@link api/ngAnimate.$animate API docs}. +A handful of common AngularJS directives support and trigger animation hooks whenever any major +event occurs during their life cycle. The table below explains in detail which animation events are +triggered: + +| Directive | Supported Animations | +|-------------------------------------------------------------------------------|---------------------------------------------------------------------------| +| {@link ng.directive:form#animations form / ngForm} | add and remove ({@link ng.directive:form#css-classes various classes}) | +| {@link ngAnimate.directive:ngAnimateSwap#animations ngAnimateSwap} | enter and leave | +| {@link ng.directive:ngClass#animations ngClass / {{class}​}} | add and remove | +| {@link ng.directive:ngClassEven#animations ngClassEven} | add and remove | +| {@link ng.directive:ngClassOdd#animations ngClassOdd} | add and remove | +| {@link ng.directive:ngHide#animations ngHide} | add and remove (the `ng-hide` class) | +| {@link ng.directive:ngIf#animations ngIf} | enter and leave | +| {@link ng.directive:ngInclude#animations ngInclude} | enter and leave | +| {@link module:ngMessages#animations ngMessage / ngMessageExp} | enter and leave | +| {@link module:ngMessages#animations ngMessages} | add and remove (the `ng-active`/`ng-inactive` classes) | +| {@link ng.directive:ngModel#animations ngModel} | add and remove ({@link ng.directive:ngModel#css-classes various classes}) | +| {@link ng.directive:ngRepeat#animations ngRepeat} | enter, leave, and move | +| {@link ng.directive:ngShow#animations ngShow} | add and remove (the `ng-hide` class) | +| {@link ng.directive:ngSwitch#animations ngSwitch} | enter and leave | +| {@link ngRoute.directive:ngView#animations ngView} | enter and leave | + +(More information can be found by visiting the documentation associated with each directive.) + +For a full breakdown of the steps involved during each animation event, refer to the +{@link ng.$animate `$animate` API docs}. ## How do I use animations in my own directives? -Animations within custom directives can also be established by injecting `$animate` directly into your directive and -making calls to it when needed. +Animations within custom directives can also be established by injecting `$animate` directly into +your directive and making calls to it when needed. -
    +```js
     myModule.directive('my-directive', ['$animate', function($animate) {
    -  return function(element, scope, attrs) {
    -    element.bind('click', function() {
    -      if(element.hasClass('clicked')) {
    +  return function(scope, element) {
    +    element.on('click', function() {
    +      if (element.hasClass('clicked')) {
             $animate.removeClass(element, 'clicked');
           } else {
             $animate.addClass(element, 'clicked');
    @@ -280,10 +260,236 @@ myModule.directive('my-directive', ['$animate', function($animate) {
         });
       };
     }]);
    -
    +``` + +## Animations on app bootstrap / page load + +By default, animations are disabled when the AngularJS app {@link guide/bootstrap bootstraps}. If you +are using the {@link ngApp} directive, this happens in the `DOMContentLoaded` event, so immediately +after the page has been loaded. Animations are disabled, so that UI and content are instantly +visible. Otherwise, with many animations on the page, the loading process may become too visually +overwhelming, and the performance may suffer. + +Internally, `ngAnimate` waits until all template downloads that are started right after bootstrap +have finished. Then, it waits for the currently running {@link ng.$rootScope.Scope#$digest $digest} +and one more after that, to finish. This ensures that the whole app has been compiled fully before +animations are attempted. + +If you do want your animations to play when the app bootstraps, you can enable animations globally +in your main module's {@link angular.Module#run run} function: + +```js +myModule.run(function($animate) { + $animate.enabled(true); +}); +``` + +## How to (selectively) enable, disable and skip animations + +There are several different ways to disable animations, both globally and for specific animations. +Disabling specific animations can help to speed up the render performance, for example for large +`ngRepeat` lists that don't actually have animations. Because `ngAnimate` checks at runtime if +animations are present, performance will take a hit even if an element has no animation. + +### During the config: {@link $animateProvider#customFilter $animateProvider.customFilter()} + +This function can be called during the {@link angular.Module#config config} phase of an app. It +takes a filter function as the only argument, which will then be used to "filter" animations (based +on the animated element, the event type, and the animation options). Only when the filter function +returns `true`, will the animation be performed. This allows great flexibility - you can easily +create complex rules, such as allowing specific events only or enabling animations on specific +subtrees of the DOM, and dynamically modify them, for example disabling animations at certain points +in time or under certain circumstances. + +```js +app.config(function($animateProvider) { + $animateProvider.customFilter(function(node, event, options) { + // Example: Only animate `enter` and `leave` operations. + return event === 'enter' || event === 'leave'; + }); +}); +``` + +The `customFilter` approach generally gives a big speed boost compared to other strategies, because +the matching is done before other animation disabling strategies are checked. + +
    + **Best Practice:** + Keep the filtering function as lean as possible, because it will be called for each DOM + action (e.g. insertion, removal, class change) performed by "animation-aware" directives. + See {@link guide/animations#which-directives-support-animations- here} for a list of built-in + directives that support animations. + Performing computationally expensive or time-consuming operations on each call of the + filtering function can make your animations sluggish. +
    + +### During the config: {@link $animateProvider#classNameFilter $animateProvider.classNameFilter()} + +This function too can be called during the {@link angular.Module#config config} phase of an app. It +takes a regex as the only argument, which will then be matched against the classes of any element +that is about to be animated. The regex allows a lot of flexibility - you can either allow +animations for specific classes only (useful when you are working with 3rd party animations), or +exclude specific classes from getting animated. + +```js +app.config(function($animateProvider) { + $animateProvider.classNameFilter(/animate-/); +}); +``` + +```css +/* prefixed with `animate-` */ +.animate-fade-add.animate-fade-add-active { + transition: all 1s linear; + opacity: 0; +} +``` + +The `classNameFilter` approach generally gives a big speed boost compared to other strategies, +because the matching is done before other animation disabling strategies are checked. However, that +also means it is not possible to override class name matching with the two following strategies. +It's of course still possible to enable / disable animations by changing an element's class name at +runtime. + +### At runtime: {@link ng.$animate#enabled $animate.enabled()} + +This function can be used to enable / disable animations in two different ways: + +With a single `boolean` argument, it enables / disables animations globally: +`$animate.enabled(false)` disables all animations in your app. + +When the first argument is a native DOM or jqLite/jQuery element, the function enables / disables +animations on this element *and all its children*: `$animate.enabled(myElement, false)`. You can +still use it to re-enable animations for a child element, even if you have disabled them on a parent +element. And compared to the `classNameFilter`, you can change the animation status at runtime +instead of during the config phase. + +Note however that the `$animate.enabled()` state for individual elements does not overwrite +disabling rules that have been set in the {@link $animateProvider#classNameFilter classNameFilter}. + +### Via CSS styles: overwriting styles in the `ng-animate` CSS class + +Whenever an animation is started, `ngAnimate` applies the `ng-animate` class to the element for the +whole duration of the animation. By applying CSS transition / animation styling to that class, you +can skip an animation: + +```css +.my-class { + transition: transform 2s; +} + +.my-class:hover { + transform: translateX(50px); +} + +my-class.ng-animate { + transition: 0s; +} +``` + +By setting `transition: 0s`, `ngAnimate` will ignore the existing transition styles, and not try to +animate them (Javascript animations will still execute, though). This can be used to prevent +{@link guide/animations#preventing-collisions-with-existing-animations-and-third-party-libraries +issues with existing animations interfering with `ngAnimate`}. + + +## Preventing flicker before an animation starts + +When nesting elements with structural animations, such as `ngIf`, into elements that have +class-based animations such as `ngClass`, it sometimes happens that before the actual animation +starts, there is a brief flicker or flash of content where the animated element is briefly visible. + +To prevent this, you can apply styles to the `ng-[event]-prepare` class, which is added as soon as +an animation is initialized, but removed before the actual animation starts (after waiting for a +`$digest`). This class is only added for *structural* animations (`enter`, `move`, and `leave`). + +Here's an example where you might see flickering: + +```html +
    +
    +
    +
    +
    +``` + +It is possible that during the `enter` event, the `.message` div will be briefly visible before it +starts animating. In that case, you can add styles to the CSS that make sure the element stays +hidden before the animation starts: + +```css +.message.ng-enter-prepare { + opacity: 0; +} + +/* Other animation styles ... */ +``` + +## Preventing collisions with existing animations and third-party libraries + +By default, any `ngAnimate`-enabled directives will assume that `transition` / `animation` styles on +the element are part of an `ngAnimate` animation. This can lead to problems when the styles are +actually for animations that are independent of `ngAnimate`. + +For example, an element acts as a loading spinner. It has an infinite css animation on it, and also +an {@link ngIf `ngIf`} directive, for which no animations are defined: + +```css +.spinner { + animation: rotating 2s linear infinite; +} + +@keyframes rotating { + from { transform: rotate(0deg); } + to { transform: rotate(360deg); } +} +``` + +Now, when the `ngIf` expression changes, `ngAnimate` will see the spinner animation and use it to +animate the `enter`/`leave` event, which doesn't work because the animation is infinite. The element +will still be added / removed after a timeout, but there will be a noticeable delay. + +This might also happen because some third-party frameworks place animation duration defaults across +many element or className selectors in order to make their code small and reusable. + +You can prevent this unwanted behavior by adding CSS to the `.ng-animate` class, that is added for +the whole duration of each animation. Simply overwrite the transition / animation duration. In the +case of the spinner, this would be: + +```css +.spinner.ng-animate { + animation: 0s none; + transition: 0s none; +} +``` + +If you do have CSS transitions / animations defined for the animation events, make sure they have a +higher priority than any styles that are not related to `ngAnimate`. + +You can also use one of the other +{@link guide/animations#how-to-selectively-enable-disable-and-skip-animations +strategies to disable animations}. + + +## Enable animations outside of the application DOM tree: {@link ng.$animate#pin $animate.pin()} + +Before animating, `ngAnimate` checks if the animated element is inside the application DOM tree. If +not, no animation is run. Usually, this is not a problem since most apps use the `html` or `body` +elements as their root. + +Problems arise when the application is bootstrapped on a different element, and animations are +attempted on elements that are outside the application tree, e.g. when libraries append popup or +modal elements to the body tag. + +You can use {@link ng.$animate#pin `$animate.pin(element, parentHost)`} to associate an element with +another element that belongs to your application. Simply call it before the element is added to the +DOM / before the animation starts, with the element you want to animate, and the element which +should be its assumed parent. + ## More about animations -For a full breakdown of each method available on `$animate`, see the {@link api/ngAnimate.$animate API documentation}. +For a full breakdown of each method available on `$animate`, see the +{@link ng.$animate API documentation}. -To see a complete demo, see the {@link tutorial/step_12 animation step within the AngularJS phonecat tutorial}. +To see a complete demo, see the {@link tutorial/step_14 animation step in the phonecat tutorial}. diff --git a/docs/content/guide/bootstrap.ngdoc b/docs/content/guide/bootstrap.ngdoc index 5b83f9b349a6..4c66d8a57dcf 100644 --- a/docs/content/guide/bootstrap.ngdoc +++ b/docs/content/guide/bootstrap.ngdoc @@ -1,49 +1,47 @@ @ngdoc overview -@name Developer Guide: Bootstrap +@name Bootstrap +@sortOrder 350 @description -# Overview +# Bootstrap -This page explains the Angular initialization process and how you can manually initialize Angular +This page explains the AngularJS initialization process and how you can manually initialize AngularJS if necessary. -## Angular ` - +``` - * Place the `script` tag at the bottom of the page. Placing script tags at the end of the page + 1. Place the `script` tag at the bottom of the page. Placing script tags at the end of the page improves app load time because the HTML loading is not blocked by loading of the `angular.js` - script. You can get the latest bits from {@link http://code.angularjs.org}. Please don't link + script. You can get the latest bits from http://code.angularjs.org. Please don't link your production code to this URL, as it will expose a security hole on your site. For experimental development linking to our site is fine. * Choose: `angular-[version].js` for a human-readable file, suitable for development and debugging. * Choose: `angular-[version].min.js` for a compressed and obfuscated file, suitable for use in production. - * Place `ng-app` to the root of your application, typically on the `` tag if you want - angular to auto-bootstrap your application. + 2. Place `ng-app` to the root of your application, typically on the `` tag if you want + AngularJS to auto-bootstrap your application. - * If IE7 support is required add `id="ng-app"` - - - - * If you choose to use the old style directive syntax `ng:` then include xml-namespace in `html` - to make IE happy. (This is here for historical reasons, and we no longer recommend use of - `ng:`.) + 3. If you choose to use the old style directive syntax `ng:` then include xml-namespace in `html` + when running the page in the XHTML mode. (This is here for historical reasons, and we no longer + recommend use of `ng:`.) @@ -53,19 +51,19 @@ initialization. -Angular initializes automatically upon `DOMContentLoaded` event or when the `angular.js` script is -evaluated if at that time `document.readyState` is set to `'complete'`. At this point Angular looks -for the {@link api/ng.directive:ngApp `ng-app`} directive which designates your application root. -If the {@link api/ng.directive:ngApp `ng-app`} directive is found then Angular will: +AngularJS initializes automatically upon `DOMContentLoaded` event or when the `angular.js` script is +evaluated if at that time `document.readyState` is set to `'complete'`. At this point AngularJS looks +for the {@link ng.directive:ngApp `ngApp`} directive which designates your application root. +If the {@link ng.directive:ngApp `ngApp`} directive is found then AngularJS will: * load the {@link guide/module module} associated with the directive. - * create the application {@link api/AUTO.$injector injector} - * compile the DOM treating the {@link api/ng.directive:ngApp - `ng-app`} directive as the root of the compilation. This allows you to tell it to treat only a - portion of the DOM as an Angular application. + * create the application {@link auto.$injector injector} + * compile the DOM treating the {@link ng.directive:ngApp + `ngApp`} directive as the root of the compilation. This allows you to tell it to treat only a + portion of the DOM as an AngularJS application. -
    +```html
     
     
       
    @@ -73,56 +71,98 @@ If the {@link api/ng.directive:ngApp `ng-app`} directive is found then Angular w
         
       
     
    -
    +``` +As a best practice, consider adding an `ng-strict-di` directive on the same element as +`ng-app`: -## Manual Initialization +```html + + + + I can add: {{ 1+2 }}. + + + +``` +This will ensure that all services in your application are properly annotated. +See the {@link guide/di#using-strict-dependency-injection dependency injection strict mode} docs +for more. + + +## Manual Initialization If you need to have more control over the initialization process, you can use a manual bootstrapping method instead. Examples of when you'd need to do this include using script loaders -or the need to perform an operation before Angular compiles a page. +or the need to perform an operation before AngularJS compiles a page. -Here is an example of manually initializing Angular: +Here is an example of manually initializing AngularJS: -
    +```html
     
    -
    -  
    -    Hello {{'World'}}!
    -    
    -    
    -  
    +
    +
    +  
    + Hello {{greetMe}}! +
    + + + + -
    +``` -Note that we have provided the name of our application module to be loaded into the injector as the second -parameter of the {@link api/angular.bootstrap} function. Notice that `angular.bootstrap` will not create modules -on the fly. You must create any custom {@link guide/module modules} before you pass them as a parameter. +Note that we provided the name of our application module to be loaded into the injector as the second +parameter of the {@link angular.bootstrap} function. Notice that `angular.bootstrap` will not create modules +on the fly. You must create any custom {@link guide/module modules} before you pass them as a parameter. + +You should call `angular.bootstrap()` *after* you've loaded or defined your modules. +You cannot add controllers, services, directives, etc after an application bootstraps. + +
    +**Note:** You should not use the ng-app directive when manually bootstrapping your app. +
    This is the sequence that your code should follow: 1. After the page and all of the code is loaded, find the root element of your AngularJS application, which is typically the root of the document. - 2. Call {@link api/angular.bootstrap} to {@link compiler compile} the element into an + 2. Call {@link angular.bootstrap} to {@link compiler compile} the element into an executable, bi-directionally bound application. +## Things to keep in mind + +There are a few things to keep in mind regardless of automatic or manual bootstrapping: + +- While it's possible to bootstrap more than one AngularJS application per page, we don't actively + test against this scenario. It's possible that you'll run into problems, especially with complex apps, so + caution is advised. +- Do not bootstrap your app on an element with a directive that uses {@link ng.$compile#transclusion transclusion}, such as + {@link ng.ngIf `ngIf`}, {@link ng.ngInclude `ngInclude`} and {@link ngRoute.ngView `ngView`}. + Doing this misplaces the app {@link ng.$rootElement `$rootElement`} and the app's {@link auto.$injector injector}, + causing animations to stop working and making the injector inaccessible from outside the app. + ## Deferred Bootstrap -This feature enables tools like Batarang and test runners to -hook into angular's bootstrap process and sneak in more modules +This feature enables tools like [Batarang](https://github.com/angular/angularjs-batarang) and test runners +to hook into angular's bootstrap process and sneak in more modules into the DI registry which can replace or augment DI services for the purpose of instrumentation or mocking out heavy dependencies. If `window.name` contains prefix `NG_DEFER_BOOTSTRAP!` when -{@link api/angular.bootstrap} is called, the bootstrap process will be paused +{@link angular.bootstrap} is called, the bootstrap process will be paused until `angular.resumeBootstrap()` is called. `angular.resumeBootstrap()` takes an optional array of modules that diff --git a/docs/content/guide/compiler.ngdoc b/docs/content/guide/compiler.ngdoc index 4440ace62c2a..b49e497ee5c5 100644 --- a/docs/content/guide/compiler.ngdoc +++ b/docs/content/guide/compiler.ngdoc @@ -1,22 +1,25 @@ @ngdoc overview -@name Developer Guide: HTML Compiler +@name HTML Compiler +@sortOrder 330 @description +# HTML Compiler +
    **Note:** this guide is targeted towards developers who are already familiar with AngularJS basics. If you're just getting started, we recommend the {@link tutorial/ tutorial} first. If you just want to create custom directives, we recommend the {@link guide/directive directives guide}. -If you want a deeper look into Angular's compilation process, you're in the right place. +If you want a deeper look into AngularJS's compilation process, you're in the right place.
    -# Overview +## Overview -Angular's {@link api/ng.$compile HTML compiler} allows the developer to teach the +AngularJS's {@link ng.$compile HTML compiler} allows the developer to teach the browser new HTML syntax. The compiler allows you to attach behavior to any HTML element or attribute -and even create new HTML elements or attributes with custom behavior. Angular calls these behavior -extensions {@link api/ng.$compileProvider#methods_directive directives}. +and even create new HTML elements or attributes with custom behavior. AngularJS calls these behavior +extensions {@link ng.$compileProvider#directive directives}. HTML has a lot of constructs for formatting the HTML for static documents in a declarative fashion. For example if something needs to be centered, there is no need to provide instructions to the @@ -24,11 +27,11 @@ browser how the window size needs to be divided in half so that the center is fo center needs to be aligned with the text's center. Simply add an `align="center"` attribute to any element to achieve the desired behavior. Such is the power of declarative language. -But the declarative language is also limited, since it does not allow you to teach the browser new -syntax. For example there is no easy way to get the browser to align the text at 1/3 the position +However, the declarative language is also limited, as it does not allow you to teach the browser new +syntax. For example, there is no easy way to get the browser to align the text at 1/3 the position instead of 1/2. What is needed is a way to teach the browser new HTML syntax. -Angular comes pre-bundled with common directives which are useful for building any app. We also +AngularJS comes pre-bundled with common directives which are useful for building any app. We also expect that you will create directives that are specific to your app. These extensions become a Domain Specific Language for building your application. @@ -38,7 +41,7 @@ involved. ## Compiler -Compiler is an Angular service which traverses the DOM looking for attributes. The compilation +Compiler is an AngularJS service which traverses the DOM looking for attributes. The compilation process happens in two phases. 1. **Compile:** traverse the DOM and collect all of the directives. The result is a linking @@ -48,7 +51,7 @@ process happens in two phases. scope model are reflected in the view, and any user interactions with the view are reflected in the scope model. This makes the scope model the single source of truth. -Some directives such as {@link api/ng.directive:ngRepeat `ng-repeat`} clone DOM elements once +Some directives such as {@link ng.directive:ngRepeat `ng-repeat`} clone DOM elements once for each item in a collection. Having a compile and link phase improves performance since the cloned template only needs to be compiled once, and then linked once for each clone instance. @@ -58,23 +61,23 @@ cloned template only needs to be compiled once, and then linked once for each cl A directive is a behavior which should be triggered when specific HTML constructs are encountered during the compilation process. The directives can be placed in element names, attributes, class names, as well as comments. Here are some equivalent examples of invoking the {@link -api/ng.directive:ngBind `ng-bind`} directive. +ng.directive:ngBind `ng-bind`} directive. -
    +```html
       
       
       
       
    -
    +``` A directive is just a function which executes when the compiler encounters it in the DOM. See {@link -api/ng.$compileProvider#methods_directive directive API} for in-depth documentation on how +ng.$compileProvider#directive directive API} for in-depth documentation on how to write directives. Here is a directive which makes any element draggable. Notice the `draggable` attribute on the `` element. - + angular.module('drag', []). directive('draggable', function($document) { @@ -84,7 +87,9 @@ Here is a directive which makes any element draggable. Notice the `draggable` at position: 'relative', border: '1px solid red', backgroundColor: 'lightgrey', - cursor: 'pointer' + cursor: 'pointer', + display: 'block', + width: '65px' }); element.on('mousedown', function(event) { // Prevent default dragging of selected content @@ -105,10 +110,10 @@ Here is a directive which makes any element draggable. Notice the `draggable` at } function mouseup() { - $document.unbind('mousemove', mousemove); - $document.unbind('mouseup', mouseup); + $document.off('mousemove', mousemove); + $document.off('mouseup', mouseup); } - } + }; }); @@ -137,16 +142,16 @@ This means that any changes to the data need to be re-merged with the template a 3. managing the whole update process 4. lack of behavior expressiveness -Angular is different. The Angular compiler consumes the DOM, not string templates. +AngularJS is different. The AngularJS compiler consumes the DOM, not string templates. The result is a linking function, which when combined with a scope model results in a live view. The view and scope model bindings are transparent. The developer does not need to make any special calls to update the view. And because `innerHTML` is not used, you won't accidentally clobber user input. -Furthermore, Angular directives can contain not just text bindings, but behavioral constructs as +Furthermore, AngularJS directives can contain not just text bindings, but behavioral constructs as well. -The Angular approach produces a stable DOM. The DOM element instance bound to a model +The AngularJS approach produces a stable DOM. The DOM element instance bound to a model item instance does not change for the lifetime of the binding. This means that the code can get hold of the elements and register event handlers and know that the reference will not be destroyed by template data merge. @@ -155,16 +160,12 @@ by template data merge. ## How directives are compiled -It's important to note that Angular operates on DOM nodes rather than strings. Usually, you don't +It's important to note that AngularJS operates on DOM nodes rather than strings. Usually, you don't notice this restriction because when a page loads, the web browser parses HTML into the DOM automatically. -However it's important to keep this in mind when calling `$compile` yourself, because passing it a string -will fail. Instead, use `angular.element` to convert a string to DOM before passing elements into -Angular's `$compile` service. - HTML compilation happens in three phases: - 1. {@link api/ng.$compile `$compile`} traverses the DOM and matches directives. + 1. {@link ng.$compile `$compile`} traverses the DOM and matches directives. If the compiler finds that an element matches a directive, then the directive is added to the list of directives that match the DOM element. A single element may match multiple directives. @@ -178,16 +179,16 @@ HTML compilation happens in three phases: 3. `$compile` links the template with the scope by calling the combined linking function from the previous step. This in turn will call the linking function of the individual directives, registering listeners on the elements - and setting up {@link api/ng.$rootScope.Scope#methods_$watch `$watch`s} with the {@link api/ng.$rootScope.Scope `scope`} + and setting up {@link ng.$rootScope.Scope#$watch `$watch`s} with the {@link ng.$rootScope.Scope `scope`} as each directive is configured to do. The result of this is a live binding between the scope and the DOM. So at this point, a change in a model on the compiled scope will be reflected in the DOM. Below is the corresponding code using the `$compile` service. -This should help give you an idea of what Angular does internally. +This should help give you an idea of what AngularJS does internally. -
    +```js
       var $compile = ...; // injected into your code
       var scope = ...;
       var parent = ...; // DOM element where the compiled template can be appended
    @@ -202,10 +203,10 @@ This should help give you an idea of what Angular does internally.
     
       // Step 3: link the compiled template with the scope.
       var element = linkFn(scope);
    -  
    +
       // Step 4: Append to DOM (optional)
       parent.appendChild(element);
    -
    +``` ### The difference between Compile and Link @@ -229,21 +230,21 @@ moved to the compile function for performance reasons. To understand, let's look at a real-world example with `ngRepeat`: -
    -Hello {{user}}, you have these actions:
    +```html
    +Hello {{user.name}}, you have these actions:
     
    • {{action.description}}
    -
    +``` When the above example is compiled, the compiler visits every node and looks for directives. -`{{user}}` matches the {@link api/ng.$interpolate interpolation directive} -and `ng-repeat` matches the {@link api/ng.directive:ngRepeat `ngRepeat` directive}. +`{{user.name}}` matches the {@link ng.$interpolate interpolation directive} +and `ng-repeat` matches the {@link ng.directive:ngRepeat `ngRepeat` directive}. -But {@link api/ng.directive:ngRepeat ngRepeat} has a dilemma. +But {@link ng.directive:ngRepeat ngRepeat} has a dilemma. It needs to be able to clone new `
  • ` elements for every `action` in `user.actions`. This initially seems trivial, but it becomes more complicated when you consider that `user.actions` @@ -252,7 +253,7 @@ element for cloning purposes. As new `action`s are inserted, the template `
  • ` element needs to be cloned and inserted into `ul`. But cloning the `
  • ` element is not enough. It also needs to compile the `
  • ` so that its -directives, like `{{action.description}}`, evaluate against the right {@link api/ng.$rootScope.Scope scope}. +directives, like `{{action.description}}`, evaluate against the right {@link ng.$rootScope.Scope scope}. A naive approach to solving this problem would be to simply insert a copy of the `
  • ` element and @@ -266,25 +267,25 @@ The solution is to break the compilation process into two phases: the **compile phase** where all of the directives are identified and sorted by priority, and a **linking phase** where any work which "links" a specific instance of the -{@link api/ng.$rootScope.Scope scope} and the specific instance of an `
  • ` is performed. +{@link ng.$rootScope.Scope scope} and the specific instance of an `
  • ` is performed.
    **Note:** *Link* means setting up listeners on the DOM and setting up `$watch` on the Scope to keep the two in sync.
    -{@link api/ng.directive:ngRepeat `ngRepeat`} works by preventing the compilation process from +{@link ng.directive:ngRepeat `ngRepeat`} works by preventing the compilation process from descending into the `
  • ` element so it can make a clone of the original and handle inserting and removing DOM nodes itself. -Instead the {@link api/ng.directive:ngRepeat `ngRepeat`} directive compiles `
  • ` separately. +Instead the {@link ng.directive:ngRepeat `ngRepeat`} directive compiles `
  • ` separately. The result of the `
  • ` element compilation is a linking function which contains all of the directives contained in the `
  • ` element, ready to be attached to a specific clone of the `
  • ` element. -At runtime the {@link api/ng.directive:ngRepeat `ngRepeat`} watches the expression and as items +At runtime the {@link ng.directive:ngRepeat `ngRepeat`} watches the expression and as items are added to the array it clones the `
  • ` element, creates a new -{@link api/ng.$rootScope.Scope scope} for the cloned `
  • ` element and calls the link function +{@link ng.$rootScope.Scope scope} for the cloned `
  • ` element and calls the link function on the cloned `
  • `. @@ -295,7 +296,7 @@ One of the most common use cases for directives is to create reusable components Below is a pseudo code showing how a simplified dialog component may work. -
    +```html
     
    @@ -306,7 +307,7 @@ Below is a pseudo code showing how a simplified dialog component may work. Body goes here: {{username}} is {{title}}.
    -
    +``` Clicking on the "show" button will open the dialog. The dialog will have a title, which is data bound to `username`, and it will also have a body which we would like to transclude @@ -314,7 +315,7 @@ into the dialog. Here is an example of what the template definition for the `dialog` widget may look like. -
    +```html
     

    {{title}}

    @@ -323,25 +324,25 @@ Here is an example of what the template definition for the `dialog` widget may l
  • - +``` This will not render properly, unless we do some scope magic. The first issue we have to solve is that the dialog box template expects `title` to be defined. But we would like the template's scope property `title` to be the result of interpolating the -`` element's `title` attribute (i.e. `"Hello {{username}}"`. Furthermore, the buttons expect +`` element's `title` attribute (i.e. `"Hello {{username}}"`). Furthermore, the buttons expect the `onOk` and `onCancel` functions to be present in the scope. This limits the usefulness of the -widget. To solve the mapping issue we use the `locals` to create local variables which the template +widget. To solve the mapping issue we use the `scope` to create local variables which the template expects as follows: -
    +```js
       scope: {
         title: '@',             // the title uses the data-binding from the parent scope
         onOk: '&',              // create a delegate onOk function
         onCancel: '&',          // create a delegate onCancel function
         visible: '='            // set up visible to accept data-binding
       }
    -
    +``` Creating local properties on widget scope creates two problems: @@ -367,7 +368,7 @@ surprise. Therefore the final directive definition looks something like this: -
    +```js
     transclude: true,
     scope: {
         title: '@',             // the title uses the data-binding from the parent scope
    @@ -377,5 +378,108 @@ scope: {
     },
     restrict: 'E',
     replace: true
    -
    +``` + +### Double Compilation, and how to avoid it + +Double compilation occurs when an already compiled part of the DOM gets compiled again. This is an +undesired effect and can lead to misbehaving directives, performance issues, and memory +leaks. +A common scenario where this happens is a directive that calls `$compile` in a directive link +function on the directive element. In the following **faulty example**, a directive adds a mouseover behavior +to a button with `ngClick` on it: + +``` +angular.module('app').directive('addMouseover', function($compile) { + return { + link: function(scope, element, attrs) { + var newEl = angular.element(' My Hint'); + element.on('mouseenter mouseleave', function() { + scope.$apply('showHint = !showHint'); + }); + + attrs.$set('addMouseover', null); // To stop infinite compile loop + element.append(newEl); + $compile(element)(scope); // Double compilation + } + } +}) +``` + +At first glance, it looks like removing the original `addMouseover` attribute is all there is needed +to make this example work. +However, if the directive element or its children have other directives attached, they will be compiled and +linked again, because the compiler doesn't keep track of which directives have been assigned to which +elements. + +This can cause unpredictable behavior, e.g. `ngClick` or other event handlers will be attached +again. It can also degrade performance, as watchers for text interpolation are added twice to the scope. + +Double compilation should therefore be avoided. In the above example, only the new element should +be compiled: + +``` +angular.module('app').directive('addMouseover', function($compile) { + return { + link: function(scope, element, attrs) { + var newEl = angular.element(' My Hint'); + element.on('mouseenter mouseleave', function() { + scope.$apply('showHint = !showHint'); + }); + + element.append(newEl); + $compile(newEl)(scope); // Only compile the new element + } + } +}) +``` + +Another scenario is adding a directive programmatically to a compiled element and then executing +compile again. See the following **faulty example**: + +```html + +``` + +``` +angular.module('app').directive('addOptions', function($compile) { + return { + link: function(scope, element, attrs) { + attrs.$set('addOptions', null) // To stop infinite compile loop + attrs.$set('ngModelOptions', '{debounce: 1000}'); + $compile(element)(scope); // Double compilation + } + } +}); +``` + +In that case, it is necessary to intercept the *initial* compilation of the element: + + 1. Give your directive the `terminal` property and a higher priority than directives + that should not be compiled twice. In the example, the compiler will only compile directives + which have a priority of 100 or higher. + 2. Inside this directive's compile function, add any other directive attributes to the template. + 3. Compile the element, but restrict the maximum priority, so that any already compiled directives + (including the `addOptions` directive) are not compiled again. + 4. In the link function, link the compiled element with the element's scope. + +``` +angular.module('app').directive('addOptions', function($compile) { + return { + priority: 100, // ngModel has priority 1 + terminal: true, + compile: function(templateElement, templateAttributes) { + templateAttributes.$set('ngModelOptions', '{debounce: 1000}'); + + // The third argument is the max priority. Only directives with priority < 100 will be compiled, + // therefore we don't need to remove the attribute + var compiled = $compile(templateElement, null, 100); + + return function linkFn(scope) { + compiled(scope) // Link compiled element to scope + } + } + } +}); +``` diff --git a/docs/content/guide/component-router.ngdoc b/docs/content/guide/component-router.ngdoc new file mode 100644 index 000000000000..2230e2e94f97 --- /dev/null +++ b/docs/content/guide/component-router.ngdoc @@ -0,0 +1,1054 @@ +@ngdoc overview +@name Component Router +@sortOrder 306 +@description + +# Component Router + +
    +**Deprecation Notice:** In an effort to keep synchronized with router changes in the new Angular, this implementation of the Component Router (ngComponentRouter module) has been deprecated and will not receive further updates. +We are investigating backporting the new Angular Router to AngularJS, but alternatively, use the {@link ngRoute} module or community developed projects (e.g. [ui-router](https://github.com/angular-ui/ui-router)). +
    + +This guide describes the Component Router for AngularJS. + +
    + If you are looking for information about the default router for AngularJS have a look at the {@link ngRoute} module. + + If you are looking for information about the Component Router for the new Angular then + check out the [Angular Router Guide](https://angular.io/docs/ts/latest/guide/router.html). +
    + +## Overview + +Here is a table of the main concepts used in the Component Router. + +| Concept | Description | +| ----------------------|-------------------------------------------------------------------------------------- | +| Router | Displays the Routing Components for the active Route. Manages navigation from one component to the next. | +| RootRouter | The top level Router that interacts with the current URL location | +| RouteConfig | Configures a Router with RouteDefinitions, each mapping a URL path to a component. | +| Routing Component | An AngularJS component with a RouteConfig and an associated Router. | +| RouteDefinition | Defines how the router should navigate to a component based on a URL pattern. | +| ngOutlet | The directive (``) that marks where the router should display a view. | +| ngLink | The directive (`ng-link="..."`) for binding a clickable HTML element to a route, via a Link Parameters Array. | +| Link Parameters Array | An array that the router interprets into a routing instruction. We can bind a RouterLink to that array or pass the array as an argument to the Router.navigate method. | + + +## Component-based Applications + +It is recommended to develop AngularJS applications as a hierarchy of Components. Each Component +is an isolated part of the application, which is responsible for its own user interface and has +a well defined programmatic interface to the Component that contains it. Take a look at the +{@link guide/component component guide} for more information. + +![Component Based Architecture](img/guide/component-based-architecture.svg) + + +## URLs and Navigation + +In most applications, users navigate from one view to the next as they perform application tasks. +The browser provides a familiar model of application navigation. We enter a URL in the address bar +or click on a link and the browser navigates to a new page. We click the browser's back and forward +buttons and the browser navigates backward and forward through the history of pages we've seen. + +We understand that each view corresponds to a particular URL. In a Component-based application, +each of these views is implemented by one or more Components. + + +## Component Routes + +**How do we choose which Components to display given a particular URL?** + +When using the Component Router, each **Component** in the application can have a **Router** associated +with it. This **Router** contains a mapping of URL segments to child **Components**. + +```js +$routeConfig: [ + { path: '/a/b/c', component: 'someComponent' }, ... +] +``` + +This means that for a given URL the **Router** will render an associated child **Component**. + + +## Outlets + +**How do we know where to render a child Component?** + +Each **Routing Component**, needs to have a template that contains one or more **Outlets**, which is +where its child **Components** are rendered. We specify the **Outlet** in the template using the +{@link ngOutlet ``} directive. + +```html + +``` + +*In the future `ng-outlet` will be able to render different child **Components** for a given **Route** +by specifying a `name` attribute.* + + +## Root Router and Component + +**How does the Component Router know which Component to render first?** + +All Component Router applications must contain a top level **Routing Component**, which is associated with +a top level **Root Router**. + +The **Root Router** is the starting point for all navigation. You can access this **Router** by injecting the +`$rootRouter` service. + +We define the top level **Root Component** by providing a value for the {@link $routerRootComponent} service. + +```js +myModule.value('$routerRootComponent', 'myApp'); +``` + +Here we have specified that the **Root Component** is the component directive with the name `myApp`. + +Remember to instantiate this **Root Component** in our `index.html` file. + +```html + +``` + +## Route Matching + +When we navigate to any given URL, the {@link $rootRouter} matches its **Route Config** against the URL. +If a **Route Definition** in the **Route Config** recognizes a part of the URL then the **Component** +associated with the **Route Definition** is instantiated and rendered in the **Outlet**. + +If the new **Component** contains routes of its own then a new **Router ({@link ChildRouter})** is created for +this **Routing Component**. + +The {@link ChildRouter} for the new **Routing Component** then attempts to match its **Route Config** against +the parts of the URL that have not already been matched by the previous **Router**. + +This process continues until we run out of **Routing Components** or consume the entire URL. + +![Routed Components](img/guide/component-routes.svg) + +In the previous diagram, we can see that the URL `/heros/4` has been matched against the `App`, `Heroes` and +`HeroDetail` **Routing Components**. The **Routers** for each of the **Routing Components** consumed a part +of the URL: "/", "/heroes" and "/4" respectively. + +The result is that we end up with a hierarchy of **Routing Components** rendered in **Outlets**, via the +{@link ngOutlet} directive, in each **Routing Component's** template, as you can see in the following diagram. + +![Component Hierarchy](img/guide/component-hierarchy.svg) + + +## Example Heroes App + +You can see the complete application running below. + + + + +

    Component Router

    + + + + +
    + + + angular.module('app', ['ngComponentRouter', 'heroes', 'crisis-center']) + + .config(function($locationProvider) { + $locationProvider.html5Mode(true); + }) + + .value('$routerRootComponent', 'app') + + .component('app', { + template: + '\n' + + '\n', + $routeConfig: [ + {path: '/crisis-center/...', name: 'CrisisCenter', component: 'crisisCenter', useAsDefault: true}, + {path: '/heroes/...', name: 'Heroes', component: 'heroes' } + ] + }); + + + + angular.module('heroes', []) + .service('heroService', HeroService) + + .component('heroes', { + template: '

    Heroes

    ', + $routeConfig: [ + {path: '/', name: 'HeroList', component: 'heroList', useAsDefault: true}, + {path: '/:id', name: 'HeroDetail', component: 'heroDetail'} + ] + }) + + .component('heroList', { + template: + '
    \n' + + '{{hero.name}}\n' + + '
    ', + controller: HeroListComponent + }) + + .component('heroDetail', { + template: + '
    \n' + + '

    "{{$ctrl.hero.name}}"

    \n' + + '
    \n' + + ' {{$ctrl.hero.id}}
    \n' + + '
    \n' + + ' \n' + + ' \n' + + '
    \n' + + ' \n' + + '
    \n', + bindings: { $router: '<' }, + controller: HeroDetailComponent + }); + + + function HeroService($q) { + var heroesPromise = $q.resolve([ + { id: 11, name: 'Mr. Nice' }, + { id: 12, name: 'Narco' }, + { id: 13, name: 'Bombasto' }, + { id: 14, name: 'Celeritas' }, + { id: 15, name: 'Magneta' }, + { id: 16, name: 'RubberMan' } + ]); + + this.getHeroes = function() { + return heroesPromise; + }; + + this.getHero = function(id) { + return heroesPromise.then(function(heroes) { + for (var i = 0; i < heroes.length; i++) { + if (heroes[i].id === id) return heroes[i]; + } + }); + }; + } + + function HeroListComponent(heroService) { + var selectedId = null; + var $ctrl = this; + + this.$routerOnActivate = function(next) { + // Load up the heroes for this view + heroService.getHeroes().then(function(heroes) { + $ctrl.heroes = heroes; + selectedId = next.params.id; + }); + }; + + this.isSelected = function(hero) { + return (hero.id === selectedId); + }; + } + + function HeroDetailComponent(heroService) { + var $ctrl = this; + + this.$routerOnActivate = function(next) { + // Get the hero identified by the route parameter + var id = next.params.id; + heroService.getHero(id).then(function(hero) { + $ctrl.hero = hero; + }); + }; + + this.gotoHeroes = function() { + var heroId = this.hero && this.hero.id; + this.$router.navigate(['HeroList', {id: heroId}]); + }; + } +
    + + + angular.module('crisis-center', ['dialog']) + .service('crisisService', CrisisService) + + .component('crisisCenter', { + template: '

    Crisis Center

    ', + $routeConfig: [ + {path:'/', name: 'CrisisList', component: 'crisisList', useAsDefault: true}, + {path:'/:id', name: 'CrisisDetail', component: 'crisisDetail'} + ] + }) + + .component('crisisList', { + template: + '
      \n' + + '
    • \n' + + ' {{crisis.id}} {{crisis.name}}\n' + + '
    • \n' + + '
    \n', + bindings: { $router: '<' }, + controller: CrisisListComponent, + $canActivate: function($nextInstruction, $prevInstruction) { + console.log('$canActivate', arguments); + } + }) + + .component('crisisDetail', { + templateUrl: 'crisisDetail.html', + bindings: { $router: '<' }, + controller: CrisisDetailComponent + }); + + + function CrisisService($q) { + var crisesPromise = $q.resolve([ + {id: 1, name: 'Princess Held Captive'}, + {id: 2, name: 'Dragon Burning Cities'}, + {id: 3, name: 'Giant Asteroid Heading For Earth'}, + {id: 4, name: 'Release Deadline Looms'} + ]); + + this.getCrises = function() { + return crisesPromise; + }; + + this.getCrisis = function(id) { + return crisesPromise.then(function(crises) { + for (var i = 0; i < crises.length; i++) { + if (crises[i].id === id) return crises[i]; + } + }); + }; + } + + function CrisisListComponent(crisisService) { + var selectedId = null; + var ctrl = this; + + this.$routerOnActivate = function(next) { + console.log('$routerOnActivate', this, arguments); + // Load up the crises for this view + crisisService.getCrises().then(function(crises) { + ctrl.crises = crises; + selectedId = next.params.id; + }); + }; + + this.isSelected = function(crisis) { + return (crisis.id === selectedId); + }; + + this.onSelect = function(crisis) { + this.$router.navigate(['CrisisDetail', { id: crisis.id }]); + }; + } + + function CrisisDetailComponent(crisisService, dialogService) { + var ctrl = this; + this.$routerOnActivate = function(next) { + // Get the crisis identified by the route parameter + var id = next.params.id; + crisisService.getCrisis(id).then(function(crisis) { + if (crisis) { + ctrl.editName = crisis.name; + ctrl.crisis = crisis; + } else { // id not found + ctrl.gotoCrises(); + } + }); + }; + + this.$routerCanDeactivate = function() { + // Allow synchronous navigation (`true`) if no crisis or the crisis is unchanged. + if (!this.crisis || this.crisis.name === this.editName) { + return true; + } + // Otherwise ask the user with the dialog service and return its + // promise which resolves to true or false when the user decides + return dialogService.confirm('Discard changes?'); + }; + + this.cancel = function() { + ctrl.editName = ctrl.crisis.name; + ctrl.gotoCrises(); + }; + + this.save = function() { + ctrl.crisis.name = ctrl.editName; + ctrl.gotoCrises(); + }; + + this.gotoCrises = function() { + var crisisId = ctrl.crisis && ctrl.crisis.id; + // Pass along the hero id if available + // so that the CrisisListComponent can select that hero. + this.$router.navigate(['CrisisList', {id: crisisId}]); + }; + } +
    + + +
    +

    "{{$ctrl.editName}}"

    +
    + {{$ctrl.crisis.id}}
    +
    + + +
    + + +
    +
    + + + angular.module('dialog', []) + + .service('dialogService', DialogService); + + function DialogService($q) { + this.confirm = function(message) { + return $q.resolve(window.confirm(message || 'Is it OK?')); + }; + } + + + + h1 {color: #369; font-family: Arial, Helvetica, sans-serif; font-size: 250%;} + h2 { color: #369; font-family: Arial, Helvetica, sans-serif; } + h3 { color: #444; font-weight: lighter; } + body { margin: 2em; } + body, input[text], button { color: #888; font-family: Cambria, Georgia; } + button {padding: 0.2em; font-size: 14px} + + ul {list-style-type: none; margin-left: 1em; padding: 0; width: 20em;} + + li { cursor: pointer; position: relative; left: 0; transition: all 0.2s ease; } + li:hover {color: #369; background-color: #EEE; left: .2em;} + + /* route-link anchor tags */ + a {padding: 5px; text-decoration: none; font-family: Arial, Helvetica, sans-serif; } + a:visited, a:link {color: #444;} + a:hover {color: white; background-color: #1171a3; } + a.router-link-active {color: white; background-color: #52b9e9; } + + .selected { background-color: #EEE; color: #369; } + + .badge { + font-size: small; + color: white; + padding: 0.1em 0.7em; + background-color: #369; + line-height: 1em; + position: relative; + left: -1px; + top: -1px; + } + + crisis-detail input { + width: 20em; + } + + +
    + + +### Getting Started + +In the following sections we will step through building this application. The finished application has views +to display list and detail views of Heroes and Crises. + +#### Install the libraries + +It is easier to use [Yarn](https://yarnpkg.com) or [npm](https://www.npmjs.com) to install the +**Component Router** module. For this guide we will also install AngularJS itself via Yarn: + +```bash +yarn init +yarn add angular@1.5.x @angular/router@0.2.0 +``` + + +#### Load the scripts + +Just like any AngularJS application, we load the JavaScript files into our `index.html`: + +```html + + + +``` + +You also need to include ES6 shims for browsers that do not support ES6 code (Internet Explorer, + iOs < 8, Android < 5.0, Windows Mobile < 10): + ```html + + + + + ``` + +#### Create the `app` module + +In the app.js file, create the main application module `app` which depends on the `ngComponentRouter` +module, which is provided by the **Component Router** script. + +```js +angular.module('app', ['ngComponentRouter']) +``` + +We must choose what **Location Mode** the **Router** should use. We are going to use HTML5 mode locations, +so that we will not have hash-based paths. We must rely on the browser to provide `pushState` support, +which is true for most modern browsers. See {@link $locationProvider#html5Mode} for more information. + +
    + Using HTML5 mode means that we can have clean URLs for our application routes. However, HTML5 mode does require that our + web server, which hosts the application, understands that it must respond with the index.html file for + requests to URLs that represent all our application routes. We are going to use the `lite-server` web server + to do this for us. +
    + +```js +.config(function($locationProvider) { + $locationProvider.html5Mode(true); +}) +``` + +Configure the top level routed `App` Component. + +```js +.value('$routerRootComponent', 'app') +``` + +Create a very simple App Component to test that the application is working. + +We are using the AngularJS {@link $compileProvider#component `.component()`} helper method to create +all the **Components** in our application. It is perfectly suited to this task. + +```js +.component('app', { + template: 'It worked!' +}); +``` + +Add a `` element to the head of our index.html. +Remember that we have chosen to use HTML5 mode for the `$location` service. This means that our HTML +must have a base URL. + +```html + + + ... +``` + +#### Bootstrap AngularJS + +Bootstrap the AngularJS application and add the top level App Component. + +```html + +

    Component Router

    + + +``` + + +### Implementing the AppComponent + +In the previous section we have created a single top level **App Component**. Let's now create some more +**Routing Components** and wire up **Route Config** for those. We start with a Heroes Feature, which +will display one of two views. + +* A list of Heroes that are available: + +![Heroes List View](img/guide/heroes-list.png) + +* A detailed view of a single Hero: + +![Heroes List View](img/guide/hero-detail.png) + +We are going to have a `Heroes` Component for the Heroes feature of our application, and then `HeroList` +and `HeroDetail` **Components** that will actually display the two different views. + + +#### App Component + +Configure the **App Component** with a template and **Route Config**: + +```js +.component('app', { + template: + '\n' + + '\n', + $routeConfig: [ + {path: '/heroes/...', name: 'Heroes', component: 'heroes'}, + ] +}); +``` + +The **App Component** has an `` directive in its template. This is where the child **Components** +of this view will be rendered. + +#### ngLink + +We have used the `ng-link` directive to create a link to navigate to the Heroes Component. By using this +directive we don't need to know what the actual URL will be. We can let the Router generate that for us. + +We have included a link to the Crisis Center but have not included the `ng-link` directive as we have not yet +implemented the CrisisCenter component. + + +#### Non-terminal Routes + +We need to tell the **Router** that the `Heroes` **Route Definition** is **non-terminal**, that it should +continue to match **Routes** in its child **Components**. We do this by adding a **continuation ellipsis +(`...`)** to the path of the Heroes Route, `/heroes/...`. +Without the **continuation ellipsis** the `HeroList` **Route** will never be matched because the Router will +stop at the `Heroes` **Routing Component** and not try to match the rest of the URL. + + +### Heroes Feature + +Now we can implement our Heroes Feature which consists of three **Components**: `Heroes`, `HeroList` and +`HeroDetail`. The `Heroes` **Routing Component** simply provides a template containing the {@link ngOutlet} +directive and a **Route Config** that defines a set of child **Routes** which delegate through to the +`HeroList` and `HeroDetail` **Components**. + +### HeroesComponent + +Create a new file `heroes.js`, which defines a new AngularJS module for the **Components** of this feature +and registers the Heroes **Component**. + +```js +angular.module('heroes', []) + .component('heroes', { + template: '

    Heroes

    ', + $routeConfig: [ + {path: '/', name: 'HeroList', component: 'heroList', useAsDefault: true}, + {path: '/:id', name: 'HeroDetail', component: 'heroDetail'} + ] + }) +``` + +Remember to load this file in the index.html: + +```html + +``` + +and also to add the module as a dependency of the `app` module: + +```js +angular.module('app', ['ngComponentRouter', 'heroes']) +``` + +#### Use As Default +The `useAsDefault` property on the `HeroList` **Route Definition**, indicates that if no other **Route +Definition** matches the URL, then this **Route Definition** should be used by default. + +#### Route Parameters +The `HeroDetail` Route has a named parameter (`id`), indicated by prefixing the URL segment with a colon, +as part of its `path` property. The **Router** will match anything in this segment and make that value +available to the HeroDetail **Component**. + +#### Terminal Routes +Both the Routes in the `HeroesComponent` are terminal, i.e. their routes do not end with `...`. This is +because the `HeroList` and `HeroDetail` will not contain any child routes. + +#### Route Names +**What is the difference between the `name` and `component` properties on a Route Definition?** + +The `component` property in a **Route Definition** defines the **Component** directive that will be rendered +into the DOM via the **Outlet**. For example the `heroDetail` **Component** will be rendered into the page +where the `` lives as ``. + +The `name` property is used to reference the **Route Definition** when generating URLs or navigating to +**Routes**. For example this link will `Heroes` navigate the **Route Definition** +that has the `name` property of `"Heroes"`. + + +### HeroList Component + +The HeroList **Component** is the first component in the application that actually contains significant +functionality. It loads up a list of heroes from a `heroService` and displays them using `ng-repeat`. +Add it to the `heroes.js` file: + +```js + .component('heroList', { + template: + '
    \n' + + '{{hero.name}}\n' + + '
    ', + controller: HeroListComponent + }) +``` + +The `ng-link` directive creates links to a more detailed view of each hero, via the expression +`['HeroDetail', {id: hero.id}]`. This expression is an array describing what Routes to use to generate +the link. The first item is the name of the HeroDetail **Route Definition** and the second is a parameter +object that will be available to the HeroDetail **Component**. + +*The HeroDetail section below explains how to get hold of the `id` parameter of the HeroDetail Route.* + +The template iterates through each `hero` object of the array in the `$ctrl.heroes` property. + +*Remember that the `module.component()` helper automatically provides the **Component's Controller** as +the `$ctrl` property on the scope of the template.* + + +### HeroService + +Our HeroService simulates requesting a list of heroes from a server. In a real application this would be +making an actual server request, perhaps over HTTP. + +```js +function HeroService($q) { + var heroesPromise = $q.resolve([ + { id: 11, name: 'Mr. Nice' }, + ... + ]); + + this.getHeroes = function() { + return heroesPromise; + }; + + this.getHero = function(id) { + return heroesPromise.then(function(heroes) { + for (var i = 0; i < heroes.length; i++) { + if (heroes[i].id === id) return heroes[i]; + } + }); + }; +} +``` + +Note that both the `getHeroes()` and `getHero(id)` methods return a promise for the data. This is because +in real-life we would have to wait for the server to respond with the data. + + +### Router Lifecycle Hooks + +**How do I know when my Component is active?** + +To deal with initialization and tidy up of **Components** that are rendered by a **Router**, we can implement +one or more **Lifecycle Hooks** on the **Component**. These will be called at well defined points in the +lifecycle of the **Component**. + +The **Lifecycle Hooks** that can be implemented as instance methods on the **Component** are as follows: + +* `$routerCanReuse` : called to to determine whether a **Component** can be reused across **Route Definitions** + that match the same type of **Component**, or whether to destroy and instantiate a new **Component** every time. +* `$routerOnActivate` / `$routerOnReuse` : called by the **Router** at the end of a successful navigation. Only + one of `$routerOnActivate` and `$routerOnReuse` will be called depending upon the result of a call to + `$routerCanReuse`. +* `$routerCanDeactivate` : called by the **Router** to determine if a **Component** can be removed as part of a + navigation. +* `$routerOnDeactivate` : called by the **Router** before destroying a **Component** as part of a navigation. + +We can also provide an **Injectable function** (`$routerCanActivate`) on the **Component Definition Object**, +or as a static method on the **Component**, that will determine whether this **Component** is allowed to be +activated. If any of the `$routerCan...` methods return false or a promise that resolves to false, the +navigation will be cancelled. + +For our HeroList **Component** we want to load up the list of heroes when the **Component** is activated. +So we implement the `$routerOnActivate()` instance method. + +```js +function HeroListComponent(heroService) { + var $ctrl = this; + this.$routerOnActivate = function() { + return heroService.getHeroes().then(function(heroes) { + $ctrl.heroes = heroes; + }); + } +} +``` + +Running the application should update the browser's location to `/heroes` and display the list of heroes +returned from the `heroService`. + +By returning a promise for the list of heroes from `$routerOnActivate()` we can delay the activation of the +Route until the heroes have arrived successfully. This is similar to how a `resolve` works in {@link ngRoute}. + + +### Route Parameters + +**How do I access parameters for the current route?** + +The HeroDetailComponent displays details of an individual hero. The `id` of the hero to display is passed +as part of the URL, for example **/heroes/12**. + +The **Router** parses the id from the URL when it recognizes the **Route Definition** and provides it to the +**Component** as part of the parameters of the `$routerOnActivate()` hook. + +```js +function HeroDetailComponent(heroService) { + var $ctrl = this; + + this.$routerOnActivate = function(next, previous) { + // Get the hero identified by the route parameter + var id = next.params.id; + return heroService.getHero(id).then(function(hero) { + $ctrl.hero = hero; + }); + }; +``` + +The `$routerOnActivate(next, previous)` hook receives two parameters, which hold the `next` and `previous` +**Instruction** objects for the **Route** that is being activated. + +These parameters have a property called `params` which will hold the `id` parameter extracted from the URL +by the **Router**. In this code it is used to identify a specific Hero to retrieve from the `heroService`. +This hero is then attached to the **Component** so that it can be accessed in the template. + + +### Access to the Current Router + +**How do I get hold of the current router for my component?** + +Each component has its own Router. Unlike in the new Angular, we cannot use the dependency injector to get hold of a component's Router. +We can only inject the `$rootRouter`. Instead we use the fact that the `ng-outlet` directive binds the current router to a `$router` +attribute on our component. + +```html + +``` + +We can then specify a `bindings` property on our component definition to bind the current router to our component: + +```js +bindings: { $router: '<' } +``` + +This sets up a one-way binding of the current Router to the `$router` property of our Component. The binding is available once +the component has been activated, and the `$routerOnActivate` hook is called. + +As you might know from reading the {@link guide/component component guide}, the binding is actually available by the time the `$onInit` +hook is called, which is before the call to `$routerOnActivate`. + +### HeroDetailComponent + +The `HeroDetailComponent` displays a form that allows the Hero to be modified. + +```js + .component('heroDetail', { + template: + '
    \n' + + '

    "{{$ctrl.hero.name}}"

    \n' + + '
    \n' + + ' {{$ctrl.hero.id}}
    \n' + + '
    \n' + + ' \n' + + ' \n' + + '
    \n' + + ' \n' + + '
    \n', + bindings: { $router: '<' }, + controller: HeroDetailComponent + }); +``` + +The template contains a button to navigate back to the HeroList. We could have styled an anchor to look +like a button and used `ng-link="['HeroList']" but here we demonstrate programmatic navigation via the +Router itself, which was made available by the binding in the **Component Definition Object**. + +```js +function HeroDetailComponent(heroService) { + ... + this.gotoHeroes = function() { + this.$router.navigate(['HeroList']); + }; +``` + +Here we are asking the Router to navigate to a route defined by `['HeroList']`. +This is the same kind of array used by the `ng-link` directive. + +Other options for generating this navigation are: +* manually create the URL and call `this.$router.navigateByUrl(url)` - this is discouraged because it + couples the code of your component to the router URLs. +* generate an Instruction for a route and navigate directly with this instruction. + ```js + var instruction = this.$router.generate(['HeroList']); + this.$router.navigateByInstruction(instruction); + ``` + this form gives you the possibility of caching the instruction, but is more verbose. + +#### Absolute vs Relative Navigation + +**Why not use `$rootRouter` to do the navigation?** + +Instead of binding to the current **Router**, we can inject the `$rootRouter` into our **Component** and +use that: `$rootRouter.navigate(...)`. + +The trouble with doing this is that navigation is always relative to the **Router**. So in order to navigate +to the `HeroListComponent` with the `$rootRouter`, we would have to provide a complete path of Routes: +`['App','Heroes','HeroList']`. + + +### Extra Parameters + +We can also pass additional optional parameters to routes, which get encoded into the URL and are again +available to the `$routerOnActivate(next, previous)` hook. If we pass the current `id` from the +HeroDetailComponent back to the HeroListComponent we can use it to highlight the previously selected hero. + +```js + this.gotoHeroes = function() { + var heroId = this.hero && this.hero.id; + this.$router.navigate(['HeroList', {id: heroId}]); + }; +``` + +Then in the HeroList component we can extract this `id` in the `$routerOnActivate()` hook. + +```js +function HeroListComponent(heroService) { + var selectedId = null; + var $ctrl = this; + + this.$routerOnActivate = function(next) { + heroService.getHeroes().then(function(heroes) { + $ctrl.heroes = heroes; + selectedId = next.params.id; + }); + }; + + this.isSelected = function(hero) { + return (hero.id === selectedId); + }; +} +``` + +Finally, we can use this information to highlight the current hero in the template. + +```html + +``` + +### Crisis Center + +Let's implement the Crisis Center feature, which displays a list if crises that need to be dealt with by a hero. +The detailed crisis view has an additional feature where it blocks you from navigating if you have not saved +changes to the crisis being edited. + +* A list of Crises that are happening: + +![Crisis List View](img/guide/crisis-list.png) + +* A detailed view of a single Crisis: + +![Crisis Detail View](img/guide/crisis-detail.png) + + +### Crisis Feature + +This feature is very similar to the Heroes feature. It contains the following **Components**: + +* CrisisService: contains method for getting a list of crises and an individual crisis. +* CrisisListComponent: displays the list of crises, similar to HeroListComponent. +* CrisisDetailComponent: displays a specific crisis + +CrisisService and CrisisListComponent are basically the same as HeroService and HeroListComponent +respectively. + +### Navigation Control Hooks + +**How do I prevent navigation from occurring?** + +Each **Component** can provide the `$canActivate` and `$routerCanDeactivate` **Lifecycle Hooks**. The +`$routerCanDeactivate` hook is an instance method on the **Component**. The `$canActivate` hook is used as a +static method defined on the **Component Definition Object**. + +The **Router** will call these hooks to control navigation from one **Route** to another. Each of these hooks can +return a `boolean` or a Promise that will resolve to a `boolean`. + +During a navigation, some **Components** will become inactive and some will become active. Before the navigation +can complete, all the **Components** must agree that they can be deactivated or activated, respectively. + +The **Router** will call the `$routerCanDeactivate` and `$canActivate` hooks, if they are provided. If any +of the hooks resolve to `false` then the navigation is cancelled. + +#### Dialog Box Service + +We can implement a very simple dialog box that will prompt the user whether they are happy to lose changes they +have made. The result of the prompt is a promise that can be used in a `$routerCanDeactivate` hook. + +```js +.service('dialogService', DialogService); + +function DialogService($q) { + this.confirm = function(message) { + return $q.resolve(window.confirm(message || 'Is it OK?')); + }; +} +``` + +### CrisisDetailComponent + +We put the template into its own file by using a `templateUrl` property in the **Component Definition +Object**: + +```js + .component('crisisDetail', { + templateUrl: 'app/crisisDetail.html', + bindings: { $router: '<' }, + controller: CrisisDetailComponent + }); +``` + +In the `$routerOnActivate` hook, we make a local copy of the `crisis.name` property to compare with the +original value so that we can determine whether the name has changed. + +```js + this.$routerOnActivate = function(next) { + // Get the crisis identified by the route parameter + var id = next.params.id; + crisisService.getCrisis(id).then(function(crisis) { + if (crisis) { + ctrl.editName = crisis.name; // Make a copy of the crisis name for editing + ctrl.crisis = crisis; + } else { // id not found + ctrl.gotoCrises(); + } + }); + }; +``` + +In the `$routerCanDeactivate` we check whether the name has been modified and ask whether the user +wishes to discard the changes. + +```js + this.$routerCanDeactivate = function() { + // Allow synchronous navigation (`true`) if no crisis or the crisis is unchanged. + if (!this.crisis || this.crisis.name === this.editName) { + return true; + } + // Otherwise ask the user with the dialog service and return its + // promise which resolves to true or false when the user decides + return dialogService.confirm('Discard changes?'); + }; +``` + +You can test this check by navigating to a crisis detail page, modifying the name and then either +pressing the browser's back button to navigate back to the previous page, or by clicking on one of +the links to the Crisis Center or Heroes features. + +The Save and Cancel buttons update the `editName` and/or `crisis.name` properties before navigating +to prevent the `$routerCanDeactivate` hook from displaying the dialog box. + + +## Summary + +This guide has given an overview of the features of the Component Router and how to implement a simple +application. diff --git a/docs/content/guide/component.ngdoc b/docs/content/guide/component.ngdoc new file mode 100644 index 000000000000..f1e9d4182388 --- /dev/null +++ b/docs/content/guide/component.ngdoc @@ -0,0 +1,490 @@ +@ngdoc overview +@name Components +@sortOrder 305 +@description + +# Understanding Components + +In AngularJS, a Component is a special kind of {@link guide/directive directive} that uses a simpler +configuration which is suitable for a component-based application structure. + +This makes it easier to write an app in a way that's similar to using Web Components or using the new Angular's +style of application architecture. + +Advantages of Components: +- simpler configuration than plain directives +- promote sane defaults and best practices +- optimized for component-based architecture +- writing component directives will make it easier to upgrade to Angular + +When not to use Components: + +- for directives that need to perform actions in compile and pre-link functions, because they aren't available +- when you need advanced directive definition options like priority, terminal, multi-element +- when you want a directive that is triggered by an attribute or CSS class, rather than an element + +## Creating and configuring a Component + +Components can be registered using the {@link ng.$compileProvider#component `.component()`} method of an AngularJS module (returned by {@link module `angular.module()`}). The method takes two arguments: + + * The name of the Component (as string). + * The Component config object. (Note that, unlike the `.directive()` method, this method does **not** take a factory function.) + + + + angular.module('heroApp', []).controller('MainCtrl', function MainCtrl() { + this.hero = { + name: 'Spawn' + }; + }); + + + angular.module('heroApp').component('heroDetail', { + templateUrl: 'heroDetail.html', + bindings: { + hero: '=' + } + }); + + + +
    + Hero
    + +
    +
    + + Name: {{$ctrl.hero.name}} + +
    + +It's also possible to add components via {@link $compileProvider#component} in a module's config phase. + +### Comparison between Directive definition and Component definition + +| | Directive | Component | +|-------------------|----------------------|-----------------| +| bindings | No | Yes (binds to controller) | +| bindToController | Yes (default: false) | No (use bindings instead) | +| compile function | Yes | No | +| controller | Yes | Yes (default `function() {}`) | +| controllerAs | Yes (default: false) | Yes (default: `$ctrl`) | +| link functions | Yes | No | +| multiElement | Yes | No | +| priority | Yes | No | +| replace | Yes (deprecated) | No | +| require | Yes | Yes | +| restrict | Yes | No (restricted to elements only) | +| scope | Yes (default: false) | No (scope is always isolate) | +| template | Yes | Yes, injectable | +| templateNamespace | Yes | No | +| templateUrl | Yes | Yes, injectable | +| terminal | Yes | No | +| transclude | Yes (default: false) | Yes (default: false) | + + +## Component-based application architecture + +As already mentioned, the component helper makes it easier to structure your application with +a component-based architecture. But what makes a component beyond the options that +the component helper has? + +- **Components only control their own View and Data:** +Components should never modify any data or DOM that is out of their own scope. Normally, in AngularJS +it is possible to modify data anywhere in the application through scope inheritance and watches. This +is practical, but can also lead to problems when it is not clear which part of the application is +responsible for modifying the data. That is why component directives use an isolate scope, so a whole +class of scope manipulation is not possible. + +- **Components have a well-defined public API - Inputs and Outputs:** +However, scope isolation only goes so far, because AngularJS uses two-way binding. So if you pass +an object to a component like this - `bindings: {item: '='}`, and modify one of its properties, the +change will be reflected in the parent component. For components however, only the component that owns +the data should modify it, to make it easy to reason about what data is changed, and when. For that reason, +components should follow a few simple conventions: + + - Inputs should be using `<` and `@` bindings. The `<` symbol denotes {@link $compile#-scope- one-way bindings} which are + available since 1.5. The difference to `=` is that the bound properties in the component scope are not watched, which means + if you assign a new value to the property in the component scope, it will not update the parent scope. Note however, that both parent + and component scope reference the same object, so if you are changing object properties or array elements in the + component, the parent will still reflect that change. + The general rule should therefore be to never change an object or array property in the component scope. + `@` bindings can be used when the input is a string, especially when the value of the binding doesn't change. + ```js + bindings: { + hero: '<', + comment: '@' + } + ``` + - Outputs are realized with `&` bindings, which function as callbacks to component events. + ```js + bindings: { + onDelete: '&', + onUpdate: '&' + } + ``` + - Instead of manipulating Input Data, the component calls the correct Output Event with the changed data. + For a deletion, that means the component doesn't delete the `hero` itself, but sends it back to + the owner component via the correct event. + ```html + +
    + + ``` + - That way, the parent component can decide what to do with the event (e.g. delete an item or update the properties) + ```js + ctrl.deleteHero(hero) { + $http.delete(...).then(function() { + var idx = ctrl.list.indexOf(hero); + if (idx >= 0) { + ctrl.list.splice(idx, 1); + } + }); + } + ``` + +- **Components have a well-defined lifecycle:** +Each component can implement "lifecycle hooks". These are methods that will be called at certain points in the life +of the component. The following hook methods can be implemented: + + * `$onInit()` - Called on each controller after all the controllers on an element have been constructed and + had their bindings initialized (and before the pre & post linking functions for the directives on + this element). This is a good place to put initialization code for your controller. + * `$onChanges(changesObj)` - Called whenever one-way bindings are updated. The `changesObj` is a hash whose keys + are the names of the bound properties that have changed, and the values are an object of the form + `{ currentValue, previousValue, isFirstChange() }`. Use this hook to trigger updates within a component such as + cloning the bound value to prevent accidental mutation of the outer value. + * `$doCheck()` - Called on each turn of the digest cycle. Provides an opportunity to detect and act on + changes. Any actions that you wish to take in response to the changes that you detect must be + invoked from this hook; implementing this has no effect on when `$onChanges` is called. For example, this hook + could be useful if you wish to perform a deep equality check, or to check a Date object, changes to which would not + be detected by AngularJS's change detector and thus not trigger `$onChanges`. This hook is invoked with no arguments; + if detecting changes, you must store the previous value(s) for comparison to the current values. + * `$onDestroy()` - Called on a controller when its containing scope is destroyed. Use this hook for releasing + external resources, watches and event handlers. + * `$postLink()` - Called after this controller's element and its children have been linked. Similar to the post-link + function this hook can be used to set up DOM event handlers and do direct DOM manipulation. + Note that child elements that contain `templateUrl` directives will not have been compiled and linked since + they are waiting for their template to load asynchronously and their own compilation and linking has been + suspended until that occurs. + This hook can be considered analogous to the `ngAfterViewInit` and `ngAfterContentInit` hooks in Angular. + Since the compilation process is rather different in AngularJS there is no direct mapping and care should + be taken when upgrading. + +By implementing these methods, your component can hook into its lifecycle. + +- **An application is a tree of components:** +Ideally, the whole application should be a tree of components that implement clearly defined inputs +and outputs, and minimize two-way data binding. That way, it's easier to predict when data changes and what the state +of a component is. + +## Example of a component tree + +The following example expands on the simple component example and incorporates the concepts we introduced +above: + +Instead of an ngController, we now have a heroList component that holds the data of +different heroes, and creates a heroDetail for each of them. + +The heroDetail component now contains new functionality: +- a delete button that calls the bound `onDelete` function of the heroList component +- an input to change the hero location, in the form of a reusable editableField component. Instead +of manipulating the hero object itself, it sends a changeset upwards to the heroDetail, which sends +it upwards to the heroList component, which updates the original data. + + + + angular.module('heroApp', []); + + + + function HeroListController($scope, $element, $attrs) { + var ctrl = this; + + // This would be loaded by $http etc. + ctrl.list = [ + { + name: 'Superman', + location: '' + }, + { + name: 'Batman', + location: 'Wayne Manor' + } + ]; + + ctrl.updateHero = function(hero, prop, value) { + hero[prop] = value; + }; + + ctrl.deleteHero = function(hero) { + var idx = ctrl.list.indexOf(hero); + if (idx >= 0) { + ctrl.list.splice(idx, 1); + } + }; + } + + angular.module('heroApp').component('heroList', { + templateUrl: 'heroList.html', + controller: HeroListController + }); + + + + + function HeroDetailController() { + var ctrl = this; + + ctrl.delete = function() { + ctrl.onDelete({hero: ctrl.hero}); + }; + + ctrl.update = function(prop, value) { + ctrl.onUpdate({hero: ctrl.hero, prop: prop, value: value}); + }; + } + + angular.module('heroApp').component('heroDetail', { + templateUrl: 'heroDetail.html', + controller: HeroDetailController, + bindings: { + hero: '<', + onDelete: '&', + onUpdate: '&' + } + }); + + + + + function EditableFieldController($scope, $element, $attrs) { + var ctrl = this; + ctrl.editMode = false; + + ctrl.handleModeChange = function() { + if (ctrl.editMode) { + ctrl.onUpdate({value: ctrl.fieldValue}); + ctrl.fieldValueCopy = ctrl.fieldValue; + } + ctrl.editMode = !ctrl.editMode; + }; + + ctrl.reset = function() { + ctrl.fieldValue = ctrl.fieldValueCopy; + }; + + ctrl.$onInit = function() { + // Make a copy of the initial value to be able to reset it later + ctrl.fieldValueCopy = ctrl.fieldValue; + + // Set a default fieldType + if (!ctrl.fieldType) { + ctrl.fieldType = 'text'; + } + }; + } + + angular.module('heroApp').component('editableField', { + templateUrl: 'editableField.html', + controller: EditableFieldController, + bindings: { + fieldValue: '<', + fieldType: '@?', + onUpdate: '&' + } + }); + + + + + + Heroes
    + +
    + +
    +
    + Name: {{$ctrl.hero.name}}
    + Location:
    + +
    +
    + + + + {{$ctrl.fieldValue}} + + + + +
    + +## Components as route templates +Components are also useful as route templates (e.g. when using {@link ngRoute ngRoute}). In a component-based +application, every view is a component: + +```js + var myMod = angular.module('myMod', ['ngRoute']); + myMod.component('home', { + template: '

    Home

    Hello, {{ $ctrl.user.name }} !

    ', + controller: function() { + this.user = {name: 'world'}; + } + }); + myMod.config(function($routeProvider) { + $routeProvider.when('/', { + template: '' + }); + }); +``` +
    +When using {@link ngRoute.$routeProvider $routeProvider}, you can often avoid some +boilerplate, by passing the resolved route dependencies directly to the component. Since 1.5, +ngRoute automatically assigns the resolves to the route scope property `$resolve` (you can also +configure the property name via `resolveAs`). When using components, you can take advantage of this and pass resolves +directly into your component without creating an extra route controller: + +```js + var myMod = angular.module('myMod', ['ngRoute']); + myMod.component('home', { + template: '

    Home

    Hello, {{ $ctrl.user.name }} !

    ', + bindings: { + user: '<' + } + }); + myMod.config(function($routeProvider) { + $routeProvider.when('/', { + template: '', + resolve: { + user: function($http) { return $http.get('...'); } + } + }); + }); +``` + +## Intercomponent Communication + +Directives can require the controllers of other directives to enable communication +between each other. This can be achieved in a component by providing an +object mapping for the `require` property. The object keys specify the property names under which +the required controllers (object values) will be bound to the requiring component's controller. + +
    +Note that the required controllers will not be available during the instantiation of the controller, +but they are guaranteed to be available just before the `$onInit` method is executed! +
    + +Here is a tab pane example built from components: + + + +angular.module('docsTabsExample', []) + .component('myTabs', { + transclude: true, + controller: function MyTabsController() { + var panes = this.panes = []; + this.select = function(pane) { + angular.forEach(panes, function(pane) { + pane.selected = false; + }); + pane.selected = true; + }; + this.addPane = function(pane) { + if (panes.length === 0) { + this.select(pane); + } + panes.push(pane); + }; + }, + templateUrl: 'my-tabs.html' + }) + .component('myPane', { + transclude: true, + require: { + tabsCtrl: '^myTabs' + }, + bindings: { + title: '@' + }, + controller: function() { + this.$onInit = function() { + this.tabsCtrl.addPane(this); + console.log(this); + }; + }, + templateUrl: 'my-pane.html' + }); + + + + +

    Hello

    +

    Lorem ipsum dolor sit amet

    +
    + +

    World

    + Mauris elementum elementum enim at suscipit. +

    counter: {{i || 0}}

    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + + +## Unit-testing Component Controllers + +The easiest way to unit-test a component controller is by using the +{@link ngMock.$componentController $componentController} that is included in {@link ngMock}. The +advantage of this method is that you do not have to create any DOM elements. The following example +shows how to do this for the `heroDetail` component from above. + +The examples use the [Jasmine](http://jasmine.github.io/) testing framework. + +**Controller Test:** +```js +describe('HeroDetailController', function() { + var $componentController; + + beforeEach(module('heroApp')); + beforeEach(inject(function(_$componentController_) { + $componentController = _$componentController_; + })); + + it('should call the `onDelete` binding, when deleting the hero', function() { + var onDeleteSpy = jasmine.createSpy('onDelete'); + var bindings = {hero: {}, onDelete: onDeleteSpy}; + var ctrl = $componentController('heroDetail', null, bindings); + + ctrl.delete(); + expect(onDeleteSpy).toHaveBeenCalledWith({hero: ctrl.hero}); + }); + + it('should call the `onUpdate` binding, when updating a property', function() { + var onUpdateSpy = jasmine.createSpy('onUpdate'); + var bindings = {hero: {}, onUpdate: onUpdateSpy}; + var ctrl = $componentController('heroDetail', null, bindings); + + ctrl.update('foo', 'bar'); + expect(onUpdateSpy).toHaveBeenCalledWith({ + hero: ctrl.hero, + prop: 'foo', + value: 'bar' + }); + }); + +}); +``` diff --git a/docs/content/guide/concepts.ngdoc b/docs/content/guide/concepts.ngdoc index 4667339c5488..ca76baf887a2 100644 --- a/docs/content/guide/concepts.ngdoc +++ b/docs/content/guide/concepts.ngdoc @@ -1,46 +1,47 @@ @ngdoc overview @name Conceptual Overview +@sortOrder 200 @description -There are some concepts within Angular that you should understand before creating your first application. -This section touches all important parts of Angular really quickly using a simple example. -However, it won't explain all details. -For a more in-depth explanation, have a look at the {@link tutorial/ tutorial}. - -| Concept | Description | -|------------------|------------------------------------------| -|{@link concepts#template Template} | HTML with additional markup | -|{@link concepts#directive Directives} | extend HTML with custom attributes and elements | -|{@link concepts#model Model} | the data that is shown to the user and with which the user interacts | -|{@link concepts#scope Scope} | context where the model is stored so that controllers, directives and expressions can access it | -|{@link concepts#expression Expressions} | access variables and functions from the scope | -|{@link concepts#compiler Compiler} | parses the template and instantiates directives and expressions | -|{@link concepts#filter Filter} | formats the value of an expression for display to the user | -|{@link concepts#view View} | what the user sees (the DOM) | -|{@link concepts#databinding Data Binding} | sync data between the model and the view | -|{@link concepts#controller Controller} | the business logic behind views | -|{@link concepts#di Dependency Injection} | Creates and wires objects / functions | -|{@link concepts#injector Injector} | dependency injection container | -|{@link concepts#module Module} | configures the Injector | -|{@link concepts#service Service} | reusable business logic independent of views | - - -# A first example: Data binding - -In the following we will build a form to calculate the costs of an invoice in different currencies. +# Conceptual Overview + +This section briefly touches on all of the important parts of AngularJS using a simple example. +For a more in-depth explanation, see the {@link tutorial/ tutorial}. + +| Concept | Description | +|--------------------------------------------|--------------------------------------------------------------------------| +|{@link concepts#template Template} | HTML with additional markup | +|{@link concepts#directive Directives} | extend HTML with custom attributes and elements | +|{@link concepts#model Model} | the data shown to the user in the view and with which the user interacts | +|{@link concepts#scope Scope} | context where the model is stored so that controllers, directives and expressions can access it | +|{@link concepts#expression Expressions} | access variables and functions from the scope | +|{@link concepts#compiler Compiler} | parses the template and instantiates directives and expressions | +|{@link concepts#filter Filter} | formats the value of an expression for display to the user | +|{@link concepts#view View} | what the user sees (the DOM) | +|{@link concepts#databinding Data Binding} | sync data between the model and the view | +|{@link concepts#controller Controller} | the business logic behind views | +|{@link concepts#di Dependency Injection} | Creates and wires objects and functions | +|{@link concepts#injector Injector} | dependency injection container | +|{@link concepts#module Module} | a container for the different parts of an app including controllers, services, filters, directives which configures the Injector | +|{@link concepts#service Service} | reusable business logic independent of views | + + +## A first example: Data binding + +In the following example we will build a form to calculate the costs of an invoice in different currencies. Let's start with input fields for quantity and cost whose values are multiplied to produce the total of the invoice: - + -
    +
    Invoice:
    - Quantity: + Quantity:
    - Costs: + Costs:
    Total: {{qty * cost | currency}} @@ -53,59 +54,56 @@ Try out the Live Preview above, and then let's walk through the example and desc -This looks like normal HTML, with some new markup. In Angular, a file like this is called a -"{@link templates template}". When Angular starts your application, it parses and -processes this new markup from the template using the so called "{@link compiler compiler}". -The loaded, transformed and rendered DOM is then called the "view". - -The first kind of new markup are the so called "{@link directive directives}". -They apply special behavior to attributes or elements in the HTML. In the example above we use the -{@link api/ng.directive:ngApp `ng-app`} attribute, which is linked to a directive that automatically -initializes our application. Angular also defines a directive for the {@link api/ng.directive:input `input`} -element that adds extra behavior to the element. E.g. it is able to automatically validate that the entered -text is non empty by evaluating the `required` attribute. -The {@link api/ng.directive:ngModel `ng-model`} directive stores/updates -the value of the input field into/from a variable and shows the validation state of the input field by -adding css classes. In the example we use these css classes to mark an empty input field with a red border. +This looks like normal HTML, with some new markup. In AngularJS, a file like this is called a +{@link templates template}. When AngularJS starts your application, it parses and +processes this new markup from the template using the {@link compiler compiler}. +The loaded, transformed and rendered DOM is then called the *view*. + +The first kind of new markup are the {@link directive directives}. +They apply special behavior to attributes or elements in the HTML. In the example above we use the +{@link ng.directive:ngApp `ng-app`} attribute, which is linked to a directive that automatically +initializes our application. AngularJS also defines a directive for the {@link ng.directive:input `input`} +element that adds extra behavior to the element. The {@link ng.directive:ngModel `ng-model`} directive +stores/updates the value of the input field into/from a variable.
    -**Custom directives to access the DOM**: In Angular, the only place where an application touches the DOM is - within directives. This is good as artifacts that access the DOM are hard to test. +**Custom directives to access the DOM**: In AngularJS, the only place where an application should access the DOM is + within directives. This is important because artifacts that access the DOM are hard to test. If you need to access the DOM directly you should write a custom directive for this. The {@link directive directives guide} explains how to do this.
    The second kind of new markup are the double curly braces `{{ expression | filter }}`: When the compiler encounters this markup, it will replace it with the evaluated value of the markup. -An "{@link expression expression}" in a template is a JavaScript-like code snippet that allows -to read and write variables. Note that those variables are not global variables. +An {@link expression expression} in a template is a JavaScript-like code snippet that allows +AngularJS to read and write variables. Note that those variables are not global variables. Just like variables in a JavaScript function live in a scope, -Angular provides a "{@link scope scope}" for the variables accessible to expressions. -The values that are stored in variables on the scope are referred to as the "model" +AngularJS provides a {@link scope scope} for the variables accessible to expressions. +The values that are stored in variables on the scope are referred to as the *model* in the rest of the documentation. -Applied to the example above, the markup directs Angular to "take the data we got from the input widgets +Applied to the example above, the markup directs AngularJS to "take the data we got from the input widgets and multiply them together". -The example above also contains a "{@link filter filter}". +The example above also contains a {@link guide/filter filter}. A filter formats the value of an expression for display to the user. -In the example above, the filter {@link api/ng.filter:currency `currency`} formats a number +In the example above, the filter {@link ng.filter:currency `currency`} formats a number into an output that looks like money. -The important thing in the example is that angular provides _live_ bindings: +The important thing in the example is that AngularJS provides _live_ bindings: Whenever the input values change, the value of the expressions are automatically recalculated and the DOM is updated with their values. -The concept behind this is "{@link databinding two-way data binding}". +The concept behind this is {@link databinding two-way data binding}. -# Adding UI logic: Controllers +## Adding UI logic: Controllers Let's add some more logic to the example that allows us to enter and calculate the costs in different currencies and also pay the invoice. - + angular.module('invoice1', []) - .controller('InvoiceController', function() { + .controller('InvoiceController', function InvoiceController() { this.qty = 1; this.cost = 2; this.inCurr = 'EUR'; @@ -120,21 +118,21 @@ different currencies and also pay the invoice. return this.convertCurrency(this.qty * this.cost, this.inCurr, outCurr); }; this.convertCurrency = function convertCurrency(amount, inCurr, outCurr) { - return amount * this.usdToForeignRates[outCurr] * 1 / this.usdToForeignRates[inCurr]; + return amount * this.usdToForeignRates[outCurr] / this.usdToForeignRates[inCurr]; }; this.pay = function pay() { - window.alert("Thanks!"); + window.alert('Thanks!'); }; }); -
    +
    Invoice:
    - Quantity: + Quantity:
    - Costs: + Costs: @@ -143,7 +141,7 @@ different currencies and also pay the invoice. Total: {{invoice.total(c) | currency:c}} - +
    @@ -152,26 +150,27 @@ different currencies and also pay the invoice. What changed? -First, there is a new JavaScript file that contains a so called "{@link controller controller}". -More exactly, the file contains a constructor function that creates the actual controller instance. -The purpose of controllers is to expose variables and functionality to expressions and directives. +First, there is a new JavaScript file that contains a {@link controller controller}. +More accurately, the file specifies a constructor function that will be used to create the actual +controller instance. The purpose of controllers is to expose variables and functionality to +expressions and directives. -Besides the new file that contains the controller code we also added a -{@link api/ng.directive:ngController `ng-controller`} directive to the HTML. -This directive tells angular that the new `InvoiceController` is responsible for the element with the directive +Besides the new file that contains the controller code, we also added an +{@link ng.directive:ngController `ng-controller`} directive to the HTML. +This directive tells AngularJS that the new `InvoiceController` is responsible for the element with the directive and all of the element's children. -The syntax `InvoiceController as invoice` tells Angular to instantiate the controller +The syntax `InvoiceController as invoice` tells AngularJS to instantiate the controller and save it in the variable `invoice` in the current scope. We also changed all expressions in the page to read and write variables within that controller instance by prefixing them with `invoice.` . The possible currencies are defined in the controller -and added to the template using {@link api/ng.directive:ngRepeat `ng-repeat`}. +and added to the template using {@link ng.directive:ngRepeat `ng-repeat`}. As the controller contains a `total` function we are also able to bind the result of that function to the DOM using `{{ invoice.total(...) }}`. Again, this binding is live, i.e. the DOM will be automatically updated whenever the result of the function changes. -The button to pay the invoice uses the directive {@link api/ng.directive:ngClick `ngClick`}. This will evaluate the +The button to pay the invoice uses the directive {@link ng.directive:ngClick `ngClick`}. This will evaluate the corresponding expression whenever the button is clicked. In the new JavaScript file we are also creating a {@link concepts#module module} @@ -181,39 +180,39 @@ The following graphic shows how everything works together after we introduced th -# View independent business logic: Services +## View-independent business logic: Services Right now, the `InvoiceController` contains all logic of our example. When the application grows it -is a good practise to move view independent logic from the controller into a so called -"{@link dev_guide.services service}", so it can be reused by other parts +is a good practice to move view-independent logic from the controller into a +{@link services service}, so it can be reused by other parts of the application as well. Later on, we could also change that service to load the exchange rates -from the web, e.g. by calling the Yahoo Finance API, without changing the controller. +from the web, e.g. by calling the [exchangeratesapi.io](https://exchangeratesapi.io) exchange rate API, without changing the controller. Let's refactor our example and move the currency conversion into a service in another file: - + angular.module('finance2', []) .factory('currencyConverter', function() { - var currencies = ['USD', 'EUR', 'CNY'], - usdToForeignRates = { + var currencies = ['USD', 'EUR', 'CNY']; + var usdToForeignRates = { USD: 1, EUR: 0.74, CNY: 6.09 }; + var convert = function(amount, inCurr, outCurr) { + return amount * usdToForeignRates[outCurr] / usdToForeignRates[inCurr]; + }; + return { currencies: currencies, convert: convert }; - - function convert(amount, inCurr, outCurr) { - return amount * usdToForeignRates[outCurr] * 1 / usdToForeignRates[inCurr]; - } }); angular.module('invoice2', ['finance2']) - .controller('InvoiceController', ['currencyConverter', function(currencyConverter) { + .controller('InvoiceController', ['currencyConverter', function InvoiceController(currencyConverter) { this.qty = 1; this.cost = 2; this.inCurr = 'EUR'; @@ -223,18 +222,18 @@ Let's refactor our example and move the currency conversion into a service in an return currencyConverter.convert(this.qty * this.cost, this.inCurr, outCurr); }; this.pay = function pay() { - window.alert("Thanks!"); + window.alert('Thanks!'); }; }]); -
    +
    Invoice:
    - Quantity: + Quantity:
    - Costs: + Costs: @@ -243,7 +242,7 @@ Let's refactor our example and move the currency conversion into a service in an Total: {{invoice.total(c) | currency:c}} - +
    @@ -253,59 +252,61 @@ Let's refactor our example and move the currency conversion into a service in an What changed? + We moved the `convertCurrency` function and the definition of the existing currencies -into the new file `finance.js`. But how does the controller +into the new file `finance2.js`. But how does the controller get a hold of the now separated function? -This is where "{@link di Dependency Injection}" comes into play. +This is where {@link di Dependency Injection} comes into play. Dependency Injection (DI) is a software design pattern that deals with how objects and functions get created and how they get a hold of their dependencies. -Everything within Angular (directives, filters, controllers, -services, ...) is created and wired using dependency injection. Within Angular, -the DI container is called the "{@link di injector}". +Everything within AngularJS (directives, filters, controllers, +services, ...) is created and wired using dependency injection. Within AngularJS, +the DI container is called the {@link di injector}. To use DI, there needs to be a place where all the things that should work together are registered. -In Angular, this is the purpose of the so called "{@link module modules}". -When Angular starts, it will use the configuration of the module with the name defined by the `ng-app` directive, +In AngularJS, this is the purpose of the {@link module modules}. +When AngularJS starts, it will use the configuration of the module with the name defined by the `ng-app` directive, including the configuration of all modules that this module depends on. In the example above: -The template contains the directive `ng-app="invoice2"`. This tells Angular -to use the `invoice` module as the main module for the application. -The code snippet `angular.module('invoice', ['finance'])` specifies that the `invoice` module depends on the -`finance` module. By this, Angular uses the `InvoiceController` as well as the `currencyConverter` service. - -Now that Angular knows of all the parts of the application, it needs to create them. -In the previous section we saw that controllers are created using a factory function. -For services there are multiple ways to define their factory -(see the {@link dev_guide.services service guide}). -In the example above, we are using a function that returns the `currencyConverter` function as the factory -for the service. +The template contains the directive `ng-app="invoice2"`. This tells AngularJS +to use the `invoice2` module as the main module for the application. +The code snippet `angular.module('invoice2', ['finance2'])` specifies that the `invoice2` module depends on the +`finance2` module. By this, AngularJS uses the `InvoiceController` as well as the `currencyConverter` service. + +Now that AngularJS knows of all the parts of the application, it needs to create them. +In the previous section we saw that controllers are created using a constructor function. +For services, there are multiple ways to specify how they are created +(see the {@link services service guide}). +In the example above, we are using an anonymous function as the factory function for the +`currencyConverter` service. +This function should return the `currencyConverter` service instance. Back to the initial question: How does the `InvoiceController` get a reference to the `currencyConverter` function? -In Angular, this is done by simply defining arguments on the constructor function. With this, the injector +In AngularJS, this is done by simply defining arguments on the constructor function. With this, the injector is able to create the objects in the right order and pass the previously created objects into the factories of the objects that depend on them. -In our example, the `InvoiceController` has an argument named `currencyConverter`. By this, Angular knows about the +In our example, the `InvoiceController` has an argument named `currencyConverter`. By this, AngularJS knows about the dependency between the controller and the service and calls the controller with the service instance as argument. The last thing that changed in the example between the previous section and this section is that we now pass an array to the `module.controller` function, instead of a plain function. The array first contains the names of the service dependencies that the controller needs. The last entry in the array is the controller constructor function. -Angular uses this array syntax to define the dependencies so that the DI also works after minifying +AngularJS uses this array syntax to define the dependencies so that the DI also works after minifying the code, which will most probably rename the argument name of the controller constructor function to something shorter like `a`. -# Accessing the backend +## Accessing the backend -Let's finish our example by fetching the exchange rates from the Yahoo Finance API. -The following example shows how this is done with Angular: +Let's finish our example by fetching the exchange rates from the [exchangeratesapi.io](https://exchangeratesapi.io) exchange rate API. +The following example shows how this is done with AngularJS: - + angular.module('invoice3', ['finance3']) - .controller('InvoiceController', ['currencyConverter', function(currencyConverter) { + .controller('InvoiceController', ['currencyConverter', function InvoiceController(currencyConverter) { this.qty = 1; this.cost = 2; this.inCurr = 'EUR'; @@ -315,52 +316,44 @@ The following example shows how this is done with Angular: return currencyConverter.convert(this.qty * this.cost, this.inCurr, outCurr); }; this.pay = function pay() { - window.alert("Thanks!"); + window.alert('Thanks!'); }; }]); angular.module('finance3', []) .factory('currencyConverter', ['$http', function($http) { - var YAHOO_FINANCE_URL_PATTERN = - 'http://query.yahooapis.com/v1/public/yql?q=select%20*%20from'+ - 'yahoo.finance.xchange where pair in ("PAIRS")&format=json&'+ - 'env=store://datatables.org/alltableswithkeys&callback=JSON_CALLBACK', - currencies = ['USD', 'EUR', 'CNY'], - usdToForeignRates = {}; + var currencies = ['USD', 'EUR', 'CNY']; + var usdToForeignRates = {}; + + var convert = function(amount, inCurr, outCurr) { + return amount * usdToForeignRates[outCurr] / usdToForeignRates[inCurr]; + }; + + var refresh = function() { + var url = 'https://api.exchangeratesapi.io/latest?base=USD&symbols=' + currencies.join(","); + return $http.get(url).then(function(response) { + usdToForeignRates = response.data.rates; + usdToForeignRates['USD'] = 1; + }); + }; + refresh(); + return { currencies: currencies, - convert: convert, - refresh: refresh + convert: convert }; - - function convert(amount, inCurr, outCurr) { - return amount * usdToForeignRates[outCurr] * 1 / usdToForeignRates[inCurr]; - } - - function refresh() { - var url = YAHOO_FINANCE_URL_PATTERN. - replace('PAIRS', 'USD' + currencies.join('","USD')); - return $http.jsonp(url).success(function(data) { - var newUsdToForeignRates = {}; - angular.forEach(data.query.results.rate, function(rate) { - var currency = rate.id.substring(3,6); - newUsdToForeignRates[currency] = window.parseFloat(rate.Rate); - }); - usdToForeignRates = newUsdToForeignRates; - }); - } }]); -
    +
    Invoice:
    - Quantity: + Quantity:
    - Costs: + Costs: @@ -369,7 +362,7 @@ The following example shows how this is done with Angular: Total: {{invoice.total(c) | currency:c}} - +
    @@ -377,8 +370,8 @@ The following example shows how this is done with Angular: What changed? -Our `currencyConverter` service of the `finance` module now uses the -{@link api/ng.$http $http} service, a builtin service provided by Angular -for accessing the backend. It is a wrapper around [`XMLHttpRequest`](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) -and [JSONP](http://en.wikipedia.org/wiki/JSONP) transports. Details can be found in the api docs of that service. +Our `currencyConverter` service of the `finance` module now uses the {@link ng.$http `$http`}, a +built-in service provided by AngularJS for accessing a server backend. `$http` is a wrapper around +[`XMLHttpRequest`](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) +and [JSONP](http://en.wikipedia.org/wiki/JSONP) transports. diff --git a/docs/content/guide/controller.ngdoc b/docs/content/guide/controller.ngdoc index 29c377096f55..6520abf38573 100644 --- a/docs/content/guide/controller.ngdoc +++ b/docs/content/guide/controller.ngdoc @@ -1,264 +1,259 @@ @ngdoc overview @name Controllers +@sortOrder 220 @description # Understanding Controllers -In Angular, a Controller is a JavaScript **constructor function** that is used to augment the -{@link scope Angular Scope}. +In AngularJS, a Controller is defined by a JavaScript **constructor function** that is used to augment the +{@link scope AngularJS Scope}. -When a Controller is attached to the DOM via the {@link api/ng.directive:ngController ng-controller} -directive, Angular will instantiate a new Controller object, using the specified Controller's -**constructor function**. A new **child scope** will be available as an injectable parameter to the -Controller's constructor function as `$scope`. +Controllers can be attached to the DOM in different ways. For each of them, AngularJS will +instantiate a new Controller object, using the specified Controller's **constructor function**: -Use Controllers to: +- the {@link ng.directive:ngController ngController} directive. A new **child scope** will be +created and made available as an injectable parameter to the Controller's constructor function +as `$scope`. +- a route controller in a {@link ngRoute.$routeProvider $route definition}. +- the controller of a {@link guide/directive regular directive}, or a +{@link guide/component component directive}. + +If the controller has been attached using the `controller as` syntax then the controller instance will +be assigned to a property on the scope. + +Use controllers to: - Set up the initial state of the `$scope` object. - Add behavior to the `$scope` object. -# Setting up the initial state of a `$scope` object +Do not use controllers to: + +- Manipulate DOM — Controllers should contain only business logic. + Putting any presentation logic into Controllers significantly affects its testability. AngularJS + has {@link databinding databinding} for most cases and {@link guide/directive directives} to + encapsulate manual DOM manipulation. +- Format input — Use {@link forms AngularJS form controls} instead. +- Filter output — Use {@link guide/filter AngularJS filters} instead. +- Share code or state across controllers — Use {@link services AngularJS +services} instead. +- Manage the life-cycle of other components (for example, to create service instances). + +In general, a Controller shouldn't try to do too much. It should contain only the business logic +needed for a single view. + +The most common way to keep Controllers slim is by encapsulating work that doesn't belong to +controllers into services and then using these services in Controllers via dependency injection. +This is discussed in the {@link di Dependency Injection} and {@link services +Services} sections of this guide. + + +## Setting up the initial state of a `$scope` object -Typically, when you create an application you need to set up the initial state for the Angular +Typically, when you create an application you need to set up the initial state for the AngularJS `$scope`. You set up the initial state of a scope by attaching properties to the `$scope` object. The properties contain the **view model** (the model that will be presented by the view). All the -`$scope` properties will be available to the template at the point in the DOM where the Controller +`$scope` properties will be available to the {@link templates template} at the point in the DOM where the Controller is registered. -The following example shows a very simple constructor function for a Controller, `GreetingCtrl`, -which attaches a `greeting` property containing the string `'Hola!'` to the `$scope`: +The following example demonstrates creating a `GreetingController`, which attaches a `greeting` +property containing the string `'Hola!'` to the `$scope`: -
    -    function GreetingCtrl($scope) {
    -        $scope.greeting = 'Hola!';
    -    }
    -
    - -Once the Controller has been attached to the DOM, the `greeting` property can be data-bound to the -template: +```js +var myApp = angular.module('myApp',[]); -
    -    
    - {{ greeting }} -
    -
    +myApp.controller('GreetingController', ['$scope', function($scope) { + $scope.greeting = 'Hola!'; +}]); +``` -**NOTE**: Although Angular allows you to create Controller functions in the global scope, this is -not recommended. In a real application you should use the `.controller` method of your -{@link module Angular Module} for your application as follows: +We create an {@link module AngularJS Module}, `myApp`, for our application. Then we add the controller's +constructor function to the module using the `.controller()` method. This keeps the controller's +constructor function out of the global scope. -
    -    var myApp = angular.module('myApp',[]);
    +
    +We have used an **inline injection annotation** to explicitly specify the dependency +of the Controller on the `$scope` service provided by AngularJS. See the guide on +{@link guide/di Dependency Injection} for more information. +
    - myApp.controller('GreetingCtrl', ['$scope', function($scope) { - $scope.greeting = 'Hola!'; - }]); -
    +We attach our controller to the DOM using the `ng-controller` directive. The `greeting` property can +now be data-bound to the template: -We have used an **inline injection annotation** to explicitly specify the dependency -of the Controller on the `$scope` service provided by Angular. See the guide on -{@link http://docs.angularjs.org/guide/di Dependency Injection} for more information. +```js +
    + {{ greeting }} +
    +``` -# Adding Behavior to a Scope Object +## Adding Behavior to a Scope Object In order to react to events or execute computation in the view we must provide behavior to the scope. We add behavior to the scope by attaching methods to the `$scope` object. These methods are then available to be called from the template/view. -The following example uses a Controller to add a method to the scope, which doubles a number: +The following example uses a Controller to add a method, which doubles a number, to the scope: -
    -    var myApp = angular.module('myApp',[]);
    +```js
    +var myApp = angular.module('myApp',[]);
     
    -    myApp.controller('DoubleCtrl', ['$scope', function($scope) {
    -        $scope.double = function(value) { return value * 2; };
    -    }]);
    -
    +myApp.controller('DoubleController', ['$scope', function($scope) { + $scope.double = function(value) { return value * 2; }; +}]); +``` -Once the Controller has been attached to the DOM, the `double` method can be invoked in an Angular +Once the Controller has been attached to the DOM, the `double` method can be invoked in an AngularJS expression in the template: -
    -    
    - Two times equals {{ double(num) }} -
    -
    +```js +
    + Two times equals {{ double(num) }} +
    +``` As discussed in the {@link concepts Concepts} section of this guide, any objects (or primitives) assigned to the scope become model properties. Any methods assigned to -the scope are available in the template/view, and can be invoked via angular expressions -and `ng` event handler directives (e.g. {@link api/ng.directive:ngClick ngClick}). - -# Using Controllers Correctly - -In general, a Controller shouldn't try to do too much. It should contain only the business logic -needed for a single view. - -The most common way to keep Controllers slim is by encapsulating work that doesn't belong to -controllers into services and then using these services in Controllers via dependency injection. -This is discussed in the {@link di Dependency Injection} {@link dev_guide.services -Services} sections of this guide. - -Do not use Controllers for: - -- Any kind of DOM manipulation — Controllers should contain only business logic. DOM -manipulation (the presentation logic of an application) is well known for being hard to test. -Putting any presentation logic into Controllers significantly affects testability of the business -logic. Angular offers {@link databinding databinding} for automatic DOM manipulation. If -you have to perform your own manual DOM manipulation, encapsulate the presentation logic in -{@link guide/directive directives}. -- Input formatting — Use {@link forms angular form controls} instead. -- Output filtering — Use {@link filter angular filters} instead. -- Sharing stateless or stateful code across Controllers — Use {@link dev_guide.services angular -services} instead. -- Managing the life-cycle of other components (for example, to create service instances). - - -# Associating Controllers with Angular Scope Objects - -You can associate Controllers with scope objects implicitly via the {@link api/ng.directive:ngController ngController -directive} or {@link api/ngRoute.$route $route service}. - +the scope are available in the template/view, and can be invoked via AngularJS expressions +and `ng` event handler directives (e.g. {@link ng.directive:ngClick ngClick}). ## Simple Spicy Controller Example -To illustrate further how Controller components work in Angular, let's create a little app with the +To illustrate further how Controller components work in AngularJS, let's create a little app with the following components: - A {@link templates template} with two buttons and a simple message - A model consisting of a string named `spice` - A Controller with two functions that set the value of `spice` -The message in our template contains a binding to the `spice` model, which by default is set to the +The message in our template contains a binding to the `spice` model which, by default, is set to the string "very". Depending on which button is clicked, the `spice` model is set to `chili` or `jalapeño`, and the message is automatically updated by data-binding. - - -
    + + +

    The food is {{spice}} spicy!

    - - - +
    + + var myApp = angular.module('spicyApp1', []); + + myApp.controller('SpicyController', ['$scope', function($scope) { + $scope.spice = 'very'; + + $scope.chiliSpicy = function() { + $scope.spice = 'chili'; + }; + + $scope.jalapenoSpicy = function() { + $scope.spice = 'jalapeño'; + }; + }]); + +
    Things to notice in the example above: - The `ng-controller` directive is used to (implicitly) create a scope for our template, and the -scope is augmented (managed) by the `SpicyCtrl` Controller. -- `SpicyCtrl` is just a plain JavaScript function. As an (optional) naming convention the name -starts with capital letter and ends with "Ctrl" or "Controller". +scope is augmented (managed) by the `SpicyController` Controller. +- `SpicyController` is just a plain JavaScript function. As an (optional) naming convention the name +starts with capital letter and ends with "Controller". - Assigning a property to `$scope` creates or updates the model. - Controller methods can be created through direct assignment to scope (see the `chiliSpicy` method) -- The Controller methods and properties are available in the template (for the `
    ` element and -and its children). +- The Controller methods and properties are available in the template (for both the `
    ` element and +its children). ## Spicy Arguments Example Controller methods can also take arguments, as demonstrated in the following variation of the previous example. - - -
    + + +

    The food is {{spice}} spicy!

    - - - +
    +
    -Notice that the `SpicyCtrl` Controller now defines just one method called `spicy`, which takes one +Notice that the `SpicyController` Controller now defines just one method called `spicy`, which takes one argument called `spice`. The template then refers to this Controller method and passes in a string constant `'chili'` in the binding for the first button and a model property `customSpice` (bound to an input box) in the second button. ## Scope Inheritance Example -It is common to attach Controllers at different levels of the DOM hierarchy. Since the -{@link api/ng.directive:ngController ng-controller} directive creates a new child scope, we get a +It is common to attach Controllers at different levels of the DOM hierarchy. Since the +{@link ng.directive:ngController ng-controller} directive creates a new child scope, we get a hierarchy of scopes that inherit from each other. The `$scope` that each Controller receives will have access to properties and methods defined by Controllers higher up the hierarchy. -See {@link https://github.com/angular/angular.js/wiki/Understanding-Scopes Understanding Scopes} for +See [Understanding Scopes](https://github.com/angular/angular.js/wiki/Understanding-Scopes) for more information about scope inheritance. - - -
    -
    + + +
    +

    Good {{timeOfDay}}, {{name}}!

    -
    +

    Good {{timeOfDay}}, {{name}}!

    -
    +

    Good {{timeOfDay}}, {{name}}!

    - - - - + + Notice how we nested three `ng-controller` directives in our template. This will result in four scopes being created for our view: - The root scope -- The `MainCtrl` scope, which contains `timeOfDay` and `name` properties -- The `ChildCtrl` scope, which inherits the `timeOfDay` property but overrides (hides) the `name` -property from the previous -- The `GrandChildCtrl` scope, which overrides (hides) both the `timeOfDay` property defined in `MainCtrl` -and the `name` property defined in `ChildCtrl` +- The `MainController` scope, which contains `timeOfDay` and `name` properties +- The `ChildController` scope, which inherits the `timeOfDay` property but overrides (shadows) the + `name` property from the previous scope +- The `GrandChildController` scope, which overrides (shadows) both the `timeOfDay` property defined + in `MainController` and the `name` property defined in `ChildController` Inheritance works with methods in the same way as it does with properties. So in our previous examples, all of the properties could be replaced with methods that return string values. @@ -267,22 +262,22 @@ examples, all of the properties could be replaced with methods that return strin ## Testing Controllers Although there are many ways to test a Controller, one of the best conventions, shown below, -involves injecting the {@link api/ng.$rootScope $rootScope} and {@link api/ng.$controller $controller}: +involves injecting the {@link ng.$rootScope $rootScope} and {@link ng.$controller $controller}: **Controller Definition:** -
    +```js
         var myApp = angular.module('myApp',[]);
     
         myApp.controller('MyController', function($scope) {
           $scope.spices = [{"name":"pasilla", "spiciness":"mild"},
    -                       {"name":"jalapeno", "spiceiness":"hot hot hot!"},
    -                       {"name":"habanero", "spiceness":"LAVA HOT!!"}];
    +                       {"name":"jalapeno", "spiciness":"hot hot hot!"},
    +                       {"name":"habanero", "spiciness":"LAVA HOT!!"}];
           $scope.spice = "habanero";
         });
    -
    +``` **Controller Test:** -
    +```js
     describe('myController function', function() {
     
       describe('myController', function() {
    @@ -304,13 +299,13 @@ describe('myController function', function() {
         });
       });
     });
    -
    +``` -If you need to test a nested Controller you need to create the same scope hierarchy +If you need to test a nested Controller you must create the same scope hierarchy in your test that exists in the DOM: -
    +```js
     describe('state', function() {
         var mainScope, childScope, grandChildScope;
     
    @@ -318,11 +313,11 @@ describe('state', function() {
     
         beforeEach(inject(function($rootScope, $controller) {
             mainScope = $rootScope.$new();
    -        $controller('MainCtrl', {$scope: mainScope});
    +        $controller('MainController', {$scope: mainScope});
             childScope = mainScope.$new();
    -        $controller('ChildCtrl', {$scope: childScope});
    +        $controller('ChildController', {$scope: childScope});
             grandChildScope = childScope.$new();
    -        $controller('GrandChildCtrl', {$scope: grandChildScope});
    +        $controller('GrandChildController', {$scope: grandChildScope});
         }));
     
         it('should have over and selected', function() {
    @@ -331,10 +326,7 @@ describe('state', function() {
             expect(childScope.timeOfDay).toBe('morning');
             expect(childScope.name).toBe('Mattie');
             expect(grandChildScope.timeOfDay).toBe('evening');
    -        expect(grandChildScope.name).toBe('Gingerbreak Baby');
    +        expect(grandChildScope.name).toBe('Gingerbread Baby');
         });
     });
    -
    - - - +``` diff --git a/docs/content/guide/css-styling.ngdoc b/docs/content/guide/css-styling.ngdoc new file mode 100644 index 000000000000..2bf2a0508aa9 --- /dev/null +++ b/docs/content/guide/css-styling.ngdoc @@ -0,0 +1,41 @@ +@ngdoc overview +@name Working With CSS +@sortOrder 510 +@description + + +AngularJS sets these CSS classes. It is up to your application to provide useful styling. + +# CSS classes used by AngularJS + +* `ng-scope` + - **Usage:** AngularJS applies this class to any element for which a new {@link $rootScope scope} + is defined. (see {@link guide/scope scope} guide for more information about scopes) + +* `ng-isolate-scope` + - **Usage:** AngularJS applies this class to any element for which a new + {@link guide/directive#isolating-the-scope-of-a-directive isolate scope} is defined. + +* `ng-binding` + - **Usage:** AngularJS applies this class to any element that is attached to a data binding, via `ng-bind` or + `{{}}` curly braces, for example. (see {@link guide/databinding databinding} guide) + +* `ng-invalid`, `ng-valid` + - **Usage:** AngularJS applies this class to a form control widget element if that element's input does + not pass validation. (see {@link ng.directive:input input} directive) + +* `ng-pristine`, `ng-dirty` + - **Usage:** AngularJS {@link ng.directive:ngModel ngModel} directive applies `ng-pristine` class + to a new form control widget which did not have user interaction. Once the user interacts with + the form control, the class is changed to `ng-dirty`. + +* `ng-touched`, `ng-untouched` + - **Usage:** AngularJS {@link ng.directive:ngModel ngModel} directive applies `ng-untouched` class + to a new form control widget which has not been blurred. Once the user blurs the form control, + the class is changed to `ng-touched`. + + +## Related Topics + +* {@link guide/templates AngularJS Templates} +* {@link guide/forms AngularJS Forms} diff --git a/docs/content/guide/databinding.ngdoc b/docs/content/guide/databinding.ngdoc index e5b4f754c974..a9ca961e526e 100644 --- a/docs/content/guide/databinding.ngdoc +++ b/docs/content/guide/databinding.ngdoc @@ -1,30 +1,32 @@ @ngdoc overview @name Data Binding +@sortOrder 210 @description -Data-binding in Angular web apps is the automatic synchronization of data between the model and view -components. The way that Angular implements data-binding lets you treat the model as the +# Data Binding + +Data-binding in AngularJS apps is the automatic synchronization of data between the model and view +components. The way that AngularJS implements data-binding lets you treat the model as the single-source-of-truth in your application. The view is a projection of the model at all times. When the model changes, the view reflects the change, and vice versa. ## Data Binding in Classical Template Systems - +
    Most templating systems bind data in only one direction: they merge template and model components -together into a view, as illustrated in the diagram. After the merge occurs, changes to the model +together into a view. After the merge occurs, changes to the model or related sections of the view are NOT automatically reflected in the view. Worse, any changes that the user makes to the view are not reflected in the model. This means that the developer has to write code that constantly syncs the view with the model and the model with the view. -## Data Binding in Angular Templates +## Data Binding in AngularJS Templates - -The way Angular templates works is different, as illustrated in the diagram. They are different -because first the template (which is the uncompiled HTML along with any additional markup or -directives) is compiled on the browser, and second, the compilation step produces a live view. We -say live because any changes to the view are immediately reflected in the model, and any changes in -the model are propagated to the view. This makes the model always the single-source-of-truth for -the application state, greatly simplifying the programming model for the developer. You can think of +
    +AngularJS templates work differently. First the template (which is the uncompiled HTML along with +any additional markup or directives) is compiled on the browser. The compilation step produces a +live view. Any changes to the view are immediately reflected in the model, and any changes in +the model are propagated to the view. The model is the single-source-of-truth for the application +state, greatly simplifying the programming model for the developer. You can think of the view as simply an instant projection of your model. Because the view is just a projection of the model, the controller is completely separated from the @@ -34,5 +36,5 @@ isolation without the view and the related DOM/browser dependency. ## Related Topics -* {@link scope Angular Scopes} -* {@link templates Angular Templates} +* {@link scope AngularJS Scopes} +* {@link templates AngularJS Templates} diff --git a/docs/content/guide/decorators.ngdoc b/docs/content/guide/decorators.ngdoc new file mode 100644 index 000000000000..2e8bc0e2a528 --- /dev/null +++ b/docs/content/guide/decorators.ngdoc @@ -0,0 +1,504 @@ +@ngdoc overview +@name Decorators +@sortOrder 345 +@description + +# Decorators in AngularJS + +
    + **NOTE:** This guide is targeted towards developers who are already familiar with AngularJS basics. + If you're just getting started, we recommend the {@link tutorial/ tutorial} first. +
    + +## What are decorators? + +Decorators are a design pattern that is used to separate modification or *decoration* of a class without modifying the +original source code. In AngularJS, decorators are functions that allow a service, directive or filter to be modified +prior to its usage. + +## How to use decorators + +There are two ways to register decorators + +- `$provide.decorator`, and +- `module.decorator` + +Each provide access to a `$delegate`, which is the instantiated service/directive/filter, prior to being passed to the +service that required it. + +### $provide.decorator + +The {@link api/auto/service/$provide#decorator decorator function} allows access to a $delegate of the service once it +has been instantiated. For example: + +```js +angular.module('myApp', []) + +.config([ '$provide', function($provide) { + + $provide.decorator('$log', [ + '$delegate', + function $logDecorator($delegate) { + + var originalWarn = $delegate.warn; + $delegate.warn = function decoratedWarn(msg) { + msg = 'Decorated Warn: ' + msg; + originalWarn.apply($delegate, arguments); + }; + + return $delegate; + } + ]); +}]); +``` + +After the `$log` service has been instantiated the decorator is fired. The decorator function has a `$delegate` object +injected to provide access to the service that matches the selector in the decorator. This `$delegate` will be the +service you are decorating. The return value of the function *provided to the decorator* will take place of the service, +directive, or filter being decorated. + +
    + +The `$delegate` may be either modified or completely replaced. Given a service `myService` with a method `someFn`, the +following could all be viable solutions: + + +#### Completely Replace the $delegate +```js +angular.module('myApp', []) + +.config([ '$provide', function($provide) { + + $provide.decorator('myService', [ + '$delegate', + function myServiceDecorator($delegate) { + + var myDecoratedService = { + // new service object to replace myService + }; + return myDecoratedService; + } + ]); +}]); +``` + +#### Patch the $delegate +```js +angular.module('myApp', []) + +.config([ '$provide', function($provide) { + + $provide.decorator('myService', [ + '$delegate', + function myServiceDecorator($delegate) { + + var someFn = $delegate.someFn; + + function aNewFn() { + // new service function + someFn.apply($delegate, arguments); + } + + $delegate.someFn = aNewFn; + return $delegate; + } + ]); +}]); +``` + +#### Augment the $delegate +```js +angular.module('myApp', []) + +.config([ '$provide', function($provide) { + + $provide.decorator('myService', [ + '$delegate', + function myServiceDecorator($delegate) { + + function helperFn() { + // an additional fn to add to the service + } + + $delegate.aHelpfulAddition = helperFn; + return $delegate; + } + ]); +}]); +``` + +
    + Note that whatever is returned by the decorator function will replace that which is being decorated. For example, a + missing return statement will wipe out the entire object being decorated. +
    + +
    + +Decorators have different rules for different services. This is because services are registered in different ways. +Services are selected by name, however filters and directives are selected by appending `"Filter"` or `"Directive"` to +the end of the name. The `$delegate` provided is dictated by the type of service. + +| Service Type | Selector | $delegate | +|--------------|-------------------------------|-----------------------------------------------------------------------| +| Service | `serviceName` | The `object` or `function` returned by the service | +| Directive | `directiveName + 'Directive'` | An `Array.`{@link guide/decorators#drtvArray 1} | +| Filter | `filterName + 'Filter'` | The `function` returned by the filter | + +1. Multiple directives may be registered to the same selector/name + +
    + **NOTE:** Developers should take care in how and why they are modifying the `$delegate` for the service. Not only + should expectations for the consumer be kept, but some functionality (such as directive registration) does not take + place after decoration, but during creation/registration of the original service. This means, for example, that + an action such as pushing a directive object to a directive `$delegate` will likely result in unexpected behavior. + + Furthermore, great care should be taken when decorating core services, directives, or filters as this may unexpectedly + or adversely affect the functionality of the framework. +
    + +### module.decorator + +This {@link api/ng/type/angular.Module#decorator function} is the same as the `$provide.decorator` function except it is +exposed through the module API. This allows you to separate your decorator patterns from your module config blocks. + +Like with `$provide.decorator`, the `module.decorator` function runs during the config phase of the app. That means +you can define a `module.decorator` before the decorated service is defined. + +Since you can apply multiple decorators, it is noteworthy that decorator application always follows order +of declaration: + +- If a service is decorated by both `$provide.decorator` and `module.decorator`, the decorators are applied in order: + +```js +angular + .module('theApp', []) + .factory('theFactory', theFactoryFn) + .config(function($provide) { + $provide.decorator('theFactory', provideDecoratorFn); // runs first + }) + .decorator('theFactory', moduleDecoratorFn); // runs seconds +``` + +- If the service has been declared multiple times, a decorator will decorate the service that has been declared +last: + +```js +angular + .module('theApp', []) + .factory('theFactory', theFactoryFn) + .decorator('theFactory', moduleDecoratorFn) + .factory('theFactory', theOtherFactoryFn); + +// `theOtherFactoryFn` is selected as 'theFactory' provider and it is decorated via `moduleDecoratorFn`. +``` + +## Example Applications + +The following sections provide examples each of a service decorator, a directive decorator, and a filter decorator. + +### Service Decorator Example + +This example shows how we can replace the $log service with our own to display log messages. + + + + angular.module('myServiceDecorator', []). + + controller('Ctrl', [ + '$scope', + '$log', + '$timeout', + function($scope, $log, $timeout) { + var types = ['error', 'warn', 'log', 'info' ,'debug'], i; + + for (i = 0; i < types.length; i++) { + $log[types[i]](types[i] + ': message ' + (i + 1)); + } + + $timeout(function() { + $log.info('info: message logged in timeout'); + }); + } + ]). + + directive('myLog', [ + '$log', + function($log) { + return { + restrict: 'E', + template: '
    • {{l.message}}
    ', + scope: {}, + compile: function() { + return function(scope) { + scope.myLog = $log.stack; + }; + } + }; + } + ]). + + config([ + '$provide', + function($provide) { + + $provide.decorator('$log', [ + '$delegate', + function logDecorator($delegate) { + + var myLog = { + warn: function(msg) { + log(msg, 'warn'); + }, + error: function(msg) { + log(msg, 'error'); + }, + info: function(msg) { + log(msg, 'info'); + }, + debug: function(msg) { + log(msg, 'debug'); + }, + log: function(msg) { + log(msg, 'log'); + }, + stack: [] + }; + + function log(msg, type) { + myLog.stack.push({ type: type, message: msg.toString() }); + if (console && console[type]) console[type](msg); + } + + return myLog; + + } + ]); + + } + ]); +
    + + +
    +

    Logs

    + +
    +
    + + + li.warn { color: yellow; } + li.error { color: red; } + li.info { color: blue } + li.log { color: black } + li.debug { color: green } + + + + it('should display log messages in dom', function() { + element.all(by.repeater('l in myLog')).count().then(function(count) { + expect(count).toEqual(6); + }); + }); + +
    + +### Directive Decorator Example + +Failed interpolated expressions in `ng-href` attributes can easily go unnoticed. We can decorate `ngHref` to warn us of +those conditions. + + + + angular.module('urlDecorator', []). + + controller('Ctrl', ['$scope', function($scope) { + $scope.id = 3; + $scope.warnCount = 0; // for testing + }]). + + config(['$provide', function($provide) { + + // matchExpressions looks for interpolation markup in the directive attribute, extracts the expressions + // from that markup (if they exist) and returns an array of those expressions + function matchExpressions(str) { + var exps = str.match(/{{([^}]+)}}/g); + + // if there isn't any, get out of here + if (exps === null) return; + + exps = exps.map(function(exp) { + var prop = exp.match(/[^{}]+/); + return prop === null ? null : prop[0]; + }); + + return exps; + } + + // remember: directives must be selected by appending 'Directive' to the directive selector + $provide.decorator('ngHrefDirective', [ + '$delegate', + '$log', + '$parse', + function($delegate, $log, $parse) { + + // store the original link fn + var originalLinkFn = $delegate[0].link; + + // replace the compile fn + $delegate[0].compile = function(tElem, tAttr) { + + // store the original exp in the directive attribute for our warning message + var originalExp = tAttr.ngHref; + + // get the interpolated expressions + var exps = matchExpressions(originalExp); + + // create and store the getters using $parse + var getters = exps.map(function(exp) { + return exp && $parse(exp); + }); + + return function newLinkFn(scope, elem, attr) { + // fire the originalLinkFn + originalLinkFn.apply($delegate[0], arguments); + + // observe the directive attr and check the expressions + attr.$observe('ngHref', function(val) { + + // if we have getters and getters is an array... + if (getters && angular.isArray(getters)) { + + // loop through the getters and process them + angular.forEach(getters, function(g, idx) { + + // if val is truthy, then the warning won't log + var val = angular.isFunction(g) ? g(scope) : true; + if (!val) { + $log.warn('NgHref Warning: "' + exps[idx] + '" in the expression "' + originalExp + + '" is falsy!'); + + scope.warnCount++; // for testing + } + + }); + + } + + }); + + }; + + }; + + // get rid of the old link function since we return a link function in compile + delete $delegate[0].link; + + // return the $delegate + return $delegate; + + } + + ]); + + }]); + + + +
    + View Product {{ id }} + - id === 3, so no warning
    + View Product {{ id + 5 }} + - id + 5 === 8, so no warning
    + View Product {{ someOtherId }} + - someOtherId === undefined, so warn
    + View Product {{ someOtherId + 5 }} + - someOtherId + 5 === 5, so no warning
    +
    Warn Count: {{ warnCount }}
    +
    +
    + + + it('should warn when an expression in the interpolated value is falsy', function() { + var id3 = element(by.id('id3')); + var id8 = element(by.id('id8')); + var someOther = element(by.id('someOtherId')); + var someOther5 = element(by.id('someOtherId5')); + + expect(id3.getText()).toEqual('View Product 3'); + expect(id3.getAttribute('href')).toContain('/products/3/view'); + + expect(id8.getText()).toEqual('View Product 8'); + expect(id8.getAttribute('href')).toContain('/products/8/view'); + + expect(someOther.getText()).toEqual('View Product'); + expect(someOther.getAttribute('href')).toContain('/products//view'); + + expect(someOther5.getText()).toEqual('View Product 5'); + expect(someOther5.getAttribute('href')).toContain('/products/5/view'); + + expect(element(by.binding('warnCount')).getText()).toEqual('Warn Count: 1'); + }); + +
    + +### Filter Decorator Example + +Let's say we have created an app that uses the default format for many of our `Date` filters. Suddenly requirements have +changed (that never happens) and we need all of our default dates to be `'shortDate'` instead of `'mediumDate'`. + + + + angular.module('filterDecorator', []). + + controller('Ctrl', ['$scope', function($scope) { + $scope.genesis = new Date(2010, 0, 5); + $scope.ngConf = new Date(2016, 4, 4); + }]). + + config(['$provide', function($provide) { + + $provide.decorator('dateFilter', [ + '$delegate', + function dateDecorator($delegate) { + + // store the original filter + var originalFilter = $delegate; + + // return our filter + return shortDateDefault; + + // shortDateDefault sets the format to shortDate if it is falsy + function shortDateDefault(date, format, timezone) { + if (!format) format = 'shortDate'; + + // return the result of the original filter + return originalFilter(date, format, timezone); + } + + } + + ]); + + }]); + + + +
    +
    Initial Commit default to short date: {{ genesis | date }}
    +
    ng-conf 2016 default short date: {{ ngConf | date }}
    +
    ng-conf 2016 with full date format: {{ ngConf | date:'fullDate' }}
    +
    +
    + + + it('should default date filter to short date format', function() { + expect(element(by.id('genesis')).getText()) + .toMatch(/Initial Commit default to short date: \d{1,2}\/\d{1,2}\/\d{2}/); + }); + + it('should still allow dates to be formatted', function() { + expect(element(by.id('ngConf')).getText()) + .toMatch(/ng-conf 2016 with full date format: [A-Za-z]+, [A-Za-z]+ \d{1,2}, \d{4}/); + }); + +
    diff --git a/docs/content/guide/dev_guide.e2e-testing.ngdoc b/docs/content/guide/dev_guide.e2e-testing.ngdoc deleted file mode 100644 index 4e58f8397c75..000000000000 --- a/docs/content/guide/dev_guide.e2e-testing.ngdoc +++ /dev/null @@ -1,312 +0,0 @@ -@workInProgress -@ngdoc overview -@name Developer Guide: E2E Testing -@description - -**If you're starting a new Angular project, you may want to look into -using {@link https://github.com/angular/protractor Protractor}, as it is going to -replace the current method of E2E Testing in the near future.** - -As applications grow in size and complexity, it becomes unrealistic to rely on manual testing to -verify the correctness of new features, catch bugs and notice regressions. - -To solve this problem, we have built an Angular Scenario Runner which simulates user interactions -that will help you verify the health of your Angular application. - -# Overview -You will write scenario tests in JavaScript, which describe how your application should behave, -given a certain interaction in a specific state. A scenario is comprised of one or more `it` blocks -(you can think of these as the requirements of your application), which in turn are made of -**commands** and **expectations**. Commands tell the Runner to do something with the application -(such as navigate to a page or click on a button), and expectations tell the Runner to assert -something about the state (such as the value of a field or the current URL). If any expectation -fails, the runner marks the `it` as "failed" and continues on to the next one. Scenarios may also -have **beforeEach** and **afterEach** blocks, which will be run before (or after) each `it` block, -regardless of whether they pass or fail. - - - -In addition to the above elements, scenarios may also contain helper functions to avoid duplicating -code in the `it` blocks. - -Here is an example of a simple scenario: -
    -describe('Buzz Client', function() {
    -it('should filter results', function() {
    -  input('user').enter('jacksparrow');
    -  element(':button').click();
    -  expect(repeater('ul li').count()).toEqual(10);
    -  input('filterText').enter('Bees');
    -  expect(repeater('ul li').count()).toEqual(1);
    -});
    -});
    -
    - -Note that -[`input('user')`](https://github.com/angular/angular.js/blob/master/docs/content/guide/dev_guide.e2e-testing.ngdoc#L119) -finds the `` element with `ng-model="user"` not `name="user"`. - -This scenario describes the requirements of a Buzz Client, specifically, that it should be able to -filter the stream of the user. It starts by entering a value in the input field with ng-model="user", clicking -the only button on the page, and then it verifies that there are 10 items listed. It then enters -'Bees' in the input field with ng-model='filterText' and verifies that the list is reduced to a single item. - -The API section below lists the available commands and expectations for the Runner. - -# API -Source: {@link https://github.com/angular/angular.js/blob/master/src/ngScenario/dsl.js} - -## pause() -Pauses the execution of the tests until you call `resume()` in the console (or click the resume -link in the Runner UI). - -## sleep(seconds) -Pauses the execution of the tests for the specified number of `seconds`. - -## browser().navigateTo(url) -Loads the `url` into the test frame. - -## browser().navigateTo(url, fn) -Loads the URL returned by `fn` into the testing frame. The given `url` is only used for the test -output. Use this when the destination URL is dynamic (that is, the destination is unknown when you -write the test). - -## browser().reload() -Refreshes the currently loaded page in the test frame. - -## browser().window().href() -Returns the window.location.href of the currently loaded page in the test frame. - -## browser().window().path() -Returns the window.location.pathname of the currently loaded page in the test frame. - -## browser().window().search() -Returns the window.location.search of the currently loaded page in the test frame. - -## browser().window().hash() -Returns the window.location.hash (without `#`) of the currently loaded page in the test frame. - -## browser().location().url() -Returns the {@link api/ng.$location $location.url()} of the currently loaded page in -the test frame. - -## browser().location().path() -Returns the {@link api/ng.$location $location.path()} of the currently loaded page in -the test frame. - -## browser().location().search() -Returns the {@link api/ng.$location $location.search()} of the currently loaded page -in the test frame. - -## browser().location().hash() -Returns the {@link api/ng.$location $location.hash()} of the currently loaded page in -the test frame. - -## expect(future).{matcher} -Asserts the value of the given `future` satisfies the `matcher`. All API statements return a -`future` object, which get a `value` assigned after they are executed. Matchers are defined using -`angular.scenario.matcher`, and they use the value of futures to run the expectation. For example: -`expect(browser().location().href()).toEqual('http://www.google.com/')`. Available matchers -are presented further down this document. - -## expect(future).not().{matcher} -Asserts the value of the given `future` satisfies the negation of the `matcher`. - -## using(selector, label) -Scopes the next DSL element selection. - -## binding(name) -Returns the value of the first binding matching the given `name`. - -## input(name).enter(value) -Enters the given `value` in the text field with the corresponding ng-model `name`. - -## input(name).check() -Checks/unchecks the checkbox with the corresponding ng-model `name`. - -## input(name).select(value) -Selects the given `value` in the radio button with the corresponding ng-model `name`. - -## input(name).val() -Returns the current value of an input field with the corresponding ng-model `name`. - -## repeater(selector, label).count() -Returns the number of rows in the repeater matching the given jQuery `selector`. The `label` is -used for test output. - -## repeater(selector, label).row(index) -Returns an array with the bindings in the row at the given `index` in the repeater matching the -given jQuery `selector`. The `label` is used for test output. - -## repeater(selector, label).column(binding) -Returns an array with the values in the column with the given `binding` in the repeater matching -the given jQuery `selector`. The `label` is used for test output. - -## select(name).option(value) -Picks the option with the given `value` on the select with the given ng-model `name`. - -## select(name).options(value1, value2...) -Picks the options with the given `values` on the multi select with the given ng-model `name`. - -## element(selector, label).count() -Returns the number of elements that match the given jQuery `selector`. The `label` is used for test -output. - -## element(selector, label).click() -Clicks on the element matching the given jQuery `selector`. The `label` is used for test output. - -## element(selector, label).query(fn) -Executes the function `fn(selectedElements, done)`, where selectedElements are the elements that -match the given jQuery `selector` and `done` is a function that is called at the end of the `fn` -function. The `label` is used for test output. - -## element(selector, label).{method}() -Returns the result of calling `method` on the element matching the given jQuery `selector`, where -`method` can be any of the following jQuery methods: `val`, `text`, `html`, `height`, -`innerHeight`, `outerHeight`, `width`, `innerWidth`, `outerWidth`, `position`, `scrollLeft`, -`scrollTop`, `offset`. The `label` is used for test output. - -## element(selector, label).{method}(value) -Executes the `method` passing in `value` on the element matching the given jQuery `selector`, where -`method` can be any of the following jQuery methods: `val`, `text`, `html`, `height`, -`innerHeight`, `outerHeight`, `width`, `innerWidth`, `outerWidth`, `position`, `scrollLeft`, -`scrollTop`, `offset`. The `label` is used for test output. - -## element(selector, label).{method}(key) -Returns the result of calling `method` passing in `key` on the element matching the given jQuery -`selector`, where `method` can be any of the following jQuery methods: `attr`, `prop`, `css`. The -`label` is used for test output. - -## element(selector, label).{method}(key, value) -Executes the `method` passing in `key` and `value` on the element matching the given jQuery -`selector`, where `method` can be any of the following jQuery methods: `attr`, `prop`, `css`. The -`label` is used for test output. - -# Matchers - -Matchers are used in combination with the `expect(...)` function as described above and can -be negated with `not()`. For instance: `expect(element('h1').text()).not().toEqual('Error')`. - -Source: {@link https://github.com/angular/angular.js/blob/master/src/ngScenario/matchers.js} - -
    -// value and Object comparison following the rules of angular.equals().
    -expect(value).toEqual(value)
    -
    -// a simpler value comparison using ===
    -expect(value).toBe(value)
    -
    -// checks that the value is defined by checking its type.
    -expect(value).toBeDefined()
    -
    -// the following two matchers are using JavaScript's standard truthiness rules
    -expect(value).toBeTruthy()
    -expect(value).toBeFalsy()
    -
    -// verify that the value matches the given regular expression. The regular
    -// expression may be passed in form of a string or a regular expression
    -// object.
    -expect(value).toMatch(expectedRegExp)
    -
    -// a check for null using ===
    -expect(value).toBeNull()
    -
    -// Array.indexOf(...) is used internally to check whether the element is
    -// contained within the array.
    -expect(value).toContain(expected)
    -
    -// number comparison using < and >
    -expect(value).toBeLessThan(expected)
    -expect(value).toBeGreaterThan(expected)
    -
    - -# Example -See the {@link https://github.com/angular/angular-seed angular-seed} project for more examples. - -## Conditional actions with element(...).query(fn) - -E2E testing with angular scenario is highly asynchronous and hides a lot of complexity by -queueing actions and expectations that can handle futures. From time to time, you might need -conditional assertions or element selection. Even though you should generally try to avoid this -(as it is can be sign for unstable tests), you can add conditional behavior with -`element(...).query(fn)`. The following code listing shows how this function can be used to delete -added entries (where an entry is some domain object) using the application's web interface. - -Imagine the application to be structured into two views: - - 1. *Overview view* which lists all the added entries in a table and - 2. a *detail view* which shows the entries' details and contains a delete button. When clicking the - delete button, the user is redirected back to the *overview page*. - -
    -beforeEach(function () {
    -  var deleteEntry = function () {
    -    browser().navigateTo('/entries');
    -
    -    // we need to select the  element as it might be the case that there
    -    // are no entries (and therefore no rows). When the selector does not
    -    // result in a match, the test would be marked as a failure.
    -    element('table tbody').query(function (tbody, done) {
    -      // ngScenario gives us a jQuery lite wrapped element. We call the
    -      // `children()` function to retrieve the table body's rows
    -      var children = tbody.children();
    -
    -      if (children.length > 0) {
    -        // if there is at least one entry in the table, click on the link to
    -        // the entry's detail view
    -        element('table tbody a').click();
    -        // and, after a route change, click the delete button
    -        element('.btn-danger').click();
    -      }
    -
    -      // if there is more than one entry shown in the table, queue another
    -      // delete action.
    -      if (children.length > 1) {
    -        deleteEntry();
    -      }
    -
    -      // remember to call `done()` so that ngScenario can continue
    -      // test execution.
    -      done();
    -    });
    -
    -  };
    -
    -  // start deleting entries
    -  deleteEntry();
    -});
    -
    - -In order to understand what is happening, we should emphasize that ngScenario calls are not -immediately executed, but queued (in ngScenario terms, we would be talking about adding -future actions). If we had only one entry in our table, then the following future actions -would be queued: - -
    -// delete entry 1
    -browser().navigateTo('/entries');
    -element('table tbody').query(function (tbody, done) { ... });
    -element('table tbody a');
    -element('.btn-danger').click();
    -
    - -For two entries, ngScenario would have to work on the following queue: - -
    -// delete entry 1
    -browser().navigateTo('/entries');
    -element('table tbody').query(function (tbody, done) { ... });
    -element('table tbody a');
    -element('.btn-danger').click();
    -
    -    // delete entry 2
    -    // indented to represent "recursion depth"
    -    browser().navigateTo('/entries');
    -    element('table tbody').query(function (tbody, done) { ... });
    -    element('table tbody a');
    -    element('.btn-danger').click();
    -
    - -# Caveats - -ngScenario does not work with apps that manually bootstrap using angular.bootstrap. You must use the ng-app directive. diff --git a/docs/content/guide/dev_guide.services.$location.ngdoc b/docs/content/guide/dev_guide.services.$location.ngdoc deleted file mode 100644 index bfd1d5d90999..000000000000 --- a/docs/content/guide/dev_guide.services.$location.ngdoc +++ /dev/null @@ -1,659 +0,0 @@ -@ngdoc overview -@name Developer Guide: Angular Services: Using $location -@description - -# What does it do? - -The `$location` service parses the URL in the browser address bar (based on the {@link -https://developer.mozilla.org/en/window.location window.location}) and makes the URL available to -your application. Changes to the URL in the address bar are reflected into $location service and -changes to $location are reflected into the browser address bar. - -**The $location service:** - -- Exposes the current URL in the browser address bar, so you can - - Watch and observe the URL. - - Change the URL. -- Maintains synchronization between itself and the browser's URL when the user - - Changes the address in the browser's address bar. - - Clicks the back or forward button in the browser (or clicks a History link). - - Clicks on a link in the page. -- Represents the URL object as a set of methods (protocol, host, port, path, search, hash). - - -## Comparing $location to window.location - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    window.location$location service
    purposeallow read/write access to the current browser locationsame
    APIexposes "raw" object with properties that can be directly modifiedexposes jQuery-style getters and setters
    integration with angular application life-cyclenoneknows about all internal life-cycle phases, integrates with $watch, ...
    seamless integration with HTML5 APInoyes (with a fallback for legacy browsers)
    aware of docroot/context from which the application is loadedno - window.location.path returns "/docroot/actual/path"yes - $location.path() returns "/actual/path"
    - -## When should I use $location? -Any time your application needs to react to a change in the current URL or if you want to change -the current URL in the browser. - -## What does it not do? -It does not cause a full page reload when the browser URL is changed. To reload the page after -changing the URL, use the lower-level API, `$window.location.href`. - -# General overview of the API - -The `$location` service can behave differently, depending on the configuration that was provided to -it when it was instantiated. The default configuration is suitable for many applications, for -others customizing the configuration can enable new features. - -Once the `$location` service is instantiated, you can interact with it via jQuery-style getter and -setter methods that allow you to get or change the current URL in the browser. - -## $location service configuration - -To configure the `$location` service, retrieve the -{@link api/ng.$locationProvider $locationProvider} and set the parameters as follows: - - -- **html5Mode(mode)**: {boolean}
    - `true` - see HTML5 mode
    - `false` - see Hashbang mode
    - default: `false` - -- **hashPrefix(prefix)**: {string}
    - prefix used for Hashbang URLs (used in Hashbang mode or in legacy browser in Html5 mode)
    - default: `""` - -### Example configuration -
    -$locationProvider.html5Mode(true).hashPrefix('!');
    -
    - -## Getter and setter methods - -`$location` service provides getter methods for read-only parts of the URL (absUrl, protocol, host, -port) and getter / setter methods for url, path, search, hash: -
    -// get the current path
    -$location.path();
    -
    -// change the path
    -$location.path('/newValue')
    -
    - -All of the setter methods return the same `$location` object to allow chaining. For example, to -change multiple segments in one go, chain setters like this: -
    $location.path('/newValue').search({key: value});
    - -## Replace method - -There is a special `replace` method which can be used to tell the $location service that the next -time the $location service is synced with the browser, the last history record should be replaced -instead of creating a new one. This is useful when you want to implement redirection, which would -otherwise break the back button (navigating back would retrigger the redirection). To change the -current URL without creating a new browser history record you can call: -
    -  $location.path('/someNewPath');
    -  $location.replace();
    -  // or you can chain these as: $location.path('/someNewPath').replace();
    -
    - -Note that the setters don't update `window.location` immediately. Instead, the `$location` service is -aware of the {@link api/ng.$rootScope.Scope scope} life-cycle and coalesces multiple `$location` -mutations into one "commit" to the `window.location` object during the scope `$digest` phase. Since -multiple changes to the $location's state will be pushed to the browser as a single change, it's -enough to call the `replace()` method just once to make the entire "commit" a replace operation -rather than an addition to the browser history. Once the browser is updated, the $location service -resets the flag set by `replace()` method and future mutations will create new history records, -unless `replace()` is called again. - -### Setters and character encoding -You can pass special characters to `$location` service and it will encode them according to rules -specified in {@link http://www.ietf.org/rfc/rfc3986.txt RFC 3986}. When you access the methods: - -- All values that are passed to `$location` setter methods, `path()`, `search()`, `hash()`, are -encoded. -- Getters (calls to methods without parameters) return decoded values for the following methods -`path()`, `search()`, `hash()`. -- When you call the `absUrl()` method, the returned value is a full url with its segments encoded. -- When you call the `url()` method, the returned value is path, search and hash, in the form -`/path?search=a&b=c#hash`. The segments are encoded as well. - - -# Hashbang and HTML5 Modes - -`$location` service has two configuration modes which control the format of the URL in the browser -address bar: **Hashbang mode** (the default) and the **HTML5 mode** which is based on using the -HTML5 {@link http://www.w3.org/TR/html5/history.html History API}. Applications use the same API in -both modes and the `$location` service will work with appropriate URL segments and browser APIs to -facilitate the browser URL change and history management. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Hashbang modeHTML5 mode
    configurationthe default{ html5Mode: true }
    URL formathashbang URLs in all browsersregular URLs in modern browser, hashbang URLs in old browser
    <a href=""> link rewritingnoyes
    requires server-side configurationnoyes
    - -## Hashbang mode (default mode) - -In this mode, `$location` uses Hashbang URLs in all browsers. - -### Example - -
    -it('should show example', inject(
    -  function($locationProvider) {
    -    $locationProvider.html5Mode(false);
    -    $locationProvider.hashPrefix('!');
    -  },
    -  function($location) {
    -    // open http://example.com/base/index.html#!/a
    -    $location.absUrl() == 'http://example.com/base/index.html#!/a'
    -    $location.path() == '/a'
    -
    -    $location.path('/foo')
    -    $location.absUrl() == 'http://example.com/base/index.html#!/foo'
    -
    -    $location.search() == {}
    -    $location.search({a: 'b', c: true});
    -    $location.absUrl() == 'http://example.com/base/index.html#!/foo?a=b&c'
    -
    -    $location.path('/new').search('x=y');
    -    $location.absUrl() == 'http://example.com/base/index.html#!/new?x=y'
    -  }
    -));
    -
    - -### Crawling your app - -To allow indexing of your AJAX application, you have to add special meta tag in the head section of -your document: -
    - -This will cause crawler bot to request links with `_escaped_fragment_` param so that your server -can recognize the crawler and serve a HTML snapshots. For more information about this technique, -see {@link http://code.google.com/web/ajaxcrawling/docs/specification.html Making AJAX Applications -Crawlable}. - -## HTML5 mode - -In HTML5 mode, the `$location` service getters and setters interact with the browser URL address -through the HTML5 history API, which allows for use of regular URL path and search segments, -instead of their hashbang equivalents. If the HTML5 History API is not supported by a browser, the -`$location` service will fall back to using the hashbang URLs automatically. This frees you from -having to worry about whether the browser displaying your app supports the history API or not; the -`$location` service transparently uses the best available option. - -- Opening a regular URL in a legacy browser -> redirects to a hashbang URL -- Opening hashbang URL in a modern browser -> rewrites to a regular URL - -### Example - -
    -it('should show example', inject(
    -  function($locationProvider) {
    -    $locationProvider.html5Mode(true);
    -    $locationProvider.hashPrefix('!');
    -  },
    -  function($location) {
    -    // in browser with HTML5 history support:
    -    // open http://example.com/#!/a -> rewrite to http://example.com/a
    -    // (replacing the http://example.com/#!/a history record)
    -    $location.path() == '/a'
    -
    -    $location.path('/foo');
    -    $location.absUrl() == 'http://example.com/foo'
    -
    -    $location.search() == {}
    -    $location.search({a: 'b', c: true});
    -    $location.absUrl() == 'http://example.com/foo?a=b&c'
    -
    -    $location.path('/new').search('x=y');
    -    $location.url() == 'new?x=y'
    -    $location.absUrl() == 'http://example.com/new?x=y'
    -
    -    // in browser without html5 history support:
    -    // open http://example.com/new?x=y -> redirect to http://example.com/#!/new?x=y
    -    // (again replacing the http://example.com/new?x=y history item)
    -    $location.path() == '/new'
    -    $location.search() == {x: 'y'}
    -
    -    $location.path('/foo/bar');
    -    $location.path() == '/foo/bar'
    -    $location.url() == '/foo/bar?x=y'
    -    $location.absUrl() == 'http://example.com/#!/foo/bar?x=y'
    -  }
    -));
    -
    - -### Fallback for legacy browsers - -For browsers that support the HTML5 history API, `$location` uses the HTML5 history API to write -path and search. If the history API is not supported by a browser, `$location` supplies a Hasbang -URL. This frees you from having to worry about whether the browser viewing your app supports the -history API or not; the `$location` service makes this transparent to you. - -### Html link rewriting - -When you use HTML5 history API mode, you will need different links in different browsers, but all you -have to do is specify regular URL links, such as: `link` - -When a user clicks on this link, - -- In a legacy browser, the URL changes to `/index.html#!/some?foo=bar` -- In a modern browser, the URL changes to `/some?foo=bar` - - -In cases like the following, links are not rewritten; instead, the browser will perform a full page -reload to the original link. - -- Links that contain `target` element
    - Example: `link` -- Absolute links that go to a different domain
    - Example: `link` -- Links starting with '/' that lead to a different base path when base is defined
    - Example: `link` - -When running Angular in the root of a domain, along side perhaps a normal application in the same -directory, the "otherwise" route handler will try to handle all the URLs, including ones that map -to static files. - -To prevent this, you can set your base href for the app to `` and then prefix links -to URLs that should be handled with `.`. Now, links to locations, which are not to be routed by Angular, -are not prefixed with `.` and will not be intercepted by the `otherwise` rule in your `$routeProvider`. - - -### Server side - -Using this mode requires URL rewriting on server side, basically you have to rewrite all your links -to entry point of your application (e.g. index.html) - -### Crawling your app - -If you want your AJAX application to be indexed by web crawlers, you will need to add the following -meta tag to the HEAD section of your document: -
    - -This statement causes a crawler to request links with an empty `_escaped_fragment_` parameter so that -your server can recognize the crawler and serve it HTML snapshots. For more information about this -technique, see {@link http://code.google.com/web/ajaxcrawling/docs/specification.html Making AJAX -Applications Crawlable}. - -### Relative links - -Be sure to check all relative links, images, scripts etc. You must either specify the url base in -the head of your main html file (``) or you must use absolute urls -(starting with `/`) everywhere because relative urls will be resolved to absolute urls using the -initial absolute url of the document, which is often different from the root of the application. - -Running Angular apps with the History API enabled from document root is strongly encouraged as it -takes care of all relative link issues. - -### Sending links among different browsers - -Because of rewriting capability in HTML5 mode, your users will be able to open regular url links in -legacy browsers and hashbang links in modern browser: - -- Modern browser will rewrite hashbang URLs to regular URLs. -- Older browsers will redirect regular URLs to hashbang URLs. - -### Example - -Here you can see two `$location` instances, both in **Html5 mode**, but on different browsers, so -that you can see the differences. These `$location` services are connected to a fake browsers. Each -input represents address bar of the browser. - -Note that when you type hashbang url into first browser (or vice versa) it doesn't rewrite / -redirect to regular / hashbang url, as this conversion happens only during parsing the initial URL -= on page reload. - -In this examples we use `` - - - -
    -
    -

    Browser with History API

    -


    - $location.protocol() = {{$location.protocol()}}
    - $location.host() = {{$location.host()}}
    - $location.port() = {{$location.port()}}
    - $location.path() = {{$location.path()}}
    - $location.search() = {{$location.search()}}
    - $location.hash() = {{$location.hash()}}
    - /base/first?a=b | - sec/ond?flag#hash | - external -
    - -
    -

    Browser without History API

    -


    - $location.protocol() = {{$location.protocol()}}
    - $location.host() = {{$location.host()}}
    - $location.port() = {{$location.port()}}
    - $location.path() = {{$location.path()}}
    - $location.search() = {{$location.search()}}
    - $location.hash() = {{$location.hash()}}
    - /base/first?a=b | - sec/ond?flag#hash | - external -
    -
    - - - -
    -
    - - -# Caveats - -## Page reload navigation - -The `$location` service allows you to change only the URL; it does not allow you to reload the -page. When you need to change the URL and reload the page or navigate to a different page, please -use a lower level API, {@link api/ng.$window $window.location.href}. - -## Using $location outside of the scope life-cycle - -`$location` knows about Angular's {@link api/ng.$rootScope.Scope scope} life-cycle. When a URL changes in -the browser it updates the `$location` and calls `$apply` so that all $watchers / $observers are -notified. -When you change the `$location` inside the `$digest` phase everything is ok; `$location` will -propagate this change into browser and will notify all the $watchers / $observers. -When you want to change the `$location` from outside Angular (for example, through a DOM Event or -during testing) - you must call `$apply` to propagate the changes. - -## $location.path() and ! or / prefixes - -A path should always begin with forward slash (`/`); the `$location.path()` setter will add the -forward slash if it is missing. - -Note that the `!` prefix in the hashbang mode is not part of `$location.path()`; it is actually -hashPrefix. - - -# Testing with the $location service - -When using `$location` service during testing, you are outside of the angular's {@link -api/ng.$rootScope.Scope scope} life-cycle. This means it's your responsibility to call `scope.$apply()`. - -
    -describe('serviceUnderTest', function() {
    -  beforeEach(module(function($provide) {
    -    $provide.factory('serviceUnderTest', function($location){
    -      // whatever it does...
    -    });
    -  });
    -
    -  it('should...', inject(function($location, $rootScope, serviceUnderTest) {
    -    $location.path('/new/path');
    -    $rootScope.$apply();
    -
    -    // test whatever the service should do...
    -
    -  }));
    -});
    -
    - - -# Migrating from earlier AngularJS releases - -In earlier releases of Angular, `$location` used `hashPath` or `hashSearch` to process path and -search methods. With this release, the `$location` service processes path and search methods and -then uses the information it obtains to compose hashbang URLs (such as -`http://server.com/#!/path?search=a`), when necessary. - -## Changes to your code - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Navigation inside the appChange to
    $location.href = value
    $location.hash = value
    $location.update(value)
    $location.updateHash(value)
    $location.path(path).search(search)
    $location.hashPath = path$location.path(path)
    $location.hashSearch = search$location.search(search)
    Navigation outside the appUse lower level API
    $location.href = value
    $location.update(value)
    $window.location.href = value
    $location[protocol | host | port | path | search]$window.location[protocol | host | port | path | search]
    Read accessChange to
    $location.hashPath$location.path()
    $location.hashSearch$location.search()
    $location.href
    $location.protocol
    $location.host
    $location.port
    $location.hash
    $location.absUrl()
    $location.protocol()
    $location.host()
    $location.port()
    $location.path() + $location.search()
    $location.path
    $location.search
    $window.location.path
    $window.location.search
    - -## Two-way binding to $location - -The Angular's compiler currently does not support two-way binding for methods (see {@link -https://github.com/angular/angular.js/issues/404 issue}). If you should require two-way binding -to the $location object (using {@link api/ng.directive:input.text -ngModel} directive on an input field), you will need to specify an extra model property -(e.g. `locationPath`) with two watchers which push $location updates in both directions. For -example: - - -
    - -
    -
    - -function LocationController($scope, $location) { - $scope.$watch('locationPath', function(path) { - $location.path(path); - }); - $scope.$watch(function() { - return $location.path(); - }, function(path) { - $scope.locationPath = path; - }); -} - -
    - -# Related API - -* {@link api/ng.$location $location API} - - - diff --git a/docs/content/guide/dev_guide.services.creating_services.ngdoc b/docs/content/guide/dev_guide.services.creating_services.ngdoc deleted file mode 100644 index d5adc4babdff..000000000000 --- a/docs/content/guide/dev_guide.services.creating_services.ngdoc +++ /dev/null @@ -1,104 +0,0 @@ -@ngdoc overview -@name Developer Guide: Angular Services: Creating Services -@description - -While Angular offers several useful services, for any nontrivial application you'll find it useful -to write your own custom services. To do this you begin by registering a service factory function -with a module either via the {@link api/angular.module Module#factory api} or directly -via the {@link api/AUTO.$provide $provide} api inside of module config function. - -All Angular services participate in {@link di dependency injection (DI)} by registering -themselves with Angular's DI system (injector) under a `name` (id) as well as by declaring -dependencies which need to be provided for the factory function of the registered service. The -ability to swap dependencies for mocks/stubs/dummies in tests allows for services to be highly -testable. - - -# Registering Services - -To register a service, you must have a module that this service will be part of. Afterwards, you -can register the service with the module either via the {@link api/angular.Module Module api} or -by using the {@link api/AUTO.$provide $provide} service in the module configuration -function.The following pseudo-code shows both approaches: - -Using the angular.Module api: -
    -var myModule = angular.module('myModule', []);
    -myModule.factory('serviceId', function() {
    -  var shinyNewServiceInstance;
    -  //factory function body that constructs shinyNewServiceInstance
    -  return shinyNewServiceInstance;
    -});
    -
    - -Using the $provide service: -
    -angular.module('myModule', [], function($provide) {
    -  $provide.factory('serviceId', function() {
    -    var shinyNewServiceInstance;
    -    //factory function body that constructs shinyNewServiceInstance
    -    return shinyNewServiceInstance;
    -  });
    -});
    -
    - -Note that you are not registering a service instance, but rather a factory function that will -create this instance when called. - - -# Dependencies - -Services can not only be depended upon, but can also have their own dependencies. These can be specified -as arguments of the factory function. {@link di Read more} about dependency injection (DI) -in Angular and the use of array notation and the $inject property to make DI annotation -minification-proof. - -Following is an example of a very simple service. This service depends on the `$window` service -(which is passed as a parameter to the factory function) and is just a function. The service simply -stores all notifications; after the third one, the service displays all of the notifications by -window alert. - -
    -angular.module('myModule', [], function($provide) {
    -  $provide.factory('notify', ['$window', function(win) {
    -    var msgs = [];
    -    return function(msg) {
    -      msgs.push(msg);
    -      if (msgs.length == 3) {
    -        win.alert(msgs.join("\n"));
    -        msgs = [];
    -      }
    -    };
    -  }]);
    -});
    -
    - - -# Instantiating Angular Services - -All services in Angular are instantiated lazily. This means that a service will be created -only when it is needed for instantiation of a service or an application component that depends on it. -In other words, Angular won't instantiate services unless they are requested directly or -indirectly by the application. - - -# Services as singletons - -Lastly, it is important to realize that all Angular services are application singletons. This means -that there is only one instance of a given service per injector. Since Angular is lethally allergic -to global state, it is possible to create multiple injectors, each with its own instance of a -given service, but that is rarely needed, except in tests where this property is crucially -important. - - - -## Related Topics - -* {@link dev_guide.services.understanding_services Understanding Angular Services} -* {@link dev_guide.services.managing_dependencies Managing Service Dependencies} -* {@link dev_guide.services.injecting_controllers Injecting Services Into Controllers } -* {@link dev_guide.services.testing_services Testing Angular Services} - -## Related API - -* {@link api/ng Angular Service API} diff --git a/docs/content/guide/dev_guide.services.injecting_controllers.ngdoc b/docs/content/guide/dev_guide.services.injecting_controllers.ngdoc deleted file mode 100644 index 64fa0aafe351..000000000000 --- a/docs/content/guide/dev_guide.services.injecting_controllers.ngdoc +++ /dev/null @@ -1,120 +0,0 @@ -@ngdoc overview -@name Developer Guide: Angular Services: Injecting Services Into Controllers -@description - -Using services as dependencies for controllers is very similar to using services as dependencies -for another service. - -Since JavaScript is a dynamic language, DI can't figure out which services to inject by static -types (like in static typed languages). Therefore, you can specify the service name by using the -`$inject` property, which is an array containing strings with names of services to be injected. -The name must match the corresponding service ID registered with angular. The order of the service -IDs matters: the order of the services in the array will be used when calling the factory function -with injected parameters. The names of parameters in factory function don't matter, but by -convention they match the service IDs, which has added benefits discussed below. - -
    -function myController($loc, $log) {
    -  this.firstMethod = function() {
    -    // use $location service
    -    $loc.setHash();
    -  };
    -  this.secondMethod = function() {
    -    // use $log service
    -    $log.info('...');
    -  };
    -}
    -// which services to inject ?
    -myController.$inject = ['$location', '$log'];
    -
    - - - - - -
    -

    Let's try this simple notify service, injected into the controller...

    - - -

    (you have to click 3 times to see an alert)

    -
    -
    - - it('should test service', function() { - expect(element(':input[ng\\:model="message"]').val()).toEqual('test'); - }); - -
    - -## Implicit Dependency Injection - -A new feature of Angular DI allows it to determine the dependency from the name of the parameter. -Let's rewrite the above example to show the use of this implicit dependency injection of -`$window`, `$scope`, and our `notify` service: - - - - -
    -

    Let's try the notify service, that is implicitly injected into the controller...

    - - -

    (you have to click 3 times to see an alert)

    -
    -
    -
    - -However, if you plan to {@link http://en.wikipedia.org/wiki/Minification_(programming) minify} your -code, your variable names will get renamed in which case you will still need to explicitly specify -dependencies with the `$inject` property. - -## Related Topics - -{@link dev_guide.services.understanding_services Understanding Angular Services} -{@link dev_guide.services.creating_services Creating Angular Services} -{@link dev_guide.services.managing_dependencies Managing Service Dependencies} -{@link dev_guide.services.testing_services Testing Angular Services} - -## Related API - -{@link api/ng Angular Service API} diff --git a/docs/content/guide/dev_guide.services.managing_dependencies.ngdoc b/docs/content/guide/dev_guide.services.managing_dependencies.ngdoc deleted file mode 100644 index b069f4bb3ac1..000000000000 --- a/docs/content/guide/dev_guide.services.managing_dependencies.ngdoc +++ /dev/null @@ -1,114 +0,0 @@ -@ngdoc overview -@name Developer Guide: Angular Services: Managing Service Dependencies -@description - -Angular allows services to declare other services as dependencies needed for construction of their -instances. - -To declare dependencies, you specify them in the factory function signature and annotate the -function with the inject annotations either using by setting the `$inject` property, as an array of -string identifiers or using the array notation. Optionally the `$inject` property declaration can be -dropped (see "Inferring `$inject`" but note that that is currently an experimental feature). - -Using the array notation: - -
    -function myModuleCfgFn($provide) {
    -  $provide.factory('myService', ['dep1', 'dep2', function(dep1, dep2) {}]);
    -}
    -
    - - -Using the $inject property: - -
    -function myModuleCfgFn($provide) {
    -  var myServiceFactory = function(dep1, dep2) {};
    -  myServiceFactory.$inject = ['dep1', 'dep2'];
    -  $provide.factory('myService', myServiceFactory);
    -}
    -
    - - -Using DI inference (incompatible with minifiers): - -
    -function myModuleCfgFn($provide) {
    -  $provide.factory('myService', function(dep1, dep2) {});
    -}
    -
    - - -Here is an example of two services, one of which depends on the other and both -of which depend on other services that are provided by the Angular framework: - -
    -/**
    - * batchLog service allows for messages to be queued in memory and flushed
    - * to the console.log every 50 seconds.
    - *
    - * @param {*} message Message to be logged.
    - */
    -  function batchLogModule($provide){
    -    $provide.factory('batchLog', ['$timeout', '$log', function($timeout, $log) {
    -      var messageQueue = [];
    -
    -      function log() {
    -        if (messageQueue.length) {
    -          $log('batchLog messages: ', messageQueue);
    -          messageQueue = [];
    -        }
    -        $timeout(log, 50000);
    -      }
    -
    -      // start periodic checking
    -      log();
    -
    -      return function(message) {
    -        messageQueue.push(message);
    -      }
    -    }]);
    -
    -    /**
    -     * routeTemplateMonitor monitors each $route change and logs the current
    -     * template via the batchLog service.
    -     */
    -    $provide.factory('routeTemplateMonitor',
    -                ['$route', 'batchLog', '$rootScope',
    -         function($route,   batchLog,   $rootScope) {
    -      $rootScope.$on('$routeChangeSuccess', function() {
    -        batchLog($route.current ? $route.current.template : null);
    -      });
    -    }]);
    -  }
    -
    -  // get the main service to kick of the application
    -  angular.injector([batchLogModule]).get('routeTemplateMonitor');
    -
    - -Things to notice in this example: - -* The `batchLog` service depends on the built-in {@link api/ng.$timeout $timeout} and -{@link api/ng.$log $log} services, and allows messages to be logged into the -`console.log` in batches. -* The `routeTemplateMonitor` service depends on the built-in {@link api/ngRoute.$route -$route} service as well as our custom `batchLog` service. -* Both of our services use the factory function signature and array notation for inject annotations -to declare their dependencies. It is important that the order of the string identifiers in the array -is the same as the order of argument names in the signature of the factory function. Unless the -dependencies are inferred from the function signature, it is this array with IDs and their order -that the injector uses to determine which services and in which order to inject. - - -## Related Topics - -* {@link dev_guide.services.understanding_services Understanding Angular Services} -* {@link dev_guide.services.creating_services Creating Angular Services} -* {@link dev_guide.services.injecting_controllers Injecting Services Into Controllers } -* {@link dev_guide.services.testing_services Testing Angular Services} - - -## Related API - -* {@link api/ng Angular Service API} -* {@link api/angular.injector Angular Injector API} diff --git a/docs/content/guide/dev_guide.services.ngdoc b/docs/content/guide/dev_guide.services.ngdoc deleted file mode 100644 index 725e01e3eaf4..000000000000 --- a/docs/content/guide/dev_guide.services.ngdoc +++ /dev/null @@ -1,20 +0,0 @@ -@ngdoc overview -@name Developer Guide: Angular Services -@description - -Services are a feature that Angular brings to client-side web apps from the server side, where -services have been commonly used for a long time. Services in Angular apps are substitutable -objects that are wired together using {@link di dependency injection (DI)}. - - -## Related Topics - -* {@link dev_guide.services.understanding_services Understanding Angular Services} -* {@link dev_guide.services.creating_services Creating Angular Services} -* {@link dev_guide.services.managing_dependencies Managing Service Dependencies} -* {@link dev_guide.services.injecting_controllers Injecting Services Into Controllers} -* {@link dev_guide.services.testing_services Testing Angular Services} - -## Related API - -* {@link api/ng Angular Service API} diff --git a/docs/content/guide/dev_guide.services.testing_services.ngdoc b/docs/content/guide/dev_guide.services.testing_services.ngdoc deleted file mode 100644 index 6e0bbacebdc6..000000000000 --- a/docs/content/guide/dev_guide.services.testing_services.ngdoc +++ /dev/null @@ -1,62 +0,0 @@ -@ngdoc overview -@name Developer Guide: Angular Services: Testing Angular Services -@description - -The following is a unit test for the 'notify' service in the 'Dependencies' example in {@link -dev_guide.services.creating_services Creating Angular Services}. The unit test example uses Jasmine -spy (mock) instead of a real browser alert. - -
    -var mock, notify;
    -
    -beforeEach(function() {
    -  mock = {alert: jasmine.createSpy()};
    -
    -  module(function($provide) {
    -    $provide.value('$window', mock);
    -  });
    -
    -  inject(function($injector) {
    -    notify = $injector.get('notify');
    -  });
    -});
    -
    -it('should not alert first two notifications', function() {
    -  notify('one');
    -  notify('two');
    -
    -  expect(mock.alert).not.toHaveBeenCalled();
    -});
    -
    -it('should alert all after third notification', function() {
    -  notify('one');
    -  notify('two');
    -  notify('three');
    -
    -  expect(mock.alert).toHaveBeenCalledWith("one\ntwo\nthree");
    -});
    -
    -it('should clear messages after alert', function() {
    -  notify('one');
    -  notify('two');
    -  notify('third');
    -  notify('more');
    -  notify('two');
    -  notify('third');
    -
    -  expect(mock.alert.callCount).toEqual(2);
    -  expect(mock.alert.mostRecentCall.args).toEqual(["more\ntwo\nthird"]);
    -});
    -
    - - -## Related Topics - -* {@link dev_guide.services.understanding_services Understanding Angular Services} -* {@link dev_guide.services.creating_services Creating Angular Services} -* {@link dev_guide.services.managing_dependencies Managing Service Dependencies} -* {@link dev_guide.services.injecting_controllers Injecting Services Into Controllers} - -## Related API - -* {@link api/ng Angular Service API} diff --git a/docs/content/guide/dev_guide.services.understanding_services.ngdoc b/docs/content/guide/dev_guide.services.understanding_services.ngdoc deleted file mode 100644 index aebd2fa569ef..000000000000 --- a/docs/content/guide/dev_guide.services.understanding_services.ngdoc +++ /dev/null @@ -1,60 +0,0 @@ -@ngdoc overview -@name Developer Guide: Angular Services: Understanding Angular Services -@description - -## What are Angular Services? - -Angular services are singletons objects or functions that carry out specific tasks common to web apps. -Angular has a number of built in services, such as the {@link api/ng.$http $http service}, which -provides access to the browser's `XMLHttpRequest` object for making requests to a server. Like other core -Angular variables and identifiers, the built-in services always start with `$` (such as `$http` mentioned -above). You can also create your own custom services. - -## Using a Service - -To use an Angular service, you identify it as a dependency for the component (controller, service, -filter or directive) that depends on the service. Angular's dependency injection subsystem takes -care of the rest. The Angular injector subsystem is in charge of service instantiation, resolution -of dependencies, and provision of dependencies to components as requested. - -Angular injects dependencies using -{@link http://misko.hevery.com/2009/02/19/constructor-injection-vs-setter-injection/ "constructor" injection}. -The dependency is passed to the component's factory/constructor function. Because JavaScript is a dynamically -typed language, Angular's dependency injection subsystem cannot use static types to identify service -dependencies. For this reason a component must, explicitly, define its dependencies by using one of the -{@link di injection annotation} methods. For example, by providing a `$inject` property: - - var MyController = function($location) { ... }; - MyController.$inject = ['$location']; - myModule.controller('MyController', MyController); - -Or by providing an "inline" injection annotation: - - var myService = function($http) { ... }; - myModule.factory('myService', ['$http', myService]); - -## Defining a Service - -Application developers are free to define their own services by registering their name, and **service -factory function**, in Angular modules. - -The purpose of the **service factory function** is to generate the single object, or function, that -represents the service to the rest of the application. That object, or function, will then be -injected into any component (controller, service, filter or directive) that specifies a dependency -on the service. - -Angular factory functions are executed lazily. That is, they are only executed when needed -to satisfy a dependency, and are then executed exactly once for each service. Everything that is -dependent on this service gets a reference to the single instance generated by the service factory. - -## Related Topics - -* {@link di About Angular Dependency Injection} -* {@link dev_guide.services.creating_services Creating Angular Services} -* {@link dev_guide.services.managing_dependencies Managing Service Dependencies} -* {@link dev_guide.services.testing_services Testing Angular Services} - -## Related API - -* {@link api/ng Angular Service API} -* {@link api/angular.injector Injector API} diff --git a/docs/content/guide/dev_guide.templates.css-styling.ngdoc b/docs/content/guide/dev_guide.templates.css-styling.ngdoc deleted file mode 100644 index 38962fd2333f..000000000000 --- a/docs/content/guide/dev_guide.templates.css-styling.ngdoc +++ /dev/null @@ -1,31 +0,0 @@ -@ngdoc overview -@name Developer Guide: Templates: Working With CSS in Angular -@description - - -Angular sets these CSS classes. It is up to your application to provide useful styling. - -# CSS classes used by angular - -* `ng-scope` - - **Usage:** angular applies this class to any element that where a new {@link api/ng.$rootScope.Scope scope} - is defined. (see {@link guide/scope scope} guide for more information about scopes) - -* `ng-binding` - - **Usage:** angular applies this class to any element that is attached to a data binding, via `ng-bind` or - {{}} curly braces, for example. (see {@link guide/databinding databinding} guide) - -* `ng-invalid`, `ng-valid` - - **Usage:** angular applies this class to an input widget element if that element's input does - not pass validation. (see {@link api/ng.directive:input input} directive) - -* `ng-pristine`, `ng-dirty` - - **Usage:** angular {@link api/ng.directive:input input} directive applies `ng-pristine` class - to a new input widget element which did not have user interaction. Once the user interacts with - the input widget the class is changed to `ng-dirty`. - - -## Related Topics - -* {@link templates Angular Templates} -* {@link forms Angular Forms} diff --git a/docs/content/guide/dev_guide.unit-testing.ngdoc b/docs/content/guide/dev_guide.unit-testing.ngdoc deleted file mode 100644 index 9d3d976546fa..000000000000 --- a/docs/content/guide/dev_guide.unit-testing.ngdoc +++ /dev/null @@ -1,340 +0,0 @@ -@ngdoc overview -@name Developer Guide: Unit Testing -@description - -JavaScript is a dynamically typed language which comes with great power of expression, but it also -comes with almost no help from the compiler. For this reason we feel very strongly that any code -written in JavaScript needs to come with a strong set of tests. We have built many features into -Angular which makes testing your Angular applications easy. So there is no excuse for not testing. - -# It is all about NOT mixing concerns - -Unit testing as the name implies is about testing individual units of code. Unit tests try to -answer questions such as "Did I think about the logic correctly?" or "Does the sort function order the list -in the right order?" - -In order to answer such a question it is very important that we can isolate the unit of code under test. -That is because when we are testing the sort function we don't want to be forced into creating -related pieces such as the DOM elements, or making any XHR calls in getting the data to sort. - -While this may seem obvious it can be very difficult to call an individual function on a -typical project. The reason is that the developers often mix concerns resulting in a -piece of code which does everything. It makes an XHR request, it sorts the response data and then it -manipulates the DOM. - -With Angular we try to make it easy for you to do the right thing, and so we -provide dependency injection for your XHR (which you can mock out) and we created abstractions which -allow you to sort your model without having to resort to manipulating the DOM. So that in the end, -it is easy to write a sort function which sorts some data, so that your test can create a data set, -apply the function, and assert that the resulting model is in the correct order. The test does not -have to wait for the XHR response to arrive, create the right kind of test DOM, nor assert that your -function has mutated the DOM in the right way. - -## With great power comes great responsibility - -Angular is written with testability in mind, but it still requires that you do the right thing. -We tried to make the right thing easy, but Angular is not magic. If you don't follow these guidelines -you may very well end up with an untestable application. - -## Dependency Injection -There are several ways in which you can get a hold of a dependency. You can: -1. Create it using the `new` operator. -2. Look for it in a well-known place, also known as a global singleton. -3. Ask a registry (also known as service registry) for it. (But how do you get a hold of -the registry? Most likely by looking it up in a well known place. See #2.) -4. Expect it to be handed to you. - -Out of the four options in the list above, only the last one is testable. Let's look at why: - -### Using the `new` operator - -While there is nothing wrong with the `new` operator fundamentally, a problem arises when calling `new` -on a constructor. This permanently binds the call site to the type. For example, lets say that we try to -instantiate an `XHR` that will retrieve data from the server. - -
    -function MyClass() {
    -  this.doWork = function() {
    -    var xhr = new XHR();
    -    xhr.open(method, url, true);
    -    xhr.onreadystatechange = function() {...}
    -    xhr.send();
    -  }
    -}
    -
    - -A problem surfaces in tests when we would like to instantiate a `MockXHR` that would -allow us to return fake data and simulate network failures. By calling `new XHR()` we are -permanently bound to the actual XHR and there is no way to replace it. Yes, we could monkey -patch, but that is a bad idea for many reasons which are outside the scope of this document. - -Here's an example of how the class above becomes hard to test when resorting to monkey patching: -
    -var oldXHR = XHR;
    -XHR = function MockXHR() {};
    -var myClass = new MyClass();
    -myClass.doWork();
    -// assert that MockXHR got called with the right arguments
    -XHR = oldXHR; // if you forget this bad things will happen
    -
    - - -### Global look-up: -Another way to approach the problem is to look for the service in a well-known location. - -
    -function MyClass() {
    -  this.doWork = function() {
    -    global.xhr({
    -      method:'...',
    -      url:'...',
    -      complete:function(response){ ... }
    -    })
    -  }
    -}
    -
    - -While no new dependency instance is created, it is fundamentally the same as `new` in -that no way exists to intercept the call to `global.xhr` for testing purposes, other then -through monkey patching. The basic issue for testing is that a global variable needs to be mutated in -order to replace it with call to a mock method. For further explanation of why this is bad see: {@link -http://misko.hevery.com/code-reviewers-guide/flaw-brittle-global-state-singletons/ Brittle Global -State & Singletons} - -The class above is hard to test since we have to change the global state: -
    -var oldXHR = global.xhr;
    -global.xhr = function mockXHR() {};
    -var myClass = new MyClass();
    -myClass.doWork();
    -// assert that mockXHR got called with the right arguments
    -global.xhr = oldXHR; // if you forget this bad things will happen
    -
    - - -### Service Registry: - -It may seem that this can be solved by having a registry of all the services and then -having the tests replace the services as needed. - -
    -function MyClass() {
    -  var serviceRegistry = ????;
    -  this.doWork = function() {
    -    var xhr = serviceRegistry.get('xhr');
    -    xhr({
    -      method:'...',
    -      url:'...',
    -      complete:function(response){ ... }
    -    })
    -}
    -
    - -However, where does the serviceRegistry come from? If it is: -* `new`-ed up, the test has no chance to reset the services for testing. -* a global look-up then the service returned is global as well (but resetting is easier, since -only one global variable exists to be reset). - -The class above is hard to test since we have to change the global state: -
    -var oldServiceLocator = global.serviceLocator;
    -global.serviceLocator.set('xhr', function mockXHR() {});
    -var myClass = new MyClass();
    -myClass.doWork();
    -// assert that mockXHR got called with the right arguments
    -global.serviceLocator = oldServiceLocator; // if you forget this bad things will happen
    -
    - - -### Passing in Dependencies: -Last, the dependency can be passed in. - -
    -function MyClass(xhr) {
    -  this.doWork = function() {
    -    xhr({
    -      method:'...',
    -      url:'...',
    -      complete:function(response){ ... }
    -    })
    -}
    -
    - -This is the preferred method since the code makes no assumptions about the origin of `xhr` and cares -instead about whoever created the class responsible for passing it in. Since the creator of the -class should be different code than the user of the class, it separates the responsibility of -creation from the logic. This is dependency-injection is in a nutshell. - -The class above is testable, since in the test we can write: -
    -function xhrMock(args) {...}
    -var myClass = new MyClass(xhrMock);
    -myClass.doWork();
    -// assert that xhrMock got called with the right arguments
    -
    - -Notice that no global variables were harmed in the writing of this test. - -Angular comes with {@link di dependency injection} built-in, making the right thing -easy to do, but you still need to do it if you wish to take advantage of the testability story. - -## Controllers -What makes each application unique is its logic, and the logic is what we would like to test. If the logic -for your application contains DOM manipulation, it will be hard to test. See the example -below: - -
    -function PasswordCtrl() {
    -  // get references to DOM elements
    -  var msg = $('.ex1 span');
    -  var input = $('.ex1 input');
    -  var strength;
    -
    -  this.grade = function() {
    -    msg.removeClass(strength);
    -    var pwd = input.val();
    -    password.text(pwd);
    -    if (pwd.length > 8) {
    -      strength = 'strong';
    -    } else if (pwd.length > 3) {
    -      strength = 'medium';
    -    } else {
    -      strength = 'weak';
    -    }
    -    msg
    -     .addClass(strength)
    -     .text(strength);
    -  }
    -}
    -
    - -The code above is problematic from a testability point of view since it requires your test to have the right kind -of DOM present when the code executes. The test would look like this: - -
    -var input = $('');
    -var span = $('');
    -$('body').html('
    ') - .find('div') - .append(input) - .append(span); -var pc = new PasswordCtrl(); -input.val('abc'); -pc.grade(); -expect(span.text()).toEqual('weak'); -$('body').html(''); -
    - -In angular the controllers are strictly separated from the DOM manipulation logic and this results in -a much easier testability story as the following example shows: - -
    -function PasswordCtrl($scope) {
    -  $scope.password = '';
    -  $scope.grade = function() {
    -    var size = $scope.password.length;
    -    if (size > 8) {
    -      $scope.strength = 'strong';
    -    } else if (size > 3) {
    -      $scope.strength = 'medium';
    -    } else {
    -      $scope.strength = 'weak';
    -    }
    -  };
    -}
    -
    - -and the test is straight forward: - -
    -var $scope = {};
    -var pc = $controller('PasswordCtrl', { $scope: $scope });
    -$scope.password = 'abc';
    -$scope.grade();
    -expect($scope.strength).toEqual('weak');
    -
    - -Notice that the test is not only much shorter, it is also easier to follow what is happening. We say -that such a test tells a story, rather then asserting random bits which don't seem to be related. - -## Filters -{@link api/ng.$filterProvider Filters} are functions which transform the data into a user readable -format. They are important because they remove the formatting responsibility from the application -logic, further simplifying the application logic. - -
    -myModule.filter('length', function() {
    -  return function(text){
    -    return (''+(text||'')).length;
    -  }
    -});
    -
    -var length = $filter('length');
    -expect(length(null)).toEqual(0);
    -expect(length('abc')).toEqual(3);
    -
    - -## Directives -Directives in angular are responsible for encapsulating complex functionality within custom HTML tags, -attributes, classes or comments. Unit tests are very important for directives because the components -you create with directives may be used throughout your application and in many different contexts. - -### Simple HTML Element Directive - -Let's start with an angular app with no dependencies. - -
    -var app = angular.module('myApp', []);
    -
    - -Now we can add a directive to our app. - -
    -app.directive('aGreatEye', function () {
    -    return {
    -        restrict: 'E',
    -        replace:  true,
    -        template: '

    lidless, wreathed in flame, {{1 + 1}} times

    ' - }; -}); -
    - -This directive is used as a tag ``. It replaces the entire tag with the -template `

    lidless, wreathed in flame, {{1 + 1}} times

    `. Now we are going to write a jasmine unit test to -verify this functionality. Note that the expression `{{1 + 1}}` times will also be evaluated in the rendered content. - -
    -describe('Unit testing great quotes', function() {
    -    var $compile;
    -    var $rootScope;
    -
    -    // Load the myApp module, which contains the directive
    -    beforeEach(module('myApp'));
    -
    -    // Store references to $rootScope and $compile
    -    // so they are available to all tests in this describe block
    -    beforeEach(inject(function(_$compile_, _$rootScope_){
    -      // The injector unwraps the underscores (_) from around the parameter names when matching
    -      $compile = _$compile_;
    -      $rootScope = _$rootScope_;
    -    }));
    -    
    -    it('Replaces the element with the appropriate content', function() {
    -        // Compile a piece of HTML containing the directive
    -        var element = $compile("")($rootScope);
    -        // fire all the watches, so the scope expression {{1 + 1}} will be evaluated
    -        $rootScope.$digest();
    -        // Check that the compiled element contains the templated content
    -        expect(element.html()).toContain("lidless, wreathed in flame, 2 times");
    -    });
    -});
    -
    - -We inject the $compile service and $rootScope before each jasmine test. The $compile service is used -to render the aGreatEye directive. After rendering the directive we ensure that the directive has -replaced the content and "lidless, wreathed in flame, 2 times" is present. - - -## Sample project -See the {@link https://github.com/angular/angular-seed angular-seed} project for an example. - diff --git a/docs/content/guide/di.ngdoc b/docs/content/guide/di.ngdoc index b305dd6bcf14..b9fe4b248ec5 100644 --- a/docs/content/guide/di.ngdoc +++ b/docs/content/guide/di.ngdoc @@ -1,241 +1,350 @@ @ngdoc overview -@name Developer Guide: Dependency Injection +@name Dependency Injection +@sortOrder 250 @description # Dependency Injection -Dependency Injection (DI) is a software design pattern that deals with how code gets hold of its -dependencies. +Dependency Injection (DI) is a software design pattern that deals with how components get hold of +their dependencies. -For in-depth discussion about DI, see {@link http://en.wikipedia.org/wiki/Dependency_injection -Dependency Injection} at Wikipedia, {@link http://martinfowler.com/articles/injection.html -Inversion of Control} by Martin Fowler, or read about DI in your favorite software design pattern -book. +The AngularJS injector subsystem is in charge of creating components, resolving their dependencies, +and providing them to other components as requested. -## DI in a nutshell -There are only three ways an object or a function can get a hold of its dependencies: +## Using Dependency Injection - 1. The dependency can be created, typically using the `new` operator. +Dependency Injection is pervasive throughout AngularJS. You can use it when defining components +or when providing `run` and `config` blocks for a module. - 2. The dependency can be looked up by referring to a global variable. +- {@link angular.Module#service Services}, {@link angular.Module#directive directives}, +{@link angular.Module#filter filters}, and {@link angular.Module#animation animations} are +defined by an injectable factory method or constructor function, and can be injected with +"services", "values", and "constants" as dependencies. - 3. The dependency can be passed in to where it is needed. +- {@link ng.$controller Controllers} are defined by a constructor function, which can be injected +with any of the "service" and "value" as dependencies, but they can also be provided with +"special dependencies". See {@link di#controllers Controllers} below for a list of these +special dependencies. +- The {@link angular.Module#run `run`} method accepts a function, which can be injected with +"services", "values" and, "constants" as dependencies. Note that you cannot inject "providers" +into `run` blocks. -The first two options of creating or looking up dependencies are not optimal because they hard -code the dependency. This makes it difficult, if not impossible, to modify the dependencies. -This is especially problematic in tests, where it is often desirable to provide mock dependencies -for test isolation. +- The {@link angular.Module#config `config`} method accepts a function, which can be injected with +"providers" and "constants" as dependencies. Note that you cannot inject "services" or +"values" into configuration. -The third option is the most viable, since it removes the responsibility of locating the -dependency from the component. The dependency is simply handed to the component. +- The {@link angular.Module#provider `provider`} method can only be injected with other "providers". +However, only those that have been **registered beforehand** can be injected. This is different +from services, where the order of registration does not matter. -
    -  function SomeClass(greeter) {
    -    this.greeter = greeter;
    -  }
    -  
    -  SomeClass.prototype.doSomething = function(name) {
    -    this.greeter.greet(name);
    -  }
    -
    +See {@link module#module-loading Modules} for more details about `run` and `config` +blocks and {@link guide/providers Providers} for more information about the different provider +types. -In the above example `SomeClass` is not concerned with locating the `greeter` dependency, it -is simply handed the `greeter` at runtime. -This is desirable, but it puts the responsibility of getting hold of the dependency on the -code that constructs `SomeClass`. +### Factory Methods - +The way you define a directive, service, or filter is with a factory function. +The factory methods are registered with modules. The recommended way of declaring factories is: -To manage the responsibility of dependency creation, each Angular application has an {@link -api/angular.injector injector}. The injector is a service locator that is responsible for -construction and lookup of dependencies. +```js +angular.module('myModule', []) + .factory('serviceId', ['depService', function(depService) { + // ... + }]) + .directive('directiveName', ['depService', function(depService) { + // ... + }]) + .filter('filterName', ['depService', function(depService) { + // ... + }]); +``` -Here is an example of using the injector service: +### Module Methods -
    -  // Provide the wiring information in a module
    -  angular.module('myModule', []).
    -  
    -    // Teach the injector how to build a 'greeter'
    -    // Notice that greeter itself is dependent on '$window'
    -    factory('greeter', function($window) {
    -      // This is a factory function, and is responsible for 
    -      // creating the 'greet' service.
    -      return {
    -        greet: function(text) {
    -          $window.alert(text);
    -        }
    -      };
    -    });
    -
    -  // New injector is created from the module. 
    -  // (This is usually done automatically by angular bootstrap)
    -  var injector = angular.injector(['myModule', 'ng']);
    -  
    -  // Request any dependency from the injector
    -  var greeter = injector.get('greeter');
    -
    +We can specify functions to run at configuration and run time for a module by calling the `config` +and `run` methods. These functions are injectable with dependencies just like the factory functions +above. -Asking for dependencies solves the issue of hard coding, but it also means that the injector needs -to be passed throughout the application. Passing the injector breaks the {@link -http://en.wikipedia.org/wiki/Law_of_Demeter Law of Demeter}. To remedy this, we turn the -dependency lookup responsibility to the injector by declaring the dependencies as in this example: - -
    -  
    -  
    - -
    -
    -
    -  // And this controller definition
    -  function MyController($scope, greeter) {
    -    $scope.sayHello = function() {
    -      greeter.greet('Hello World');
    -    };
    +```js
    +angular.module('myModule', [])
    +  .config(['depProvider', function(depProvider) {
    +    // ...
    +  }])
    +  .run(['depService', function(depService) {
    +    // ...
    +  }]);
    +```
    +
    +### Controllers
    +
    +Controllers are "classes" or "constructor functions" that are responsible for providing the
    +application behavior that supports the declarative markup in the template. The recommended way of
    +declaring Controllers is using the array notation:
    +
    +```js
    +someModule.controller('MyController', ['$scope', 'dep1', 'dep2', function($scope, dep1, dep2) {
    +  ...
    +  $scope.aMethod = function() {
    +    ...
       }
    -  
    -  // The 'ng-controller' directive does this behind the scenes
    -  injector.instantiate(MyController);
    -
    + ... +}]); +``` + +Unlike services, there can be many instances of the same type of controller in an application. + +Moreover, additional dependencies are made available to Controllers: + +* {@link scope `$scope`}: Controllers are associated with an element in the DOM and so are + provided with access to the {@link scope scope}. Other components (like services) only have + access to the {@link $rootScope `$rootScope`} service. +* {@link ngRoute.$routeProvider#when resolves}: If a controller is instantiated as part of a route, + then any values that are resolved as part of the route are made available for injection into the + controller. -Notice that by having the `ng-controller` instantiate the class, it can satisfy all of the -dependencies of `MyController` without the controller ever knowing about the injector. This is -the best outcome. The application code simply asks for the dependencies it needs, without having to -deal with the injector. This setup does not break the Law of Demeter. ## Dependency Annotation -How does the injector know what service needs to be injected? +AngularJS invokes certain functions (like service factories and controllers) via the injector. +You need to annotate these functions so that the injector knows what services to inject into +the function. There are three ways of annotating your code with service name information: -The application developer needs to provide annotation information that the injector uses in order -to resolve the dependencies. Throughout Angular, certain API functions are invoked using the -injector, as per the API documentation. The injector needs to know what services to inject into -the function. Below are three equivalent ways of annotating your code with service name -information. These can be used interchangeably as you see fit and are equivalent. +- Using the inline array annotation (preferred) +- Using the `$inject` property annotation +- Implicitly from the function parameter names (has caveats) -### Inferring Dependencies +### Inline Array Annotation -The simplest way to get hold of the dependencies, is to assume that the function parameter names -are the names of the dependencies. +This is the preferred way to annotate application components. This is how the examples in the +documentation are written. -
    -  function MyController($scope, greeter) {
    -    ...
    -  }
    -
    +For example: -Given a function the injector can infer the names of the service to inject by examining the -function declaration and extracting the parameter names. In the above example `$scope`, and -`greeter` are two services which need to be injected into the function. +```js +someModule.controller('MyController', ['$scope', 'greeter', function($scope, greeter) { + // ... +}]); +``` + +Here we pass an array whose elements consist of a list of strings (the names of the dependencies) +followed by the function itself. -While straightforward, this method will not work with JavaScript minifiers/obfuscators as they -rename the method parameter names. This makes this way of annotating only useful for {@link -http://www.pretotyping.org/ pretotyping}, and demo applications. +When using this type of annotation, take care to keep the annotation array in sync with the +parameters in the function declaration. -### `$inject` Annotation +### `$inject` Property Annotation -To allow the minifers to rename the function parameters and still be able to inject right services +To allow the minifiers to rename the function parameters and still be able to inject the right services, the function needs to be annotated with the `$inject` property. The `$inject` property is an array of service names to inject. -
    -  var MyController = function(renamed$scope, renamedGreeter) {
    -    ...
    -  }
    -  MyController['$inject'] = ['$scope', 'greeter'];
    -
    +```js +var MyController = function($scope, greeter) { + // ... +} +MyController.$inject = ['$scope', 'greeter']; +someModule.controller('MyController', MyController); +``` -In this scenario the ordering of the values in the '$inject' array must match the ordering of the arguments to inject. -Using above code snippet as an example, '$scope' will be injected into 'renamed$scope' and 'greeter' into 'renamedGreeter'. -Care must be taken that the `$inject` annotation is kept in sync with the actual arguments in the -function declaration. +In this scenario the ordering of the values in the `$inject` array must match the ordering of the +parameters in `MyController`. -This method of annotation is useful for controller declarations since it assigns the annotation -information with the function. +Just like with the array annotation, you'll need to take care to keep the `$inject` in sync with +the parameters in the function declaration. -### Inline Annotation +### Implicit Annotation -Sometimes using the `$inject` annotation style is not convenient such as when annotating -directives. +
    +**Careful:** If you plan to [minify](http://en.wikipedia.org/wiki/Minification_(programming)) +your code, your service names will get renamed and break your app. +
    -For example: +The simplest way to get hold of the dependencies is to assume that the function parameter names +are the names of the dependencies. -
    -  someModule.factory('greeter', function($window) {
    -    ...
    -  });
    -
    +```js +someModule.controller('MyController', function($scope, greeter) { + // ... +}); +``` -Results in code bloat due to needing a temporary variable: +Given a function, the injector can infer the names of the services to inject by examining the +function declaration and extracting the parameter names. In the above example, `$scope` and +`greeter` are two services which need to be injected into the function. -
    -  var greeterFactory = function(renamed$window) {
    -    ...
    -  };
    -  
    -  greeterFactory.$inject = ['$window'];
    -  
    -  someModule.factory('greeter', greeterFactory);
    -
    +One advantage of this approach is that there's no array of names to keep in sync with the +function parameters. You can also freely reorder dependencies. -For this reason the third annotation style is provided as well. +However this method will not work with JavaScript minifiers/obfuscators because of how they +rename parameters. -
    -  someModule.factory('greeter', ['$window', function(renamed$window) {
    -    ...
    +Tools like [ng-annotate](https://github.com/olov/ng-annotate) let you use implicit dependency
    +annotations in your app and automatically add inline array annotations prior to minifying.
    +If you decide to take this approach, you probably want to use `ng-strict-di`.
    +
    +Because of these caveats, we recommend avoiding this style of annotation.
    +
    +
    +## Using Strict Dependency Injection
    +
    +You can add an `ng-strict-di` directive on the same element as `ng-app` to opt into strict DI mode:
    +
    +```html
    +
    +
    +
    +  I can add: {{ 1 + 2 }}.
    +  
    +
    +
    +```
    +
    +Strict mode throws an error whenever a service tries to use implicit annotations.
    +
    +Consider this module, which includes a `willBreak` service that uses implicit DI:
    +
    +```js
    +angular.module('myApp', [])
    +  .factory('willBreak', function($rootScope) {
    +    // $rootScope is implicitly injected
    +  })
    +  .run(['willBreak', function(willBreak) {
    +    // AngularJS will throw when this runs
       }]);
    -
    +``` -Keep in mind that all of the annotation styles are equivalent and can be used anywhere in Angular -where injection is supported. +When the `willBreak` service is instantiated, AngularJS will throw an error because of strict mode. +This is useful when using a tool like [ng-annotate](https://github.com/olov/ng-annotate) to +ensure that all of your application components have annotations. -## Where can I use DI? +If you're using manual bootstrapping, you can also use strict DI by providing `strictDi: true` in +the optional config argument: -DI is pervasive throughout Angular. It is typically used in controllers and factory methods. +```js +angular.bootstrap(document, ['myApp'], { + strictDi: true +}); +``` -### DI in controllers -Controllers are classes which are responsible for application behavior. The recommended way of -declaring controllers is using the array notation: -
    -  someModule.controller('MyController', ['$scope', 'dep1', 'dep2', function($scope, dep1, dep2) {
    -    ...
    -    $scope.aMethod = function() {
    -      ...
    +## Why Dependency Injection?
    +
    +This section motivates and explains AngularJS's use of DI. For how to use DI, see above.
    +
    +For in-depth discussion about DI, see
    +[Dependency Injection](http://en.wikipedia.org/wiki/Dependency_injection) at Wikipedia,
    +[Inversion of Control](http://martinfowler.com/articles/injection.html) by Martin Fowler,
    +or read about DI in your favorite software design pattern book.
    +
    +There are only three ways a component (object or function) can get a hold of its dependencies:
    +
    +  1. The component can create the dependency, typically using the `new` operator.
    +  2. The component can look up the dependency, by referring to a global variable.
    +  3. The component can have the dependency passed to it where it is needed.
    +
    +The first two options of creating or looking up dependencies are not optimal because they hard
    +code the dependency to the component. This makes it difficult, if not impossible, to modify the
    +dependencies. This is especially problematic in tests, where it is often desirable to provide mock
    +dependencies for test isolation.
    +
    +The third option is the most viable, since it removes the responsibility of locating the
    +dependency from the component. The dependency is simply handed to the component.
    +
    +```js
    +function SomeClass(greeter) {
    +  this.greeter = greeter;
    +}
    +
    +SomeClass.prototype.doSomething = function(name) {
    +  this.greeter.greet(name);
    +}
    +```
    +
    +In the above example `SomeClass` is not concerned with creating or locating the `greeter`
    +dependency, it is simply handed the `greeter` when it is instantiated.
    +
    +This is desirable, but it puts the responsibility of getting hold of the dependency on the
    +code that constructs `SomeClass`.
    +
    +
    +
    +To manage the responsibility of dependency creation, each AngularJS application has an {@link
    +angular.injector injector}. The injector is a
    +[service locator](http://en.wikipedia.org/wiki/Service_locator_pattern) that is responsible for
    +construction and lookup of dependencies.
    +
    +Here is an example of using the injector service:
    +
    +First create an AngularJS module that will hold the service definition. (The empty array passed as
    +the second parameter means that this module does not depend on any other modules.)
    +
    +```js
    +// Create a module to hold the service definition
    +var myModule = angular.module('myModule', []);
    +```
    +
    +Teach the injector how to build a `greeter` service, which is just an object that contains a `greet`
    +method. Notice that `greeter` is dependent on the `$window` service, which will be provided
    +(injected into `greeter`) by the injector.
    +
    +```js
    +// Define the `greeter` service
    +myModule.factory('greeter', function($window) {
    +  return {
    +    greet: function(text) {
    +      $window.alert(text);
         }
    -    ...
    -  }]);
    -
    - -This avoids the creation of global functions for controllers and also protects against minification. - - -### Factory methods - -Factory methods are responsible for creating most objects in Angular. Examples are directives, -services, and filters. The factory methods are registered with the module, and the recommended way -of declaring factories is: - -
    -  angular.module('myModule', []).
    -    config(['depProvider', function(depProvider){
    -      ...
    -    }]).
    -    factory('serviceId', ['depService', function(depService) {
    -      ...
    -    }]).
    -    directive('directiveName', ['depService', function(depService) {
    -      ...
    -    }]).
    -    filter('filterName', ['depService', function(depService) {
    -      ...
    -    }]).
    -    run(['depService', function(depService) {
    -      ...
    -    }]);
    -
    + }; +}); +``` + +Create a new injector that can provide components defined in our `myModule` module and request our +`greeter` service from the injector. (This is usually done automatically by AngularJS bootstrap). + +```js +var injector = angular.injector(['ng', 'myModule']); +var greeter = injector.get('greeter'); +``` + +Asking for dependencies solves the issue of hard coding, but it also means that the injector needs +to be passed throughout the application. Passing the injector breaks the +[Law of Demeter](http://en.wikipedia.org/wiki/Law_of_Demeter). To remedy this, we use a declarative +notation in our HTML templates, to hand the responsibility of creating components over to the +injector, as in this example: + +```html +
    + +
    +``` + +```js +function MyController($scope, greeter) { + $scope.sayHello = function() { + greeter.greet('Hello World'); + }; +} +``` + +When AngularJS compiles the HTML, it processes the `ng-controller` directive, which in turn +asks the injector to create an instance of the controller and its dependencies. + +```js +injector.instantiate(MyController); +``` + +This is all done behind the scenes. Notice that by having the `ng-controller` ask the injector to +instantiate the class, it can satisfy all of the dependencies of `MyController` without the +controller ever knowing about the injector. + +This is the best outcome. The application code simply declares the dependencies it needs, without +having to deal with the injector. This setup does not break the Law of Demeter. + +
    +**Note:** AngularJS uses +[**constructor injection**](http://misko.hevery.com/2009/02/19/constructor-injection-vs-setter-injection/). +
    diff --git a/docs/content/guide/directive.ngdoc b/docs/content/guide/directive.ngdoc index b6b74a9772ae..2b57c555863b 100644 --- a/docs/content/guide/directive.ngdoc +++ b/docs/content/guide/directive.ngdoc @@ -1,5 +1,6 @@ @ngdoc overview @name Directives +@sortOrder 300 @description # Creating Custom Directives @@ -7,7 +8,8 @@
    **Note:** this guide is targeted towards developers who are already familiar with AngularJS basics. If you're just getting started, we recommend the {@link tutorial/ tutorial} first. -If you're looking for the **directives API**, we recently moved it to {@link api/ng.$compile `$compile`}. +If you're looking for the **directives API**, you can find it in the +{@link ng.$compile `$compile` API docs}.
    @@ -18,46 +20,58 @@ how to implement them. ## What are Directives? At a high level, directives are markers on a DOM element (such as an attribute, element -name, or CSS class) that tell AngularJS's **HTML compiler** ({@link api/ng.$compile `$compile`}) to -attach a specified behavior to that DOM element or even transform the DOM element and its children. +name, comment or CSS class) that tell AngularJS's **HTML compiler** ({@link ng.$compile `$compile`}) +to attach a specified behavior to that DOM element (e.g. via event listeners), or even to transform +the DOM element and its children. -Angular comes with a set of these directives built-in, like `ngBind`, `ngModel`, and `ngView`. -Much like you create controllers and services, you can create your own directives for Angular to use. -When Angular {@link guide/bootstrap bootstraps} your application, the +AngularJS comes with a set of these directives built-in, like `ngBind`, `ngModel`, and `ngClass`. +Much like you create controllers and services, you can create your own directives for AngularJS to use. +When AngularJS {@link guide/bootstrap bootstraps} your application, the {@link guide/compiler HTML compiler} traverses the DOM matching directives against the DOM elements.
    **What does it mean to "compile" an HTML template?** -For AngularJS, "compilation" means attaching event listeners to the HTML to make it interactive. +For AngularJS, "compilation" means attaching directives to the HTML to make it interactive. The reason we use the term "compile" is that the recursive process of attaching directives mirrors the process of compiling source code in -{@link http://en.wikipedia.org/wiki/Compiled_languages compiled programming languages}. +[compiled programming languages](http://en.wikipedia.org/wiki/Compiled_languages).
    ## Matching Directives -Before we can write a directive, we need to know how Angular's {@link guide/compiler HTML compiler} +Before we can write a directive, we need to know how AngularJS's {@link guide/compiler HTML compiler} determines when to use a given directive. -In the following example, we say that the `` element **matches** the `ngModel` directive. +Similar to the terminology used when an [element **matches** a selector](https://developer.mozilla.org/en-US/docs/Web/API/Element.matches), we say an element **matches** a +directive when the directive is part of its declaration. -```javascript +In the following example, we say that the `` element **matches** the `ngModel` directive + +```html ``` -The following also **matches** `ngModel`: +The following `` element also **matches** `ngModel`: -```javascript - +```html + ``` -Angular **normalizes** an element's tag and attribute name to determine which elements match which +And the following `` element **matches** the `person` directive: + +```html +{{name}} +``` + +### Normalization + +AngularJS **normalizes** an element's tag and attribute name to determine which elements match which directives. We typically refer to directives by their case-sensitive -{@link http://en.wikipedia.org/wiki/CamelCase camelCase} **normalized** name (e.g. `ngModel`). +[camelCase](http://en.wikipedia.org/wiki/CamelCase) **normalized** name (e.g. `ngModel`). However, since HTML is case-insensitive, we refer to directives in the DOM by lower-case -forms, typically using {@link http://en.wikipedia.org/wiki/Letter_case#Computers dash-delimited} +forms, typically using [dash-delimited](https://en.wikipedia.org/wiki/Letter_case#Special_case_styles) attributes on DOM elements (e.g. `ng-model`). The **normalization** process is as follows: @@ -65,17 +79,11 @@ The **normalization** process is as follows: 1. Strip `x-` and `data-` from the front of the element/attributes. 2. Convert the `:`, `-`, or `_`-delimited name to `camelCase`. -Here are some equivalent examples of elements that match `ngBind`: +For example, the following forms are all equivalent and match the {@link ngBind} directive: - - - angular.module('docsBindExample', []) - .controller('Ctrl1', function Ctrl1($scope) { - $scope.name = 'Max Karl Ernst Ludwig Planck (April 23, 1858 – October 4, 1947)'; - }); - + -
    +
    Hello


    @@ -84,10 +92,21 @@ Here are some equivalent examples of elements that match `ngBind`:
    - + + angular.module('docsBindExample', []) + .controller('Controller', ['$scope', function($scope) { + $scope.name = 'Max Karl Ernst Ludwig Planck (April 23, 1858 – October 4, 1947)'; + }]); + + it('should show off bindings', function() { - expect(element('div[ng-controller="Ctrl1"] span[ng-bind]').text()) - .toBe('Max Karl Ernst Ludwig Planck (April 23, 1858 – October 4, 1947)'); + var containerElm = element(by.css('div[ng-controller="Controller"]')); + var nameBindings = containerElm.all(by.binding('name')); + + expect(nameBindings.count()).toBe(5); + nameBindings.each(function(elem) { + expect(elem.getText()).toEqual('Max Karl Ernst Ludwig Planck (April 23, 1858 – October 4, 1947)'); + }); }); @@ -99,11 +118,15 @@ If you want to use an HTML validating tool, you can instead use the `data`-prefi The other forms shown above are accepted for legacy reasons but we advise you to avoid them.
    -`$compile` can match directives based on element names, attributes, class names, as well as comments. +### Directive types + +`$compile` can match directives based on element names (E), attributes (A), class names (C), +and comments (M). -All of the Angular-provided directives match attribute name, tag name, comments, or class name. -The following demonstrates the various ways a directive (`myDir` in this case) can be referenced -from within a template: +The built-in AngularJS directives show in their documentation page which type of matching they support. + +The following demonstrates the various ways a directive (`myDir` in this case) that matches all +4 types can be referenced from within a template. ```html @@ -112,6 +135,10 @@ from within a template: ``` +A directive can specify which of the 4 matching types it supports in the +{@link ng.$compile#-restrict- `restrict`} property of the directive definition object. +The default is `EA`. +
    **Best Practice:** Prefer using directives via tag name and attributes over comment and class names. Doing so generally makes it easier to determine what directives a given element matches. @@ -120,78 +147,28 @@ Doing so generally makes it easier to determine what directives a given element
    **Best Practice:** Comment directives were commonly used in places where the DOM API limits the ability to create directives that spanned multiple elements (e.g. inside `` elements). -AngularJS 1.2 introduces {@link api/ng.directive:ngRepeat `ng-repeat-start` and `ng-repeat-end`} +AngularJS 1.2 introduces {@link ng.directive:ngRepeat `ng-repeat-start` and `ng-repeat-end`} as a better solution to this problem. Developers are encouraged to use this over custom comment directives when possible. - -### Text and attribute bindings - -During the compilation process the {@link api/ng.$compile compiler} matches text and attributes -using the {@link api/ng.$interpolate $interpolate} service to see if they contain embedded -expressions. These expressions are registered as {@link api/ng.$rootScope.Scope#methods_$watch watches} -and will update as part of normal {@link api/ng.$rootScope.Scope#methods_$digest digest} cycle. An -example of interpolation is shown below: - -```html -Hello {{username}}! -``` - - -### `ngAttr` attribute bindings - -Web browsers are sometimes picky about what values they consider valid for attributes. - -For example, considering this template: - -```html - - - -``` - -We would expect Angular to be able to bind to this, but when we check the console we see -something like `Error: Invalid value for attribute cx="{{cx}}"`. Because of the SVG DOM API's -restrictions, you cannot simply write `cx="{{cx}}"`. - -With `ng-attr-cx` you can work around this problem. - -If an attribute with a binding is prefixed with the `ngAttr` prefix (denormalized as `ng-attr-`) -then during the binding will be applied to the corresponding unprefixed attribute. This allows -you to bind to attributes that would otherwise be eagerly processed by browsers -(e.g. an SVG element's `circle[cx]` attributes). - -For example, we could fix the example above by instead writing: - -```html - - - -``` - - ## Creating Directives -First let's talk about the API for registering directives. Much like controllers, directives are -registered on modules. To register a directive, you use the `module.directive` API. -`module.directive` takes the -{@link guide/directive#creating-custom-directives_matching-directives normalized} directive name +First let's talk about the {@link ng.$compileProvider#directive API for registering directives}. Much like +controllers, directives are registered on modules. To register a directive, you use the +`module.directive` API. `module.directive` takes the +{@link guide/directive#matching-directives normalized} directive name followed by a **factory function.** This factory function should return an object with the different options to tell `$compile` how the directive should behave when matched. The factory function is invoked only once when the -{@link api/ng.$compile compiler} matches the directive for the first time. You can perform any +{@link ng.$compile compiler} matches the directive for the first time. You can perform any initialization work here. The function is invoked using -{@link api/AUTO.$injector#methods_invoke $injector.invoke} which makes it injectable just like a +{@link auto.$injector#invoke $injector.invoke} which makes it injectable just like a controller. -
    -**Best Practice:** Prefer using the definition object over returning a function. -
    - We'll go over a few common examples of directives, then dive deep into the different options and compilation process. @@ -201,7 +178,7 @@ and compilation process. directive names. For instance, if you created a `` directive, it would be problematic if HTML7 introduced the same element. A two or three letter prefix (e.g. `btfCarousel`) works well. Similarly, do not prefix your own directives with `ng` or they might conflict with directives included in a future -version of Angular. +version of AngularJS. For the following examples, we'll use the prefix `my` (e.g. `myCustomer`). @@ -215,15 +192,15 @@ several others. This is a good opportunity to use a directive to simplify your t Let's create a directive that simply replaces its contents with a static template: - + angular.module('docsSimpleDirective', []) - .controller('Ctrl', function($scope) { + .controller('Controller', ['$scope', function($scope) { $scope.customer = { name: 'Naomi', address: '1600 Amphitheatre' }; - }) + }]) .directive('myCustomer', function() { return { template: 'Name: {{customer.name}} Address: {{customer.address}}' @@ -231,7 +208,7 @@ Let's create a directive that simply replaces its contents with a static templat }); -
    +
    @@ -240,7 +217,7 @@ Let's create a directive that simply replaces its contents with a static templat Notice that we have bindings in this directive. After `$compile` compiles and links `
    `, it will try to match directives on the element's children. This means you can compose directives of other directives. We'll see how to do that in -{@link guide/directive#creating-custom-directives_demo_creating-directives-that-communicate an example} +{@link guide/directive#creating-directives-that-communicate an example} below. In the example above we in-lined the value of the `template` option, but this will become annoying @@ -254,15 +231,15 @@ its own HTML file and load it with the `templateUrl` option. If you are familiar with `ngInclude`, `templateUrl` works just like it. Here's the same example using `templateUrl` instead: - + angular.module('docsTemplateUrlDirective', []) - .controller('Ctrl', function($scope) { + .controller('Controller', ['$scope', function($scope) { $scope.customer = { name: 'Naomi', address: '1600 Amphitheatre' }; - }) + }]) .directive('myCustomer', function() { return { templateUrl: 'my-customer.html' @@ -270,7 +247,7 @@ using `templateUrl` instead: }); -
    +
    @@ -279,31 +256,73 @@ using `templateUrl` instead: -Great! But what if we wanted to have our directive match the tag name `` instead? -If we simply put a `` element into the HMTL, it doesn't work. +`templateUrl` can also be a function which returns the URL of an HTML template to be loaded and +used for the directive. AngularJS will call the `templateUrl` function with two parameters: the +element that the directive was called on, and an `attr` object associated with that element. + +
    +**Note:** You do not currently have the ability to access scope variables from the `templateUrl` +function, since the template is requested before the scope is initialized. +
    + + + + angular.module('docsTemplateUrlDirective', []) + .controller('Controller', ['$scope', function($scope) { + $scope.customer = { + name: 'Naomi', + address: '1600 Amphitheatre' + }; + }]) + .directive('myCustomer', function() { + return { + templateUrl: function(elem, attr) { + return 'customer-' + attr.type + '.html'; + } + }; + }); + + +
    +
    +
    +
    +
    + + Name: {{customer.name}} + + + Address: {{customer.address}} + +
    -
    -**Note:** When you create a directive, it is restricted to attribute only by default. In order to -create directives that are triggered by element name, you need to use the `restrict` option. +
    +**Note:** When you create a directive, it is restricted to attribute and elements only by default. In order to +create directives that are triggered by class name, you need to use the `restrict` option.
    The `restrict` option is typically set to: * `'A'` - only matches attribute name * `'E'` - only matches element name -* `'AE'` - matches either attribute or element name +* `'C'` - only matches class name +* `'M'` - only matches comment + +These restrictions can all be combined as needed: + +* `'AEC'` - matches either attribute or element or class name Let's change our directive to use `restrict: 'E'`: - + angular.module('docsRestrictDirective', []) - .controller('Ctrl', function($scope) { + .controller('Controller', ['$scope', function($scope) { $scope.customer = { name: 'Naomi', address: '1600 Amphitheatre' }; - }) + }]) .directive('myCustomer', function() { return { restrict: 'E', @@ -313,7 +332,7 @@ Let's change our directive to use `restrict: 'E'`: -
    +
    @@ -323,10 +342,8 @@ Let's change our directive to use `restrict: 'E'`: -For more on the -{@link api/ng.$compile#description_comprehensive-directive-api_directive-definition-object `restrict`} -property, see the -{@link api/ng.$compile#description_comprehensive-directive-api_directive-definition-object API docs}. +For more on the `restrict` property, see the +{@link ng.$compile#directive-definition-object API docs}.
    **When should I use an attribute versus an element?** @@ -348,24 +365,24 @@ element as a customer component. Our `myCustomer` directive above is great, but it has a fatal flaw. We can only use it once within a given scope. -In its current implementation, we'd need to create a different controller each time In order to +In its current implementation, we'd need to create a different controller each time in order to re-use such a directive: - + angular.module('docsScopeProblemExample', []) - .controller('NaomiCtrl', function($scope) { + .controller('NaomiController', ['$scope', function($scope) { $scope.customer = { name: 'Naomi', address: '1600 Amphitheatre' }; - }) - .controller('IgorCtrl', function($scope) { + }]) + .controller('IgorController', ['$scope', function($scope) { $scope.customer = { name: 'Igor', address: '123 Somewhere' }; - }) + }]) .directive('myCustomer', function() { return { restrict: 'E', @@ -374,11 +391,11 @@ re-use such a directive: }); -
    +

    -
    +
    @@ -391,15 +408,15 @@ This is clearly not a great solution. What we want to be able to do is separate the scope inside a directive from the scope outside, and then map the outer scope to a directive's inner scope. We can do this by creating what -we call an **isolate scope**. To do this, we can use a directive's `scope` option: +we call an **isolate scope**. To do this, we can use a {@link $compile#-scope- directive's `scope`} option: - + angular.module('docsIsolateScopeDirective', []) - .controller('Ctrl', function($scope) { + .controller('Controller', ['$scope', function($scope) { $scope.naomi = { name: 'Naomi', address: '1600 Amphitheatre' }; $scope.igor = { name: 'Igor', address: '123 Somewhere' }; - }) + }]) .directive('myCustomer', function() { return { restrict: 'E', @@ -411,7 +428,7 @@ we call an **isolate scope**. To do this, we can use a directive's `scope` optio }); -
    +

    @@ -438,8 +455,8 @@ scope: { The **scope option** is an object that contains a property for each isolate scope binding. In this case it has just one property: -- Its name (`customerInfo`) corresponds to the -directive's **isolate scope** property `customerInfo`. +- Its name (`customerInfo`) corresponds to the directive's **isolate scope** property, + `customerInfo`. - Its value (`=info`) tells `$compile` to bind to the `info` attribute.
    @@ -466,14 +483,13 @@ scope has another effect. We can show this by adding another property, `vojta`, to our scope and trying to access it from within our directive's template: - + angular.module('docsIsolationExample', []) - .controller('Ctrl', function($scope) { + .controller('Controller', ['$scope', function($scope) { $scope.naomi = { name: 'Naomi', address: '1600 Amphitheatre' }; - $scope.vojta = { name: 'Vojta', address: '3456 Somewhere Else' }; - }) + }]) .directive('myCustomer', function() { return { restrict: 'E', @@ -485,7 +501,7 @@ within our directive's template: }); -
    +
    @@ -506,6 +522,8 @@ that you explicitly pass in.
    **Note:** Normally, a scope prototypically inherits from its parent. An isolated scope does not. +See the {@link $compile#directive-definition-object "Directive Definition Object - scope"} section +for more information about isolate scopes.
    @@ -519,25 +537,38 @@ want to reuse throughout your app. In this example we will build a directive that displays the current time. Once a second, it updates the DOM to reflect the current time. -Directives that want to modify the DOM typically use the `link` option. -`link` takes a function with the following signature, `function link(scope, element, attrs) { ... }` -where: +Directives that want to modify the DOM typically use the `link` option to register DOM listeners +as well as update the DOM. It is executed after the template has been cloned and is where +directive logic will be put. + + `link` takes a function with the following signature, +`function link(scope, element, attrs, controller, transcludeFn) { ... }`, where: -* `scope` is an Angular scope object. +* `scope` is an AngularJS scope object. * `element` is the jqLite-wrapped element that this directive matches. -* `attrs` is an object with the normalized attribute names and their corresponding values. +* `attrs` is a hash object with key-value pairs of normalized attribute names and their + corresponding attribute values. +* `controller` is the directive's required controller instance(s) or its own controller (if any). + The exact value depends on the directive's require property. +* `transcludeFn` is a transclude linking function pre-bound to the correct transclusion scope. + +
    +For more details on the `link` option refer to the {@link ng.$compile#-link- `$compile` API} page. +
    In our `link` function, we want to update the displayed time once a second, or whenever a user -changes the time formatting string that our directive binds to. We also want to remove the timeout -if the directive is deleted so we don't introduce a memory leak. +changes the time formatting string that our directive binds to. We will use the `$interval` service +to call a handler on a regular basis. This is easier than using `$timeout` but also works better with +end-to-end testing, where we want to ensure that all `$timeout`s have completed before completing the test. +We also want to remove the `$interval` if the directive is deleted so we don't introduce a memory leak. - + angular.module('docsTimeDirective', []) - .controller('Ctrl2', function($scope) { + .controller('Controller', ['$scope', function($scope) { $scope.format = 'M/d/yy h:mm:ss a'; - }) - .directive('myCurrentTime', function($timeout, dateFilter) { + }]) + .directive('myCurrentTime', ['$interval', 'dateFilter', function($interval, dateFilter) { function link(scope, element, attrs) { var format, @@ -552,29 +583,23 @@ if the directive is deleted so we don't introduce a memory leak. updateTime(); }); - function scheduleUpdate() { - // save the timeoutId for canceling - timeoutId = $timeout(function() { - updateTime(); // update DOM - scheduleUpdate(); // schedule the next update - }, 1000); - } - element.on('$destroy', function() { - $timeout.cancel(timeoutId); + $interval.cancel(timeoutId); }); - // start the UI update process. - scheduleUpdate(); + // start the UI update process; save the timeoutId for canceling + timeoutId = $interval(function() { + updateTime(); // update DOM + }, 1000); } return { link: link }; - }); + }]); -
    +
    Date format:
    Current time is:
    @@ -583,13 +608,13 @@ if the directive is deleted so we don't introduce a memory leak. There are a couple of things to note here. Just like the `module.controller` API, the function argument in `module.directive` is dependency -injected. Because of this, we can use `$timeout` and `dateFilter` inside our directive's `link` +injected. Because of this, we can use `$interval` and `dateFilter` inside our directive's `link` function. We register an event `element.on('$destroy', ...)`. What fires this `$destroy` event? There are a few special events that AngularJS emits. When a DOM node that has been compiled -with Angular's compiler is destroyed, it emits a `$destroy` event. Similarly, when an AngularJS +with AngularJS's compiler is destroyed, it emits a `$destroy` event. Similarly, when an AngularJS scope is destroyed, it broadcasts a `$destroy` event to listening scopes. By listening to this event, you can remove event listeners that might cause memory leaks. @@ -613,28 +638,28 @@ wrap any arbitrary content. To do this, we need to use the `transclude` option. - + angular.module('docsTransclusionDirective', []) - .controller('Ctrl', function($scope) { + .controller('Controller', ['$scope', function($scope) { $scope.name = 'Tobias'; - }) + }]) .directive('myDialog', function() { return { restrict: 'E', transclude: true, + scope: {}, templateUrl: 'my-dialog.html' }; }); -
    +
    Check out the contents, {{name}}!
    -
    -
    +
    @@ -644,32 +669,31 @@ this option have access to the scope **outside** of the directive rather than in To illustrate this, see the example below. Notice that we've added a `link` function in `script.js` that redefines `name` as `Jeff`. What do you think the `{{name}}` binding will resolve to now? - + angular.module('docsTransclusionExample', []) - .controller('Ctrl', function($scope) { + .controller('Controller', ['$scope', function($scope) { $scope.name = 'Tobias'; - }) + }]) .directive('myDialog', function() { return { restrict: 'E', transclude: true, scope: {}, templateUrl: 'my-dialog.html', - link: function (scope, element) { + link: function(scope) { scope.name = 'Jeff'; } }; }); -
    +
    Check out the contents, {{name}}!
    -
    -
    +
    @@ -680,7 +704,7 @@ The `transclude` option changes the way scopes are nested. It makes it so that t transcluded directive have whatever scope is outside the directive, rather than whatever scope is on the inside. In doing so, it gives the contents access to the outside scope. -Note that if the directive did not create its own scope, then `scope` in `scope.name = 'Jeff';` would +Note that if the directive did not create its own scope, then `scope` in `scope.name = 'Jeff'` would reference the outside scope and we would see `Jeff` in the output. This behavior makes sense for a directive that wraps some content, because otherwise you'd have to @@ -695,18 +719,21 @@ arbitrary content. Next, we want to add buttons to this dialog box, and allow someone using the directive to bind their own behavior to it. - + angular.module('docsIsoFnBindExample', []) - .controller('Ctrl', function($scope, $timeout) { + .controller('Controller', ['$scope', '$timeout', function($scope, $timeout) { $scope.name = 'Tobias'; - $scope.hideDialog = function () { + $scope.message = ''; + $scope.hideDialog = function(message) { + $scope.message = message; $scope.dialogIsHidden = true; - $timeout(function () { + $timeout(function() { + $scope.message = ''; $scope.dialogIsHidden = false; }, 2000); }; - }) + }]) .directive('myDialog', function() { return { restrict: 'E', @@ -719,30 +746,43 @@ own behavior to it. }); -
    - +
    + {{message}} + Check out the contents, {{name}}!
    - × + ×
    We want to run the function we pass by invoking it from the directive's scope, but have it run -in the context of the scope where its registered. +in the context of the scope where it's registered. -We saw earlier how to use `=prop` in the `scope` option, but in the above example, we're using -`&prop` instead. `&` bindings expose a function to an isolated scope allowing the isolated scope -to invoke it, but maintaining the original scope of the function. So when a user clicks the -`x` in the dialog, it runs `Ctrl`'s `close` function. +We saw earlier how to use `=attr` in the `scope` option, but in the above example, we're using +`&attr` instead. The `&` binding allows a directive to trigger evaluation of an expression in +the context of the original scope, at a specific time. Any legal expression is allowed, including +an expression which contains a function call. Because of this, `&` bindings are ideal for binding +callback functions to directive behaviors. + +When the user clicks the `x` in the dialog, the directive's `close` function is called, thanks to +`ng-click.` This call to `close` on the isolated scope actually evaluates the expression +`hideDialog(message)` in the context of the original scope, thus running `Controller`'s `hideDialog` +function. + +Often it's desirable to pass data from the isolate scope via an expression to the +parent scope, this can be done by passing a map of local variable names and values into the expression +wrapper function. For example, the `hideDialog` function takes a message to display when the dialog +is hidden. This is specified in the directive by calling `close({message: 'closing for now'})`. +Then the local variable `message` will be available within the `on-close` expression.
    -**Best Practice:** use `&prop` in the `scope` option when you want your directive +**Best Practice:** use `&attr` in the `scope` option when you want your directive to expose an API for binding to behaviors.
    @@ -756,47 +796,49 @@ its elements. For instance, what if we wanted to create a directive that lets a user drag an element? - + - angular.module('dragModule', []). - directive('myDraggable', function($document) { - return function(scope, element, attr) { - var startX = 0, startY = 0, x = 0, y = 0; - - element.css({ - position: 'relative', - border: '1px solid red', - backgroundColor: 'lightgrey', - cursor: 'pointer' - }); - - element.on('mousedown', function(event) { - // Prevent default dragging of selected content - event.preventDefault(); - startX = event.pageX - x; - startY = event.pageY - y; - $document.on('mousemove', mousemove); - $document.on('mouseup', mouseup); - }); + angular.module('dragModule', []) + .directive('myDraggable', ['$document', function($document) { + return { + link: function(scope, element, attr) { + var startX = 0, startY = 0, x = 0, y = 0; - function mousemove(event) { - y = event.pageY - startY; - x = event.pageX - startX; element.css({ - top: y + 'px', - left: x + 'px' + position: 'relative', + border: '1px solid red', + backgroundColor: 'lightgrey', + cursor: 'pointer' + }); + + element.on('mousedown', function(event) { + // Prevent default dragging of selected content + event.preventDefault(); + startX = event.pageX - x; + startY = event.pageY - y; + $document.on('mousemove', mousemove); + $document.on('mouseup', mouseup); }); - } - function mouseup() { - $document.unbind('mousemove', mousemove); - $document.unbind('mouseup', mouseup); + function mousemove(event) { + y = event.pageY - startY; + x = event.pageX - startX; + element.css({ + top: y + 'px', + left: x + 'px' + }); + } + + function mouseup() { + $document.off('mousemove', mousemove); + $document.off('mouseup', mouseup); + } } - } - }); + }; + }]); - Drag ME + Drag Me @@ -811,7 +853,7 @@ Sometimes, you want a component that's built from a combination of directives. Imagine you want to have a container with tabs in which the contents of the container correspond to which tab is active. - + angular.module('docsTabsExample', []) .directive('myTabs', function() { @@ -819,7 +861,7 @@ to which tab is active. restrict: 'E', transclude: true, scope: {}, - controller: function($scope) { + controller: ['$scope', function MyTabsController($scope) { var panes = $scope.panes = []; $scope.select = function(pane) { @@ -830,18 +872,18 @@ to which tab is active. }; this.addPane = function(pane) { - if (panes.length == 0) { + if (panes.length === 0) { $scope.select(pane); } panes.push(pane); }; - }, + }], templateUrl: 'my-tabs.html' }; }) .directive('myPane', function() { return { - require: '^myTabs', + require: '^^myTabs', restrict: 'E', transclude: true, scope: { @@ -857,11 +899,9 @@ to which tab is active. -

    Hello

    Lorem ipsum dolor sit amet

    -

    World

    Mauris elementum elementum enim at suscipit.

    counter: {{i || 0}}

    @@ -878,24 +918,56 @@ to which tab is active.
    -
    +
    +

    {{title}}

    +
    -The `myPane` directive has a `require` option with value `^myTabs`. When a directive uses this -option, `$compile` will throw an error unless the specified controller is found. The `^` prefix -means that this directive searches for the controller on its parents (without the `^` prefix, the -directive would look for the controller on just its own element). +The `myPane` directive has a `require` option with value `^^myTabs`. When a directive uses this +option, `$compile` will throw an error unless the specified controller is found. The `^^` prefix +means that this directive searches for the controller on its parents. (A `^` prefix would make the +directive look for the controller on its own element or its parents; without any prefix, the +directive would look on its own element only.) So where does this `myTabs` controller come from? Directives can specify controllers using the unsurprisingly named `controller` option. As you can see, the `myTabs` directive uses this option. Just like `ngController`, this option attaches a controller to the template of the directive. +If it is necessary to reference the controller or any functions bound to the controller from the +template, you can use the option `controllerAs` to specify the name of the controller as an alias. +The directive needs to define a scope for this configuration to be used. This is particularly useful +in the case when the directive is used as a component. + Looking back at `myPane`'s definition, notice the last argument in its `link` function: `tabsCtrl`. When a directive requires a controller, it receives that controller as the fourth argument of its `link` function. Taking advantage of this, `myPane` can call the `addPane` function of `myTabs`. +If multiple controllers are required, the `require` option of the directive can take an array argument. +The corresponding parameter being sent to the `link` function will also be an array. + +```js +angular.module('docsTabsExample', []) + .directive('myPane', function() { + return { + require: ['^^myTabs', 'ngModel'], + restrict: 'E', + transclude: true, + scope: { + title: '@' + }, + link: function(scope, element, attrs, controllers) { + var tabsCtrl = controllers[0], + modelCtrl = controllers[1]; + + tabsCtrl.addPane(scope); + }, + templateUrl: 'my-pane.html' + }; + }); +``` + Savvy readers may be wondering what the difference is between `link` and `controller`. The basic difference is that `controller` can expose an API, and `link` functions can interact with controllers using `require`. @@ -905,7 +977,7 @@ controllers using `require`. Otherwise use `link`.
    -### Summary +## Summary Here we've seen the main use cases for directives. Each of these samples acts as a good starting point for creating your own directives. @@ -913,6 +985,5 @@ point for creating your own directives. You might also be interested in an in-depth explanation of the compilation process that's available in the {@link guide/compiler compiler guide}. -The {@link api/ng.$compile `$compile` API} page has a comprehensive list of directive options for +The {@link ng.$compile `$compile` API} page has a comprehensive list of directive options for reference. - diff --git a/docs/content/guide/e2e-testing.ngdoc b/docs/content/guide/e2e-testing.ngdoc new file mode 100644 index 000000000000..9d1fa32fcee6 --- /dev/null +++ b/docs/content/guide/e2e-testing.ngdoc @@ -0,0 +1,79 @@ +@ngdoc overview +@name E2E Testing +@sortOrder 420 +@description + +# E2E Testing + +As applications grow in size and complexity, it becomes unrealistic to rely on manual testing to +verify the correctness of new features, catch bugs and notice regressions. Unit tests +are the first line of defense for catching bugs, but sometimes issues come up with integration +between components which can't be captured in a unit test. End-to-end tests are made to find +these problems. + +We have built [Protractor](https://github.com/angular/protractor), an end +to end test runner which simulates user interactions that will help you verify the health of your +AngularJS application. + +## Using Protractor + +Protractor is a [Node.js](http://nodejs.org) program, and runs end-to-end tests that are also +written in JavaScript and run with node. Protractor uses [WebDriver](https://code.google.com/p/selenium/wiki/GettingStarted) +to control browsers and simulate user actions. + +For more information on Protractor, view [getting started](http://angular.github.io/protractor/#/getting-started) +or the [api docs](http://angular.github.io/protractor/#/api). + +Protractor uses [Jasmine](http://jasmine.github.io/1.3/introduction.html) for its test syntax. +As in unit testing, a test file is comprised of one or +more `it` blocks that describe the requirements of your application. `it` blocks are made of +**commands** and **expectations**. Commands tell Protractor to do something with the application +such as navigate to a page or click on a button. Expectations tell Protractor to assert something +about the application's state, such as the value of a field or the current URL. + +If any expectation within an `it` block fails, the runner marks the `it` as "failed" and continues +on to the next block. + +Test files may also have `beforeEach` and `afterEach` blocks, which will be run before or after +each `it` block regardless of whether the block passes or fails. + + + +In addition to the above elements, tests may also contain helper functions to avoid duplicating +code in the `it` blocks. + +Here is an example of a simple test: +```js +describe('TODO list', function() { + it('should filter results', function() { + + // Find the element with ng-model="user" and type "jacksparrow" into it + element(by.model('user')).sendKeys('jacksparrow'); + + // Find the first (and only) button on the page and click it + element(by.css(':button')).click(); + + // Verify that there are 10 tasks + expect(element.all(by.repeater('task in tasks')).count()).toEqual(10); + + // Enter 'groceries' into the element with ng-model="filterText" + element(by.model('filterText')).sendKeys('groceries'); + + // Verify that now there is only one item in the task list + expect(element.all(by.repeater('task in tasks')).count()).toEqual(1); + }); +}); +``` + +This test describes the requirements of a ToDo list, specifically, that it should be able to +filter the list of items. + +## Example +See the [angular-seed](https://github.com/angular/angular-seed) project for more examples, or look +at the embedded examples in the AngularJS documentation (For example, {@link $http $http} +has an end-to-end test in the example under the `protractor.js` tag). + +## Caveats + +Protractor does not work out-of-the-box with apps that bootstrap manually using +`angular.bootstrap`. You must use the `ng-app` directive. diff --git a/docs/content/guide/expression.ngdoc b/docs/content/guide/expression.ngdoc index 3499af723ac1..1ec5d376755e 100644 --- a/docs/content/guide/expression.ngdoc +++ b/docs/content/guide/expression.ngdoc @@ -1,129 +1,167 @@ @ngdoc overview -@name Developer Guide: Expressions +@name Expressions +@sortOrder 270 @description -Expressions are JavaScript-like code snippets that are usually placed in bindings such as `{{ -expression }}`. Expressions are processed by the {@link api/ng.$parse $parse} -service. Expressions are often post processed using {@link filter filters} to create a more user-friendly format. +# AngularJS Expressions -For example, these are all valid expressions in angular: +AngularJS expressions are JavaScript-like code snippets that are mainly placed in +interpolation bindings such as `{{ textBinding }}`, +but also used directly in directive attributes such as `ng-click="functionExpression()"`. + +For example, these are valid expressions in AngularJS: * `1+2` + * `a+b` * `user.name` + * `items[index]` + + +## AngularJS Expressions vs. JavaScript Expressions + +AngularJS expressions are like JavaScript expressions with the following differences: + * **Context:** JavaScript expressions are evaluated against the global `window`. + In AngularJS, expressions are evaluated against a {@link ng.$rootScope.Scope `scope`} object. -## Angular Expressions vs. JS Expressions + * **Forgiving:** In JavaScript, trying to evaluate undefined properties generates `ReferenceError` + or `TypeError`. In AngularJS, expression evaluation is forgiving to `undefined` and `null`. -It might be tempting to think of Angular view expressions as JavaScript expressions, but that is -not entirely correct, since Angular does not use a JavaScript `eval()` to evaluate expressions. -You can think of Angular expressions as JavaScript expressions with following differences: + * **Filters:** You can use {@link guide/filter filters} within expressions to format data before + displaying it. - * **Attribute Evaluation:** evaluation of all properties are against the scope, doing the - evaluation, unlike in JavaScript where the expressions are evaluated against the global - `window`. + * **No Control Flow Statements:** You cannot use the following in an AngularJS expression: + conditionals, loops, or exceptions. - * **Forgiving:** expression evaluation is forgiving to `undefined` and `null`, unlike in JavaScript, - where trying to evaluate undefined properties can generate `ReferenceError` or `TypeError`. + * **No Function Declarations:** You cannot declare functions in an AngularJS expression, + even inside `ng-init` directive. - * **No Control Flow Statements:** you cannot do any of the following in angular expression: - conditionals, loops, or throw. + * **No RegExp Creation With Literal Notation:** You cannot create regular expressions + in an AngularJS expression. An exception to this rule is {@link ngPattern `ng-pattern`} which accepts valid + RegExp. -If, on the other hand, you do want to run arbitrary JavaScript code, you should make it a -controller method and call the method. If you want to `eval()` an angular expression from -JavaScript, use the {@link api/ng.$rootScope.Scope#methods_$eval `$eval()`} method. + * **No Object Creation With New Operator:** You cannot use `new` operator in an AngularJS expression. + + * **No Bitwise, Comma, And Void Operators:** You cannot use + [Bitwise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Bitwise_Operators), + `,` or `void` operators in an AngularJS expression. + + +If you want to run more complex JavaScript code, you should make it a controller method and call +the method from your view. If you want to `eval()` an AngularJS expression yourself, use the +{@link ng.$rootScope.Scope#$eval `$eval()`} method. ## Example - - - 1+2={{1+2}} - - - it('should calculate expression in binding', function() { - expect(binding('1+2')).toEqual('3'); - }); - - + + + + 1+2={{1+2}} + + + + + it('should calculate expression in binding', function() { + expect(element(by.binding('1+2')).getText()).toEqual('1+2=3'); + }); + + You can try evaluating different expressions here: - - - -
    - Expression: - - -
      -
    • - [ X ] - {{expr}} => -
    • -
    -
    -
    - - it('should allow user expression testing', function() { - element('.expressions :button').click(); - var li = using('.expressions ul').repeater('li'); - expect(li.count()).toBe(1); - expect(li.row(0)).toEqual(["3*10|currency", "$30.00"]); - }); - -
    - - -# Property Evaluation - -Evaluation of all properties takes place against a scope. Unlike JavaScript, where names default -to global window properties, Angular expressions have to use {@link api/ng.$window -`$window`} to refer to the global `window` object. For example, if you want to call `alert()`, which is -defined on `window`, in an expression you must use `$window.alert()`. This is done intentionally to -prevent accidental access to the global state (a common source of subtle bugs). - - - - -
    - Name: - -
    -
    - - it('should calculate expression in binding', function() { - var alertText; - this.addFutureAction('set mock', function($window, $document, done) { - $window.mockWindow = { - alert: function(text){ alertText = text; } - }; - done(); - }); - element(':button:contains(Greet)').click(); - expect(this.addFuture('alert text', function(done) { - done(null, alertText); - })).toBe('Hello World'); - }); - -
    + + +
    + Expression: + + +
      +
    • + [ X ] + {{expr}} => +
    • +
    +
    +
    + + + angular.module('expressionExample', []) + .controller('ExampleController', ['$scope', function($scope) { + var exprs = $scope.exprs = []; + $scope.expr = '3*10|currency'; + $scope.addExp = function(expr) { + exprs.push(expr); + }; + + $scope.removeExp = function(index) { + exprs.splice(index, 1); + }; + }]); + + + + it('should allow user expression testing', function() { + element(by.css('.expressions button')).click(); + var lis = element(by.css('.expressions ul')).all(by.repeater('expr in exprs')); + expect(lis.count()).toBe(1); + expect(lis.get(0).getText()).toEqual('[ X ] 3*10|currency => $30.00'); + }); + +
    + + +## Context + +AngularJS does not use JavaScript's `eval()` to evaluate expressions. Instead AngularJS's +{@link ng.$parse $parse} service processes these expressions. + +AngularJS expressions do not have direct access to global variables like `window`, `document` or `location`. +This restriction is intentional. It prevents accidental access to the global state – a common source of subtle bugs. + +Instead use services like `$window` and `$location` in functions on controllers, which are then called from expressions. +Such services provide mockable access to globals. + +It is possible to access the context object using the identifier `this` and the locals object using the +identifier `$locals`. + + + +
    + Name: + + +
    +
    + + + angular.module('expressionExample', []) + .controller('ExampleController', ['$window', '$scope', function($window, $scope) { + $scope.name = 'World'; + + $scope.greet = function() { + $window.alert('Hello ' + $scope.name); + }; + }]); + + + + it('should calculate expression in binding', function() { + if (browser.params.browser === 'safari') { + // Safari can't handle dialogs. + return; + } + element(by.css('[ng-click="greet()"]')).click(); + + // We need to give the browser time to display the alert + browser.wait(protractor.ExpectedConditions.alertIsPresent(), 1000); + + var alertDialog = browser.switchTo().alert(); + + expect(alertDialog.getText()).toEqual('Hello World'); + + alertDialog.accept(); + }); + +
    ## Forgiving @@ -137,12 +175,186 @@ It makes more sense to show nothing than to throw an exception if `a` is undefin waiting for the server response, and it will become defined soon). If expression evaluation wasn't forgiving we'd have to write bindings that clutter the code, for example: `{{((a||{}).b||{}).c}}` -Similarly, invoking a function `a.b.c()` on undefined or null simply returns undefined. +Similarly, invoking a function `a.b.c()` on `undefined` or `null` simply returns `undefined`. ## No Control Flow Statements -You cannot write a control flow statement in an expression. The reason behind this is core to the -Angular philosophy that application logic should be in controllers, not in the view. If you need a -conditional, loop, or to throw from a view expression, delegate to a JavaScript method instead. +Apart from the ternary operator (`a ? b : c`), you cannot write a control flow statement in an +expression. The reason behind this is core to the AngularJS philosophy that application logic should +be in controllers, not the views. If you need a real conditional, loop, or to throw from a view +expression, delegate to a JavaScript method instead. + +## No function declarations or RegExp creation with literal notation + +You can't declare functions or create regular expressions from within AngularJS expressions. This is +to avoid complex model transformation logic inside templates. Such logic is better placed in a +controller or in a dedicated filter where it can be tested properly. + +## `$event` + +Directives like {@link ng.directive:ngClick `ngClick`} and {@link ng.directive:ngFocus `ngFocus`} +expose a `$event` object within the scope of that expression. The object is an instance of a [jQuery +Event Object](http://api.jquery.com/category/events/event-object/) when jQuery is present or a +similar jqLite object. + + + +
    + +

    $event:

     {{$event | json}}

    +

    clickEvent:

    {{clickEvent | json}}

    +
    +
    + + + angular.module('eventExampleApp', []). + controller('EventController', ['$scope', function($scope) { + /* + * expose the event object to the scope + */ + $scope.clickMe = function(clickEvent) { + $scope.clickEvent = simpleKeys(clickEvent); + console.log(clickEvent); + }; + + /* + * return a copy of an object with only non-object keys + * we need this to avoid circular references + */ + function simpleKeys(original) { + return Object.keys(original).reduce(function(obj, key) { + obj[key] = typeof original[key] === 'object' ? '{ ... }' : original[key]; + return obj; + }, {}); + } + }]); + +
    + +Note in the example above how we can pass in `$event` to `clickMe`, but how it does not show up +in `{{$event}}`. This is because `$event` is outside the scope of that binding. + + +## One-time binding + +An expression that starts with `::` is considered a one-time expression. One-time expressions +will stop recalculating once they are stable, which happens after the first digest if the expression +result is a non-undefined value (see value stabilization algorithm below). + + + +
    + +

    One time binding: {{::name}}

    +

    Normal binding: {{name}}

    +
    +
    + + angular.module('oneTimeBindingExampleApp', []). + controller('EventController', ['$scope', function($scope) { + var counter = 0; + var names = ['Igor', 'Misko', 'Chirayu', 'Lucas']; + /* + * expose the event object to the scope + */ + $scope.clickMe = function(clickEvent) { + $scope.name = names[counter % names.length]; + counter++; + }; + }]); + + + it('should freeze binding after its value has stabilized', function() { + var oneTimeBinding = element(by.id('one-time-binding-example')); + var normalBinding = element(by.id('normal-binding-example')); + + expect(oneTimeBinding.getText()).toEqual('One time binding:'); + expect(normalBinding.getText()).toEqual('Normal binding:'); + element(by.buttonText('Click Me')).click(); + + expect(oneTimeBinding.getText()).toEqual('One time binding: Igor'); + expect(normalBinding.getText()).toEqual('Normal binding: Igor'); + element(by.buttonText('Click Me')).click(); + + expect(oneTimeBinding.getText()).toEqual('One time binding: Igor'); + expect(normalBinding.getText()).toEqual('Normal binding: Misko'); + + element(by.buttonText('Click Me')).click(); + element(by.buttonText('Click Me')).click(); + + expect(oneTimeBinding.getText()).toEqual('One time binding: Igor'); + expect(normalBinding.getText()).toEqual('Normal binding: Lucas'); + }); + +
    + + +### Reasons for using one-time binding + +The main purpose of one-time binding expression is to provide a way to create a binding +that gets deregistered and frees up resources once the binding is stabilized. +Reducing the number of expressions being watched makes the digest loop faster and allows more +information to be displayed at the same time. + + +### Value stabilization algorithm + +One-time binding expressions will retain the value of the expression at the end of the +digest cycle as long as that value is not undefined. If the value of the expression is set +within the digest loop and later, within the same digest loop, it is set to undefined, +then the expression is not fulfilled and will remain watched. + + 1. Given an expression that starts with `::`, when a digest loop is entered and expression + is dirty-checked, store the value as V + 2. If V is not undefined, mark the result of the expression as stable and schedule a task + to deregister the watch for this expression when we exit the digest loop + 3. Process the digest loop as normal + 4. When digest loop is done and all the values have settled, process the queue of watch + deregistration tasks. For each watch to be deregistered, check if it still evaluates + to a value that is not `undefined`. If that's the case, deregister the watch. Otherwise, + keep dirty-checking the watch in the future digest loops by following the same + algorithm starting from step 1 + +#### Special case for object literals + +Unlike simple values, object-literals are watched until every key is defined. +See http://www.bennadel.com/blog/2760-one-time-data-bindings-for-object-literal-expressions-in-angularjs-1-3.htm + +### How to benefit from one-time binding + +If the expression will not change once set, it is a candidate for one-time binding. +Here are three example cases. + +When interpolating text or attributes: + +```html +
    text: {{::name | uppercase}}
    +``` + +When using a directive with bidirectional binding and parameters that will not change: + +```js +someModule.directive('someDirective', function() { + return { + scope: { + name: '=', + color: '@' + }, + template: '{{name}}: {{color}}' + }; +}); +``` + +```html +
    +``` + + +When using a directive that takes an expression: +```html +
      +
    • {{item.name}};
    • +
    +``` diff --git a/docs/content/guide/external-resources.ngdoc b/docs/content/guide/external-resources.ngdoc new file mode 100644 index 000000000000..9912bab89b5c --- /dev/null +++ b/docs/content/guide/external-resources.ngdoc @@ -0,0 +1,148 @@ +@ngdoc overview +@name External Resources +@sortOrder 150 +@description + +# External AngularJS Resources + +This is a collection of external, 3rd party resources for learning and developing AngularJS. + +## Articles, Videos, and Projects + +### Introductory Material + +* [10 Reasons Why You Should Use AngularJS](http://www.sitepoint.com/10-reasons-use-angularjs/) +* [10 Reasons Why Developers Should Learn AngularJS](http://wintellect.com/blogs/jlikness/10-reasons-web-developers-should-learn-angularjs) +* [Design Principles of AngularJS (video)](https://www.youtube.com/watch?v=HCR7i5F5L8c) +* [Fundamentals in 60 Minutes (video)](http://www.youtube.com/watch?v=i9MHigUZKEM) +* [For folks with a jQuery background](http://stackoverflow.com/questions/14994391/how-do-i-think-in-angularjs-if-i-have-a-jquery-background) + +### Specific Topics + +#### Application Structure & Style Guides + +* [AngularJS Styleguide](https://github.com/johnpapa/angular-styleguide/blob/master/a1/README.md) +* [Architecture, file structure, components, one-way dataflow and best practices](https://github.com/toddmotto/angular-styleguide) +* [When to use directives, controllers or services](http://kirkbushell.me/when-to-use-directives-controllers-or-services-in-angular/) +* [Service vs Factory](http://blog.thoughtram.io/angular/2015/07/07/service-vs-factory-once-and-for-all.html) + +#### Testing + +* **Unit testing:** [Using Karma (video)](http://www.youtube.com/watch?v=YG5DEzaQBIc), [Karma in Webstorm](http://blog.jetbrains.com/webstorm/2013/10/running-javascript-tests-with-karma-in-webstorm-7/) + +#### Mobile + +* [AngularJS on Mobile Guide](http://www.ng-newsletter.com/posts/angular-on-mobile.html) +* [AngularJS and Cordova](http://devgirl.org/2013/06/10/quick-start-guide-phonegap-and-angularjs/) +* [Ionic Framework](http://ionicframework.com/) + +#### Deployment + +##### General + +* **Javascript minification: **[Background](http://thegreenpizza.github.io/2013/05/25/building-minification-safe-angular.js-applications/), [ng-annotate automation tool](https://github.com/olov/ng-annotate) +* **Analytics and Logging:** [Angularytics (Google Analytics)](http://ngmodules.org/modules/angularytics), [Angulartics (Analytics)](https://github.com/luisfarzati/angulartics), [Logging Client-Side Errors](http://www.bennadel.com/blog/2542-Logging-Client-Side-Errors-With-AngularJS-And-Stacktrace-js.htm) +* **SEO:** [By hand](http://www.yearofmoo.com/2012/11/angularjs-and-seo.html), [prerender.io](http://prerender.io/), [Brombone](http://www.brombone.com/), [SEO.js](http://getseojs.com/), [SEO4Ajax](http://www.seo4ajax.com/) + +##### Server-Specific + +* **Django:** [Tutorial](http://blog.mourafiq.com/post/55034504632/end-to-end-web-app-with-django-rest-framework), [Integrating AngularJS with Django](http://django-angular.readthedocs.org/en/latest/integration.html), [Getting Started with Django Rest Framework and AngularJS](http://blog.kevinastone.com/getting-started-with-django-rest-framework-and-angularjs.html) +* **FireBase:** [AngularFire](http://angularfire.com/), [Realtime Apps with AngularJS and FireBase (video)](http://www.youtube.com/watch?v=C7ZI7z7qnHU) +* **Google Cloud Platform:** [with Go](https://github.com/GoogleCloudPlatform/appengine-angular-gotodos) +* **Hood.ie:** [60 Minutes to Awesome](http://www.roberthorvick.com/2013/06/30/todomvc-angularjs-hood-ie-60-minutes-to-awesome/) +* **MEAN Stack: **[Blog post](http://blog.mongodb.org/post/49262866911/the-mean-stack-mongodb-expressjs-angularjs-and), [Setup](http://thecodebarbarian.wordpress.com/2013/07/22/introduction-to-the-mean-stack-part-one-setting-up-your-tools/), [GDL Video](https://developers.google.com/live/shows/913996610) +* **Rails: **[Tutorial](http://coderberry.me/blog/2013/04/22/angularjs-on-rails-4-part-1/), [AngularJS with Rails4](https://shellycloud.com/blog/2013/10/how-to-integrate-angularjs-with-rails-4), [angularjs-rails](https://github.com/hiravgandhi/angularjs-rails) +* **PHP: **[Building a RESTful web service](http://blog.brunoscopelliti.com/building-a-restful-web-service-with-angularjs-and-php-more-power-with-resource), [End to End with Laravel 4 (video)](http://www.youtube.com/watch?v=hqAyiqUs93c) +* **Meteor: **[angular-meteor package](https://github.com/Urigo/angular-meteor) + +### Other Languages +* [ES6, Webpack, and JSPM Starter Project](https://github.com/AngularClass/NG6-starter) +* [ES6/Typescript Best Practices](https://codepen.io/martinmcwhorter/post/angularjs-1-x-with-typescript-or-es6-best-practices) +* [Dart](https://github.com/angular/angular.dart.tutorial/wiki) +* [CoffeeScript Tutorial](http://www.coffeescriptlove.com/2013/08/angularjs-and-coffeescript-tutorials.html) + +### More Topics + +* **Security:** [video](https://www.youtube.com/watch?v=18ifoT-Id54) +* **Internationalization and Localization:** [Creating multilingual support](http://www.novanet.no/blog/hallstein-brotan/dates/2013/10/creating-multilingual-support-using-angularjs/) +* **Authentication/Login: **[Google example](https://developers.google.com/+/photohunt/python), [AngularJS Facebook library](https://github.com/pc035860/angular-easyfb), [Facebook example](http://blog.brunoscopelliti.com/facebook-authentication-in-your-angularjs-web-app), [authentication strategy](http://blog.brunoscopelliti.com/deal-with-users-authentication-in-an-angularjs-web-app), [unix-style authorization](http://frederiknakstad.com/authentication-in-single-page-applications-with-angular-js/) +* **Visualization:** [SVG](http://gaslight.co/blog/angular-backed-svgs), [D3.js](http://www.ng-newsletter.com/posts/d3-on-angular.html) +* **Realtime Communication: **[Socket.io](http://www.creativebloq.com/javascript/angularjs-collaboration-board-socketio-2132885), [OmniBinder](https://github.com/jeffbcross/omnibinder) + + +## Tools + +* **Getting Started:** [Comparison of the options for starting a new project](http://www.dancancro.com/comparison-of-angularjs-application-starters/) +* **Debugging:** [Batarang](https://chrome.google.com/webstore/detail/angularjs-batarang/ighdmehidhipcmcojjgiloacoafjmpfk?hl=en) +* **Editor support:** [Webstorm](http://plugins.jetbrains.com/plugin/6971) (and [video](http://www.youtube.com/watch?v=LJOyrSh1kDU)), [Sublime Text](https://github.com/angular-ui/AngularJS-sublime-package), [Visual Studio](http://madskristensen.net/post/angularjs-intellisense-in-visual-studio-2012), [Atom](https://github.com/angular-ui/AngularJS-Atom), [Vim](https://github.com/burnettk/vim-angular) +* **Workflow:** [Yeoman.io](https://github.com/yeoman/generator-angular) and [AngularJS Yeoman Tutorial](http://www.sitepoint.com/kickstart-your-angularjs-development-with-yeoman-grunt-and-bower/) + +## Complementary Libraries + +This is a list of libraries that enhance AngularJS, add common UI components or integrate with other libraries. +You can find a larger list of AngularJS external libraries at [ngmodules.org](http://ngmodules.org/). + +* **Advanced Routing:** [UI-Router](https://github.com/angular-ui/ui-router) +* **Authentication:** [Http Auth Interceptor](https://github.com/witoldsz/angular-http-auth) +* **Internationalization:** + - [angular-translate](http://angular-translate.github.io) + - [angular-gettext](http://angular-gettext.rocketeer.be/) + - [angular-localization](http://doshprompt.github.io/angular-localization/) +* **RESTful services:** [Restangular](https://github.com/mgonto/restangular) +* **SQL and NoSQL backends:** + - [BreezeJS](http://www.breezejs.com/) + - [AngularFire](http://angularfire.com/) +* **Data Handling** + - Local Storage and session: [ngStorage](https://github.com/gsklee/ngStorage) + - [angular-cache](https://github.com/jmdobry/angular-cache) + - Data Modeling [JS-Data-Angular](https://github.com/js-data/js-data-angular) +* **Fileupload:** + - [ng-file-upload](https://github.com/danialfarid/ng-file-upload) + - [blueimp-fileupload for AngularJS](https://blueimp.github.io/jQuery-File-Upload/angularjs.html) +* **General UI Libraries:** + - [AngularJS Material](https://material.angularjs.org/latest/) + - [AngularJS UI Bootstrap](http://angular-ui.github.io/) + - [AngularStrap for Bootstrap 3](http://mgcrea.github.io/angular-strap/) + - [KendoUI](http://kendo-labs.github.io/angular-kendo/#/) + - [Wijmo](http://wijmo.com/tag/angularjs-2/) +* **Specific UI Elements:** + - [ngInfiniteScroll](https://sroze.github.io/ngInfiniteScroll/) + - [ngTable](https://github.com/esvit/ng-table) + - [AngularJS UI Grid](http://angular-ui.github.io/grid) + - [Toaster Notifications](https://github.com/jirikavi/AngularJS-Toaster) + - [textAngular Rich Text Editor / contenteditable](http://textangular.com/) (Rich Text Editor / + binding to contenteditable) + - [AngularJS UI Map (Google Maps)](https://github.com/angular-ui/ui-map) + +## General Learning Resources + +### Books +* [AngularJS Directives](http://www.amazon.com/AngularJS-Directives-Alex-Vanston/dp/1783280336) by Alex Vanston +* [AngularJS Essentials (Free eBook)](https://www.packtpub.com/packt/free-ebook/angularjs-essentials) by Rodrigo Branas +* [AngularJS in Action](https://www.manning.com/books/angularjs-in-action) by Lukas Ruebbelke +* [AngularJS: Novice to Ninja](http://www.amazon.in/AngularJS-Novice-Ninja-Sandeep-Panda/dp/0992279453) by Sandeep Panda +* [AngularJS UI Development](http://www.amazon.com/AngularJS-UI-Development-Amit-Ghart-ebook/dp/B00OXVAK7A) by Amit Gharat and Matthias Nehlsen +* [AngularJS: Up and Running](http://www.amazon.com/AngularJS-Running-Enhanced-Productivity-Structured/dp/1491901942) by Brad Green and Shyam Seshadri +* [Developing an AngularJS Edge](http://www.amazon.com/Developing-AngularJS-Edge-Christopher-Hiller-ebook/dp/B00CJLFF8K) by Christopher Hiller +* [Mastering Web App Development](http://www.amazon.com/Mastering-Web-Application-Development-AngularJS/dp/1782161821) by Pawel Kozlowski and Pete Bacon Darwin +* [ng-book: The Complete Book on AngularJS](http://ng-book.com/) by Ari Lerner +* [Professional AngularJS](http://www.amazon.com/Professional-AngularJS-Valeri-Karpov/dp/1118832078/) +* [Recipes With AngularJS](http://www.amazon.co.uk/Recipes-Angular-js-Frederik-Dietz-ebook/dp/B00DK95V48) by Frederik Dietz +* [Responsive Web Design with AngularJS](http://www.amazon.com/Responsive-Design-AngularJS-Sandeep-Kumar/dp/178439842X) by Sandeep Kumar Patel + +### Videos: +* [egghead.io](http://egghead.io/) + +### Courses +* **Free online:** + [thinkster.io](http://thinkster.io), + [CodeAcademy](http://www.codecademy.com/courses/javascript-advanced-en-2hJ3J/0/1), + [CodeSchool](https://www.codeschool.com/courses/shaping-up-with-angular-js) +* **Paid online:** + [Pluralsight](https://www.pluralsight.com/search?q=angularjs), + [Tuts+](https://tutsplus.com/course/easier-js-apps-with-angular/), + [lynda.com](http://www.lynda.com/AngularJS-tutorials/Up-Running-AngularJS/133318-2.html), + [WintellectNOW (4 lessons)](http://www.wintellectnow.com/Course/Detail/mastering-angularjs), + [Packt](https://www.packtpub.com/web-development/angularjs-maintaining-web-applications) +* **Paid onsite:** + [angularbootcamp.com](http://angularbootcamp.com/) diff --git a/docs/content/guide/filter.ngdoc b/docs/content/guide/filter.ngdoc index 86cf17efb754..202dd8098d93 100644 --- a/docs/content/guide/filter.ngdoc +++ b/docs/content/guide/filter.ngdoc @@ -1,11 +1,15 @@ @ngdoc overview @name Filters +@sortOrder 280 @description -A filter formats the value of an expression for display to the user. They can be used in view templates, -controllers or services and it is easy to define your own filter. +# Filters -The underlying API is the {@link api/ng.$filterProvider filterProvider}. +Filters format the value of an expression for display to the user. They can be used in view +templates, controllers or services. AngularJS comes with a collection of +[built-in filters](api/ng/filter), but it is easy to define your own as well. + +The underlying API is the {@link ng.$filterProvider}. ## Using filters in view templates @@ -13,7 +17,7 @@ Filters can be applied to expressions in view templates using the following synt {{ expression | filter }} -E.g. the markup `{{ 12 | currency }}` formats the number 12 as a currency using the {@link api/ng.filter:currency `currency`} +E.g. the markup `{{ 12 | currency }}` formats the number 12 as a currency using the {@link ng.filter:currency `currency`} filter. The resulting value is `$12.00`. Filters can be applied to the result of another filter. This is called "chaining" and uses @@ -26,17 +30,35 @@ Filters may have arguments. The syntax for this is {{ expression | filter:argument1:argument2:... }} E.g. the markup `{{ 1234 | number:2 }}` formats the number 1234 with 2 decimal points using the -{@link api/ng.filter:number `number`} filter. The resulting value is `1,234.00`. +{@link ng.filter:number `number`} filter. The resulting value is `1,234.00`. + +### When filters are executed + +In templates, filters are only executed when their inputs have changed. This is more performant than executing +a filter on each {@link ng.$rootScope.Scope#$digest `$digest`} as is the case with {@link guide/expression expressions}. + +There are two exceptions to this rule: +1. In general, this applies only to filters that take [primitive values](https://developer.mozilla.org/docs/Glossary/Primitive) +as inputs. Filters that receive [Objects](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Objects) +as input are executed on each `$digest`, as it would be too costly to track if the inputs have changed. -## Using filters in controllers and services +2. Filters that are marked as `$stateful` are also executed on each $digest. +See {@link guide/filter#stateful-filters Stateful filters} for more information. Note that no AngularJS +core filters are $stateful. -You can also use filters in controllers and services. For this, add a dependency with the name `Filter` -to your controller or service. E.g. using the dependency `numberFilter` will inject the number filter. -The injected argument is a function that takes the value to format as first argument and filter parameters -starting with the second argument. -The example below uses the filter called {@link api/ng.filter:filter `filter`}. +## Using filters in controllers, services, and directives + +You can also use filters in controllers, services, and directives. + +
    +For this, inject a dependency with the name `Filter` into your controller/service/directive. +E.g. a filter called `number` is injected by using the dependency `numberFilter`. The injected argument +is a function that takes the value to format as first argument, and filter parameters starting with the second argument. +
    + +The example below uses the filter called {@link ng.filter:filter `filter`}. This filter reduces arrays into sub arrays based on conditions. The filter can be applied in the view template with markup like `{{ctrl.array | filter:'a'}}`, which would do a fulltext search for "a". @@ -47,77 +69,136 @@ The example below therefore calls the filter directly in the controller. By this, the controller is able to call the filter only when needed (e.g. when the data is loaded from the backend or the filter expression is changed). - - - - -
    -
    - All entries: - {{entry.name}} -
    -
    - Entries that contain an "a": - {{entry.name}} -
    -
    -
    -
    + + +
    +
    + All entries: + {{entry.name}} +
    +
    + Entries that contain an "a": + {{entry.name}} +
    +
    +
    + + + angular.module('FilterInControllerModule', []). + controller('FilterController', ['filterFilter', function FilterController(filterFilter) { + this.array = [ + {name: 'Tobias'}, + {name: 'Jeff'}, + {name: 'Brian'}, + {name: 'Igor'}, + {name: 'James'}, + {name: 'Brad'} + ]; + this.filteredArray = filterFilter(this.array, 'a'); + }]); + +
    ## Creating custom filters Writing your own filter is very easy: just register a new filter factory function with -your module. Internally, this uses the {@link api/ng.$filterProvider `filterProvider`}. +your module. Internally, this uses the {@link ng.$filterProvider `filterProvider`}. This factory function should return a new filter function which takes the input value as the first argument. Any filter arguments are passed in as additional arguments to the filter function. +The filter function should be a [pure function](http://en.wikipedia.org/wiki/Pure_function), which +means that it should always return the same result given the same input arguments and should not affect +external state, for example, other AngularJS services. AngularJS relies on this contract and will by default +execute a filter only when the inputs to the function change. +{@link guide/filter#stateful-filters Stateful filters} are possible, but less performant. + +
    +**Note:** Filter names must be valid AngularJS {@link expression} identifiers, such as `uppercase` or `orderBy`. +Names with special characters, such as hyphens and dots, are not allowed. If you wish to namespace +your filters, then you can use capitalization (`myappSubsectionFilterx`) or underscores +(`myapp_subsection_filterx`). +
    + The following sample filter reverses a text string. In addition, it conditionally makes the text upper-case. - - - - -
    -
    - No filter: {{greeting}}
    - Reverse: {{greeting|reverse}}
    - Reverse + uppercase: {{greeting|reverse:true}}
    -
    -
    -
    + decorateFilter.$stateful = true; + + return decorateFilter; + }]) + .controller('MyController', ['$scope', 'decoration', function($scope, decoration) { + $scope.greeting = 'hello'; + $scope.decoration = decoration; + }]) + .value('decoration', {symbol: '*'}); +
    +
    + + +## Testing custom filters +See the [phonecat tutorial](http://docs.angularjs.org/tutorial/step_11#testing) for an example. diff --git a/docs/content/guide/forms.ngdoc b/docs/content/guide/forms.ngdoc index f3f95b7c81d7..4379b3573515 100644 --- a/docs/content/guide/forms.ngdoc +++ b/docs/content/guide/forms.ngdoc @@ -1,324 +1,520 @@ @ngdoc overview @name Forms +@sortOrder 290 @description +# Forms + Controls (`input`, `select`, `textarea`) are ways for a user to enter data. A Form is a collection of controls for the purpose of grouping related controls together. -Form and controls provide validation services, so that the user can be notified of invalid input. -This provides a better user experience, because the user gets instant feedback on how to correct the error. -Keep in mind that while client-side validation plays an important role in providing good user experience, it can easily be circumvented and thus can not be trusted. -Server-side validation is still necessary for a secure application. - - -# Simple form -The key directive in understanding two-way data-binding is {@link api/ng.directive:ngModel ngModel}. -The `ngModel` directive provides the two-way data-binding by synchronizing the model to the view, as well as view to the model. -In addition it provides an {@link api/ng.directive:ngModel.NgModelController API} for other directives to augment its behavior. - - - -
    -
    - Name:
    - E-mail:
    - Gender: male - female
    - - - -
    form = {{user | json}}
    -
    master = {{master | json}}
    -
    - - -
    -
    +Form and controls provide validation services, so that the user can be notified of invalid input +before submitting a form. This provides a better user experience than server-side validation alone +because the user gets instant feedback on how to correct the error. Keep in mind that while +client-side validation plays an important role in providing good user experience, it can easily +be circumvented and thus can not be trusted. Server-side validation is still necessary for a +secure application. + + +## Simple form +The key directive in understanding two-way data-binding is {@link ng.directive:ngModel ngModel}. +The `ngModel` directive provides the two-way data-binding by synchronizing the model to the view, +as well as view to the model. In addition it provides an {@link ngModel.NgModelController API} +for other directives to augment its behavior. + + + +
    +
    +
    +
    + Best Editor: +
    + + + +
    user = {{user | json}}
    +
    master = {{master | json}}
    +
    + + +
    +
    Note that `novalidate` is used to disable browser's native form validation. +The value of `ngModel` won't be set unless it passes validation for the input field. +For example: inputs of type `email` must have a value in the form of `user@domain`. + -# Using CSS classes +## Using CSS classes -To allow styling of form as well as controls, `ngModel` add these CSS classes: +To allow styling of form as well as controls, `ngModel` adds these CSS classes: -- `ng-valid` -- `ng-invalid` -- `ng-pristine` -- `ng-dirty` +- `ng-valid`: the model is valid +- `ng-invalid`: the model is invalid +- `ng-valid-[key]`: for each valid key added by `$setValidity` +- `ng-invalid-[key]`: for each invalid key added by `$setValidity` +- `ng-pristine`: the control hasn't been interacted with yet +- `ng-dirty`: the control has been interacted with +- `ng-touched`: the control has been blurred +- `ng-untouched`: the control hasn't been blurred +- `ng-pending`: any `$asyncValidators` are unfulfilled The following example uses the CSS to display validity of each form control. -In the example both `user.name` and `user.email` are required, but are rendered with red background only when they are dirty. -This ensures that the user is not distracted with an error until after interacting with the control, and failing to satisfy its validity. - - - -
    -
    - Name: -
    - E-mail:
    - Gender: male - female
    - - - -
    - - - - -
    -
    - - - -# Binding to form and control state - -A form is an instance of {@link api/ng.directive:form.FormController FormController}. +In the example both `user.name` and `user.email` are required, but are rendered +with red background only after the input is blurred (loses focus). +This ensures that the user is not distracted with an error until after interacting with the control, +and failing to satisfy its validity. + + + +
    +
    +
    +
    + Gender: +
    + + + +
    user = {{user | json}}
    +
    master = {{master | json}}
    +
    + + + + +
    +
    + + + +## Binding to form and control state + +A form is an instance of {@link form.FormController FormController}. The form instance can optionally be published into the scope using the `name` attribute. -Similarly, control is an instance of {@link api/ng.directive:ngModel.NgModelController NgModelController}. -The control instance can similarly be published into the form instance using the `name` attribute. -This implies that the internal state of both the form and the control is available for binding in the view using the standard binding primitives. + +Similarly, an input control that has the {@link ng.directive:ngModel ngModel} directive holds an +instance of {@link ngModel.NgModelController NgModelController}. Such a control instance +can be published as a property of the form instance using the `name` attribute on the input control. +The name attribute specifies the name of the property on the form instance. + +This implies that the internal state of both the form and the control is available for binding in +the view using the standard binding primitives. This allows us to extend the above example with these features: -- RESET button is enabled only if form has some changes -- SAVE button is enabled only if form has some changes and is valid -- custom error messages for `user.email` and `user.agree` - - - -
    -
    - Name: -
    - E-mail: -
    -
    Invalid: - Tell us your email. - This is not a valid email. +- Custom error message displayed after the user interacted with a control (i.e. when `$touched` is set) +- Custom error message displayed upon submitting the form (`$submitted` is set), even if the user +didn't interact with a control + + + + +
    + + +
    +
    +
    Tell us your name.
    +
    + + +
    +
    + Tell us your email. + This is not a valid email. +
    + + Gender: + + +
    + + +
    +
    +
    Please agree and sign.
    +
    + + + + +
    user = {{user | json}}
    +
    master = {{master | json}}
    +
    + + + angular.module('formExample', []) + .controller('ExampleController', ['$scope', function($scope) { + $scope.master = {}; + + $scope.update = function(user) { + $scope.master = angular.copy(user); + }; - Gender: male - female
    + $scope.reset = function(form) { + if (form) { + form.$setPristine(); + form.$setUntouched(); + } + $scope.user = angular.copy($scope.master); + }; - - I agree:
    -
    Please agree and sign.
    + $scope.reset(); + }]); +
    +
    - - - -
    - - - +If you want to keep the default behavior and just add new events that may trigger the model update +and validation, add "default" as one of the specified events. +I.e. `ng-model-options="{ updateOn: 'default blur' }"` +The following example shows how to override immediate updates. Changes on the inputs within the form +will update the model only when the control loses focus (blur event). -# Custom Validation + + +
    +
    +
    +
    + +
    username = "{{user.name}}"
    +
    userdata = "{{user.data}}"
    +
    +
    + + angular.module('customTriggerExample', []) + .controller('ExampleController', ['$scope', function($scope) { + $scope.user = {}; + }]); + +
    -Angular provides basic implementation for most common html5 {@link api/ng.directive:input input} -types: ({@link api/ng.directive:input.text text}, {@link api/ng.directive:input.number number}, {@link api/ng.directive:input.url url}, {@link api/ng.directive:input.email email}, {@link api/ng.directive:input.radio radio}, {@link api/ng.directive:input.checkbox checkbox}), as well as some directives for validation (`required`, `pattern`, `minlength`, `maxlength`, `min`, `max`). -Defining your own validator can be done by defining your own directive which adds a custom validation function to the `ngModel` {@link api/ng.directive:ngModel.NgModelController controller}. -To get a hold of the controller the directive specifies a dependency as shown in the example below. -The validation can occur in two places: - * **Model to View update** - - Whenever the bound model changes, all functions in {@link api/ng.directive:ngModel.NgModelController#properties_$formatters NgModelController#$formatters} array are pipe-lined, so that each of these functions has an opportunity to format the value and change validity state of the form control through {@link api/ng.directive:ngModel.NgModelController#methods_$setValidity NgModelController#$setValidity}. +## Non-immediate (debounced) model updates - * **View to Model update** - - In a similar way, whenever a user interacts with a control it calls {@link api/ng.directive:ngModel.NgModelController#methods_$setViewValue NgModelController#$setViewValue}. -This in turn pipelines all functions in the {@link api/ng.directive:ngModel.NgModelController#properties_$parsers NgModelController#$parsers} array, so that each of these functions has an opportunity to convert the value and change validity state of the form control through {@link api/ng.directive:ngModel.NgModelController#methods_$setValidity NgModelController#$setValidity}. +You can delay the model update/validation by using the `debounce` key with the +{@link ng.directive:ngModelOptions ngModelOptions} directive. This delay will also apply to +parsers, validators and model flags like `$dirty` or `$pristine`. -In the following example we create two directives. +animation showing debounced input - * The first one is `integer` and it validates whether the input is a valid integer. - For example `1.23` is an invalid value, since it contains a fraction. - Note that we unshift the array instead of pushing. - This is because we want to be first parser and consume the control string value, as we need to execute the validation function before a conversion to number occurs. +I.e. `ng-model-options="{ debounce: 500 }"` will wait for half a second since +the last content change before triggering the model update and form validation. - * The second directive is a `smart-float`. - It parses both `1.2` and `1,2` into a valid float number `1.2`. - Note that we can't use input type `number` here as HTML5 browsers would not allow the user to type what it would consider an invalid number such as `1,2`. +If custom triggers are used, custom debouncing timeouts can be set for each event using an object +in `debounce`. This can be useful to force immediate updates on some specific circumstances +(like blur events). +I.e. `ng-model-options="{ updateOn: 'default blur', debounce: { default: 500, blur: 0 } }"` - - -
    -
    -
    - Size (integer 0 - 10): - {{size}}
    - This is not valid integer! - - The value must be in range 0 to 10! -
    +If those attributes are added to an element, they will be applied to all the child elements and +controls that inherit from it unless they are overridden. -
    - Length (float): - - {{length}}
    - - This is not a valid float number! +This example shows how to debounce model changes. Model will be updated only 250 milliseconds +after last change. + + + +
    + +
    + +
    username = "{{user.name}}"
    - -
    - - - - + } + }; + }); + + -# Implementing custom form controls (using `ngModel`) -Angular implements all of the basic HTML form controls ({@link api/ng.directive:input input}, {@link api/ng.directive:select select}, {@link api/ng.directive:textarea textarea}), which should be sufficient for most cases. -However, if you need more flexibility, you can write your own form control as a directive. +## Implementing custom form controls (using `ngModel`) +AngularJS implements all of the basic HTML form controls ({@link ng.directive:input input}, +{@link ng.directive:select select}, {@link ng.directive:textarea textarea}), +which should be sufficient for most cases. However, if you need more flexibility, +you can write your own form control as a directive. In order for custom control to work with `ngModel` and to achieve two-way data-binding it needs to: - - implement `$render` method, which is responsible for rendering the data after it passed the {@link api/ng.directive:ngModel.NgModelController#properties_$formatters NgModelController#$formatters}, - - call `$setViewValue` method, whenever the user interacts with the control and model needs to be updated. This is usually done inside a DOM Event listener. + - implement `$render` method, which is responsible for rendering the data after it passed the + {@link ngModel.NgModelController#$formatters `NgModelController.$formatters`}, + - call `$setViewValue` method, whenever the user interacts with the control and model + needs to be updated. This is usually done inside a DOM Event listener. -See {@link guide/directive $compileProvider.directive} for more info. +See {@link guide/directive `$compileProvider.directive`} for more info. The following example shows how to add two-way data-binding to contentEditable elements. - - - - -
    Some
    -
    model = {{content}}
    - - -
    -
    + // model -> view + ctrl.$render = function() { + elm.html(ctrl.$viewValue); + }; + + // load init value from DOM + ctrl.$setViewValue(elm.html()); + } + }; + }); + + diff --git a/docs/content/guide/i18n.ngdoc b/docs/content/guide/i18n.ngdoc index b42bd1a81f09..c090f70d1a95 100644 --- a/docs/content/guide/i18n.ngdoc +++ b/docs/content/guide/i18n.ngdoc @@ -1,56 +1,60 @@ @ngdoc overview -@name Developer Guide: i18n and l10n +@name i18n and l10n +@sortOrder 520 @description -# I18n and L10n in AngularJS +# i18n and l10n -**What is i18n and l10n?** +Internationalization (i18n) is the process of developing products in such a way that they can be +localized for languages and cultures easily. Localization (l10n), is the process of adapting +applications and text to enable their usability in a particular cultural or linguistic market. For +application developers, internationalizing an application means abstracting all of the strings and +other locale-specific bits (such as date or currency formats) out of the application. Localizing an +application means providing translations and localized formats for the abstracted bits. -Internationalization, abbreviated i18n, is the process of developing products in such a way that -they can be localized for languages and cultures easily. Localization, abbreviated l10n, is the -process of adapting applications and text to enable their usability in a particular cultural or -linguistic market. For application developers, internationalizing an application means abstracting -all of the strings and other locale-specific bits (such as date or currency formats) out of the -application. Localizing an application means providing translations and localized formats for the -abstracted bits. -**What level of support for i18n/l10n is currently in Angular?** +## How does AngularJS support i18n/l10n? -Currently, Angular supports i18n/l10n for {@link -http://docs.angularjs.org/#!/api/ng.filter:date datetime}, {@link -http://docs.angularjs.org/#!/api/ng.filter:number number} and {@link -http://docs.angularjs.org/#!/api/ng.filter:currency currency} filters. +AngularJS supports i18n/l10n for {@link ng.filter:date date}, {@link ng.filter:number number} and +{@link ng.filter:currency currency} filters. -Additionally, Angular supports localizable pluralization support provided by the {@link -api/ng.directive:ngPluralize ngPluralize directive}. +Localizable pluralization is supported via the {@link ng.directive:ngPluralize `ngPluralize` +directive}. Additionally, you can use {@link guide/i18n#messageformat-extensions MessageFormat extensions} to +`$interpolate` for localizable pluralization and gender support in all interpolations via the +`ngMessageFormat` module. -All localizable Angular components depend on locale-specific rule sets managed by the {@link -api/ng.$locale $locale service}. +All localizable AngularJS components depend on locale-specific rule sets managed by the {@link +ng.$locale `$locale` service}. -For readers who want to jump straight into examples, we have a few web pages that showcase how to -use Angular filters with various locale rule sets. You can find these examples either on {@link -https://github.com/angular/angular.js/tree/master/i18n/e2e Github} or in the i18n/e2e folder of -Angular development package. +There are a few examples that showcase how to use AngularJS filters with various locale rule sets in the +[`i18n/e2e` directory](https://github.com/angular/angular.js/tree/master/i18n/e2e) of the AngularJS +source code. -**What is a locale id?** + +## What is a locale ID? A locale is a specific geographical, political, or cultural region. The most commonly used locale -ID consists of two parts: language code and country code. For example, en-US, en-AU, zh-CN are all -valid locale IDs that have both language codes and country codes. Because specifying a country code -in locale ID is optional, locale IDs such as en, zh, and sk are also valid. See the {@link -http://userguide.icu-project.org/locale ICU } website for more information about using locale IDs. +ID consists of two parts: language code and country code. For example, `en-US`, `en-AU`, and +`zh-CN` are all valid locale IDs that have both language codes and country codes. Because +specifying a country code in locale ID is optional, locale IDs such as `en`, `zh`, and `sk` are +also valid. See the [ICU](http://userguide.icu-project.org/locale) website for more information +about using locale IDs. + + +## Supported locales in AngularJS + +AngularJS separates number and datetime format rule sets into different files, each file for a +particular locale. You can find a list of currently supported locales +[here](https://github.com/angular/angular.js/tree/master/src/ngLocale) -**Supported locales in Angular** -Angular separates number and datetime format rule sets into different files, each file for a -particular locale. You can find a list of currently supported locales {@link -https://github.com/angular/angular.js/tree/master/src/ngLocale here} -# Providing locale rules to Angular -There are two approaches to providing locale rules to Angular: +## Providing locale rules to AngularJS -**1. Pre-bundled rule sets** +There are two approaches to providing locale rules to AngularJS: -You can pre-bundle the desired locale file with Angular by concatenating the content of the +### 1. Pre-bundled rule sets + +You can pre-bundle the desired locale file with AngularJS by concatenating the content of the locale-specific file to the end of `angular.js` or `angular.min.js` file. For example on *nix, to create an angular.js file that contains localization rules for german @@ -59,14 +63,14 @@ locale, you can do the following: `cat angular.js i18n/angular-locale_de-de.js > angular_de-de.js` When the application containing `angular_de-de.js` script instead of the generic angular.js script -starts, Angular is automatically pre-configured with localization rules for the german locale. +starts, AngularJS is automatically pre-configured with localization rules for the german locale. -**2. Including locale js script in index.html page** +### 2. Including a locale script in `index.html` You can also include the locale specific js file in the index.html page. For example, if one client requires German locale, you would serve index_de-de.html which will look something like this: -
    +```html
     
      
     ….
    @@ -75,50 +79,388 @@ requires German locale, you would serve index_de-de.html which will look somethi
     ….
      
     
    -
    +``` + +### Comparison of the two approaches + +Both approaches described above require you to prepare different `index.html` pages or JavaScript +files for each locale that your app may use. You also need to configure your server to serve +the correct file that corresponds to the desired locale. + +The second approach (including the locale JavaScript file in `index.html`) may be slower because +an extra script needs to be loaded. -**Comparison of the two approaches** -Both approaches described above requires you to prepare different index.html pages or js files for -each locale that your app may be localized into. You also need to configure your server to serve -the correct file that correspond to the desired locale. -However, the second approach (Including locale js script in index.html page) is likely to be slower -because an extra script needs to be loaded. +## Caveats +Although AngularJS makes i18n convenient, there are several things you need to be conscious of as you +develop your app. -# "Gotchas" +### Currency symbol -**Currency symbol "gotcha"** +AngularJS's {@link ng.filter:currency currency filter} allows you to use the default currency symbol +from the {@link ng.$locale locale service}, or you can provide the filter with a custom currency +symbol. -Angular's {@link http://docs.angularjs.org/#!/api/ng.filter:currency currency filter} allows -you to use the default currency symbol from the {@link api/ng.$locale locale service}, -or you can provide the filter with a custom currency symbol. If your app will be used only in one -locale, it is fine to rely on the default currency symbol. However, if you anticipate that viewers -in other locales might use your app, you should provide your own currency symbol to make sure the -actual value is understood. +
    +**Best Practice:** If your app will be used only in one locale, it is fine to rely on the default +currency symbol. If you anticipate that viewers in other locales might use your app, you should +explicitly provide a currency symbol. +
    -For example, if you want to display account balance of 1000 dollars with the following binding -containing currency filter: `{{ 1000 | currency }}`, and your app is currently in en-US locale. -'$1000.00' will be shown. However, if someone in a different local (say, Japan) views your app, her -browser will specify the locale as ja, and the balance of '¥1000.00' will be shown instead. This -will really upset your client. +Let's say you are writing a banking app and you want to display an account balance of 1000 dollars. +You write the following binding using the currency filter: -In this case, you need to override the default currency symbol by providing the {@link -http://docs.angularjs.org/#!/api/ng.filter:currency currency filter} with a currency symbol as -a parameter when you configure the filter, for example, {{ 1000 | currency:"USD$"}}. This way, -Angular will always show a balance of 'USD$1000' and disregard any locale changes. +```html +{{ 1000 | currency }} +``` -**Translation length "gotcha"** +If your app is currently in the `en-US` locale, the browser will show `$1000.00`. If someone in the +Japanese locale (`ja`) views your app, their browser will show a balance of `¥1000.00` instead. +This is problematic because $1000 is not the same as ¥1000. -Keep in mind that translated strings/datetime formats can vary greatly in length. For example, -`June 3, 1977` will be translated to Spanish as `3 de junio de 1977`. There are bound to be other -more extreme cases. Hence, when internationalizing your apps, you need to apply CSS rules -accordingly and do thorough testing to make sure UI components do not overlap. +In this case, you need to override the default currency symbol by providing the +{@link ng.filter:currency} currency filter with a currency symbol as a parameter. +If we change the above to `{{ 1000 | currency:"USD$"}}`, AngularJS will always show a balance of +`USD$1000` regardless of locale. -**Timezones** +### Translation length -Keep in mind that Angular datetime filter uses the time zone settings of the browser. So the same +Translated strings/datetime formats can vary greatly in length. For example, `June 3, 1977` will be +translated to Spanish as `3 de junio de 1977`. + +When internationalizing your app, you need to do thorough testing to make sure UI components behave +as expected even when their contents vary greatly in content size. + +### Timezones + +The AngularJS datetime filter uses the time zone settings of the browser. The same application will show different time information depending on the time zone settings of the -computer that the application is running on. Neither Javascript nor Angular currently supports +computer that the application is running on. Neither JavaScript nor AngularJS currently supports displaying the date with a timezone specified by the developer. + + + +## MessageFormat extensions + +You can write localizable plural and gender based messages in AngularJS interpolation expressions and +`$interpolate` calls. + +This syntax extension is provided by way of the `ngMessageFormat` module that your application can +depend upon (shipped separately as `angular-message-format.min.js` and `angular-message-format.js`.) +A current limitation of the `ngMessageFormat` module, is that it does not support redefining the +`$interpolate` start and end symbols. Only the default `{{` and `}}` are allowed. + +The syntax extension is based on a subset of the ICU MessageFormat syntax that covers plurals and +gender selections. Please refer to the links in the “Further Reading” section at the bottom of this +section. + +You may find it helpful to play with the following example as you read the explanations below: + + + +
    + Set number of recipients + + + + + + +

    + Sender's name:    + +

    Recipients
    +
    + Name:    + Gender: + + +
    + +

    Message
    + {{recipients.length, plural, offset:1 + =0 {You ({{sender.name}}) gave no gifts} + =1 { {{ recipients[0].gender, select, + male {You ({{sender.name}}) gave him ({{recipients[0].name}}) a gift.} + female {You ({{sender.name}}) gave her ({{recipients[0].name}}) a gift.} + other {You ({{sender.name}}) gave them ({{recipients[0].name}}) a gift.} + }} + } + one { {{ recipients[0].gender, select, + male {You ({{sender.name}}) gave him ({{recipients[0].name}}) and one other person a gift.} + female {You ({{sender.name}}) gave her ({{recipients[0].name}}) and one other person a gift.} + other {You ({{sender.name}}) gave them ({{recipients[0].name}}) and one other person a gift.} + }} + } + other {You ({{sender.name}}) gave {{recipients.length}} people gifts. } + }} + +

    In an attribute
    +
    + This div has an attribute interpolated with messageformat. Use the DOM inspector to check it out. +
    +
    +
    + + function Person(name, gender) { + this.name = name; + this.gender = gender; + } + + angular.module('messageFormatExample', ['ngMessageFormat']) + .controller('ckCtrl', function($scope, $injector, $parse) { + var people = [new Person('Alice', 'female'), + new Person('Bob', 'male'), + new Person('Charlie', 'male')]; + + $scope.sender = new Person('Harry Potter', 'male'); + $scope.recipients = people.slice(); + + $scope.setNumRecipients = function(n) { + n = n > people.length ? people.length : n; + $scope.recipients = people.slice(0, n); + }; + + $scope.setGender = function(person, gender) { + person.gender = gender; + }; + }); + +
    + +### Plural Syntax + +The syntax for plural based message selection looks like the following: + +```text +{{NUMERIC_EXPRESSION, plural, + =0 {MESSAGE_WHEN_VALUE_IS_0} + =1 {MESSAGE_WHEN_VALUE_IS_1} + =2 {MESSAGE_WHEN_VALUE_IS_2} + =3 {MESSAGE_WHEN_VALUE_IS_3} + ... + zero {MESSAGE_WHEN_PLURAL_CATEGORY_IS_ZERO} + one {MESSAGE_WHEN_PLURAL_CATEGORY_IS_ONE} + two {MESSAGE_WHEN_PLURAL_CATEGORY_IS_TWO} + few {MESSAGE_WHEN_PLURAL_CATEGORY_IS_FEW} + many {MESSAGE_WHEN_PLURAL_CATEGORY_IS_MANY} + other {MESSAGE_WHEN_THERE_IS_NO_MATCH} +}} +``` + +Please note that whitespace (including newline) is generally insignificant except as part of the +actual message text that occurs in curly braces. Whitespace is generally used to aid readability. + +Here, `NUMERIC_EXPRESSION` is an expression that evaluates to a numeric value based on which the +displayed message should change based on pluralization rules. + +Following the AngularJS expression, you would denote the plural extension syntax by the `, plural,` +syntax element. The spaces there are optional. + +This is followed by a list of selection keyword and corresponding message pairs. The "other" +keyword and corresponding message are **required** but you may have as few or as many of the other +categories as you need. + +#### Selection Keywords + +The selection keywords can be either exact matches or language dependent [plural +categories](http://cldr.unicode.org/index/cldr-spec/plural-rules). + +Exact matches are written as the equal sign followed by the exact value. `=0`, `=1`, `=2` and +`=123` are all examples of exact matches. Note that there should be no space between the equal sign +and the numeric value. + +Plural category matches are single words corresponding to the [plural +categories](http://cldr.unicode.org/index/cldr-spec/plural-rules) of the CLDR plural category spec. +These categories vary by locale. The "en" (English) locale, for example, defines just "one" and +"other" while the "ga" (Irish) locale defines "one", "two", "few", "many" and "other". Typically, +you would just write the categories for your language. During translation, the translators will add +or remove more categories depending on the target locale. + +Exact matches always win over keyword matches. Therefore, if you define both `=0` and `zero`, when +the value of the expression is zero, the `=0` message is the one that will be selected. (The +duplicate keyword categories are helpful when used with the optional `offset` syntax described +later.) + + +#### Messages + +Messages immediately follow a selection keyword and are optionally preceded by whitespace. They are +written in single curly braces (`{}`). They may contain AngularJS interpolation syntax inside them. +In addition, the `#` symbol is a placeholder for the actual numeric value of the expression. + +### Simple plural example + +```text +{{numMessages, plural, + =0 {You have no new messages} + =1 {You have one new message} + other {You have # new messages} +}} +``` + +Because these messages can themselves contain AngularJS expressions, you could also write this as +follows: + +```text +{{numMessages, plural, + =0 {You have no new messages} + =1 {You have one new message} + other {You have {{numMessages}} new messages} +}} +``` + + +### Plural syntax with optional `offset` + +The plural syntax supports an optional `offset` syntax that is used in matching. It's simpler to +explain this with an example. + +```text +{{recipients.length, plural, offset:1 + =0 {You gave no gifts} + =1 {You gave {{recipients[0].name}} a gift} + one {You gave {{recipients[0].name}} and one other person a gift} + other {You gave {{recipients[0].name}} and # other people a gift} +}} +``` + +When an `offset` is specified, the matching works as follows. First, the exact value of the AngularJS +expression is matched against the exact matches (i.e. `=N` selectors) to find a match. If there is +one, that message is used. If there was no match, then the offset value is subtracted from the +value of the expression and locale specific pluralization rules are applied to this new value to +obtain its plural category (such as “one”, “few”, “many”, etc.) and a match is attempted against the +keyword selectors and the matching message is used. If there was no match, then the “other” +category (required) is used. The value of the `#` character inside a message is the value of +original expression reduced by the offset value that was specified. + +### Escaping / Quoting + +You will need to escape curly braces or the `#` character inside message texts if you want them to +be treated literally with no special meaning. You may quote/escape any character in your message +text by preceding it with a `\` (backslash) character. The backslash character removes any special +meaning to the character that immediately follows it. Therefore, you can escape or quote the +backslash itself by preceding it with another backslash character. + + +### Gender (aka select) Syntax + +The gender support is provided by the more generic "select" syntax that is more akin to a switch +statement. It is general enough to support use for gender based messages. + +The syntax for gender based message selection looks like the following: + +```text +{{EXPRESSION, select, + male {MESSAGE_WHEN_EXPRESSION_IS_MALE} + female {MESSAGE_WHEN_EXPRESSION_IS_FEMALE} + ... + other {MESSAGE_WHEN_THERE_IS_NO_GENDER_MATCH} +}} +``` + +Please note that whitespace (including newline) is generally insignificant except as part of the +actual message text that occurs in curly braces. Whitespace is generally used to aid readability. + +Here, `EXPRESSION` is an AngularJS expression that evaluates to the gender of the person that +is used to select the message that should be displayed. + +The AngularJS expression is followed by `, select,` where the spaces are optional. + +This is followed by a list of selection keyword and corresponding message pairs. The "other" +keyword and corresponding message are **required** but you may have as few or as many of the other +gender values as you need (i.e. it isn't restricted to male/female.) Note however, that the +matching is **case-sensitive**. + +#### Selection Keywords + +Selection keywords are simple words like "male" and "female". The keyword, "other", and its +corresponding message are required while others are optional. It is used when the AngularJS +expression does not match (case-insensitively) any of the other keywords specified. + +#### Messages + +Messages immediately follow a selection keyword and are optionally preceded by whitespace. They are +written in single curly braces (`{}`). They may contain AngularJS interpolation syntax inside them. + +### Simple gender example + +```text +{{friendGender, select, + male {Invite him} + female {Invite her} + other {Invite them} +}} +``` + +### Nesting + +As mentioned in the syntax for plural and select, the embedded messages can contain AngularJS +interpolation syntax. Since you can use MessageFormat extensions in AngularJS interpolation, this +allows you to nest plural and gender expressions in any order. + +Please note that if these are intended to reach a translator and be translated, it is recommended +that the messages appear as a whole and not be split up. + +### Demonstration of nesting + +This is taken from the above example. + +```text +{{recipients.length, plural, offset:1 + =0 {You ({{sender.name}}) gave no gifts} + =1 { {{ recipients[0].gender, select, + male {You ({{sender.name}}) gave him ({{recipients[0].name}}) a gift.} + female {You ({{sender.name}}) gave her ({{recipients[0].name}}) a gift.} + other {You ({{sender.name}}) gave them ({{recipients[0].name}}) a gift.} + }} + } + one { {{ recipients[0].gender, select, + male {You ({{sender.name}}) gave him ({{recipients[0].name}}) and one other person a gift.} + female {You ({{sender.name}}) gave her ({{recipients[0].name}}) and one other person a gift.} + other {You ({{sender.name}}) gave them ({{recipients[0].name}}) and one other person a gift.} + }} + } + other {You ({{sender.name}}) gave {{recipients.length}} people gifts. } +}} +``` + +### Differences from the ICU MessageFormat syntax + +This section is useful to you if you're already familiar with the ICU MessageFormat syntax. + +This syntax extension, while based on MessageFormat, has been designed to be backwards compatible +with existing AngularJS interpolation expressions. The key rule is simply this: **All +interpolations are done inside double curlies.** The top level comma operator after an expression +inside the double curlies causes MessageFormat extensions to be recognized. Such a top level comma +is otherwise illegal in an AngularJS expression and is used by MessageFormat to specify the function +(such as plural/select) and it's related syntax. + +To understand the extension, take a look at the ICU MessageFormat syntax as specified by the ICU +documentation. Anywhere in that MessageFormat that you have regular message text and you want to +substitute an expression, just put it in double curlies instead of single curlies that MessageFormat +dictates. This has a huge advantage. **You are no longer limited to simple identifiers for +substitutions**. Because you are using double curlies, you can stick in any arbitrary interpolation +syntax there, including nesting more MessageFormat expressions! + +### Further Reading +For more details, please refer to our [design doc](https://docs.google.com/a/google.com/document/d/1pbtW2yvtmFBikfRrJd8VAsabiFkKezmYZ_PbgdjQOVU/edit). +You can read more about the ICU MessageFormat syntax at +[Formatting Messages | ICU User Guide](http://userguide.icu-project.org/formatparse/messages#TOC-MessageFormat). diff --git a/docs/content/guide/ie.ngdoc b/docs/content/guide/ie.ngdoc index 8bf5f87df8fe..fdc97f1c5421 100644 --- a/docs/content/guide/ie.ngdoc +++ b/docs/content/guide/ie.ngdoc @@ -1,198 +1,49 @@ @ngdoc overview -@name Developer Guide: Internet Explorer Compatibility +@name Internet Explorer Compatibility +@sortOrder 530 @description -# Overview - -This document describes the Internet Explorer (IE) idiosyncrasies when dealing with custom HTML -attributes and tags. Read this document if you are planning on deploying your Angular application -on IE v8.0 or earlier. - -The project currently supports and will attempt to fix bugs for IE8 and above. The continuous -integration server runs all the tests against IE8. See http://ci.angularjs.org. - -IE7 and below are not tested and the project makes no guarantee that Angular will work on it. -A subset of the AngularJS functionality may work. It is up to you to test and decide whether -it works for your particular app. - -It is very unlikely that issues specific to IE7 or earlier will be given any time by the core team. -[GitHub](https://github.com/angular/angular.js/issues/4974) - - -# Short Version - -To make your Angular application work on IE please make sure that: - - 1. You polyfill JSON.stringify if necessary (IE7 will need this). You can use - [JSON2](https://github.com/douglascrockford/JSON-js) or - [JSON3](http://bestiejs.github.com/json3/) polyfills for this. -
    -       
    -       
    -         
    -           
    -         
    -         
    -           ...
    -         
    -       
    -     
    - - 2. add `id="ng-app"` to the root element in conjunction with `ng-app` attribute -
    -       
    -       
    -         ...
    -       
    -     
    - - 3. you **do not** use custom element tags such as `` (use the attribute version - `
    ` instead), or - - 4. if you **do use** custom element tags, then you must take these steps to make IE happy: -
    -       
    -       
    -         
    -           
    -         
    -         
    -           ...
    -         
    -       
    -     
    - -The **important** parts are: - - * `xmlns:ng` - *namespace* - you need one namespace for each custom tag you are planning on - using. - - * `document.createElement(yourTagName)` - *creation of custom tag names* - Since this is an - issue only for older version of IE you need to load it conditionally. For each tag which does - not have namespace and which is not defined in HTML you need to pre-declare it to make IE - happy. - - -# Long Version - -IE has issues with element tag names which are not standard HTML tag names. These fall into two -categories, and each category has its own fix. - - * If the tag name starts with `my:` prefix then it is considered an XML namespace and must - have corresponding namespace declaration on `` - - * If the tag has no `:` but it is not a standard HTML tag, then it must be pre-created using - `document.createElement('my-tag')` - - * If you are planning on styling the custom tag with CSS selectors, then it must be - pre-created using `document.createElement('my-tag')` regardless of XML namespace. - - -## The Good News - -The good news is that these restrictions only apply to element tag names, and not to element -attribute names. So this requires no special handling in IE: `
    `. - - -## What happens if I fail to do this? - -Suppose you have HTML with unknown tag `mytag` (this could also be `my:tag` or `my-tag` with same -result): - -
    -  
    -    
    -      some text
    -    
    -  
    -
    - -It should parse into the following DOM: - -
    -#document
    -  +- HTML
    -     +- BODY
    -        +- mytag
    -           +- #text: some text
    -
    - -The expected behavior is that the `BODY` element has a child element `mytag`, which in turn has -the text `some text`. - -But this is not what IE does (if the above fixes are not included): - -
    -#document
    -  +- HTML
    -     +- BODY
    -        +- mytag
    -        +- #text: some text
    -        +- /mytag
    -
    - -In IE, the behavior is that the `BODY` element has three children: - - 1. A self closing `mytag`. Example of self closing tag is `
    `. The trailing `/` is optional, - but the `
    ` tag is not allowed to have any children, and browsers consider `
    some - text
    ` as three siblings not a `
    ` with `some text` as child. - - 2. A text node with `some text`. This should have been a child of `mytag` above, not a sibling. - - 3. A corrupt self closing `/mytag`. This is corrupt since element names are not allowed to have - the `/` character. Furthermore this closing element should not be part of the DOM since it is - only used to delineate the structure of the DOM. - - -## CSS Styling of Custom Tag Names - -To make CSS selectors work with custom elements, the custom element name must be pre-created with -`document.createElement('my-tag')` regardless of XML namespace. - -
    -  
    -    
    -      
    -      
    -    
    -    
    -      
    -      
    -      ...
    -    
    -  
    -
    - +# Internet Explorer Compatibility +
    +**Note:** AngularJS 1.3 has dropped support for IE8. Read more about it on +[our blog](https://blog.angularjs.org/2013/12/angularjs-13-new-release-approaches.html). +AngularJS 1.2 will continue to support IE8, but the core team does not plan to spend time +addressing issues specific to IE8 or earlier. +
    +This document describes the Internet Explorer (IE) idiosyncrasies when dealing with custom HTML +attributes and tags. Read this document if you are planning on deploying your AngularJS application +on IE. + +The project currently supports and will attempt to fix bugs for IE9 and above. The continuous +integration server runs all unit tests against IE9, IE10, and IE11. See +[CircleCI](https://circleci.com/gh/angular/workflows/angular.js/tree/master). + +We do not run tests on IE8 and below. A subset of the AngularJS functionality may work on these +browsers, but it is up to you to test and decide whether it works for your particular app. + + +To ensure your AngularJS application works on IE please consider: + +1. Use `ng-style` tags instead of `style="{{ someCss }}"`. The latter works in Chrome, Firefox, + Safari and Edge but does not work in Internet Explorer (even 11). +2. For the `type` attribute of buttons, use `ng-attr-type` tags instead of + `type="{{ someExpression }}"`. If using the latter, Internet Explorer overwrites the expression + with `type="submit"` before AngularJS has a chance to interpolate it. +3. For the `value` attribute of progress, use `ng-attr-value` tags instead of + `value="{{ someExpression}}"`. If using the latter, Internet Explorer overwrites the expression + with `value="0"` before AngularJS has a chance to interpolate it. +4. For the `placeholder` attribute of textarea, use `ng-attr-placeholder` tags instead + of `placeholder="{{ someExpression }}"`. If using the latter, Internet Explorer will error + on accessing the `nodeValue` on a parentless `TextNode` in Internet Explorer 10 & 11 + (see [issue 5025](https://github.com/angular/angular.js/issues/5025)). +5. Using the `disabled` attribute on an element that has + descendant form controls can result in unexpected behavior in Internet Explorer 11. + For example, the value of descendant input elements with `ng-model` will not reflect + the model (or changes to the model), and the value of the `placeholder` attribute will be + inserted as the input's value. Descendant select elements will also be inoperable, as if they + had the `disabled` attribute applied to them, which may not be the intended effect. + To work around this unexpected behavior, 1) avoid using the identifier `disabled` for custom attribute + directives that are on elements with descendant form controls, and 2) avoid using `disabled` as an identifier + for an attribute passed to a custom directive that has descendant form controls. diff --git a/docs/content/guide/index.ngdoc b/docs/content/guide/index.ngdoc index 8d1ea0e57e7b..9bc10e1237e2 100644 --- a/docs/content/guide/index.ngdoc +++ b/docs/content/guide/index.ngdoc @@ -4,180 +4,89 @@ # Guide to AngularJS Documentation -Everything you need to know about AngularJS +On this page, you will find a list of official AngularJS resources on various topics. -* {@link guide/introduction What is AngularJS?} - -* {@link guide/concepts Conceptual Overview} - -## Tutorials +Just starting out with AngularJS? Try working through our step by step tutorial or try +building on our seed project. * {@link tutorial/index Official AngularJS Tutorial} +* [AngularJS Seed](https://github.com/angular/angular-seed) -* [10 Reasons Why You Should Use AngularJS](http://www.sitepoint.com/10-reasons-use-angularjs/) +Ready to find out more about AngularJS? -* [Design Principles of AngularJS (video)](https://www.youtube.com/watch?v=HCR7i5F5L8c) - -* [Fundamentals in 60 Minutes (video)](http://www.youtube.com/watch?v=i9MHigUZKEM) - -* [For folks with jQuery background](http://stackoverflow.com/questions/14994391/how-do-i-think-in-angularjs-if-i-have-a-jquery-background) +* {@link guide/introduction What is AngularJS?} +* {@link guide/concepts Conceptual Overview} ## Core Concepts ### Templates -In Angular applications, you move the job of filling page templates with data from the server to the client. The result is a system better structured for dynamic page updates. Below are the core features you'll use. +In AngularJS applications, you move the job of filling page templates with data from the server to the client. The result is a system better structured for dynamic page updates. Below are the core features you'll use. * {@link guide/databinding Data binding} - * {@link guide/expression Expressions} - +* {@link guide/interpolation Interpolation} * {@link guide/directive Directives} - -* {@link api/ngRoute.$route Views and routes (see the example)} - +* {@link ngRoute.$route Views and routes (see the example)} * {@link guide/filter Filters} - -* {@link guide/forms Forms} and [Concepts of AngularJS Forms](http://mrbool.com/the-concepts-of-angularjs-forms/29117) +* {@link guide/compiler HTML compiler} +* {@link guide/forms Forms} ### Application Structure -* **Blog post: **[When to use directives, controllers or services](http://kirkbushell.me/when-to-use-directives-controllers-or-services-in-angular/) - * **App wiring:** {@link guide/di Dependency injection} - * **Exposing model to templates:** {@link guide/scope Scopes} +* **Bootstrap:** {@link guide/bootstrap Bootstrapping an app} +* **Communicating with servers:** {@link ng.$http $http}, {@link ngResource.$resource $resource} -* **Communicating with servers:** {@link api/ng.$http $http}, {@link api/ngResource.$resource $resource} - -### Other AngularJS Features - -* **Animation:** {@link guide/animations Core concepts}, {@link api/ngAnimate ngAnimate API}, and [Animation in AngularJS 1.2](http://www.yearofmoo.com/2013/08/remastered-animation-in-angularjs-1-2.html) - -* **Security:** {@link api/ng.$sce Strict Contextual Escaping}, {@link api/ng.directive:ngCsp Content Security Policy}, {@link api/ngSanitize.$sanitize $sanitize}, [video](https://www.youtube.com/watch?v=18ifoT-Id54) +### Other Features -* **Internationalization and Localization:** {@link guide/i18n Angular Guide to i18n and l10n}, {@link api/ng.filter:date date filter}, {@link api/ng.filter:currency currency filter}, [Creating multilingual support](http://www.novanet.no/blog/hallstein-brotan/dates/2013/10/creating-multilingual-support-using-angularjs/) - -* **Mobile:** {@link api/ngTouch Touch events} +* **Animation:** {@link guide/animations Core concepts}, {@link ngAnimate ngAnimate API} +* **Security:** {@link guide/security Security Docs}, {@link ng.$sce Strict Contextual Escaping}, {@link ng.directive:ngCsp Content Security Policy}, {@link ngSanitize.$sanitize $sanitize}, [video](https://www.youtube.com/watch?v=18ifoT-Id54) +* **Internationalization and Localization:** {@link guide/i18n AngularJS Guide to i18n and l10n}, {@link ng.filter:date date filter}, {@link ng.filter:currency currency filter}, [Creating multilingual support](https://blog.novanet.no/creating-multilingual-support-using-angularjs/) +* **Touch events:** {@link ngTouch Touch events} +* **Accessibility:** {@link guide/accessibility ngAria} ### Testing -* **Unit testing:** [Using Karma (video)](http://www.youtube.com/watch?v=YG5DEzaQBIc), {@link guide/dev_guide.unit-testing Unit testing}, {@link guide/dev_guide.services.testing_services Testing services}, [Karma in Webstorm](http://blog.jetbrains.com/webstorm/2013/10/running-javascript-tests-with-karma-in-webstorm-7/) - -* **Scenario testing:** [Protractor](https://github.com/angular/protractor) - -## Specific Topics - -* **Login: **[Google example](https://developers.google.com/+/photohunt/python), [Facebook example](http://blog.brunoscopelliti.com/facebook-authentication-in-your-angularjs-web-app), [authentication strategy](http://blog.brunoscopelliti.com/deal-with-users-authentication-in-an-angularjs-web-app), [unix-style authorization](http://frederiknakstad.com/authentication-in-single-page-applications-with-angular-js/) - -* **Mobile:** [Angular on Mobile Guide](http://www.ng-newsletter.com/posts/angular-on-mobile.html), [PhoneGap](http://devgirl.org/2013/06/10/quick-start-guide-phonegap-and-angularjs/) - -* **Other Languages:** [CoffeeScript](http://www.coffeescriptlove.com/2013/08/angularjs-and-coffeescript-tutorials.html), [Dart](https://github.com/angular/angular.dart.tutorial/wiki) - -* **Realtime: **[Socket.io](http://www.creativebloq.com/javascript/angularjs-collaboration-board-socketio-2132885), [OmniBinder](https://github.com/jeffbcross/omnibinder) - -* **Visualization:** [SVG](http://gaslight.co/blog/angular-backed-svgs), [D3.js](http://www.ng-newsletter.com/posts/d3-on-angular.html) - -## Tools +* **Unit testing:** [Karma](http://karma-runner.github.io), {@link guide/unit-testing Unit testing}, {@link guide/services#unit-testing Testing services}, +* **End-to-End Testing:** [Protractor](https://github.com/angular/protractor), {@link guide/e2e-testing e2e testing guide} -* **Debugging:** [Batarang](https://chrome.google.com/webstore/detail/angularjs-batarang/ighdmehidhipcmcojjgiloacoafjmpfk?hl=en) -* **Testing:** [Karma](http://karma-runner.github.io), [Protractor](https://github.com/angular/protractor) +## Community Resources -* **Editor support:** [Webstorm](http://plugins.jetbrains.com/plugin/6971) (and [video](http://www.youtube.com/watch?v=LJOyrSh1kDU)), [Sublime Text](https://github.com/angular-ui/AngularJS-sublime-package), [Visual Studio](http://madskristensen.net/post/angularjs-intellisense-in-visual-studio-2012) +We have set up a guide to many resources provided by the community, where you can find lots +of additional information and material on these topics, a list of complimentary libraries, and much more. -* **Workflow:** [Yeoman.io](https://github.com/yeoman/generator-angular) and [Angular Yeoman Tutorial](http://www.sitepoint.com/kickstart-your-angularjs-development-with-yeoman-grunt-and-bower/) +* {@link guide/external-resources External AngularJS resources} -## Complementary Libraries - -This is a short list of libraries with specific support and documentation for working with Angular. You can find a full list of all known Angular external libraries at [ngmodules.org](http://ngmodules.org/). - -* **Internationalization:** [angular-translate](http://pascalprecht.github.io/angular-translate/), [angular-gettext](http://angular-gettext.rocketeer.be/) - -* **RESTful services:** [Restangular](https://github.com/mgonto/restangular) - -* **SQL and NoSQL backends:** [BreezeJS](http://www.breezejs.com/), [AngularFire](http://angularfire.com/) - -* **UI Widgets: **[KendoUI](http://kendo-labs.github.io/angular-kendo/#/), [UI Bootstrap](http://angular-ui.github.io/bootstrap/), [Wijmo](http://wijmo.com/tag/angularjs-2/) - -## Deployment - -### General - -* **Javascript minification: **[Background](http://thegreenpizza.github.io/2013/05/25/building-minification-safe-angular.js-applications/), [ngmin automation tool](http://www.thinkster.io/pick/XlWneEZCqY/angularjs-ngmin) - -* **Tracking:** [Angularyitcs (Google Analytics)](http://ngmodules.org/modules/angularytics), [Logging Client-Side Errors](http://www.bennadel.com/blog/2542-Logging-Client-Side-Errors-With-AngularJS-And-Stacktrace-js.htm) - -* **SEO:** [By hand](http://www.yearofmoo.com/2012/11/angularjs-and-seo.html), [prerender.io](http://prerender.io/), [Brombone](http://www.brombone.com/), [SEO.js](http://getseojs.com/), [SEO4Ajax](http://www.seo4ajax.com/) - -### Server-Specific - -* **Django:** [Tutorial](http://blog.mourafiq.com/post/55034504632/end-to-end-web-app-with-django-rest-framework), [Integrating AngularJS with Django](http://django-angular.readthedocs.org/en/latest/integration.html) - -* **FireBase:** [AngularFire](http://angularfire.com/), [Realtime Apps with AngularJS and FireBase (video)](http://www.youtube.com/watch?v=C7ZI7z7qnHU) - -* **Google Cloud Platform: **[with Cloud Endpoints](https://cloud.google.com/resources/articles/angularjs-cloud-endpoints-recipe-for-building-modern-web-applications), [with Go](https://github.com/GoogleCloudPlatform/appengine-angular-gotodos) - -* **Hood.ie:** [60 Minutes to Awesome](http://www.roberthorvick.com/2013/06/30/todomvc-angularjs-hood-ie-60-minutes-to-awesome/) - -* **MEAN Stack: **[Blog post](http://blog.mongodb.org/post/49262866911/the-mean-stack-mongodb-expressjs-angularjs-and), [Setup](http://thecodebarbarian.wordpress.com/2013/07/22/introduction-to-the-mean-stack-part-one-setting-up-your-tools/), [GDL Video](https://developers.google.com/live/shows/913996610) - -* **Rails: **[Tutorial](http://coderberry.me/blog/2013/04/22/angularjs-on-rails-4-part-1/), [AngularJS with Rails4](https://shellycloud.com/blog/2013/10/how-to-integrate-angularjs-with-rails-4), [angularjs-rails](https://github.com/hiravgandhi/angularjs-rails) - -* **PHP: **[Building a RESTful web service](http://blog.brunoscopelliti.com/building-a-restful-web-service-with-angularjs-and-php-more-power-with-resource), [End to End with Laravel 4 (video)](http://www.youtube.com/watch?v=hqAyiqUs93c) - -## Learning Resources - -###Books -* [AngularJS](http://www.amazon.com/AngularJS-Brad-Green/dp/1449344852) by Brad Green and Shyam Seshadri -* [Mastering Web App Development](http://www.amazon.com/Mastering-Web-Application-Development-AngularJS/dp/1782161821) by Pawel Kozlowski and Pete Bacon Darwin -* [AngularJS Directives](http://www.amazon.com/AngularJS-Directives-Alex-Vanston/dp/1783280336) by Alex Vanston -* [Recipes With AngularJS](http://www.amazon.co.uk/Recipes-Angular-js-Frederik-Dietz-ebook/dp/B00DK95V48) by Frederik Dietz -* [Developing an AngularJS Edge](http://www.amazon.com/Developing-AngularJS-Edge-Christopher-Hiller-ebook/dp/B00CJLFF8K) by Christopher Hiller -* [ng-book: The Complete Book on AngularJS](http://ng-book.com/) by Ari Lerner - -###Videos: -* [egghead.io](http://egghead.io/), -* [Angular on YouTube](http://youtube.com/angularjs) - -###Courses -* **Free on-line:** - [thinkster.io](http://thinkster.io), - [CodeAcademy](http://www.codecademy.com/courses/javascript-advanced-en-2hJ3J/0/1) -* **Paid on-line:** - [Pluralsite (3 courses)](http://www.pluralsight.com/training/Courses/Find?highlight=true&searchTerm=angularjs), - [Tuts+](https://tutsplus.com/course/easier-js-apps-with-angular/), - [lynda.com](http://www.lynda.com/AngularJS-tutorials/Up-Running-AngularJS/133318-2.html) -* **Paid on-site:** - [angularbootcamp.com](http://angularbootcamp.com/) ## Getting Help The recipe for getting help on your unique issue is to create an example that could work (even if it doesn't) in a shareable example on [Plunker](http://plnkr.co/), [JSFiddle](http://jsfiddle.net/), or similar site and then post to one of the following: * [Stackoverflow.com](http://stackoverflow.com/search?q=angularjs) - * [AngularJS mailing list](https://groups.google.com/forum/#!forum/angular) - * [AngularJS IRC channel](http://webchat.freenode.net/?channels=angularjs&uio=d4) -## Social Channels - -* **Daily updates:** [Google+](https://plus.google.com/u/0/+AngularJS) or [Twitter](https://twitter.com/angularjs) - -* **Weekly newsletter:** [ng-newsletter](http://www.ng-newsletter.com/) +## Official Communications -* **Meetups: **[meetup.com](http://www.meetup.com/find/?keywords=angularJS&radius=Infinity&userFreeform=San+Francisco%2C+CA&mcId=z94108&mcName=San+Francisco%2C+CA&sort=member_count&eventFilter=mysugg) +Official announcements, news and releases are posted to our blog, G+ and Twitter: -* **Official news and releases: **[AngularJS Blog](http://blog.angularjs.org/) +* [AngularJS Blog](http://blog.angularjs.org/) +* [Google+](https://plus.google.com/u/0/+AngularJS) +* [Twitter](https://twitter.com/angular) +* [AngularJS on YouTube](http://youtube.com/angularjs) ## Contributing to AngularJS -Though we have a core group of core contributors at Google, Angular is an open source project with hundreds of contributors. We'd love you to be one of them. When you're ready, please read the {@link misc/contribute Guide for contributing to AngularJS}. +Though we have a core group of core contributors at Google, AngularJS is an open source project with hundreds of contributors. +We'd love you to be one of them. When you're ready, please read the {@link misc/contribute Guide for contributing to AngularJS}. -## Final Bits +## Something Missing? -Didn't find what you're looking for here? Check out [AngularJS-Learning](https://github.com/jmcunningham/AngularJS-Learning) for an even more comprehensive list of links to videos, tutorials, and blog posts. +Didn't find what you're looking for here? Check out the {@link guide/external-resources External AngularJS resources guide}. -If you have awesome AngularJS resources that belong on this page, please tell us about them on [Google+](https://plus.google.com/u/0/+AngularJS) or [Twitter](https://twitter.com/angularjs). +If you have awesome AngularJS resources that belong on that page, please tell us about them on +[Google+](https://plus.google.com/u/0/+AngularJS) or [Twitter](https://twitter.com/angularjs). diff --git a/docs/content/guide/interpolation.ngdoc b/docs/content/guide/interpolation.ngdoc new file mode 100644 index 000000000000..22c69a125155 --- /dev/null +++ b/docs/content/guide/interpolation.ngdoc @@ -0,0 +1,168 @@ +@ngdoc overview +@name Interpolation +@sortOrder 275 +@description + +# Interpolation and data-binding + +Interpolation markup with embedded {@link guide/expression expressions} is used by AngularJS to +provide data-binding to text nodes and attribute values. + +An example of interpolation is shown below: + +```html +Hello {{username}}! +``` + +### How text and attribute bindings work + +During the compilation process the {@link ng.$compile compiler} uses the {@link ng.$interpolate $interpolate} +service to see if text nodes and element attributes contain interpolation markup with embedded expressions. + +If that is the case, the compiler adds an interpolateDirective to the node and +registers {@link ng.$rootScope.Scope#$watch watches} on the computed interpolation function, +which will update the corresponding text nodes or attribute values as part of the +normal {@link ng.$rootScope.Scope#$digest digest} cycle. + +Note that the interpolateDirective has a priority of 100 and sets up the watch in the preLink function. + +### How the string representation is computed + +If the interpolated value is not a `String`, it is computed as follows: +- `undefined` and `null` are converted to `''` +- if the value is an object that is not a `Number`, `Date` or `Array`, $interpolate looks for +a custom `toString()` function on the object, and uses that. Custom means that +`myObject.toString !== Object.prototype.toString`. +- if the above doesn't apply, `JSON.stringify` is used. + +### Binding to boolean attributes + +Attributes such as `disabled` are called `boolean` attributes, because their presence means `true` and +their absence means `false`. We cannot use normal attribute bindings with them, because the HTML +specification does not require browsers to preserve the values of boolean attributes. This means that +if we put an AngularJS interpolation expression into such an attribute then the binding information +would be lost, because the browser ignores the attribute value. + +In the following example, the interpolation information would be ignored and the browser would simply +interpret the attribute as present, meaning that the button would always be disabled. + +```html + Disabled: + +``` + +For this reason, AngularJS provides special `ng`-prefixed directives for the following boolean attributes: +{@link ngDisabled `disabled`}, {@link ngRequired `required`}, {@link ngSelected `selected`}, +{@link ngChecked `checked`}, {@link ngReadonly `readOnly`} , and {@link ngOpen `open`}. + +These directives take an expression inside the attribute, and set the corresponding boolean attribute +to true when the expression evaluates to truthy. + +```html + Disabled: + +``` + +### `ngAttr` for binding to arbitrary attributes + +Web browsers are sometimes picky about what values they consider valid for attributes. + +For example, considering this template: + +```html + + + +``` + +We would expect AngularJS to be able to bind to this, but when we check the console we see +something like `Error: Invalid value for attribute cx="{{cx}}"`. Because of the SVG DOM API's +restrictions, you cannot simply write `cx="{{cx}}"`. + +With `ng-attr-cx` you can work around this problem. + +If an attribute with a binding is prefixed with the `ngAttr` prefix (denormalized as `ng-attr-`) +then during the binding it will be applied to the corresponding unprefixed attribute. This allows +you to bind to attributes that would otherwise be eagerly processed by browsers +(e.g. an SVG element's `circle[cx]` attributes). When using `ngAttr`, the `allOrNothing` flag of +{@link ng.$interpolate $interpolate} is used, so if any expression in the interpolated string +results in `undefined`, the attribute is removed and not added to the element. + +For example, we could fix the example above by instead writing: + +```html + + + +``` + +If one wants to modify a camelcased attribute (SVG elements have valid camelcased attributes), +such as `viewBox` on the `svg` element, one can use underscores to denote that the attribute to bind +to is naturally camelcased. + +For example, to bind to `viewBox`, we can write: + +```html + + +``` + +Other attributes may also not work as expected when they contain interpolation markup, and +can be used with `ngAttr` instead. The following is a list of known problematic attributes: + +- **size** in ` - - -
    -
    -
    -
    -mute={{mute|json}} - -userFilter={{userFilter|json}} - -tweetFilter={{tweetFilter|json}} - -$anchor={{$anchor}} - -users={{users}} - -tweets={{tweets}} -
    -
    -
    -

    Tweets: {{$anchor.user}}

    - [ Filter: - | << All - ] -
    Loading...
    - -
    - - diff --git a/example/tweeter/tweeter_demo.html b/example/tweeter/tweeter_demo.html deleted file mode 100644 index 6966192a5114..000000000000 --- a/example/tweeter/tweeter_demo.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - (TODO: I should fetch current tweets) -
    -

    Tweets: {{$anchor.user}}

    - [ Filter: (TODO: this should act as search box) - | << All - ] -
    Loading...
    - -
    -
    tweets=(TODO: display me!!!)
    - - diff --git a/example/tweeter/tweeterclient.js b/example/tweeter/tweeterclient.js deleted file mode 100644 index 9ad7eabc0247..000000000000 --- a/example/tweeter/tweeterclient.js +++ /dev/null @@ -1,36 +0,0 @@ -function noop() {} -$(document).ready(function() { - function xhr(method, url, data, callback){ - jQuery.getJSON(url, function() { - callback.apply(this, arguments); - scope.updateView(); - }); - } - - var resourceFactory = new ResourceFactory(xhr); - - var Tweeter = resourceFactory.route("http://twitter.com/statuses/:service:username.json", {}, { - home: {method:'GET', params: {service:'home_timeline'}, isArray:true }, - user: {method:'GET', params: {service:'user_timeline/'}, isArray:true } - }); - - - var scope = window.scope = angular.compile(document, { - location:angular.startUrlWatcher() - }); - - function fetchTweets(username){ - return username ? Tweeter.user({username: username}) : Tweeter.home(); - } - - scope.set('fetchTweets', fetchTweets); - scope.set('users', [ - {screen_name:'mhevery', name:'Mi\u0161ko Hevery', - notes:'Author of http://www.getangular.com.', - profile_image_url:'http://a3.twimg.com/profile_images/54360179/Me_-_Small_Banner_normal.jpg'}, - {screen_name:'abrons', name:'Adam Abrons', - notes:'Author of & Ruby guru see: http://www.angularjs.org.', - profile_image_url:'http://media.linkedin.com/mpr/mpr/shrink_80_80/p/2/000/005/0a8/044278d.jpg'} - ]); - scope.init(); -}); diff --git a/example/view1.html b/example/view1.html deleted file mode 100644 index 6d0a5881d1ae..000000000000 --- a/example/view1.html +++ /dev/null @@ -1,2 +0,0 @@ -view1
    -location: {{url()}} diff --git a/example/view2.html b/example/view2.html deleted file mode 100644 index d9545f83e76a..000000000000 --- a/example/view2.html +++ /dev/null @@ -1,2 +0,0 @@ -view2
    -location: {{url()}}
    diff --git a/gdocs.js b/gdocs.js deleted file mode 100755 index 31377df29208..000000000000 --- a/gdocs.js +++ /dev/null @@ -1,253 +0,0 @@ -#!/usr/bin/env node - -var http = require('http'); -var https = require('https'); -var fs = require('fs'); - -var collections = { - 'guide': 'https://docs.google.com/feeds/default/private/full/folder%3A0B9PsajIPqzmANGUwMGVhZmYtMTk1ZC00NTdmLWIxMDAtZGI5YWNlZjQ2YjZl/contents', - 'api': 'https://docs.google.com/feeds/default/private/full/folder%3A0B7Ovm8bUYiUDYjMwYTc2YWUtZTgzYy00YjIxLThlZDYtYWJlOTFlNzE2NzEw/contents', - 'tutorial': 'https://docs.google.com/feeds/default/private/full/folder%3A0B9PsajIPqzmAYWMxYWE3MzYtYzdjYS00OGQxLWJhZjItYzZkMzJiZTRhZjFl/contents', - 'cookbook': 'https://docs.google.com/feeds/default/private/full/folder%3A0B7Ovm8bUYiUDNzkxZWM5ZTItN2M5NC00NWIxLTg2ZDMtMmYwNDY1NWM1MGU4/contents', - 'misc': 'https://docs.google.com/feeds/default/private/full/folder%3A0B7Ovm8bUYiUDZjVlNmZkYzQtMjZlOC00NmZhLWI5MjAtMGRjZjlkOGJkMDBi/contents' -}; - -console.log('Google Docs...'); - -var flag = process && process.argv[2]; -if (flag == '--login') { - var username = process.argv[3]; - if (username) { - askPassword(function(password){ - login(username, password); - }); - } else { - console.log('Missing username!'); - } -} else if (flag == '--fetch') { - var collection = process.argv[3]; - if (collection) { - fetch(collection, collections[collection]); - } else { - for (collection in collections) - fetch(collection, collections[collection]); - } -} else { - help(); -} - -function help() { - console.log('Synopsys'); - console.log('gdocs.js --login '); - console.log('gdocs.js --fetch []'); - process.exit(-1); -}; - - -function fetch(collection, url){ - console.log('fetching a list of docs in collection ' + collection + '...'); - request('GET', url, { - headers: { - 'Gdata-Version': '3.0', - 'Authorization': 'GoogleLogin auth=' + getAuthToken() - } - }, - function(chunk){ - var entries = chunk.split('(.*?)<\/title>/)[1]; - if (title.match(/\.ngdoc$/)) { - var exportUrl = entry.match(//)[1]; - download(collection, title, exportUrl); - }; - }); - } - ); -} - -function download(collection, name, url) { - console.log('Downloading:', name, '...'); - request('GET', url + '&exportFormat=txt', - { - headers: { - 'Gdata-Version': '3.0', - 'Authorization': 'GoogleLogin auth=' + getAuthToken() - } - }, - function(data){ - data = data.replace('\ufeff', ''); - data = data.replace(/\r\n/mg, '\n'); - - // strip out all text annotations - data = data.replace(/\[[a-zA-Z]{1,2}\]/mg, ''); - - // strip out all docos comments - data = data.replace(/^[^\s_]+:\n\S+[\S\s]*$/m, ''); - - // fix smart-quotes - data = data.replace(/[“”]/g, '"'); - data = data.replace(/[‘’]/g, "'"); - - - data = data + '\n'; - - //this should be a bug in Google Doc API, hence need to remove this once the bug is fixed - data = data.replace(/\n\n/g, '\n'); - - fs.writeFileSync('docs/content/' + collection + '/' + name, reflow(data, 100)); - } - ); -} - -/** - * token=$(curl - * -s https://www.google.com/accounts/ClientLogin - * -d Email=...username... - * -d Passwd=...password... - * -d accountType=GOOGLE - * -d service=writely - * -d Gdata-version=3.0 | cut -d "=" -f 2) - */ -function login(username, password){ - request('POST', 'https://www.google.com/accounts/ClientLogin', - { - data: { - Email: username, - Passwd: password, - accountType: 'GOOGLE', - service: 'writely', - 'Gdata-version': '3.0' - }, - headers: { - 'Content-type': 'application/x-www-form-urlencoded' - } - }, - function(chunk){ - var token; - chunk.split('\n').forEach(function(line){ - var parts = line.split('='); - if (parts[0] == 'Auth') { - token = parts[1]; - } - }); - if (token) { - fs.writeFileSync('tmp/gdocs.auth', token); - console.log("logged in, token saved in 'tmp/gdocs.auth'"); - } else { - console.log('failed to log in'); - } - } - ); -} - -function getAuthToken() { - var pwdFile = 'tmp/gdocs.auth'; - try { - fs.statSync(pwdFile); - return fs.readFileSync(pwdFile); - } catch (e) { - console.log('Please log in first...'); - } -} - -function request(method, url, options, response) { - var url = url.match(/http(s?):\/\/(.+?)(\/.*)/); - var isHttps = url[1]; - var request = (isHttps ? https : http).request({ - host: url[2], - port: (url[1] ? 443 : 80), - path: url[3], - method: method - }, function(res){ - switch (res.statusCode) { - case 200: - var data = []; - res.setEncoding('utf8'); - res.on('end', function () { response(data.join('')); }); - res.on('close', function () { response(data.join('')); }); // https - res.on('data', function (chunk) { data.push(chunk); }); - res.on('error', function (e) { console.log(e); }); - break; - case 401: - console.log('Eror: Login credentials expired! Please login.'); - break; - default: - var data = []; - console.log('ERROR: ', res.statusCode); - console.log('REQUEST URL: ', url[0]); - console.log('REQUEST POST: ', options.data); - console.log('REQUEST HEADERS: ', options.headers); - console.log('RESPONSE HEADERS: ', res.headers); - res.on('end', function (){ console.log('BODY: ', data.join('')); }); - res.on('close', function (){ console.log('BODY: ', data.join('')); }); // https - res.on('data', function (chunk) { data.push(chunk); }); - res.on('error', function (e){ console.log(e); }); - } - }); - for(var header in options.headers) { - request.setHeader(header, options.headers[header]); - } - if (options.data) - request.write(encodeData(options.data)); - request.on('end', function() { - console.log('end'); - }); - request.end(); -} - -function encodeData(obj) { - var pairs = []; - for(var key in obj) { - pairs.push(key + '=' + obj[key]); - } - return pairs.join('&') + '\n'; -} - -function askPassword(callback) { - var stdin = process.openStdin(), - stdio = process.binding("stdio"); - - stdio.setRawMode(); - - console.log('Enter your password:'); - var password = ""; - stdin.on("data", function(c) { - c = c + ""; - switch (c) { - case "\n": case "\r": case "\u0004": - stdio.setRawMode(false); - stdin.pause(); - callback(password); - break; - case "\u0003": - process.exit(); - break; - default: - password += c; - break; - } - }) - -} - -function reflow(text, margin) { - var lines = []; - text.split(/\n/).forEach(function(line) { - var col = 0; - var reflowLine = ''; - function flush() { - reflowLine = reflowLine.replace(/\s*$/, ''); - lines.push(reflowLine); - reflowLine = ''; - col = 0; - } - line.replace(/\s*\S*\s*/g, function(chunk){ - if (col + chunk.length > margin) flush(); - reflowLine += chunk; - col += chunk.length; - }); - flush(); - }); - return lines.join('\n'); -} diff --git a/gen_docs.sh b/gen_docs.sh deleted file mode 100755 index 039daa4670b2..000000000000 --- a/gen_docs.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/usr/bin/env bash - -JASMINE_NODE='jasmine-node' -local_jasmine='./node_modules/.bin/jasmine-node' - -if ! type -p "$JASMINE_NODE" >/dev/null 2>&1;then - if [[ -x "$local_jasmine" ]];then - JASMINE_NODE="$local_jasmine" - else - echo 'Could not find a locally or globally installed executable of' \ - 'jasmine-node. Try: `npm install jasmine-node`.' >&2 - exit 1 - fi -fi - -if [[ ! -e gen_docs.disable ]]; then - echo 'Testing, then building documentation...' - "$JASMINE_NODE" docs/spec --noColor && node docs/src/gen-docs.js -fi diff --git a/i18n/README.md b/i18n/README.md index 9bff2adfb915..d06264638bdb 100644 --- a/i18n/README.md +++ b/i18n/README.md @@ -1,11 +1,10 @@ # i18n directory overview: - closure/ - closure files we use for ruleset generation -- locale/ - angular's locale ruleset files - src/ - source files - spec/ - spec files for stuff in src directory - generate.sh - runs src scripts on closure dir and stores output in locale dir -- update-closure.sh - downloads the latest version of closure files from public svn repo +- update-closure.sh - downloads the latest version of closure files from public git repo The closure files (maintained by Shanjian Li (shanjian)) change very rarely, so we don't need to regenerate locale files very often. diff --git a/i18n/closure/currencySymbols.js b/i18n/closure/currencySymbols.js index f789e304d8cf..79601c0ff5eb 100644 --- a/i18n/closure/currencySymbols.js +++ b/i18n/closure/currencySymbols.js @@ -33,6 +33,8 @@ goog.provide('goog.i18n.currency'); +goog.provide('goog.i18n.currency.CurrencyInfo'); +goog.provide('goog.i18n.currency.CurrencyInfoTier2'); /** @@ -46,7 +48,7 @@ goog.i18n.currency.PRECISION_MASK_ = 0x07; * Whether the currency sign should be positioned after the number. * @private */ -goog.i18n.currency.POSITION_FLAG_ = 0x08; +goog.i18n.currency.POSITION_FLAG_ = 0x10; /** @@ -56,6 +58,28 @@ goog.i18n.currency.POSITION_FLAG_ = 0x08; goog.i18n.currency.SPACE_FLAG_ = 0x20; +/** + * Whether tier2 was enabled already by calling addTier2Support(). + * @private + */ +goog.i18n.currency.tier2Enabled_ = false; + + +/** + * Tests if currency is available. + * + * Note: If the currency is not available it might be in the tier2 currency set: + * {@link goog.i18n.currency.CurrencyInfoTier2}. If that is the case call + * {@link goog.i18n.currency.addTier2Support} before calling any other function + * in this namespace. + * + * @param {string} currencyCode Currency code to tested. + * @return {boolean} If the currency is available. + */ +goog.i18n.currency.isAvailable = function(currencyCode) { + return currencyCode in goog.i18n.currency.CurrencyInfo; +}; + /** * This function will add tier2 currency support. Be default, only tier1 * (most popular currencies) are supported. If an application really needs @@ -63,14 +87,19 @@ goog.i18n.currency.SPACE_FLAG_ = 0x20; * before any other functions in this namespace. */ goog.i18n.currency.addTier2Support = function() { - for (var key in goog.i18n.currency.CurrencyInfoTier2) { - goog.i18n.currency.CurrencyInfo[key] = - goog.i18n.currency.CurrencyInfoTier2[key]; + // Protection from executing this these again and again. + if (!goog.i18n.currency.tier2Enabled_) { + for (var key in goog.i18n.currency.CurrencyInfoTier2) { + goog.i18n.currency.CurrencyInfo[key] = + goog.i18n.currency.CurrencyInfoTier2[key]; + } + goog.i18n.currency.tier2Enabled_ = true; } }; /** + * Deprecated. * Global currency pattern always uses ISO-4217 currency code as prefix. Local * currency sign is added if it is different from currency code. Each currency * is unique in this form. The negative side is that ISO code looks weird in @@ -79,6 +108,9 @@ goog.i18n.currency.addTier2Support = function() { * * @param {string} currencyCode ISO-4217 3-letter currency code. * @return {string} Global currency pattern string for given currency. + * @deprecated Format numbers using {@link goog.i18n.NumberFormat} with + * {@link goog.i18n.NumberFormat.Format.CURRENCY} and + * {@link goog.i18n.NumberFormat.CurrencyStyle.GLOBAL} */ goog.i18n.currency.getGlobalCurrencyPattern = function(currencyCode) { var info = goog.i18n.currency.CurrencyInfo[currencyCode]; @@ -101,17 +133,21 @@ goog.i18n.currency.getGlobalCurrencyPattern = function(currencyCode) { goog.i18n.currency.getGlobalCurrencySign = function(currencyCode) { var info = goog.i18n.currency.CurrencyInfo[currencyCode]; return (currencyCode == info[1]) ? currencyCode : - currencyCode + ' ' + info[1]; + currencyCode + ' ' + info[1]; }; /** + * Deprecated. * Local currency pattern is the most frequently used pattern in currency's * native region. It does not care about how it is distinguished from other * currencies. * * @param {string} currencyCode ISO-4217 3-letter currency code. * @return {string} Local currency pattern string for given currency. + * @deprecated Format numbers using {@link goog.i18n.NumberFormat} with + * {@link goog.i18n.NumberFormat.Format.CURRENCY} and + * {@link goog.i18n.NumberFormat.CurrencyStyle.LOCAL} */ goog.i18n.currency.getLocalCurrencyPattern = function(currencyCode) { var info = goog.i18n.currency.CurrencyInfo[currencyCode]; @@ -132,6 +168,7 @@ goog.i18n.currency.getLocalCurrencySign = function(currencyCode) { /** + * Deprecated. * Portable currency pattern is a compromise between local and global. It is * not a mere blend or mid-way between the two. Currency sign is chosen so that * it looks familiar to native users. It also has enough information to @@ -141,6 +178,9 @@ goog.i18n.currency.getLocalCurrencySign = function(currencyCode) { * * @param {string} currencyCode ISO-4217 3-letter currency code. * @return {string} Portable currency pattern string for given currency. + * @deprecated Format numbers using {@link goog.i18n.NumberFormat} with + * {@link goog.i18n.NumberFormat.Format.CURRENCY} and + * {@link goog.i18n.NumberFormat.CurrencyStyle.PORTABLE} */ goog.i18n.currency.getPortableCurrencyPattern = function(currencyCode) { var info = goog.i18n.currency.CurrencyInfo[currencyCode]; @@ -161,12 +201,17 @@ goog.i18n.currency.getPortableCurrencySign = function(currencyCode) { /** - * This function returns the default currency sign position. Some applications + * This function returns the default currency sign's position. Some applications * may want to handle currency sign and currency amount separately. This * function can be used in such situations to correctly position the currency * sign relative to the amount. * - * To match the behavior of ICU, position is not determined by display locale. + * Use {@link goog.i18n.NumberFormat#isCurrencyCodeBeforeValue} for a locale + * aware version of this API (recommended). isPrefixSignPosition() returns the + * default currency sign's position in the currency's default locale (e.g. 'en' + * for 'USD'), but most commonly the position is needed for the locale in which + * the number is going to be displayed. For example, in 'fr' 10.10 USD would be + * displayed as '10,10 $'. * * @param {string} currencyCode ISO-4217 3-letter currency code. * @return {boolean} true if currency should be positioned before amount field. @@ -197,13 +242,13 @@ goog.i18n.currency.getCurrencyPattern_ = function(patternNum, sign) { } } if ((patternNum & goog.i18n.currency.POSITION_FLAG_) == 0) { - strParts.unshift((patternNum & goog.i18n.currency.SPACE_FLAG_) ? - "' " : "'"); + strParts.unshift( + (patternNum & goog.i18n.currency.SPACE_FLAG_) ? "' " : "'"); strParts.unshift(sign); strParts.unshift("'"); } else { - strParts.push((patternNum & goog.i18n.currency.SPACE_FLAG_) ? " '" : "'", - sign, "'"); + strParts.push( + (patternNum & goog.i18n.currency.SPACE_FLAG_) ? " '" : "'", sign, "'"); } return strParts.join(''); }; @@ -244,7 +289,7 @@ goog.i18n.currency.adjustPrecision = function(pattern, currencyCode) { * the currency sign should be positioned after the number. Valid values are 0 * (before the number) or 16 (after the number). The space flag indicates * whether a space should be inserted between the currency sign and number. - * Valid values are 0 (no space) and 24 (space). + * Valid values are 0 (no space) and 32 (space). * * The number in the array is calculated by adding together the mask and flag * values. For example: @@ -252,53 +297,72 @@ goog.i18n.currency.adjustPrecision = function(pattern, currencyCode) { * 0: no precision (0), currency sign first (0), no space (0) * 2: two decimals precision (2), currency sign first (0), no space (0) * 18: two decimals precision (2), currency sign last (16), no space (0) - * 42: two decimals precision (2), currency sign last (16), space (24) + * 50: two decimals precision (2), currency sign last (16), space (32) + * + * It's not recommended to read this data directly. Format numbers using + * {@link goog.i18n.NumberFormat} with + * {@link goog.i18n.NumberFormat.Format.CURRENCY} instead. * - * @type {!Object.} + * @const {!Object>} */ goog.i18n.currency.CurrencyInfo = { 'AED': [2, 'dh', '\u062f.\u0625.', 'DH'], + 'ALL': [0, 'Lek', 'Lek'], 'AUD': [2, '$', 'AU$'], 'BDT': [2, '\u09F3', 'Tk'], + 'BGN': [2, 'lev', 'lev'], 'BRL': [2, 'R$', 'R$'], 'CAD': [2, '$', 'C$'], + 'CDF': [2, 'FrCD', 'CDF'], 'CHF': [2, 'CHF', 'CHF'], 'CLP': [0, '$', 'CL$'], 'CNY': [2, '¥', 'RMB¥'], - 'COP': [0, '$', 'COL$'], + 'COP': [32, '$', 'COL$'], 'CRC': [0, '\u20a1', 'CR\u20a1'], - 'CZK': [2, 'K\u010d', 'K\u010d'], - 'DKK': [18, 'kr', 'kr'], - 'DOP': [2, '$', 'RD$'], + 'CZK': [50, 'K\u010d', 'K\u010d'], + 'DKK': [50, 'kr.', 'kr.'], + 'DOP': [2, 'RD$', 'RD$'], 'EGP': [2, '£', 'LE'], - 'EUR': [18, '€', '€'], + 'ETB': [2, 'Birr', 'Birr'], + 'EUR': [2, '€', '€'], 'GBP': [2, '£', 'GB£'], 'HKD': [2, '$', 'HK$'], - 'ILS': [2, '\u20AA', 'IL\u20AA'], + 'HRK': [2, 'kn', 'kn'], + 'HUF': [34, 'Ft', 'Ft'], + 'IDR': [0, 'Rp', 'Rp'], + 'ILS': [34, '\u20AA', 'IL\u20AA'], 'INR': [2, '\u20B9', 'Rs'], + 'IRR': [0, 'Rial', 'IRR'], 'ISK': [0, 'kr', 'kr'], 'JMD': [2, '$', 'JA$'], 'JPY': [0, '¥', 'JP¥'], 'KRW': [0, '\u20A9', 'KR₩'], 'LKR': [2, 'Rs', 'SLRs'], + 'LTL': [2, 'Lt', 'Lt'], 'MNT': [0, '\u20AE', 'MN₮'], + 'MVR': [2, 'Rf', 'MVR'], 'MXN': [2, '$', 'Mex$'], 'MYR': [2, 'RM', 'RM'], - 'NOK': [18, 'kr', 'NOkr'], + 'NOK': [50, 'kr', 'NOkr'], 'PAB': [2, 'B/.', 'B/.'], 'PEN': [2, 'S/.', 'S/.'], - 'PHP': [2, '\u20B1', 'Php'], + 'PHP': [2, '\u20B1', 'PHP'], 'PKR': [0, 'Rs', 'PKRs.'], - 'RUB': [42, 'руб.', 'руб.'], + 'PLN': [50, 'z\u0142', 'z\u0142'], + 'RON': [2, 'RON', 'RON'], + 'RSD': [0, 'din', 'RSD'], + 'RUB': [50, '\u20bd', 'RUB'], 'SAR': [2, 'Rial', 'Rial'], - 'SEK': [2, 'kr', 'kr'], + 'SEK': [50, 'kr', 'kr'], 'SGD': [2, '$', 'S$'], 'THB': [2, '\u0e3f', 'THB'], 'TRY': [2, 'TL', 'YTL'], 'TWD': [2, 'NT$', 'NT$'], + 'TZS': [0, 'TSh', 'TSh'], + 'UAH': [2, 'грн.', 'UAH'], 'USD': [2, '$', 'US$'], - 'UYU': [2, '$', 'UY$'], - 'VND': [0, '\u20AB', 'VN\u20AB'], + 'UYU': [2, '$', '$U'], + 'VND': [48, '\u20AB', 'VN\u20AB'], 'YER': [0, 'Rial', 'Rial'], 'ZAR': [2, 'R', 'ZAR'] }; @@ -306,19 +370,23 @@ goog.i18n.currency.CurrencyInfo = { /** * Tier 2 currency information. - * @type {!Object.} + * + * It's not recommended to read this data directly. Format numbers using + * {@link goog.i18n.NumberFormat} with + * {@link goog.i18n.NumberFormat.Format.CURRENCY} instead. + * + * @const {!Object>} */ goog.i18n.currency.CurrencyInfoTier2 = { - 'AFN': [16, 'Af.', 'AFN'], - 'ALL': [0, 'Lek', 'Lek'], - 'AMD': [0, 'Dram', 'dram'], + 'AFN': [48, 'Af.', 'AFN'], + 'AMD': [32, 'Dram', 'dram'], + 'ANG': [2, 'NAf.', 'ANG'], 'AOA': [2, 'Kz', 'Kz'], - 'ARS': [2, '$', 'AR$'], + 'ARS': [34, '$', 'AR$'], 'AWG': [2, 'Afl.', 'Afl.'], - 'AZN': [2, 'man.', 'man.'], - 'BAM': [18, 'KM', 'KM'], + 'AZN': [34, '\u20bc', 'AZN'], + 'BAM': [2, 'KM', 'KM'], 'BBD': [2, '$', 'Bds$'], - 'BGN': [2, 'lev', 'lev'], 'BHD': [3, 'din', 'din'], 'BIF': [0, 'FBu', 'FBu'], 'BMD': [2, '$', 'BD$'], @@ -327,16 +395,14 @@ goog.i18n.currency.CurrencyInfoTier2 = { 'BSD': [2, '$', 'BS$'], 'BTN': [2, 'Nu.', 'Nu.'], 'BWP': [2, 'P', 'pula'], - 'BYR': [0, 'BYR', 'BYR'], + 'BYR': [48, 'p.', 'BYR'], 'BZD': [2, '$', 'BZ$'], - 'CDF': [2, 'FrCD', 'CDF'], 'CUC': [1, '$', 'CUC$'], 'CUP': [2, '$', 'CU$'], 'CVE': [2, 'CVE', 'Esc'], 'DJF': [0, 'Fdj', 'Fdj'], 'DZD': [2, 'din', 'din'], 'ERN': [2, 'Nfk', 'Nfk'], - 'ETB': [2, 'Birr', 'Birr'], 'FJD': [2, '$', 'FJ$'], 'FKP': [2, '£', 'FK£'], 'GEL': [2, 'GEL', 'GEL'], @@ -347,12 +413,8 @@ goog.i18n.currency.CurrencyInfoTier2 = { 'GTQ': [2, 'Q', 'GTQ'], 'GYD': [0, '$', 'GY$'], 'HNL': [2, 'L', 'HNL'], - 'HRK': [2, 'kn', 'kn'], 'HTG': [2, 'HTG', 'HTG'], - 'HUF': [0, 'Ft', 'Ft'], - 'IDR': [0, 'Rp', 'Rp'], 'IQD': [0, 'din', 'IQD'], - 'IRR': [0, 'Rial', 'IRR'], 'JOD': [3, 'din', 'JOD'], 'KES': [2, 'Ksh', 'Ksh'], 'KGS': [2, 'KGS', 'KGS'], @@ -366,8 +428,6 @@ goog.i18n.currency.CurrencyInfoTier2 = { 'LBP': [0, 'L£', 'LBP'], 'LRD': [2, '$', 'L$'], 'LSL': [2, 'LSL', 'LSL'], - 'LTL': [2, 'Lt', 'Lt'], - 'LVL': [2, 'Ls', 'Ls'], 'LYD': [3, 'din', 'LD'], 'MAD': [2, 'dh', 'MAD'], 'MDL': [2, 'MDL', 'MDL'], @@ -386,11 +446,8 @@ goog.i18n.currency.CurrencyInfoTier2 = { 'NZD': [2, '$', 'NZ$'], 'OMR': [3, 'Rial', 'OMR'], 'PGK': [2, 'PGK', 'PGK'], - 'PLN': [2, 'z\u0142', 'z\u0142'], - 'PYG': [0, 'Gs', 'PYG'], + 'PYG': [16, 'Gs.', 'PYG'], 'QAR': [2, 'Rial', 'QR'], - 'RON': [2, 'RON', 'RON'], - 'RSD': [0, 'din', 'RSD'], 'RWF': [0, 'RF', 'RF'], 'SBD': [2, '$', 'SI$'], 'SCR': [2, 'SCR', 'SCR'], @@ -399,17 +456,15 @@ goog.i18n.currency.CurrencyInfoTier2 = { 'SLL': [0, 'SLL', 'SLL'], 'SOS': [0, 'SOS', 'SOS'], 'SRD': [2, '$', 'SR$'], + 'SSP': [2, '£', 'SSP'], 'STD': [0, 'Db', 'Db'], - 'SYP': [16, '£', 'SY£'], + 'SYP': [0, '£', 'SY£'], 'SZL': [2, 'SZL', 'SZL'], 'TJS': [2, 'Som', 'TJS'], 'TND': [3, 'din', 'DT'], 'TOP': [2, 'T$', 'T$'], 'TTD': [2, '$', 'TT$'], - 'TZS': [0, 'TSh', 'TSh'], - 'UAH': [2, '\u20B4', 'UAH'], 'UGX': [0, 'UGX', 'UGX'], - 'UYU': [1, '$', '$U'], 'UZS': [0, 'so\u02bcm', 'UZS'], 'VEF': [2, 'Bs', 'Bs'], 'VUV': [0, 'VUV', 'VUV'], @@ -417,6 +472,7 @@ goog.i18n.currency.CurrencyInfoTier2 = { 'XAF': [0, 'FCFA', 'FCFA'], 'XCD': [2, '$', 'EC$'], 'XOF': [0, 'CFA', 'CFA'], - 'XPF': [0, 'FCFP', 'FCFP'], - 'ZMK': [0, 'ZMK', 'ZMK'] + 'XPF': [48, 'FCFP', 'FCFP'], + 'ZMW': [0, 'ZMW', 'ZMW'], + 'ZWD': [0, '$', 'Z$'] }; diff --git a/i18n/closure/datetimeSymbols.js b/i18n/closure/datetimeSymbols.js new file mode 100644 index 000000000000..3cf4989fc799 --- /dev/null +++ b/i18n/closure/datetimeSymbols.js @@ -0,0 +1,3867 @@ +// Copyright 2011 The Closure Library Authors. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS-IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/** + * @fileoverview Date/time formatting symbols for all locales. + * + * File generated from CLDR ver. 31.0.1 + * + * To reduce the file size (which may cause issues in some JS + * developing environments), this file will only contain locales + * that are frequently used by web applications. This is defined as + * proto/closure_locales_data.txt and will change (most likely addition) + * over time. Rest of the data can be found in another file named + * "datetimesymbolsext.js", which will be generated at + * the same time together with this file. + * + * @suppress {const} + */ + +// clang-format off + +goog.provide('goog.i18n.DateTimeSymbols'); +goog.provide('goog.i18n.DateTimeSymbolsType'); +goog.provide('goog.i18n.DateTimeSymbols_en_ISO'); +goog.provide('goog.i18n.DateTimeSymbols_af'); +goog.provide('goog.i18n.DateTimeSymbols_am'); +goog.provide('goog.i18n.DateTimeSymbols_ar'); +goog.provide('goog.i18n.DateTimeSymbols_ar_DZ'); +goog.provide('goog.i18n.DateTimeSymbols_az'); +goog.provide('goog.i18n.DateTimeSymbols_be'); +goog.provide('goog.i18n.DateTimeSymbols_bg'); +goog.provide('goog.i18n.DateTimeSymbols_bn'); +goog.provide('goog.i18n.DateTimeSymbols_br'); +goog.provide('goog.i18n.DateTimeSymbols_bs'); +goog.provide('goog.i18n.DateTimeSymbols_ca'); +goog.provide('goog.i18n.DateTimeSymbols_chr'); +goog.provide('goog.i18n.DateTimeSymbols_cs'); +goog.provide('goog.i18n.DateTimeSymbols_cy'); +goog.provide('goog.i18n.DateTimeSymbols_da'); +goog.provide('goog.i18n.DateTimeSymbols_de'); +goog.provide('goog.i18n.DateTimeSymbols_de_AT'); +goog.provide('goog.i18n.DateTimeSymbols_de_CH'); +goog.provide('goog.i18n.DateTimeSymbols_el'); +goog.provide('goog.i18n.DateTimeSymbols_en'); +goog.provide('goog.i18n.DateTimeSymbols_en_AU'); +goog.provide('goog.i18n.DateTimeSymbols_en_CA'); +goog.provide('goog.i18n.DateTimeSymbols_en_GB'); +goog.provide('goog.i18n.DateTimeSymbols_en_IE'); +goog.provide('goog.i18n.DateTimeSymbols_en_IN'); +goog.provide('goog.i18n.DateTimeSymbols_en_SG'); +goog.provide('goog.i18n.DateTimeSymbols_en_US'); +goog.provide('goog.i18n.DateTimeSymbols_en_ZA'); +goog.provide('goog.i18n.DateTimeSymbols_es'); +goog.provide('goog.i18n.DateTimeSymbols_es_419'); +goog.provide('goog.i18n.DateTimeSymbols_es_ES'); +goog.provide('goog.i18n.DateTimeSymbols_es_MX'); +goog.provide('goog.i18n.DateTimeSymbols_es_US'); +goog.provide('goog.i18n.DateTimeSymbols_et'); +goog.provide('goog.i18n.DateTimeSymbols_eu'); +goog.provide('goog.i18n.DateTimeSymbols_fa'); +goog.provide('goog.i18n.DateTimeSymbols_fi'); +goog.provide('goog.i18n.DateTimeSymbols_fil'); +goog.provide('goog.i18n.DateTimeSymbols_fr'); +goog.provide('goog.i18n.DateTimeSymbols_fr_CA'); +goog.provide('goog.i18n.DateTimeSymbols_ga'); +goog.provide('goog.i18n.DateTimeSymbols_gl'); +goog.provide('goog.i18n.DateTimeSymbols_gsw'); +goog.provide('goog.i18n.DateTimeSymbols_gu'); +goog.provide('goog.i18n.DateTimeSymbols_haw'); +goog.provide('goog.i18n.DateTimeSymbols_he'); +goog.provide('goog.i18n.DateTimeSymbols_hi'); +goog.provide('goog.i18n.DateTimeSymbols_hr'); +goog.provide('goog.i18n.DateTimeSymbols_hu'); +goog.provide('goog.i18n.DateTimeSymbols_hy'); +goog.provide('goog.i18n.DateTimeSymbols_id'); +goog.provide('goog.i18n.DateTimeSymbols_in'); +goog.provide('goog.i18n.DateTimeSymbols_is'); +goog.provide('goog.i18n.DateTimeSymbols_it'); +goog.provide('goog.i18n.DateTimeSymbols_iw'); +goog.provide('goog.i18n.DateTimeSymbols_ja'); +goog.provide('goog.i18n.DateTimeSymbols_ka'); +goog.provide('goog.i18n.DateTimeSymbols_kk'); +goog.provide('goog.i18n.DateTimeSymbols_km'); +goog.provide('goog.i18n.DateTimeSymbols_kn'); +goog.provide('goog.i18n.DateTimeSymbols_ko'); +goog.provide('goog.i18n.DateTimeSymbols_ky'); +goog.provide('goog.i18n.DateTimeSymbols_ln'); +goog.provide('goog.i18n.DateTimeSymbols_lo'); +goog.provide('goog.i18n.DateTimeSymbols_lt'); +goog.provide('goog.i18n.DateTimeSymbols_lv'); +goog.provide('goog.i18n.DateTimeSymbols_mk'); +goog.provide('goog.i18n.DateTimeSymbols_ml'); +goog.provide('goog.i18n.DateTimeSymbols_mn'); +goog.provide('goog.i18n.DateTimeSymbols_mo'); +goog.provide('goog.i18n.DateTimeSymbols_mr'); +goog.provide('goog.i18n.DateTimeSymbols_ms'); +goog.provide('goog.i18n.DateTimeSymbols_mt'); +goog.provide('goog.i18n.DateTimeSymbols_my'); +goog.provide('goog.i18n.DateTimeSymbols_nb'); +goog.provide('goog.i18n.DateTimeSymbols_ne'); +goog.provide('goog.i18n.DateTimeSymbols_nl'); +goog.provide('goog.i18n.DateTimeSymbols_no'); +goog.provide('goog.i18n.DateTimeSymbols_no_NO'); +goog.provide('goog.i18n.DateTimeSymbols_or'); +goog.provide('goog.i18n.DateTimeSymbols_pa'); +goog.provide('goog.i18n.DateTimeSymbols_pl'); +goog.provide('goog.i18n.DateTimeSymbols_pt'); +goog.provide('goog.i18n.DateTimeSymbols_pt_BR'); +goog.provide('goog.i18n.DateTimeSymbols_pt_PT'); +goog.provide('goog.i18n.DateTimeSymbols_ro'); +goog.provide('goog.i18n.DateTimeSymbols_ru'); +goog.provide('goog.i18n.DateTimeSymbols_sh'); +goog.provide('goog.i18n.DateTimeSymbols_si'); +goog.provide('goog.i18n.DateTimeSymbols_sk'); +goog.provide('goog.i18n.DateTimeSymbols_sl'); +goog.provide('goog.i18n.DateTimeSymbols_sq'); +goog.provide('goog.i18n.DateTimeSymbols_sr'); +goog.provide('goog.i18n.DateTimeSymbols_sr_Latn'); +goog.provide('goog.i18n.DateTimeSymbols_sv'); +goog.provide('goog.i18n.DateTimeSymbols_sw'); +goog.provide('goog.i18n.DateTimeSymbols_ta'); +goog.provide('goog.i18n.DateTimeSymbols_te'); +goog.provide('goog.i18n.DateTimeSymbols_th'); +goog.provide('goog.i18n.DateTimeSymbols_tl'); +goog.provide('goog.i18n.DateTimeSymbols_tr'); +goog.provide('goog.i18n.DateTimeSymbols_uk'); +goog.provide('goog.i18n.DateTimeSymbols_ur'); +goog.provide('goog.i18n.DateTimeSymbols_uz'); +goog.provide('goog.i18n.DateTimeSymbols_vi'); +goog.provide('goog.i18n.DateTimeSymbols_zh'); +goog.provide('goog.i18n.DateTimeSymbols_zh_CN'); +goog.provide('goog.i18n.DateTimeSymbols_zh_HK'); +goog.provide('goog.i18n.DateTimeSymbols_zh_TW'); +goog.provide('goog.i18n.DateTimeSymbols_zu'); +/** + * Date/time formatting symbols for locale en_ISO. + */ +goog.i18n.DateTimeSymbols_en_ISO = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, y MMMM dd', 'y MMMM d', 'y MMM d', 'yyyy-MM-dd'], + TIMEFORMATS: ['HH:mm:ss v', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + AVAILABLEFORMATS: {'Md': 'M/d', 'MMMMd': 'MMMM d', 'MMMd': 'MMM d'}, + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 3 +}; + +/** + * Date/time formatting symbols for locale af. + */ +goog.i18n.DateTimeSymbols_af = { + ERAS: ['v.C.', 'n.C.'], + ERANAMES: ['voor Christus', 'na Christus'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['Januarie', 'Februarie', 'Maart', 'April', 'Mei', 'Junie', 'Julie', 'Augustus', 'September', 'Oktober', 'November', 'Desember'], + STANDALONEMONTHS: ['Januarie', 'Februarie', 'Maart', 'April', 'Mei', 'Junie', 'Julie', 'Augustus', 'September', 'Oktober', 'November', 'Desember'], + SHORTMONTHS: ['Jan.', 'Feb.', 'Mrt.', 'Apr.', 'Mei', 'Jun.', 'Jul.', 'Aug.', 'Sep.', 'Okt.', 'Nov.', 'Des.'], + STANDALONESHORTMONTHS: ['Jan.', 'Feb.', 'Mrt.', 'Apr.', 'Mei', 'Jun.', 'Jul.', 'Aug.', 'Sep.', 'Okt.', 'Nov.', 'Des.'], + WEEKDAYS: ['Sondag', 'Maandag', 'Dinsdag', 'Woensdag', 'Donderdag', 'Vrydag', 'Saterdag'], + STANDALONEWEEKDAYS: ['Sondag', 'Maandag', 'Dinsdag', 'Woensdag', 'Donderdag', 'Vrydag', 'Saterdag'], + SHORTWEEKDAYS: ['So.', 'Ma.', 'Di.', 'Wo.', 'Do.', 'Vr.', 'Sa.'], + STANDALONESHORTWEEKDAYS: ['So.', 'Ma.', 'Di.', 'Wo.', 'Do.', 'Vr.', 'Sa.'], + NARROWWEEKDAYS: ['S', 'M', 'D', 'W', 'D', 'V', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'D', 'W', 'D', 'V', 'S'], + SHORTQUARTERS: ['K1', 'K2', 'K3', 'K4'], + QUARTERS: ['1ste kwartaal', '2de kwartaal', '3de kwartaal', '4de kwartaal'], + AMPMS: ['vm.', 'nm.'], + DATEFORMATS: ['EEEE, dd MMMM y', 'dd MMMM y', 'dd MMM y', 'y-MM-dd'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 6, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 5 +}; + + +/** + * Date/time formatting symbols for locale am. + */ +goog.i18n.DateTimeSymbols_am = { + ERAS: ['ዓ/ዓ', 'ዓ/ም'], + ERANAMES: ['ዓመተ ዓለም', 'ዓመተ ምሕረት'], + NARROWMONTHS: ['ጃ', 'ፌ', 'ማ', 'ኤ', 'ሜ', 'ጁ', 'ጁ', 'ኦ', 'ሴ', 'ኦ', 'ኖ', 'ዲ'], + STANDALONENARROWMONTHS: ['ጃ', 'ፌ', 'ማ', 'ኤ', 'ሜ', 'ጁ', 'ጁ', 'ኦ', 'ሴ', 'ኦ', 'ኖ', 'ዲ'], + MONTHS: ['ጃንዩወሪ', 'ፌብሩወሪ', 'ማርች', 'ኤፕሪል', 'ሜይ', 'ጁን', 'ጁላይ', 'ኦገስት', 'ሴፕቴምበር', 'ኦክቶበር', 'ኖቬምበር', 'ዲሴምበር'], + STANDALONEMONTHS: ['ጃንዩወሪ', 'ፌብሩወሪ', 'ማርች', 'ኤፕሪል', 'ሜይ', 'ጁን', 'ጁላይ', 'ኦገስት', 'ሴፕቴምበር', 'ኦክቶበር', 'ኖቬምበር', 'ዲሴምበር'], + SHORTMONTHS: ['ጃንዩ', 'ፌብሩ', 'ማርች', 'ኤፕሪ', 'ሜይ', 'ጁን', 'ጁላይ', 'ኦገስ', 'ሴፕቴ', 'ኦክቶ', 'ኖቬም', 'ዲሴም'], + STANDALONESHORTMONTHS: ['ጃንዩ', 'ፌብሩ', 'ማርች', 'ኤፕሪ', 'ሜይ', 'ጁን', 'ጁላይ', 'ኦገስ', 'ሴፕቴ', 'ኦክቶ', 'ኖቬም', 'ዲሴም'], + WEEKDAYS: ['እሑድ', 'ሰኞ', 'ማክሰኞ', 'ረቡዕ', 'ሐሙስ', 'ዓርብ', 'ቅዳሜ'], + STANDALONEWEEKDAYS: ['እሑድ', 'ሰኞ', 'ማክሰኞ', 'ረቡዕ', 'ሐሙስ', 'ዓርብ', 'ቅዳሜ'], + SHORTWEEKDAYS: ['እሑድ', 'ሰኞ', 'ማክሰ', 'ረቡዕ', 'ሐሙስ', 'ዓርብ', 'ቅዳሜ'], + STANDALONESHORTWEEKDAYS: ['እሑድ', 'ሰኞ', 'ማክሰ', 'ረቡዕ', 'ሐሙስ', 'ዓርብ', 'ቅዳሜ'], + NARROWWEEKDAYS: ['እ', 'ሰ', 'ማ', 'ረ', 'ሐ', 'ዓ', 'ቅ'], + STANDALONENARROWWEEKDAYS: ['እ', 'ሰ', 'ማ', 'ረ', 'ሐ', 'ዓ', 'ቅ'], + SHORTQUARTERS: ['ሩብ1', 'ሩብ2', 'ሩብ3', 'ሩብ4'], + QUARTERS: ['1ኛው ሩብ', '2ኛው ሩብ', '3ኛው ሩብ', '4ኛው ሩብ'], + AMPMS: ['ጥዋት', 'ከሰዓት'], + DATEFORMATS: ['EEEE ፣d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 6, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 5 +}; + + +/** + * Date/time formatting symbols for locale ar. + */ +goog.i18n.DateTimeSymbols_ar = { + ZERODIGIT: 0x0660, + ERAS: ['ق.م', 'م'], + ERANAMES: ['قبل الميلاد', 'ميلادي'], + NARROWMONTHS: ['ي', 'ف', 'م', 'أ', 'و', 'ن', 'ل', 'غ', 'س', 'ك', 'ب', 'د'], + STANDALONENARROWMONTHS: ['ي', 'ف', 'م', 'أ', 'و', 'ن', 'ل', 'غ', 'س', 'ك', 'ب', 'د'], + MONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], + STANDALONEMONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], + SHORTMONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], + STANDALONESHORTMONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], + WEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + STANDALONEWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + SHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + STANDALONESHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + NARROWWEEKDAYS: ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'], + STANDALONENARROWWEEKDAYS: ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'], + SHORTQUARTERS: ['الربع الأول', 'الربع الثاني', 'الربع الثالث', 'الربع الرابع'], + QUARTERS: ['الربع الأول', 'الربع الثاني', 'الربع الثالث', 'الربع الرابع'], + AMPMS: ['ص', 'م'], + DATEFORMATS: ['EEEE، d MMMM، y', 'd MMMM، y', 'dd‏/MM‏/y', 'd‏/M‏/y'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 5, + WEEKENDRANGE: [4, 5], + FIRSTWEEKCUTOFFDAY: 4 +}; + + +/** + * Date/time formatting symbols for locale ar_DZ. + */ +goog.i18n.DateTimeSymbols_ar_DZ = { + ERAS: ['ق.م', 'م'], + ERANAMES: ['قبل الميلاد', 'ميلادي'], + NARROWMONTHS: ['ج', 'ف', 'م', 'أ', 'م', 'ج', 'ج', 'أ', 'س', 'أ', 'ن', 'د'], + STANDALONENARROWMONTHS: ['ج', 'ف', 'م', 'أ', 'م', 'ج', 'ج', 'أ', 'س', 'أ', 'ن', 'د'], + MONTHS: ['جانفي', 'فيفري', 'مارس', 'أفريل', 'ماي', 'جوان', 'جويلية', 'أوت', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], + STANDALONEMONTHS: ['جانفي', 'فيفري', 'مارس', 'أفريل', 'ماي', 'جوان', 'جويلية', 'أوت', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], + SHORTMONTHS: ['جانفي', 'فيفري', 'مارس', 'أفريل', 'ماي', 'جوان', 'جويلية', 'أوت', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], + STANDALONESHORTMONTHS: ['جانفي', 'فيفري', 'مارس', 'أفريل', 'ماي', 'جوان', 'جويلية', 'أوت', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], + WEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + STANDALONEWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + SHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + STANDALONESHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + NARROWWEEKDAYS: ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'], + STANDALONENARROWWEEKDAYS: ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'], + SHORTQUARTERS: ['الربع الأول', 'الربع الثاني', 'الربع الثالث', 'الربع الرابع'], + QUARTERS: ['الربع الأول', 'الربع الثاني', 'الربع الثالث', 'الربع الرابع'], + AMPMS: ['ص', 'م'], + DATEFORMATS: ['EEEE، d MMMM، y', 'd MMMM، y', 'dd‏/MM‏/y', 'd‏/M‏/y'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 5, + WEEKENDRANGE: [4, 5], + FIRSTWEEKCUTOFFDAY: 4 +}; + + +/** + * Date/time formatting symbols for locale az. + */ +goog.i18n.DateTimeSymbols_az = { + ERAS: ['e.ə.', 'y.e.'], + ERANAMES: ['eramızdan əvvəl', 'yeni era'], + NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + MONTHS: ['yanvar', 'fevral', 'mart', 'aprel', 'may', 'iyun', 'iyul', 'avqust', 'sentyabr', 'oktyabr', 'noyabr', 'dekabr'], + STANDALONEMONTHS: ['Yanvar', 'Fevral', 'Mart', 'Aprel', 'May', 'İyun', 'İyul', 'Avqust', 'Sentyabr', 'Oktyabr', 'Noyabr', 'Dekabr'], + SHORTMONTHS: ['yan', 'fev', 'mar', 'apr', 'may', 'iyn', 'iyl', 'avq', 'sen', 'okt', 'noy', 'dek'], + STANDALONESHORTMONTHS: ['yan', 'fev', 'mar', 'apr', 'may', 'iyn', 'iyl', 'avq', 'sen', 'okt', 'noy', 'dek'], + WEEKDAYS: ['bazar', 'bazar ertəsi', 'çərşənbə axşamı', 'çərşənbə', 'cümə axşamı', 'cümə', 'şənbə'], + STANDALONEWEEKDAYS: ['bazar', 'bazar ertəsi', 'çərşənbə axşamı', 'çərşənbə', 'cümə axşamı', 'cümə', 'şənbə'], + SHORTWEEKDAYS: ['B.', 'B.E.', 'Ç.A.', 'Ç.', 'C.A.', 'C.', 'Ş.'], + STANDALONESHORTWEEKDAYS: ['B.', 'B.E.', 'Ç.A.', 'Ç.', 'C.A.', 'C.', 'Ş.'], + NARROWWEEKDAYS: ['7', '1', '2', '3', '4', '5', '6'], + STANDALONENARROWWEEKDAYS: ['7', '1', '2', '3', '4', '5', '6'], + SHORTQUARTERS: ['1-ci kv.', '2-ci kv.', '3-cü kv.', '4-cü kv.'], + QUARTERS: ['1-ci kvartal', '2-ci kvartal', '3-cü kvartal', '4-cü kvartal'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['d MMMM y, EEEE', 'd MMMM y', 'd MMM y', 'dd.MM.yy'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale be. + */ +goog.i18n.DateTimeSymbols_be = { + ERAS: ['да н.э.', 'н.э.'], + ERANAMES: ['да нараджэння Хрыстова', 'ад нараджэння Хрыстова'], + NARROWMONTHS: ['с', 'л', 'с', 'к', 'м', 'ч', 'л', 'ж', 'в', 'к', 'л', 'с'], + STANDALONENARROWMONTHS: ['с', 'л', 'с', 'к', 'м', 'ч', 'л', 'ж', 'в', 'к', 'л', 'с'], + MONTHS: ['студзеня', 'лютага', 'сакавіка', 'красавіка', 'мая', 'чэрвеня', 'ліпеня', 'жніўня', 'верасня', 'кастрычніка', 'лістапада', 'снежня'], + STANDALONEMONTHS: ['студзень', 'люты', 'сакавік', 'красавік', 'май', 'чэрвень', 'ліпень', 'жнівень', 'верасень', 'кастрычнік', 'лістапад', 'снежань'], + SHORTMONTHS: ['сту', 'лют', 'сак', 'кра', 'мая', 'чэр', 'ліп', 'жні', 'вер', 'кас', 'ліс', 'сне'], + STANDALONESHORTMONTHS: ['сту', 'лют', 'сак', 'кра', 'май', 'чэр', 'ліп', 'жні', 'вер', 'кас', 'ліс', 'сне'], + WEEKDAYS: ['нядзеля', 'панядзелак', 'аўторак', 'серада', 'чацвер', 'пятніца', 'субота'], + STANDALONEWEEKDAYS: ['нядзеля', 'панядзелак', 'аўторак', 'серада', 'чацвер', 'пятніца', 'субота'], + SHORTWEEKDAYS: ['нд', 'пн', 'аў', 'ср', 'чц', 'пт', 'сб'], + STANDALONESHORTWEEKDAYS: ['нд', 'пн', 'аў', 'ср', 'чц', 'пт', 'сб'], + NARROWWEEKDAYS: ['н', 'п', 'а', 'с', 'ч', 'п', 'с'], + STANDALONENARROWWEEKDAYS: ['н', 'п', 'а', 'с', 'ч', 'п', 'с'], + SHORTQUARTERS: ['1-шы кв.', '2-гі кв.', '3-ці кв.', '4-ты кв.'], + QUARTERS: ['1-шы квартал', '2-гі квартал', '3-ці квартал', '4-ты квартал'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM y \'г\'.', 'd MMMM y \'г\'.', 'd.MM.y', 'd.MM.yy'], + TIMEFORMATS: ['HH:mm:ss, zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'у\' {0}', '{1} \'у\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale bg. + */ +goog.i18n.DateTimeSymbols_bg = { + ERAS: ['пр.Хр.', 'сл.Хр.'], + ERANAMES: ['преди Христа', 'след Христа'], + NARROWMONTHS: ['я', 'ф', 'м', 'а', 'м', 'ю', 'ю', 'а', 'с', 'о', 'н', 'д'], + STANDALONENARROWMONTHS: ['я', 'ф', 'м', 'а', 'м', 'ю', 'ю', 'а', 'с', 'о', 'н', 'д'], + MONTHS: ['януари', 'февруари', 'март', 'април', 'май', 'юни', 'юли', 'август', 'септември', 'октомври', 'ноември', 'декември'], + STANDALONEMONTHS: ['януари', 'февруари', 'март', 'април', 'май', 'юни', 'юли', 'август', 'септември', 'октомври', 'ноември', 'декември'], + SHORTMONTHS: ['яну', 'фев', 'март', 'апр', 'май', 'юни', 'юли', 'авг', 'сеп', 'окт', 'ное', 'дек'], + STANDALONESHORTMONTHS: ['яну', 'фев', 'март', 'апр', 'май', 'юни', 'юли', 'авг', 'сеп', 'окт', 'ное', 'дек'], + WEEKDAYS: ['неделя', 'понеделник', 'вторник', 'сряда', 'четвъртък', 'петък', 'събота'], + STANDALONEWEEKDAYS: ['неделя', 'понеделник', 'вторник', 'сряда', 'четвъртък', 'петък', 'събота'], + SHORTWEEKDAYS: ['нд', 'пн', 'вт', 'ср', 'чт', 'пт', 'сб'], + STANDALONESHORTWEEKDAYS: ['нд', 'пн', 'вт', 'ср', 'чт', 'пт', 'сб'], + NARROWWEEKDAYS: ['н', 'п', 'в', 'с', 'ч', 'п', 'с'], + STANDALONENARROWWEEKDAYS: ['н', 'п', 'в', 'с', 'ч', 'п', 'с'], + SHORTQUARTERS: ['1. трим.', '2. трим.', '3. трим.', '4. трим.'], + QUARTERS: ['1. тримесечие', '2. тримесечие', '3. тримесечие', '4. тримесечие'], + AMPMS: ['пр.об.', 'сл.об.'], + DATEFORMATS: ['EEEE, d MMMM y \'г\'.', 'd MMMM y \'г\'.', 'd.MM.y \'г\'.', 'd.MM.yy \'г\'.'], + TIMEFORMATS: ['H:mm:ss zzzz', 'H:mm:ss z', 'H:mm:ss', 'H:mm'], + DATETIMEFORMATS: ['{1}, {0}', '{1}, {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 3 +}; + + +/** + * Date/time formatting symbols for locale bn. + */ +goog.i18n.DateTimeSymbols_bn = { + ZERODIGIT: 0x09E6, + ERAS: ['খ্রিস্টপূর্ব', 'খৃষ্টাব্দ'], + ERANAMES: ['খ্রিস্টপূর্ব', 'খৃষ্টাব্দ'], + NARROWMONTHS: ['জা', 'ফে', 'মা', 'এ', 'মে', 'জুন', 'জু', 'আ', 'সে', 'অ', 'ন', 'ডি'], + STANDALONENARROWMONTHS: ['জা', 'ফে', 'মা', 'এ', 'মে', 'জুন', 'জু', 'আ', 'সে', 'অ', 'ন', 'ডি'], + MONTHS: ['জানুয়ারী', 'ফেব্রুয়ারী', 'মার্চ', 'এপ্রিল', 'মে', 'জুন', 'জুলাই', 'আগস্ট', 'সেপ্টেম্বর', 'অক্টোবর', 'নভেম্বর', 'ডিসেম্বর'], + STANDALONEMONTHS: ['জানুয়ারী', 'ফেব্রুয়ারী', 'মার্চ', 'এপ্রিল', 'মে', 'জুন', 'জুলাই', 'আগস্ট', 'সেপ্টেম্বর', 'অক্টোবর', 'নভেম্বর', 'ডিসেম্বর'], + SHORTMONTHS: ['জানু', 'ফেব', 'মার্চ', 'এপ্রিল', 'মে', 'জুন', 'জুলাই', 'আগস্ট', 'সেপ্টেম্বর', 'অক্টোবর', 'নভেম্বর', 'ডিসেম্বর'], + STANDALONESHORTMONTHS: ['জানুয়ারী', 'ফেব্রুয়ারী', 'মার্চ', 'এপ্রিল', 'মে', 'জুন', 'জুলাই', 'আগস্ট', 'সেপ্টেম্বর', 'অক্টোবর', 'নভেম্বর', 'ডিসেম্বর'], + WEEKDAYS: ['রবিবার', 'সোমবার', 'মঙ্গলবার', 'বুধবার', 'বৃহস্পতিবার', 'শুক্রবার', 'শনিবার'], + STANDALONEWEEKDAYS: ['রবিবার', 'সোমবার', 'মঙ্গলবার', 'বুধবার', 'বৃহষ্পতিবার', 'শুক্রবার', 'শনিবার'], + SHORTWEEKDAYS: ['রবি', 'সোম', 'মঙ্গল', 'বুধ', 'বৃহস্পতি', 'শুক্র', 'শনি'], + STANDALONESHORTWEEKDAYS: ['রবি', 'সোম', 'মঙ্গল', 'বুধ', 'বৃহস্পতি', 'শুক্র', 'শনি'], + NARROWWEEKDAYS: ['র', 'সো', 'ম', 'বু', 'বৃ', 'শু', 'শ'], + STANDALONENARROWWEEKDAYS: ['র', 'সো', 'ম', 'বু', 'বৃ', 'শু', 'শ'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['ত্রৈমাসিক', 'দ্বিতীয় ত্রৈমাসিক', 'তৃতীয় ত্রৈমাসিক', 'চতুর্থ ত্রৈমাসিক'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM, y', 'd MMMM, y', 'd MMM, y', 'd/M/yy'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 4, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 3 +}; + + +/** + * Date/time formatting symbols for locale br. + */ +goog.i18n.DateTimeSymbols_br = { + ERAS: ['a-raok J.K.', 'goude J.K.'], + ERANAMES: ['a-raok Jezuz-Krist', 'goude Jezuz-Krist'], + NARROWMONTHS: ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'], + STANDALONENARROWMONTHS: ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'], + MONTHS: ['Genver', 'Cʼhwevrer', 'Meurzh', 'Ebrel', 'Mae', 'Mezheven', 'Gouere', 'Eost', 'Gwengolo', 'Here', 'Du', 'Kerzu'], + STANDALONEMONTHS: ['Genver', 'Cʼhwevrer', 'Meurzh', 'Ebrel', 'Mae', 'Mezheven', 'Gouere', 'Eost', 'Gwengolo', 'Here', 'Du', 'Kerzu'], + SHORTMONTHS: ['Gen.', 'Cʼhwe.', 'Meur.', 'Ebr.', 'Mae', 'Mezh.', 'Goue.', 'Eost', 'Gwen.', 'Here', 'Du', 'Kzu.'], + STANDALONESHORTMONTHS: ['Gen.', 'Cʼhwe.', 'Meur.', 'Ebr.', 'Mae', 'Mezh.', 'Goue.', 'Eost', 'Gwen.', 'Here', 'Du', 'Ker.'], + WEEKDAYS: ['Sul', 'Lun', 'Meurzh', 'Mercʼher', 'Yaou', 'Gwener', 'Sadorn'], + STANDALONEWEEKDAYS: ['Sul', 'Lun', 'Meurzh', 'Mercʼher', 'Yaou', 'Gwener', 'Sadorn'], + SHORTWEEKDAYS: ['Sul', 'Lun', 'Meu.', 'Mer.', 'Yaou', 'Gwe.', 'Sad.'], + STANDALONESHORTWEEKDAYS: ['Sul', 'Lun', 'Meu.', 'Mer.', 'Yaou', 'Gwe.', 'Sad.'], + NARROWWEEKDAYS: ['Su', 'L', 'Mz', 'Mc', 'Y', 'G', 'Sa'], + STANDALONENARROWWEEKDAYS: ['Su', 'L', 'Mz', 'Mc', 'Y', 'G', 'Sa'], + SHORTQUARTERS: ['1añ trim.', '2l trim.', '3e trim.', '4e trim.'], + QUARTERS: ['1añ trimiziad', '2l trimiziad', '3e trimiziad', '4e trimiziad'], + AMPMS: ['A.M.', 'G.M.'], + DATEFORMATS: ['y MMMM d, EEEE', 'y MMMM d', 'y MMM d', 'y-MM-dd'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'da\' {0}', '{1} \'da\' {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 3 +}; + + +/** + * Date/time formatting symbols for locale bs. + */ +goog.i18n.DateTimeSymbols_bs = { + ERAS: ['p. n. e.', 'n. e.'], + ERANAMES: ['prije nove ere', 'nove ere'], + NARROWMONTHS: ['j', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', 'n', 'd'], + STANDALONENARROWMONTHS: ['j', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', 'n', 'd'], + MONTHS: ['januar', 'februar', 'mart', 'april', 'maj', 'juni', 'juli', 'avgust', 'septembar', 'oktobar', 'novembar', 'decembar'], + STANDALONEMONTHS: ['januar', 'februar', 'mart', 'april', 'maj', 'juni', 'juli', 'avgust', 'septembar', 'oktobar', 'novembar', 'decembar'], + SHORTMONTHS: ['jan', 'feb', 'mar', 'apr', 'maj', 'jun', 'jul', 'avg', 'sep', 'okt', 'nov', 'dec'], + STANDALONESHORTMONTHS: ['jan', 'feb', 'mar', 'apr', 'maj', 'jun', 'jul', 'avg', 'sep', 'okt', 'nov', 'dec'], + WEEKDAYS: ['nedjelja', 'ponedjeljak', 'utorak', 'srijeda', 'četvrtak', 'petak', 'subota'], + STANDALONEWEEKDAYS: ['nedjelja', 'ponedjeljak', 'utorak', 'srijeda', 'četvrtak', 'petak', 'subota'], + SHORTWEEKDAYS: ['ned', 'pon', 'uto', 'sri', 'čet', 'pet', 'sub'], + STANDALONESHORTWEEKDAYS: ['ned', 'pon', 'uto', 'sri', 'čet', 'pet', 'sub'], + NARROWWEEKDAYS: ['N', 'P', 'U', 'S', 'Č', 'P', 'S'], + STANDALONENARROWWEEKDAYS: ['n', 'p', 'u', 's', 'č', 'p', 's'], + SHORTQUARTERS: ['K1', 'K2', 'K3', 'K4'], + QUARTERS: ['Prvi kvartal', 'Drugi kvartal', 'Treći kvartal', 'Četvrti kvartal'], + AMPMS: ['prijepodne', 'popodne'], + DATEFORMATS: ['EEEE, d. MMMM y.', 'd. MMMM y.', 'd. MMM. y.', 'd.M.yy.'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'u\' {0}', '{1} \'u\' {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale ca. + */ +goog.i18n.DateTimeSymbols_ca = { + ERAS: ['aC', 'dC'], + ERANAMES: ['abans de Crist', 'després de Crist'], + NARROWMONTHS: ['GN', 'FB', 'MÇ', 'AB', 'MG', 'JN', 'JL', 'AG', 'ST', 'OC', 'NV', 'DS'], + STANDALONENARROWMONTHS: ['GN', 'FB', 'MÇ', 'AB', 'MG', 'JN', 'JL', 'AG', 'ST', 'OC', 'NV', 'DS'], + MONTHS: ['de gener', 'de febrer', 'de març', 'd’abril', 'de maig', 'de juny', 'de juliol', 'd’agost', 'de setembre', 'd’octubre', 'de novembre', 'de desembre'], + STANDALONEMONTHS: ['gener', 'febrer', 'març', 'abril', 'maig', 'juny', 'juliol', 'agost', 'setembre', 'octubre', 'novembre', 'desembre'], + SHORTMONTHS: ['de gen.', 'de febr.', 'de març', 'd’abr.', 'de maig', 'de juny', 'de jul.', 'd’ag.', 'de set.', 'd’oct.', 'de nov.', 'de des.'], + STANDALONESHORTMONTHS: ['gen.', 'febr.', 'març', 'abr.', 'maig', 'juny', 'jul.', 'ag.', 'set.', 'oct.', 'nov.', 'des.'], + WEEKDAYS: ['diumenge', 'dilluns', 'dimarts', 'dimecres', 'dijous', 'divendres', 'dissabte'], + STANDALONEWEEKDAYS: ['diumenge', 'dilluns', 'dimarts', 'dimecres', 'dijous', 'divendres', 'dissabte'], + SHORTWEEKDAYS: ['dg.', 'dl.', 'dt.', 'dc.', 'dj.', 'dv.', 'ds.'], + STANDALONESHORTWEEKDAYS: ['dg.', 'dl.', 'dt.', 'dc.', 'dj.', 'dv.', 'ds.'], + NARROWWEEKDAYS: ['dg', 'dl', 'dt', 'dc', 'dj', 'dv', 'ds'], + STANDALONENARROWWEEKDAYS: ['dg', 'dl', 'dt', 'dc', 'dj', 'dv', 'ds'], + SHORTQUARTERS: ['1T', '2T', '3T', '4T'], + QUARTERS: ['1r trimestre', '2n trimestre', '3r trimestre', '4t trimestre'], + AMPMS: ['a. m.', 'p. m.'], + DATEFORMATS: ['EEEE, d MMMM \'de\' y', 'd MMMM \'de\' y', 'd MMM y', 'd/M/yy'], + TIMEFORMATS: ['H:mm:ss zzzz', 'H:mm:ss z', 'H:mm:ss', 'H:mm'], + DATETIMEFORMATS: ['{1} \'a\' \'les\' {0}', '{1} \'a\' \'les\' {0}', '{1}, {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 3 +}; + + +/** + * Date/time formatting symbols for locale chr. + */ +goog.i18n.DateTimeSymbols_chr = { + ERAS: ['BC', 'AD'], + ERANAMES: ['ᏧᏓᎷᎸ ᎤᎷᎯᏍᏗ ᎦᎶᏁᏛ', 'ᎠᏃ ᏙᎻᏂ'], + NARROWMONTHS: ['Ꭴ', 'Ꭷ', 'Ꭰ', 'Ꭷ', 'Ꭰ', 'Ꮥ', 'Ꭻ', 'Ꭶ', 'Ꮪ', 'Ꮪ', 'Ꮕ', 'Ꭵ'], + STANDALONENARROWMONTHS: ['Ꭴ', 'Ꭷ', 'Ꭰ', 'Ꭷ', 'Ꭰ', 'Ꮥ', 'Ꭻ', 'Ꭶ', 'Ꮪ', 'Ꮪ', 'Ꮕ', 'Ꭵ'], + MONTHS: ['ᎤᏃᎸᏔᏅ', 'ᎧᎦᎵ', 'ᎠᏅᏱ', 'ᎧᏬᏂ', 'ᎠᏂᏍᎬᏘ', 'ᏕᎭᎷᏱ', 'ᎫᏰᏉᏂ', 'ᎦᎶᏂ', 'ᏚᎵᏍᏗ', 'ᏚᏂᏅᏗ', 'ᏅᏓᏕᏆ', 'ᎥᏍᎩᏱ'], + STANDALONEMONTHS: ['ᎤᏃᎸᏔᏅ', 'ᎧᎦᎵ', 'ᎠᏅᏱ', 'ᎧᏬᏂ', 'ᎠᏂᏍᎬᏘ', 'ᏕᎭᎷᏱ', 'ᎫᏰᏉᏂ', 'ᎦᎶᏂ', 'ᏚᎵᏍᏗ', 'ᏚᏂᏅᏗ', 'ᏅᏓᏕᏆ', 'ᎥᏍᎩᏱ'], + SHORTMONTHS: ['ᎤᏃ', 'ᎧᎦ', 'ᎠᏅ', 'ᎧᏬ', 'ᎠᏂ', 'ᏕᎭ', 'ᎫᏰ', 'ᎦᎶ', 'ᏚᎵ', 'ᏚᏂ', 'ᏅᏓ', 'ᎥᏍ'], + STANDALONESHORTMONTHS: ['ᎤᏃ', 'ᎧᎦ', 'ᎠᏅ', 'ᎧᏬ', 'ᎠᏂ', 'ᏕᎭ', 'ᎫᏰ', 'ᎦᎶ', 'ᏚᎵ', 'ᏚᏂ', 'ᏅᏓ', 'ᎥᏍ'], + WEEKDAYS: ['ᎤᎾᏙᏓᏆᏍᎬ', 'ᎤᎾᏙᏓᏉᏅᎯ', 'ᏔᎵᏁᎢᎦ', 'ᏦᎢᏁᎢᎦ', 'ᏅᎩᏁᎢᎦ', 'ᏧᎾᎩᎶᏍᏗ', 'ᎤᎾᏙᏓᏈᏕᎾ'], + STANDALONEWEEKDAYS: ['ᎤᎾᏙᏓᏆᏍᎬ', 'ᎤᎾᏙᏓᏉᏅᎯ', 'ᏔᎵᏁᎢᎦ', 'ᏦᎢᏁᎢᎦ', 'ᏅᎩᏁᎢᎦ', 'ᏧᎾᎩᎶᏍᏗ', 'ᎤᎾᏙᏓᏈᏕᎾ'], + SHORTWEEKDAYS: ['ᏆᏍᎬ', 'ᏉᏅᎯ', 'ᏔᎵᏁ', 'ᏦᎢᏁ', 'ᏅᎩᏁ', 'ᏧᎾᎩ', 'ᏈᏕᎾ'], + STANDALONESHORTWEEKDAYS: ['ᏆᏍᎬ', 'ᏉᏅᎯ', 'ᏔᎵᏁ', 'ᏦᎢᏁ', 'ᏅᎩᏁ', 'ᏧᎾᎩ', 'ᏈᏕᎾ'], + NARROWWEEKDAYS: ['Ꮖ', 'Ꮙ', 'Ꮤ', 'Ꮶ', 'Ꮕ', 'Ꮷ', 'Ꭴ'], + STANDALONENARROWWEEKDAYS: ['Ꮖ', 'Ꮙ', 'Ꮤ', 'Ꮶ', 'Ꮕ', 'Ꮷ', 'Ꭴ'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st ᎩᏄᏙᏗ', '2nd ᎩᏄᏙᏗ', '3rd ᎩᏄᏙᏗ', '4th ᎩᏄᏙᏗ'], + AMPMS: ['ᏌᎾᎴ', 'ᏒᎯᏱᎢᏗᏢ'], + DATEFORMATS: ['EEEE, MMMM d, y', 'MMMM d, y', 'MMM d, y', 'M/d/yy'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} ᎤᎾᎢ {0}', '{1} ᎤᎾᎢ {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 6, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 5 +}; + + +/** + * Date/time formatting symbols for locale cs. + */ +goog.i18n.DateTimeSymbols_cs = { + ERAS: ['př. n. l.', 'n. l.'], + ERANAMES: ['př. n. l.', 'n. l.'], + NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + MONTHS: ['ledna', 'února', 'března', 'dubna', 'května', 'června', 'července', 'srpna', 'září', 'října', 'listopadu', 'prosince'], + STANDALONEMONTHS: ['leden', 'únor', 'březen', 'duben', 'květen', 'červen', 'červenec', 'srpen', 'září', 'říjen', 'listopad', 'prosinec'], + SHORTMONTHS: ['led', 'úno', 'bře', 'dub', 'kvě', 'čvn', 'čvc', 'srp', 'zář', 'říj', 'lis', 'pro'], + STANDALONESHORTMONTHS: ['led', 'úno', 'bře', 'dub', 'kvě', 'čvn', 'čvc', 'srp', 'zář', 'říj', 'lis', 'pro'], + WEEKDAYS: ['neděle', 'pondělí', 'úterý', 'středa', 'čtvrtek', 'pátek', 'sobota'], + STANDALONEWEEKDAYS: ['neděle', 'pondělí', 'úterý', 'středa', 'čtvrtek', 'pátek', 'sobota'], + SHORTWEEKDAYS: ['ne', 'po', 'út', 'st', 'čt', 'pá', 'so'], + STANDALONESHORTWEEKDAYS: ['ne', 'po', 'út', 'st', 'čt', 'pá', 'so'], + NARROWWEEKDAYS: ['N', 'P', 'Ú', 'S', 'Č', 'P', 'S'], + STANDALONENARROWWEEKDAYS: ['N', 'P', 'Ú', 'S', 'Č', 'P', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1. čtvrtletí', '2. čtvrtletí', '3. čtvrtletí', '4. čtvrtletí'], + AMPMS: ['dop.', 'odp.'], + DATEFORMATS: ['EEEE d. MMMM y', 'd. MMMM y', 'd. M. y', 'dd.MM.yy'], + TIMEFORMATS: ['H:mm:ss zzzz', 'H:mm:ss z', 'H:mm:ss', 'H:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 3 +}; + + +/** + * Date/time formatting symbols for locale cy. + */ +goog.i18n.DateTimeSymbols_cy = { + ERAS: ['CC', 'OC'], + ERANAMES: ['Cyn Crist', 'Oed Crist'], + NARROWMONTHS: ['I', 'Ch', 'M', 'E', 'M', 'M', 'G', 'A', 'M', 'H', 'T', 'Rh'], + STANDALONENARROWMONTHS: ['I', 'Ch', 'M', 'E', 'M', 'M', 'G', 'A', 'M', 'H', 'T', 'Rh'], + MONTHS: ['Ionawr', 'Chwefror', 'Mawrth', 'Ebrill', 'Mai', 'Mehefin', 'Gorffennaf', 'Awst', 'Medi', 'Hydref', 'Tachwedd', 'Rhagfyr'], + STANDALONEMONTHS: ['Ionawr', 'Chwefror', 'Mawrth', 'Ebrill', 'Mai', 'Mehefin', 'Gorffennaf', 'Awst', 'Medi', 'Hydref', 'Tachwedd', 'Rhagfyr'], + SHORTMONTHS: ['Ion', 'Chwef', 'Maw', 'Ebrill', 'Mai', 'Meh', 'Gorff', 'Awst', 'Medi', 'Hyd', 'Tach', 'Rhag'], + STANDALONESHORTMONTHS: ['Ion', 'Chw', 'Maw', 'Ebr', 'Mai', 'Meh', 'Gor', 'Awst', 'Medi', 'Hyd', 'Tach', 'Rhag'], + WEEKDAYS: ['Dydd Sul', 'Dydd Llun', 'Dydd Mawrth', 'Dydd Mercher', 'Dydd Iau', 'Dydd Gwener', 'Dydd Sadwrn'], + STANDALONEWEEKDAYS: ['Dydd Sul', 'Dydd Llun', 'Dydd Mawrth', 'Dydd Mercher', 'Dydd Iau', 'Dydd Gwener', 'Dydd Sadwrn'], + SHORTWEEKDAYS: ['Sul', 'Llun', 'Maw', 'Mer', 'Iau', 'Gwen', 'Sad'], + STANDALONESHORTWEEKDAYS: ['Sul', 'Llun', 'Maw', 'Mer', 'Iau', 'Gwe', 'Sad'], + NARROWWEEKDAYS: ['S', 'Ll', 'M', 'M', 'I', 'G', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'Ll', 'M', 'M', 'I', 'G', 'S'], + SHORTQUARTERS: ['Ch1', 'Ch2', 'Ch3', 'Ch4'], + QUARTERS: ['chwarter 1af', '2il chwarter', '3ydd chwarter', '4ydd chwarter'], + AMPMS: ['yb', 'yh'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yy'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'am\' {0}', '{1} \'am\' {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 3 +}; + + +/** + * Date/time formatting symbols for locale da. + */ +goog.i18n.DateTimeSymbols_da = { + ERAS: ['f.Kr.', 'e.Kr.'], + ERANAMES: ['f.Kr.', 'e.Kr.'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['januar', 'februar', 'marts', 'april', 'maj', 'juni', 'juli', 'august', 'september', 'oktober', 'november', 'december'], + STANDALONEMONTHS: ['januar', 'februar', 'marts', 'april', 'maj', 'juni', 'juli', 'august', 'september', 'oktober', 'november', 'december'], + SHORTMONTHS: ['jan.', 'feb.', 'mar.', 'apr.', 'maj', 'jun.', 'jul.', 'aug.', 'sep.', 'okt.', 'nov.', 'dec.'], + STANDALONESHORTMONTHS: ['jan.', 'feb.', 'mar.', 'apr.', 'maj', 'jun.', 'jul.', 'aug.', 'sep.', 'okt.', 'nov.', 'dec.'], + WEEKDAYS: ['søndag', 'mandag', 'tirsdag', 'onsdag', 'torsdag', 'fredag', 'lørdag'], + STANDALONEWEEKDAYS: ['søndag', 'mandag', 'tirsdag', 'onsdag', 'torsdag', 'fredag', 'lørdag'], + SHORTWEEKDAYS: ['søn.', 'man.', 'tir.', 'ons.', 'tor.', 'fre.', 'lør.'], + STANDALONESHORTWEEKDAYS: ['søn', 'man', 'tir', 'ons', 'tor', 'fre', 'lør'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'O', 'T', 'F', 'L'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'O', 'T', 'F', 'L'], + SHORTQUARTERS: ['1. kvt.', '2. kvt.', '3. kvt.', '4. kvt.'], + QUARTERS: ['1. kvartal', '2. kvartal', '3. kvartal', '4. kvartal'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE \'den\' d. MMMM y', 'd. MMMM y', 'd. MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH.mm.ss zzzz', 'HH.mm.ss z', 'HH.mm.ss', 'HH.mm'], + DATETIMEFORMATS: ['{1} \'kl\'. {0}', '{1} \'kl\'. {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 3 +}; + + +/** + * Date/time formatting symbols for locale de. + */ +goog.i18n.DateTimeSymbols_de = { + ERAS: ['v. Chr.', 'n. Chr.'], + ERANAMES: ['v. Chr.', 'n. Chr.'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'], + STANDALONEMONTHS: ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'], + SHORTMONTHS: ['Jan.', 'Feb.', 'März', 'Apr.', 'Mai', 'Juni', 'Juli', 'Aug.', 'Sep.', 'Okt.', 'Nov.', 'Dez.'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mär', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'], + WEEKDAYS: ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag'], + STANDALONEWEEKDAYS: ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag'], + SHORTWEEKDAYS: ['So.', 'Mo.', 'Di.', 'Mi.', 'Do.', 'Fr.', 'Sa.'], + STANDALONESHORTWEEKDAYS: ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'], + NARROWWEEKDAYS: ['S', 'M', 'D', 'M', 'D', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'D', 'M', 'D', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1. Quartal', '2. Quartal', '3. Quartal', '4. Quartal'], + AMPMS: ['vorm.', 'nachm.'], + DATEFORMATS: ['EEEE, d. MMMM y', 'd. MMMM y', 'dd.MM.y', 'dd.MM.yy'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'um\' {0}', '{1} \'um\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 3 +}; + + +/** + * Date/time formatting symbols for locale de_AT. + */ +goog.i18n.DateTimeSymbols_de_AT = { + ERAS: ['v. Chr.', 'n. Chr.'], + ERANAMES: ['v. Chr.', 'n. Chr.'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['Jänner', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'], + STANDALONEMONTHS: ['Jänner', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'], + SHORTMONTHS: ['Jän.', 'Feb.', 'März', 'Apr.', 'Mai', 'Juni', 'Juli', 'Aug.', 'Sep.', 'Okt.', 'Nov.', 'Dez.'], + STANDALONESHORTMONTHS: ['Jän', 'Feb', 'Mär', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'], + WEEKDAYS: ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag'], + STANDALONEWEEKDAYS: ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag'], + SHORTWEEKDAYS: ['So.', 'Mo.', 'Di.', 'Mi.', 'Do.', 'Fr.', 'Sa.'], + STANDALONESHORTWEEKDAYS: ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'], + NARROWWEEKDAYS: ['S', 'M', 'D', 'M', 'D', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'D', 'M', 'D', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1. Quartal', '2. Quartal', '3. Quartal', '4. Quartal'], + AMPMS: ['vorm.', 'nachm.'], + DATEFORMATS: ['EEEE, d. MMMM y', 'd. MMMM y', 'dd.MM.y', 'dd.MM.yy'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'um\' {0}', '{1} \'um\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 3 +}; + + +/** + * Date/time formatting symbols for locale de_CH. + */ +goog.i18n.DateTimeSymbols_de_CH = goog.i18n.DateTimeSymbols_de; + + +/** + * Date/time formatting symbols for locale el. + */ +goog.i18n.DateTimeSymbols_el = { + ERAS: ['π.Χ.', 'μ.Χ.'], + ERANAMES: ['προ Χριστού', 'μετά Χριστόν'], + NARROWMONTHS: ['Ι', 'Φ', 'Μ', 'Α', 'Μ', 'Ι', 'Ι', 'Α', 'Σ', 'Ο', 'Ν', 'Δ'], + STANDALONENARROWMONTHS: ['Ι', 'Φ', 'Μ', 'Α', 'Μ', 'Ι', 'Ι', 'Α', 'Σ', 'Ο', 'Ν', 'Δ'], + MONTHS: ['Ιανουαρίου', 'Φεβρουαρίου', 'Μαρτίου', 'Απριλίου', 'Μαΐου', 'Ιουνίου', 'Ιουλίου', 'Αυγούστου', 'Σεπτεμβρίου', 'Οκτωβρίου', 'Νοεμβρίου', 'Δεκεμβρίου'], + STANDALONEMONTHS: ['Ιανουάριος', 'Φεβρουάριος', 'Μάρτιος', 'Απρίλιος', 'Μάιος', 'Ιούνιος', 'Ιούλιος', 'Αύγουστος', 'Σεπτέμβριος', 'Οκτώβριος', 'Νοέμβριος', 'Δεκέμβριος'], + SHORTMONTHS: ['Ιαν', 'Φεβ', 'Μαρ', 'Απρ', 'Μαΐ', 'Ιουν', 'Ιουλ', 'Αυγ', 'Σεπ', 'Οκτ', 'Νοε', 'Δεκ'], + STANDALONESHORTMONTHS: ['Ιαν', 'Φεβ', 'Μάρ', 'Απρ', 'Μάι', 'Ιούν', 'Ιούλ', 'Αύγ', 'Σεπ', 'Οκτ', 'Νοέ', 'Δεκ'], + WEEKDAYS: ['Κυριακή', 'Δευτέρα', 'Τρίτη', 'Τετάρτη', 'Πέμπτη', 'Παρασκευή', 'Σάββατο'], + STANDALONEWEEKDAYS: ['Κυριακή', 'Δευτέρα', 'Τρίτη', 'Τετάρτη', 'Πέμπτη', 'Παρασκευή', 'Σάββατο'], + SHORTWEEKDAYS: ['Κυρ', 'Δευ', 'Τρί', 'Τετ', 'Πέμ', 'Παρ', 'Σάβ'], + STANDALONESHORTWEEKDAYS: ['Κυρ', 'Δευ', 'Τρί', 'Τετ', 'Πέμ', 'Παρ', 'Σάβ'], + NARROWWEEKDAYS: ['Κ', 'Δ', 'Τ', 'Τ', 'Π', 'Π', 'Σ'], + STANDALONENARROWWEEKDAYS: ['Κ', 'Δ', 'Τ', 'Τ', 'Π', 'Π', 'Σ'], + SHORTQUARTERS: ['Τ1', 'Τ2', 'Τ3', 'Τ4'], + QUARTERS: ['1ο τρίμηνο', '2ο τρίμηνο', '3ο τρίμηνο', '4ο τρίμηνο'], + AMPMS: ['π.μ.', 'μ.μ.'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'd/M/yy'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} - {0}', '{1} - {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 3 +}; + + +/** + * Date/time formatting symbols for locale en. + */ +goog.i18n.DateTimeSymbols_en = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, MMMM d, y', 'MMMM d, y', 'MMM d, y', 'M/d/yy'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 6, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 5 +}; + + +/** + * Date/time formatting symbols for locale en_AU. + */ +goog.i18n.DateTimeSymbols_en_AU = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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.'], + STANDALONESHORTMONTHS: ['Jan.', 'Feb.', 'Mar.', 'Apr.', 'May', 'Jun.', 'Jul.', 'Aug.', 'Sep.', 'Oct.', 'Nov.', 'Dec.'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun.', 'Mon.', 'Tue.', 'Wed.', 'Thu.', 'Fri.', 'Sat.'], + STANDALONESHORTWEEKDAYS: ['Sun.', 'Mon.', 'Tue.', 'Wed.', 'Thu.', 'Fri.', 'Sat.'], + NARROWWEEKDAYS: ['Su.', 'M.', 'Tu.', 'W.', 'Th.', 'F.', 'Sa.'], + STANDALONENARROWWEEKDAYS: ['Su.', 'M.', 'Tu.', 'W.', 'Th.', 'F.', 'Sa.'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['am', 'pm'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'd/M/yy'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 6, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 5 +}; + + +/** + * Date/time formatting symbols for locale en_CA. + */ +goog.i18n.DateTimeSymbols_en_CA = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, MMMM d, y', 'MMMM d, y', 'MMM d, y', 'y-MM-dd'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 6, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 5 +}; + + +/** + * Date/time formatting symbols for locale en_GB. + */ +goog.i18n.DateTimeSymbols_en_GB = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['am', 'pm'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 3 +}; + + +/** + * Date/time formatting symbols for locale en_IE. + */ +goog.i18n.DateTimeSymbols_en_IE = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['a.m.', 'p.m.'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 6, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 2 +}; + + +/** + * Date/time formatting symbols for locale en_IN. + */ +goog.i18n.DateTimeSymbols_en_IN = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'dd-MMM-y', 'dd/MM/yy'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 6, + WEEKENDRANGE: [6, 6], + FIRSTWEEKCUTOFFDAY: 5 +}; + + +/** + * Date/time formatting symbols for locale en_SG. + */ +goog.i18n.DateTimeSymbols_en_SG = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'd/M/yy'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 6, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 5 +}; + + +/** + * Date/time formatting symbols for locale en_US. + */ +goog.i18n.DateTimeSymbols_en_US = goog.i18n.DateTimeSymbols_en; + + +/** + * Date/time formatting symbols for locale en_ZA. + */ +goog.i18n.DateTimeSymbols_en_ZA = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, dd MMMM y', 'dd MMMM y', 'dd MMM y', 'y/MM/dd'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 6, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 5 +}; + + +/** + * Date/time formatting symbols for locale es. + */ +goog.i18n.DateTimeSymbols_es = { + ERAS: ['a. C.', 'd. C.'], + ERANAMES: ['antes de Cristo', 'después de Cristo'], + NARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], + STANDALONEMONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], + SHORTMONTHS: ['ene.', 'feb.', 'mar.', 'abr.', 'may.', 'jun.', 'jul.', 'ago.', 'sept.', 'oct.', 'nov.', 'dic.'], + STANDALONESHORTMONTHS: ['ene.', 'feb.', 'mar.', 'abr.', 'may.', 'jun.', 'jul.', 'ago.', 'sept.', 'oct.', 'nov.', 'dic.'], + WEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'], + STANDALONEWEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'], + SHORTWEEKDAYS: ['dom.', 'lun.', 'mar.', 'mié.', 'jue.', 'vie.', 'sáb.'], + STANDALONESHORTWEEKDAYS: ['dom.', 'lun.', 'mar.', 'mié.', 'jue.', 'vie.', 'sáb.'], + NARROWWEEKDAYS: ['D', 'L', 'M', 'X', 'J', 'V', 'S'], + STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'X', 'J', 'V', 'S'], + SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], + QUARTERS: ['1.er trimestre', '2.º trimestre', '3.er trimestre', '4.º trimestre'], + AMPMS: ['a. m.', 'p. m.'], + DATEFORMATS: ['EEEE, d \'de\' MMMM \'de\' y', 'd \'de\' MMMM \'de\' y', 'd MMM y', 'd/M/yy'], + TIMEFORMATS: ['H:mm:ss (zzzz)', 'H:mm:ss z', 'H:mm:ss', 'H:mm'], + DATETIMEFORMATS: ['{1}, {0}', '{1}, {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 3 +}; + + +/** + * Date/time formatting symbols for locale es_419. + */ +goog.i18n.DateTimeSymbols_es_419 = { + ERAS: ['a. C.', 'd. C.'], + ERANAMES: ['antes de Cristo', 'después de Cristo'], + NARROWMONTHS: ['e', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', 'n', 'd'], + STANDALONENARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], + STANDALONEMONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], + SHORTMONTHS: ['ene.', 'feb.', 'mar.', 'abr.', 'may.', 'jun.', 'jul.', 'ago.', 'sep.', 'oct.', 'nov.', 'dic.'], + STANDALONESHORTMONTHS: ['ene.', 'feb.', 'mar.', 'abr.', 'may.', 'jun.', 'jul.', 'ago.', 'sep.', 'oct.', 'nov.', 'dic.'], + WEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'], + STANDALONEWEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'], + SHORTWEEKDAYS: ['dom.', 'lun.', 'mar.', 'mié.', 'jue.', 'vie.', 'sáb.'], + STANDALONESHORTWEEKDAYS: ['dom.', 'lun.', 'mar.', 'mié.', 'jue.', 'vie.', 'sáb.'], + NARROWWEEKDAYS: ['d', 'l', 'm', 'm', 'j', 'v', 's'], + STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], + SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], + QUARTERS: ['1.er trimestre', '2.º trimestre', '3.er trimestre', '4.º trimestre'], + AMPMS: ['a.m.', 'p.m.'], + DATEFORMATS: ['EEEE, d \'de\' MMMM \'de\' y', 'd \'de\' MMMM \'de\' y', 'd MMM y', 'd/M/yy'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1}, {0}', '{1}, {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale es_ES. + */ +goog.i18n.DateTimeSymbols_es_ES = goog.i18n.DateTimeSymbols_es; + + +/** + * Date/time formatting symbols for locale es_MX. + */ +goog.i18n.DateTimeSymbols_es_MX = { + ERAS: ['a. C.', 'd. C.'], + ERANAMES: ['antes de Cristo', 'después de Cristo'], + NARROWMONTHS: ['e', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', 'n', 'd'], + STANDALONENARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], + STANDALONEMONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], + SHORTMONTHS: ['ene', 'feb', 'mar', 'abr', 'may', 'jun', 'jul', 'ago', 'sep', 'oct', 'nov', 'dic'], + STANDALONESHORTMONTHS: ['ene.', 'feb.', 'mar.', 'abr.', 'may.', 'jun.', 'jul.', 'ago.', 'sep.', 'oct.', 'nov.', 'dic.'], + WEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'], + STANDALONEWEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'], + SHORTWEEKDAYS: ['dom.', 'lun.', 'mar.', 'mié.', 'jue.', 'vie.', 'sáb.'], + STANDALONESHORTWEEKDAYS: ['dom.', 'lun.', 'mar.', 'mié.', 'jue.', 'vie.', 'sáb.'], + NARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], + STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], + SHORTQUARTERS: ['1er. trim.', '2º. trim.', '3er. trim.', '4º trim.'], + QUARTERS: ['1er. trimestre', '2º. trimestre', '3er. trimestre', '4o. trimestre'], + AMPMS: ['a. m.', 'p. m.'], + DATEFORMATS: ['EEEE, d \'de\' MMMM \'de\' y', 'd \'de\' MMMM \'de\' y', 'dd/MM/y', 'dd/MM/yy'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1}, {0}', '{1}, {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 6, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 5 +}; + + +/** + * Date/time formatting symbols for locale es_US. + */ +goog.i18n.DateTimeSymbols_es_US = { + ERAS: ['a. C.', 'd. C.'], + ERANAMES: ['antes de Cristo', 'después de Cristo'], + NARROWMONTHS: ['e', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', 'n', 'd'], + STANDALONENARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], + STANDALONEMONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], + SHORTMONTHS: ['ene.', 'feb.', 'mar.', 'abr.', 'may.', 'jun.', 'jul.', 'ago.', 'sep.', 'oct.', 'nov.', 'dic.'], + STANDALONESHORTMONTHS: ['ene.', 'feb.', 'mar.', 'abr.', 'may.', 'jun.', 'jul.', 'ago.', 'sep.', 'oct.', 'nov.', 'dic.'], + WEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'], + STANDALONEWEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'], + SHORTWEEKDAYS: ['dom.', 'lun.', 'mar.', 'mié.', 'jue.', 'vie.', 'sáb.'], + STANDALONESHORTWEEKDAYS: ['dom.', 'lun.', 'mar.', 'mié.', 'jue.', 'vie.', 'sáb.'], + NARROWWEEKDAYS: ['d', 'l', 'm', 'm', 'j', 'v', 's'], + STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], + SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], + QUARTERS: ['1.er trimestre', '2.º trimestre', '3.er trimestre', '4.º trimestre'], + AMPMS: ['a. m.', 'p. m.'], + DATEFORMATS: ['EEEE, d \'de\' MMMM \'de\' y', 'd \'de\' MMMM \'de\' y', 'd MMM y', 'd/M/yy'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1}, {0}', '{1}, {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 6, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 5 +}; + + +/** + * Date/time formatting symbols for locale et. + */ +goog.i18n.DateTimeSymbols_et = { + ERAS: ['eKr', 'pKr'], + ERANAMES: ['enne Kristust', 'pärast Kristust'], + NARROWMONTHS: ['J', 'V', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'V', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['jaanuar', 'veebruar', 'märts', 'aprill', 'mai', 'juuni', 'juuli', 'august', 'september', 'oktoober', 'november', 'detsember'], + STANDALONEMONTHS: ['jaanuar', 'veebruar', 'märts', 'aprill', 'mai', 'juuni', 'juuli', 'august', 'september', 'oktoober', 'november', 'detsember'], + SHORTMONTHS: ['jaan', 'veebr', 'märts', 'apr', 'mai', 'juuni', 'juuli', 'aug', 'sept', 'okt', 'nov', 'dets'], + STANDALONESHORTMONTHS: ['jaan', 'veebr', 'märts', 'apr', 'mai', 'juuni', 'juuli', 'aug', 'sept', 'okt', 'nov', 'dets'], + WEEKDAYS: ['pühapäev', 'esmaspäev', 'teisipäev', 'kolmapäev', 'neljapäev', 'reede', 'laupäev'], + STANDALONEWEEKDAYS: ['pühapäev', 'esmaspäev', 'teisipäev', 'kolmapäev', 'neljapäev', 'reede', 'laupäev'], + SHORTWEEKDAYS: ['P', 'E', 'T', 'K', 'N', 'R', 'L'], + STANDALONESHORTWEEKDAYS: ['P', 'E', 'T', 'K', 'N', 'R', 'L'], + NARROWWEEKDAYS: ['P', 'E', 'T', 'K', 'N', 'R', 'L'], + STANDALONENARROWWEEKDAYS: ['P', 'E', 'T', 'K', 'N', 'R', 'L'], + SHORTQUARTERS: ['K1', 'K2', 'K3', 'K4'], + QUARTERS: ['1. kvartal', '2. kvartal', '3. kvartal', '4. kvartal'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d. MMMM y', 'd. MMMM y', 'd. MMM y', 'dd.MM.yy'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 3 +}; + + +/** + * Date/time formatting symbols for locale eu. + */ +goog.i18n.DateTimeSymbols_eu = { + ERAS: ['K.a.', 'K.o.'], + ERANAMES: ['K.a.', 'Kristo ondoren'], + NARROWMONTHS: ['U', 'O', 'M', 'A', 'M', 'E', 'U', 'A', 'I', 'U', 'A', 'A'], + STANDALONENARROWMONTHS: ['U', 'O', 'M', 'A', 'M', 'E', 'U', 'A', 'I', 'U', 'A', 'A'], + MONTHS: ['urtarrila', 'otsaila', 'martxoa', 'apirila', 'maiatza', 'ekaina', 'uztaila', 'abuztua', 'iraila', 'urria', 'azaroa', 'abendua'], + STANDALONEMONTHS: ['urtarrila', 'Otsaila', 'Martxoa', 'Apirila', 'Maiatza', 'Ekaina', 'Uztaila', 'Abuztua', 'Iraila', 'Urria', 'Azaroa', 'Abendua'], + SHORTMONTHS: ['urt.', 'ots.', 'mar.', 'api.', 'mai.', 'eka.', 'uzt.', 'abu.', 'ira.', 'urr.', 'aza.', 'abe.'], + STANDALONESHORTMONTHS: ['urt.', 'ots.', 'mar.', 'api.', 'mai.', 'eka.', 'uzt.', 'abu.', 'ira.', 'urr.', 'aza.', 'abe.'], + WEEKDAYS: ['igandea', 'astelehena', 'asteartea', 'asteazkena', 'osteguna', 'ostirala', 'larunbata'], + STANDALONEWEEKDAYS: ['Igandea', 'Astelehena', 'Asteartea', 'Asteazkena', 'Osteguna', 'Ostirala', 'Larunbata'], + SHORTWEEKDAYS: ['ig.', 'al.', 'ar.', 'az.', 'og.', 'or.', 'lr.'], + STANDALONESHORTWEEKDAYS: ['ig.', 'al.', 'ar.', 'az.', 'og.', 'or.', 'lr.'], + NARROWWEEKDAYS: ['I', 'A', 'A', 'A', 'O', 'O', 'L'], + STANDALONENARROWWEEKDAYS: ['I', 'A', 'A', 'A', 'O', 'O', 'L'], + SHORTQUARTERS: ['1Hh', '2Hh', '3Hh', '4Hh'], + QUARTERS: ['1. hiruhilekoa', '2. hiruhilekoa', '3. hiruhilekoa', '4. hiruhilekoa'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['y(\'e\')\'ko\' MMMM d, EEEE', 'y(\'e\')\'ko\' MMMM d', 'y MMM d', 'yy/M/d'], + TIMEFORMATS: ['HH:mm:ss (zzzz)', 'HH:mm:ss (z)', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 3 +}; + + +/** + * Date/time formatting symbols for locale fa. + */ +goog.i18n.DateTimeSymbols_fa = { + ZERODIGIT: 0x06F0, + ERAS: ['ق.م.', 'م.'], + ERANAMES: ['قبل از میلاد', 'میلادی'], + NARROWMONTHS: ['ژ', 'ف', 'م', 'آ', 'م', 'ژ', 'ژ', 'ا', 'س', 'ا', 'ن', 'د'], + STANDALONENARROWMONTHS: ['ژ', 'ف', 'م', 'آ', 'م', 'ژ', 'ژ', 'ا', 'س', 'ا', 'ن', 'د'], + MONTHS: ['ژانویهٔ', 'فوریهٔ', 'مارس', 'آوریل', 'مهٔ', 'ژوئن', 'ژوئیهٔ', 'اوت', 'سپتامبر', 'اکتبر', 'نوامبر', 'دسامبر'], + STANDALONEMONTHS: ['ژانویه', 'فوریه', 'مارس', 'آوریل', 'مه', 'ژوئن', 'ژوئیه', 'اوت', 'سپتامبر', 'اکتبر', 'نوامبر', 'دسامبر'], + SHORTMONTHS: ['ژانویهٔ', 'فوریهٔ', 'مارس', 'آوریل', 'مهٔ', 'ژوئن', 'ژوئیهٔ', 'اوت', 'سپتامبر', 'اکتبر', 'نوامبر', 'دسامبر'], + STANDALONESHORTMONTHS: ['ژانویه', 'فوریه', 'مارس', 'آوریل', 'مه', 'ژوئن', 'ژوئیه', 'اوت', 'سپتامبر', 'اکتبر', 'نوامبر', 'دسامبر'], + WEEKDAYS: ['یکشنبه', 'دوشنبه', 'سه‌شنبه', 'چهارشنبه', 'پنجشنبه', 'جمعه', 'شنبه'], + STANDALONEWEEKDAYS: ['یکشنبه', 'دوشنبه', 'سه‌شنبه', 'چهارشنبه', 'پنجشنبه', 'جمعه', 'شنبه'], + SHORTWEEKDAYS: ['یکشنبه', 'دوشنبه', 'سه‌شنبه', 'چهارشنبه', 'پنجشنبه', 'جمعه', 'شنبه'], + STANDALONESHORTWEEKDAYS: ['یکشنبه', 'دوشنبه', 'سه‌شنبه', 'چهارشنبه', 'پنجشنبه', 'جمعه', 'شنبه'], + NARROWWEEKDAYS: ['ی', 'د', 'س', 'چ', 'پ', 'ج', 'ش'], + STANDALONENARROWWEEKDAYS: ['ی', 'د', 'س', 'چ', 'پ', 'ج', 'ش'], + SHORTQUARTERS: ['س‌م۱', 'س‌م۲', 'س‌م۳', 'س‌م۴'], + QUARTERS: ['سه‌ماههٔ اول', 'سه‌ماههٔ دوم', 'سه‌ماههٔ سوم', 'سه‌ماههٔ چهارم'], + AMPMS: ['قبل‌ازظهر', 'بعدازظهر'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'y/M/d'], + TIMEFORMATS: ['H:mm:ss (zzzz)', 'H:mm:ss (z)', 'H:mm:ss', 'H:mm'], + DATETIMEFORMATS: ['{1}، ساعت {0}', '{1}، ساعت {0}', '{1}،‏ {0}', '{1}،‏ {0}'], + FIRSTDAYOFWEEK: 5, + WEEKENDRANGE: [4, 4], + FIRSTWEEKCUTOFFDAY: 4 +}; + + +/** + * Date/time formatting symbols for locale fi. + */ +goog.i18n.DateTimeSymbols_fi = { + ERAS: ['eKr.', 'jKr.'], + ERANAMES: ['ennen Kristuksen syntymää', 'jälkeen Kristuksen syntymän'], + NARROWMONTHS: ['T', 'H', 'M', 'H', 'T', 'K', 'H', 'E', 'S', 'L', 'M', 'J'], + STANDALONENARROWMONTHS: ['T', 'H', 'M', 'H', 'T', 'K', 'H', 'E', 'S', 'L', 'M', 'J'], + MONTHS: ['tammikuuta', 'helmikuuta', 'maaliskuuta', 'huhtikuuta', 'toukokuuta', 'kesäkuuta', 'heinäkuuta', 'elokuuta', 'syyskuuta', 'lokakuuta', 'marraskuuta', 'joulukuuta'], + STANDALONEMONTHS: ['tammikuu', 'helmikuu', 'maaliskuu', 'huhtikuu', 'toukokuu', 'kesäkuu', 'heinäkuu', 'elokuu', 'syyskuu', 'lokakuu', 'marraskuu', 'joulukuu'], + SHORTMONTHS: ['tammik.', 'helmik.', 'maalisk.', 'huhtik.', 'toukok.', 'kesäk.', 'heinäk.', 'elok.', 'syysk.', 'lokak.', 'marrask.', 'jouluk.'], + STANDALONESHORTMONTHS: ['tammi', 'helmi', 'maalis', 'huhti', 'touko', 'kesä', 'heinä', 'elo', 'syys', 'loka', 'marras', 'joulu'], + WEEKDAYS: ['sunnuntaina', 'maanantaina', 'tiistaina', 'keskiviikkona', 'torstaina', 'perjantaina', 'lauantaina'], + STANDALONEWEEKDAYS: ['sunnuntai', 'maanantai', 'tiistai', 'keskiviikko', 'torstai', 'perjantai', 'lauantai'], + SHORTWEEKDAYS: ['su', 'ma', 'ti', 'ke', 'to', 'pe', 'la'], + STANDALONESHORTWEEKDAYS: ['su', 'ma', 'ti', 'ke', 'to', 'pe', 'la'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'K', 'T', 'P', 'L'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'K', 'T', 'P', 'L'], + SHORTQUARTERS: ['1. nelj.', '2. nelj.', '3. nelj.', '4. nelj.'], + QUARTERS: ['1. neljännes', '2. neljännes', '3. neljännes', '4. neljännes'], + AMPMS: ['ap.', 'ip.'], + DATEFORMATS: ['cccc d. MMMM y', 'd. MMMM y', 'd.M.y', 'd.M.y'], + TIMEFORMATS: ['H.mm.ss zzzz', 'H.mm.ss z', 'H.mm.ss', 'H.mm'], + DATETIMEFORMATS: ['{1} \'klo\' {0}', '{1} \'klo\' {0}', '{1} \'klo\' {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 3 +}; + + +/** + * Date/time formatting symbols for locale fil. + */ +goog.i18n.DateTimeSymbols_fil = { + ERAS: ['BC', 'AD'], + ERANAMES: ['BC', 'AD'], + NARROWMONTHS: ['Ene', 'Peb', 'Mar', 'Abr', 'May', 'Hun', 'Hul', 'Ago', 'Set', 'Okt', 'Nob', 'Dis'], + STANDALONENARROWMONTHS: ['E', 'P', 'M', 'A', 'M', 'Hun', 'Hul', 'Ago', 'Set', 'Okt', 'Nob', 'Dis'], + MONTHS: ['Enero', 'Pebrero', 'Marso', 'Abril', 'Mayo', 'Hunyo', 'Hulyo', 'Agosto', 'Setyembre', 'Oktubre', 'Nobyembre', 'Disyembre'], + STANDALONEMONTHS: ['Enero', 'Pebrero', 'Marso', 'Abril', 'Mayo', 'Hunyo', 'Hulyo', 'Agosto', 'Setyembre', 'Oktubre', 'Nobyembre', 'Disyembre'], + SHORTMONTHS: ['Ene', 'Peb', 'Mar', 'Abr', 'May', 'Hun', 'Hul', 'Ago', 'Set', 'Okt', 'Nob', 'Dis'], + STANDALONESHORTMONTHS: ['Ene', 'Peb', 'Mar', 'Abr', 'May', 'Hun', 'Hul', 'Ago', 'Set', 'Okt', 'Nob', 'Dis'], + WEEKDAYS: ['Linggo', 'Lunes', 'Martes', 'Miyerkules', 'Huwebes', 'Biyernes', 'Sabado'], + STANDALONEWEEKDAYS: ['Linggo', 'Lunes', 'Martes', 'Miyerkules', 'Huwebes', 'Biyernes', 'Sabado'], + SHORTWEEKDAYS: ['Lin', 'Lun', 'Mar', 'Miy', 'Huw', 'Biy', 'Sab'], + STANDALONESHORTWEEKDAYS: ['Lin', 'Lun', 'Mar', 'Miy', 'Huw', 'Biy', 'Sab'], + NARROWWEEKDAYS: ['Lin', 'Lun', 'Mar', 'Miy', 'Huw', 'Biy', 'Sab'], + STANDALONENARROWWEEKDAYS: ['Lin', 'Lun', 'Mar', 'Miy', 'Huw', 'Biy', 'Sab'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['ika-1 quarter', 'ika-2 quarter', 'ika-3 quarter', 'ika-4 na quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, MMMM d, y', 'MMMM d, y', 'MMM d, y', 'M/d/yy'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} \'nang\' {0}', '{1} \'nang\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 6, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 5 +}; + + +/** + * Date/time formatting symbols for locale fr. + */ +goog.i18n.DateTimeSymbols_fr = { + ERAS: ['av. J.-C.', 'ap. J.-C.'], + ERANAMES: ['avant Jésus-Christ', 'après Jésus-Christ'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + SHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + STANDALONESHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], + STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], + SHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], + STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], + NARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], + STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], + SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], + QUARTERS: ['1er trimestre', '2e trimestre', '3e trimestre', '4e trimestre'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'à\' {0}', '{1} \'à\' {0}', '{1} \'à\' {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 3 +}; + + +/** + * Date/time formatting symbols for locale fr_CA. + */ +goog.i18n.DateTimeSymbols_fr_CA = { + ERAS: ['av. J.-C.', 'ap. J.-C.'], + ERANAMES: ['avant Jésus-Christ', 'après Jésus-Christ'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + SHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juill.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + STANDALONESHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juill.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], + STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], + SHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], + STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], + NARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], + STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], + SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], + QUARTERS: ['1er trimestre', '2e trimestre', '3e trimestre', '4e trimestre'], + AMPMS: ['a.m.', 'p.m.'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'yy-MM-dd'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH \'h\' mm'], + DATETIMEFORMATS: ['{1} \'à\' {0}', '{1} \'à\' {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 6, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 5 +}; + + +/** + * Date/time formatting symbols for locale ga. + */ +goog.i18n.DateTimeSymbols_ga = { + ERAS: ['RC', 'AD'], + ERANAMES: ['Roimh Chríost', 'Anno Domini'], + NARROWMONTHS: ['E', 'F', 'M', 'A', 'B', 'M', 'I', 'L', 'M', 'D', 'S', 'N'], + STANDALONENARROWMONTHS: ['E', 'F', 'M', 'A', 'B', 'M', 'I', 'L', 'M', 'D', 'S', 'N'], + MONTHS: ['Eanáir', 'Feabhra', 'Márta', 'Aibreán', 'Bealtaine', 'Meitheamh', 'Iúil', 'Lúnasa', 'Meán Fómhair', 'Deireadh Fómhair', 'Samhain', 'Nollaig'], + STANDALONEMONTHS: ['Eanáir', 'Feabhra', 'Márta', 'Aibreán', 'Bealtaine', 'Meitheamh', 'Iúil', 'Lúnasa', 'Meán Fómhair', 'Deireadh Fómhair', 'Samhain', 'Nollaig'], + SHORTMONTHS: ['Ean', 'Feabh', 'Márta', 'Aib', 'Beal', 'Meith', 'Iúil', 'Lún', 'MFómh', 'DFómh', 'Samh', 'Noll'], + STANDALONESHORTMONTHS: ['Ean', 'Feabh', 'Márta', 'Aib', 'Beal', 'Meith', 'Iúil', 'Lún', 'MFómh', 'DFómh', 'Samh', 'Noll'], + WEEKDAYS: ['Dé Domhnaigh', 'Dé Luain', 'Dé Máirt', 'Dé Céadaoin', 'Déardaoin', 'Dé hAoine', 'Dé Sathairn'], + STANDALONEWEEKDAYS: ['Dé Domhnaigh', 'Dé Luain', 'Dé Máirt', 'Dé Céadaoin', 'Déardaoin', 'Dé hAoine', 'Dé Sathairn'], + SHORTWEEKDAYS: ['Domh', 'Luan', 'Máirt', 'Céad', 'Déar', 'Aoine', 'Sath'], + STANDALONESHORTWEEKDAYS: ['Domh', 'Luan', 'Máirt', 'Céad', 'Déar', 'Aoine', 'Sath'], + NARROWWEEKDAYS: ['D', 'L', 'M', 'C', 'D', 'A', 'S'], + STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'C', 'D', 'A', 'S'], + SHORTQUARTERS: ['R1', 'R2', 'R3', 'R4'], + QUARTERS: ['1ú ráithe', '2ú ráithe', '3ú ráithe', '4ú ráithe'], + AMPMS: ['a.m.', 'p.m.'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 6, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 2 +}; + + +/** + * Date/time formatting symbols for locale gl. + */ +goog.i18n.DateTimeSymbols_gl = { + ERAS: ['a.C.', 'd.C.'], + ERANAMES: ['antes de Cristo', 'despois de Cristo'], + NARROWMONTHS: ['x.', 'f.', 'm.', 'a.', 'm.', 'x.', 'x.', 'a.', 's.', 'o.', 'n.', 'd.'], + STANDALONENARROWMONTHS: ['X', 'F', 'M', 'A', 'M', 'X', 'X', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['xaneiro', 'febreiro', 'marzo', 'abril', 'maio', 'xuño', 'xullo', 'agosto', 'setembro', 'outubro', 'novembro', 'decembro'], + STANDALONEMONTHS: ['Xaneiro', 'Febreiro', 'Marzo', 'Abril', 'Maio', 'Xuño', 'Xullo', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Decembro'], + SHORTMONTHS: ['xan.', 'feb.', 'mar.', 'abr.', 'maio', 'xuño', 'xul.', 'ago.', 'set.', 'out.', 'nov.', 'dec.'], + STANDALONESHORTMONTHS: ['Xan.', 'Feb.', 'Mar.', 'Abr.', 'Maio', 'Xuño', 'Xul.', 'Ago.', 'Set.', 'Out.', 'Nov.', 'Dec.'], + WEEKDAYS: ['domingo', 'luns', 'martes', 'mércores', 'xoves', 'venres', 'sábado'], + STANDALONEWEEKDAYS: ['Domingo', 'Luns', 'Martes', 'Mércores', 'Xoves', 'Venres', 'Sábado'], + SHORTWEEKDAYS: ['dom.', 'luns', 'mar.', 'mér.', 'xov.', 'ven.', 'sáb.'], + STANDALONESHORTWEEKDAYS: ['Dom.', 'Luns', 'Mar.', 'Mér.', 'Xov.', 'Ven.', 'Sáb.'], + NARROWWEEKDAYS: ['d.', 'l.', 'm.', 'm.', 'x.', 'v.', 's.'], + STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'X', 'V', 'S'], + SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], + QUARTERS: ['1.º trimestre', '2.º trimestre', '3.º trimestre', '4.º trimestre'], + AMPMS: ['a.m.', 'p.m.'], + DATEFORMATS: ['EEEE, d \'de\' MMMM \'de\' y', 'd \'de\' MMMM \'de\' y', 'd \'de\' MMM \'de\' y', 'dd/MM/yy'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{0} \'do\' {1}', '{0} \'do\' {1}', '{0}, {1}', '{0}, {1}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 3 +}; + + +/** + * Date/time formatting symbols for locale gsw. + */ +goog.i18n.DateTimeSymbols_gsw = { + ERAS: ['v. Chr.', 'n. Chr.'], + ERANAMES: ['v. Chr.', 'n. Chr.'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'Auguscht', 'Septämber', 'Oktoober', 'Novämber', 'Dezämber'], + STANDALONEMONTHS: ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'Auguscht', 'Septämber', 'Oktoober', 'Novämber', 'Dezämber'], + SHORTMONTHS: ['Jan', 'Feb', 'Mär', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mär', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'], + WEEKDAYS: ['Sunntig', 'Määntig', 'Ziischtig', 'Mittwuch', 'Dunschtig', 'Friitig', 'Samschtig'], + STANDALONEWEEKDAYS: ['Sunntig', 'Määntig', 'Ziischtig', 'Mittwuch', 'Dunschtig', 'Friitig', 'Samschtig'], + SHORTWEEKDAYS: ['Su.', 'Mä.', 'Zi.', 'Mi.', 'Du.', 'Fr.', 'Sa.'], + STANDALONESHORTWEEKDAYS: ['Su.', 'Mä.', 'Zi.', 'Mi.', 'Du.', 'Fr.', 'Sa.'], + NARROWWEEKDAYS: ['S', 'M', 'D', 'M', 'D', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'D', 'M', 'D', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1. Quartal', '2. Quartal', '3. Quartal', '4. Quartal'], + AMPMS: ['am Vormittag', 'am Namittag'], + DATEFORMATS: ['EEEE, d. MMMM y', 'd. MMMM y', 'dd.MM.y', 'dd.MM.yy'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 3 +}; + + +/** + * Date/time formatting symbols for locale gu. + */ +goog.i18n.DateTimeSymbols_gu = { + ERAS: ['ઈ.સ.પૂર્વે', 'ઈ.સ.'], + ERANAMES: ['ઈસવીસન પૂર્વે', 'ઇસવીસન'], + NARROWMONTHS: ['જા', 'ફે', 'મા', 'એ', 'મે', 'જૂ', 'જુ', 'ઑ', 'સ', 'ઑ', 'ન', 'ડિ'], + STANDALONENARROWMONTHS: ['જા', 'ફે', 'મા', 'એ', 'મે', 'જૂ', 'જુ', 'ઑ', 'સ', 'ઑ', 'ન', 'ડિ'], + MONTHS: ['જાન્યુઆરી', 'ફેબ્રુઆરી', 'માર્ચ', 'એપ્રિલ', 'મે', 'જૂન', 'જુલાઈ', 'ઑગસ્ટ', 'સપ્ટેમ્બર', 'ઑક્ટોબર', 'નવેમ્બર', 'ડિસેમ્બર'], + STANDALONEMONTHS: ['જાન્યુઆરી', 'ફેબ્રુઆરી', 'માર્ચ', 'એપ્રિલ', 'મે', 'જૂન', 'જુલાઈ', 'ઑગસ્ટ', 'સપ્ટેમ્બર', 'ઑક્ટોબર', 'નવેમ્બર', 'ડિસેમ્બર'], + SHORTMONTHS: ['જાન્યુ', 'ફેબ્રુ', 'માર્ચ', 'એપ્રિલ', 'મે', 'જૂન', 'જુલાઈ', 'ઑગસ્ટ', 'સપ્ટે', 'ઑક્ટો', 'નવે', 'ડિસે'], + STANDALONESHORTMONTHS: ['જાન્યુ', 'ફેબ્રુ', 'માર્ચ', 'એપ્રિલ', 'મે', 'જૂન', 'જુલાઈ', 'ઑગસ્ટ', 'સપ્ટે', 'ઑક્ટો', 'નવે', 'ડિસે'], + WEEKDAYS: ['રવિવાર', 'સોમવાર', 'મંગળવાર', 'બુધવાર', 'ગુરુવાર', 'શુક્રવાર', 'શનિવાર'], + STANDALONEWEEKDAYS: ['રવિવાર', 'સોમવાર', 'મંગળવાર', 'બુધવાર', 'ગુરુવાર', 'શુક્રવાર', 'શનિવાર'], + SHORTWEEKDAYS: ['રવિ', 'સોમ', 'મંગળ', 'બુધ', 'ગુરુ', 'શુક્ર', 'શનિ'], + STANDALONESHORTWEEKDAYS: ['રવિ', 'સોમ', 'મંગળ', 'બુધ', 'ગુરુ', 'શુક્ર', 'શનિ'], + NARROWWEEKDAYS: ['ર', 'સો', 'મં', 'બુ', 'ગુ', 'શુ', 'શ'], + STANDALONENARROWWEEKDAYS: ['ર', 'સો', 'મં', 'બુ', 'ગુ', 'શુ', 'શ'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['પહેલો ત્રિમાસ', 'બીજો ત્રિમાસ', 'ત્રીજો ત્રિમાસ', 'ચોથો ત્રિમાસ'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM, y', 'd MMMM, y', 'd MMM, y', 'd/M/yy'], + TIMEFORMATS: ['hh:mm:ss a zzzz', 'hh:mm:ss a z', 'hh:mm:ss a', 'hh:mm a'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 6, + WEEKENDRANGE: [6, 6], + FIRSTWEEKCUTOFFDAY: 5 +}; + + +/** + * Date/time formatting symbols for locale haw. + */ +goog.i18n.DateTimeSymbols_haw = { + ERAS: ['BCE', 'CE'], + ERANAMES: ['BCE', 'CE'], + NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + MONTHS: ['Ianuali', 'Pepeluali', 'Malaki', 'ʻApelila', 'Mei', 'Iune', 'Iulai', 'ʻAukake', 'Kepakemapa', 'ʻOkakopa', 'Nowemapa', 'Kekemapa'], + STANDALONEMONTHS: ['Ianuali', 'Pepeluali', 'Malaki', 'ʻApelila', 'Mei', 'Iune', 'Iulai', 'ʻAukake', 'Kepakemapa', 'ʻOkakopa', 'Nowemapa', 'Kekemapa'], + SHORTMONTHS: ['Ian.', 'Pep.', 'Mal.', 'ʻAp.', 'Mei', 'Iun.', 'Iul.', 'ʻAu.', 'Kep.', 'ʻOk.', 'Now.', 'Kek.'], + STANDALONESHORTMONTHS: ['Ian.', 'Pep.', 'Mal.', 'ʻAp.', 'Mei', 'Iun.', 'Iul.', 'ʻAu.', 'Kep.', 'ʻOk.', 'Now.', 'Kek.'], + WEEKDAYS: ['Lāpule', 'Poʻakahi', 'Poʻalua', 'Poʻakolu', 'Poʻahā', 'Poʻalima', 'Poʻaono'], + STANDALONEWEEKDAYS: ['Lāpule', 'Poʻakahi', 'Poʻalua', 'Poʻakolu', 'Poʻahā', 'Poʻalima', 'Poʻaono'], + SHORTWEEKDAYS: ['LP', 'P1', 'P2', 'P3', 'P4', 'P5', 'P6'], + STANDALONESHORTWEEKDAYS: ['LP', 'P1', 'P2', 'P3', 'P4', 'P5', 'P6'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'd/M/yy'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 6, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 5 +}; + + +/** + * Date/time formatting symbols for locale he. + */ +goog.i18n.DateTimeSymbols_he = { + ERAS: ['לפנה״ס', 'לספירה'], + ERANAMES: ['לפני הספירה', 'לספירה'], + NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + MONTHS: ['ינואר', 'פברואר', 'מרץ', 'אפריל', 'מאי', 'יוני', 'יולי', 'אוגוסט', 'ספטמבר', 'אוקטובר', 'נובמבר', 'דצמבר'], + STANDALONEMONTHS: ['ינואר', 'פברואר', 'מרץ', 'אפריל', 'מאי', 'יוני', 'יולי', 'אוגוסט', 'ספטמבר', 'אוקטובר', 'נובמבר', 'דצמבר'], + SHORTMONTHS: ['ינו׳', 'פבר׳', 'מרץ', 'אפר׳', 'מאי', 'יוני', 'יולי', 'אוג׳', 'ספט׳', 'אוק׳', 'נוב׳', 'דצמ׳'], + STANDALONESHORTMONTHS: ['ינו׳', 'פבר׳', 'מרץ', 'אפר׳', 'מאי', 'יוני', 'יולי', 'אוג׳', 'ספט׳', 'אוק׳', 'נוב׳', 'דצמ׳'], + WEEKDAYS: ['יום ראשון', 'יום שני', 'יום שלישי', 'יום רביעי', 'יום חמישי', 'יום שישי', 'יום שבת'], + STANDALONEWEEKDAYS: ['יום ראשון', 'יום שני', 'יום שלישי', 'יום רביעי', 'יום חמישי', 'יום שישי', 'יום שבת'], + SHORTWEEKDAYS: ['יום א׳', 'יום ב׳', 'יום ג׳', 'יום ד׳', 'יום ה׳', 'יום ו׳', 'שבת'], + STANDALONESHORTWEEKDAYS: ['יום א׳', 'יום ב׳', 'יום ג׳', 'יום ד׳', 'יום ה׳', 'יום ו׳', 'שבת'], + NARROWWEEKDAYS: ['א׳', 'ב׳', 'ג׳', 'ד׳', 'ה׳', 'ו׳', 'ש׳'], + STANDALONENARROWWEEKDAYS: ['א׳', 'ב׳', 'ג׳', 'ד׳', 'ה׳', 'ו׳', 'ש׳'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['רבעון 1', 'רבעון 2', 'רבעון 3', 'רבעון 4'], + AMPMS: ['לפנה״צ', 'אחה״צ'], + DATEFORMATS: ['EEEE, d בMMMM y', 'd בMMMM y', 'd בMMM y', 'd.M.y'], + TIMEFORMATS: ['H:mm:ss zzzz', 'H:mm:ss z', 'H:mm:ss', 'H:mm'], + DATETIMEFORMATS: ['{1} בשעה {0}', '{1} בשעה {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 6, + WEEKENDRANGE: [4, 5], + FIRSTWEEKCUTOFFDAY: 5 +}; + + +/** + * Date/time formatting symbols for locale hi. + */ +goog.i18n.DateTimeSymbols_hi = { + ERAS: ['ईसा-पूर्व', 'ईस्वी'], + ERANAMES: ['ईसा-पूर्व', 'ईसवी सन'], + NARROWMONTHS: ['ज', 'फ़', 'मा', 'अ', 'म', 'जू', 'जु', 'अ', 'सि', 'अ', 'न', 'दि'], + STANDALONENARROWMONTHS: ['ज', 'फ़', 'मा', 'अ', 'म', 'जू', 'जु', 'अ', 'सि', 'अ', 'न', 'दि'], + MONTHS: ['जनवरी', 'फ़रवरी', 'मार्च', 'अप्रैल', 'मई', 'जून', 'जुलाई', 'अगस्त', 'सितंबर', 'अक्तूबर', 'नवंबर', 'दिसंबर'], + STANDALONEMONTHS: ['जनवरी', 'फ़रवरी', 'मार्च', 'अप्रैल', 'मई', 'जून', 'जुलाई', 'अगस्त', 'सितंबर', 'अक्तूबर', 'नवंबर', 'दिसंबर'], + SHORTMONTHS: ['जन॰', 'फ़र॰', 'मार्च', 'अप्रैल', 'मई', 'जून', 'जुल॰', 'अग॰', 'सित॰', 'अक्तू॰', 'नव॰', 'दिस॰'], + STANDALONESHORTMONTHS: ['जन॰', 'फ़र॰', 'मार्च', 'अप्रैल', 'मई', 'जून', 'जुल॰', 'अग॰', 'सित॰', 'अक्तू॰', 'नव॰', 'दिस॰'], + WEEKDAYS: ['रविवार', 'सोमवार', 'मंगलवार', 'बुधवार', 'गुरुवार', 'शुक्रवार', 'शनिवार'], + STANDALONEWEEKDAYS: ['रविवार', 'सोमवार', 'मंगलवार', 'बुधवार', 'गुरुवार', 'शुक्रवार', 'शनिवार'], + SHORTWEEKDAYS: ['रवि', 'सोम', 'मंगल', 'बुध', 'गुरु', 'शुक्र', 'शनि'], + STANDALONESHORTWEEKDAYS: ['रवि', 'सोम', 'मंगल', 'बुध', 'गुरु', 'शुक्र', 'शनि'], + NARROWWEEKDAYS: ['र', 'सो', 'मं', 'बु', 'गु', 'शु', 'श'], + STANDALONENARROWWEEKDAYS: ['र', 'सो', 'मं', 'बु', 'गु', 'शु', 'श'], + SHORTQUARTERS: ['ति1', 'ति2', 'ति3', 'ति4'], + QUARTERS: ['पहली तिमाही', 'दूसरी तिमाही', 'तीसरी तिमाही', 'चौथी तिमाही'], + AMPMS: ['am', 'pm'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'dd/MM/y', 'd/M/yy'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} को {0}', '{1} को {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 6, + WEEKENDRANGE: [6, 6], + FIRSTWEEKCUTOFFDAY: 5 +}; + + +/** + * Date/time formatting symbols for locale hr. + */ +goog.i18n.DateTimeSymbols_hr = { + ERAS: ['pr. Kr.', 'po. Kr.'], + ERANAMES: ['prije Krista', 'poslije Krista'], + NARROWMONTHS: ['1.', '2.', '3.', '4.', '5.', '6.', '7.', '8.', '9.', '10.', '11.', '12.'], + STANDALONENARROWMONTHS: ['1.', '2.', '3.', '4.', '5.', '6.', '7.', '8.', '9.', '10.', '11.', '12.'], + MONTHS: ['siječnja', 'veljače', 'ožujka', 'travnja', 'svibnja', 'lipnja', 'srpnja', 'kolovoza', 'rujna', 'listopada', 'studenoga', 'prosinca'], + STANDALONEMONTHS: ['siječanj', 'veljača', 'ožujak', 'travanj', 'svibanj', 'lipanj', 'srpanj', 'kolovoz', 'rujan', 'listopad', 'studeni', 'prosinac'], + SHORTMONTHS: ['sij', 'velj', 'ožu', 'tra', 'svi', 'lip', 'srp', 'kol', 'ruj', 'lis', 'stu', 'pro'], + STANDALONESHORTMONTHS: ['sij', 'velj', 'ožu', 'tra', 'svi', 'lip', 'srp', 'kol', 'ruj', 'lis', 'stu', 'pro'], + WEEKDAYS: ['nedjelja', 'ponedjeljak', 'utorak', 'srijeda', 'četvrtak', 'petak', 'subota'], + STANDALONEWEEKDAYS: ['nedjelja', 'ponedjeljak', 'utorak', 'srijeda', 'četvrtak', 'petak', 'subota'], + SHORTWEEKDAYS: ['ned', 'pon', 'uto', 'sri', 'čet', 'pet', 'sub'], + STANDALONESHORTWEEKDAYS: ['ned', 'pon', 'uto', 'sri', 'čet', 'pet', 'sub'], + NARROWWEEKDAYS: ['N', 'P', 'U', 'S', 'Č', 'P', 'S'], + STANDALONENARROWWEEKDAYS: ['n', 'p', 'u', 's', 'č', 'p', 's'], + SHORTQUARTERS: ['1kv', '2kv', '3kv', '4kv'], + QUARTERS: ['1. kvartal', '2. kvartal', '3. kvartal', '4. kvartal'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d. MMMM y.', 'd. MMMM y.', 'd. MMM y.', 'dd. MM. y.'], + TIMEFORMATS: ['HH:mm:ss (zzzz)', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'u\' {0}', '{1} \'u\' {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale hu. + */ +goog.i18n.DateTimeSymbols_hu = { + ERAS: ['i. e.', 'i. sz.'], + ERANAMES: ['időszámításunk előtt', 'időszámításunk szerint'], + NARROWMONTHS: ['J', 'F', 'M', 'Á', 'M', 'J', 'J', 'A', 'Sz', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'Á', 'M', 'J', 'J', 'A', 'Sz', 'O', 'N', 'D'], + MONTHS: ['január', 'február', 'március', 'április', 'május', 'június', 'július', 'augusztus', 'szeptember', 'október', 'november', 'december'], + STANDALONEMONTHS: ['január', 'február', 'március', 'április', 'május', 'június', 'július', 'augusztus', 'szeptember', 'október', 'november', 'december'], + SHORTMONTHS: ['jan.', 'febr.', 'márc.', 'ápr.', 'máj.', 'jún.', 'júl.', 'aug.', 'szept.', 'okt.', 'nov.', 'dec.'], + STANDALONESHORTMONTHS: ['jan.', 'febr.', 'márc.', 'ápr.', 'máj.', 'jún.', 'júl.', 'aug.', 'szept.', 'okt.', 'nov.', 'dec.'], + WEEKDAYS: ['vasárnap', 'hétfő', 'kedd', 'szerda', 'csütörtök', 'péntek', 'szombat'], + STANDALONEWEEKDAYS: ['vasárnap', 'hétfő', 'kedd', 'szerda', 'csütörtök', 'péntek', 'szombat'], + SHORTWEEKDAYS: ['V', 'H', 'K', 'Sze', 'Cs', 'P', 'Szo'], + STANDALONESHORTWEEKDAYS: ['V', 'H', 'K', 'Sze', 'Cs', 'P', 'Szo'], + NARROWWEEKDAYS: ['V', 'H', 'K', 'Sz', 'Cs', 'P', 'Sz'], + STANDALONENARROWWEEKDAYS: ['V', 'H', 'K', 'Sz', 'Cs', 'P', 'Sz'], + SHORTQUARTERS: ['N1', 'N2', 'N3', 'N4'], + QUARTERS: ['I. negyedév', 'II. negyedév', 'III. negyedév', 'IV. negyedév'], + AMPMS: ['de.', 'du.'], + DATEFORMATS: ['y. MMMM d., EEEE', 'y. MMMM d.', 'y. MMM d.', 'y. MM. dd.'], + TIMEFORMATS: ['H:mm:ss zzzz', 'H:mm:ss z', 'H:mm:ss', 'H:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 3 +}; + + +/** + * Date/time formatting symbols for locale hy. + */ +goog.i18n.DateTimeSymbols_hy = { + ERAS: ['մ.թ.ա.', 'մ.թ.'], + ERANAMES: ['Քրիստոսից առաջ', 'Քրիստոսից հետո'], + NARROWMONTHS: ['Հ', 'Փ', 'Մ', 'Ա', 'Մ', 'Հ', 'Հ', 'Օ', 'Ս', 'Հ', 'Ն', 'Դ'], + STANDALONENARROWMONTHS: ['Հ', 'Փ', 'Մ', 'Ա', 'Մ', 'Հ', 'Հ', 'Օ', 'Ս', 'Հ', 'Ն', 'Դ'], + MONTHS: ['հունվարի', 'փետրվարի', 'մարտի', 'ապրիլի', 'մայիսի', 'հունիսի', 'հուլիսի', 'օգոստոսի', 'սեպտեմբերի', 'հոկտեմբերի', 'նոյեմբերի', 'դեկտեմբերի'], + STANDALONEMONTHS: ['հունվար', 'փետրվար', 'մարտ', 'ապրիլ', 'մայիս', 'հունիս', 'հուլիս', 'օգոստոս', 'սեպտեմբեր', 'հոկտեմբեր', 'նոյեմբեր', 'դեկտեմբեր'], + SHORTMONTHS: ['հնվ', 'փտվ', 'մրտ', 'ապր', 'մյս', 'հնս', 'հլս', 'օգս', 'սեպ', 'հոկ', 'նոյ', 'դեկ'], + STANDALONESHORTMONTHS: ['հնվ', 'փտվ', 'մրտ', 'ապր', 'մյս', 'հնս', 'հլս', 'օգս', 'սեպ', 'հոկ', 'նոյ', 'դեկ'], + WEEKDAYS: ['կիրակի', 'երկուշաբթի', 'երեքշաբթի', 'չորեքշաբթի', 'հինգշաբթի', 'ուրբաթ', 'շաբաթ'], + STANDALONEWEEKDAYS: ['կիրակի', 'երկուշաբթի', 'երեքշաբթի', 'չորեքշաբթի', 'հինգշաբթի', 'ուրբաթ', 'շաբաթ'], + SHORTWEEKDAYS: ['կիր', 'երկ', 'երք', 'չրք', 'հնգ', 'ուր', 'շբթ'], + STANDALONESHORTWEEKDAYS: ['կիր', 'երկ', 'երք', 'չրք', 'հնգ', 'ուր', 'շբթ'], + NARROWWEEKDAYS: ['Կ', 'Ե', 'Ե', 'Չ', 'Հ', 'Ո', 'Շ'], + STANDALONENARROWWEEKDAYS: ['Կ', 'Ե', 'Ե', 'Չ', 'Հ', 'Ո', 'Շ'], + SHORTQUARTERS: ['1-ին եռմս.', '2-րդ եռմս.', '3-րդ եռմս.', '4-րդ եռմս.'], + QUARTERS: ['1-ին եռամսյակ', '2-րդ եռամսյակ', '3-րդ եռամսյակ', '4-րդ եռամսյակ'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['y թ. MMMM d, EEEE', 'dd MMMM, y թ.', 'dd MMM, y թ.', 'dd.MM.yy'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1}, {0}', '{1}, {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale id. + */ +goog.i18n.DateTimeSymbols_id = { + ERAS: ['SM', 'M'], + ERANAMES: ['Sebelum Masehi', 'Masehi'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['Januari', 'Februari', 'Maret', 'April', 'Mei', 'Juni', 'Juli', 'Agustus', 'September', 'Oktober', 'November', 'Desember'], + STANDALONEMONTHS: ['Januari', 'Februari', 'Maret', 'April', 'Mei', 'Juni', 'Juli', 'Agustus', 'September', 'Oktober', 'November', 'Desember'], + SHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'Mei', 'Jun', 'Jul', 'Agt', 'Sep', 'Okt', 'Nov', 'Des'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'Mei', 'Jun', 'Jul', 'Agt', 'Sep', 'Okt', 'Nov', 'Des'], + WEEKDAYS: ['Minggu', 'Senin', 'Selasa', 'Rabu', 'Kamis', 'Jumat', 'Sabtu'], + STANDALONEWEEKDAYS: ['Minggu', 'Senin', 'Selasa', 'Rabu', 'Kamis', 'Jumat', 'Sabtu'], + SHORTWEEKDAYS: ['Min', 'Sen', 'Sel', 'Rab', 'Kam', 'Jum', 'Sab'], + STANDALONESHORTWEEKDAYS: ['Min', 'Sen', 'Sel', 'Rab', 'Kam', 'Jum', 'Sab'], + NARROWWEEKDAYS: ['M', 'S', 'S', 'R', 'K', 'J', 'S'], + STANDALONENARROWWEEKDAYS: ['M', 'S', 'S', 'R', 'K', 'J', 'S'], + SHORTQUARTERS: ['K1', 'K2', 'K3', 'K4'], + QUARTERS: ['Kuartal ke-1', 'Kuartal ke-2', 'Kuartal ke-3', 'Kuartal ke-4'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, dd MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yy'], + TIMEFORMATS: ['HH.mm.ss zzzz', 'HH.mm.ss z', 'HH.mm.ss', 'HH.mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 6, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 5 +}; + + +/** + * Date/time formatting symbols for locale in. + */ +goog.i18n.DateTimeSymbols_in = { + ERAS: ['SM', 'M'], + ERANAMES: ['Sebelum Masehi', 'Masehi'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['Januari', 'Februari', 'Maret', 'April', 'Mei', 'Juni', 'Juli', 'Agustus', 'September', 'Oktober', 'November', 'Desember'], + STANDALONEMONTHS: ['Januari', 'Februari', 'Maret', 'April', 'Mei', 'Juni', 'Juli', 'Agustus', 'September', 'Oktober', 'November', 'Desember'], + SHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'Mei', 'Jun', 'Jul', 'Agt', 'Sep', 'Okt', 'Nov', 'Des'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'Mei', 'Jun', 'Jul', 'Agt', 'Sep', 'Okt', 'Nov', 'Des'], + WEEKDAYS: ['Minggu', 'Senin', 'Selasa', 'Rabu', 'Kamis', 'Jumat', 'Sabtu'], + STANDALONEWEEKDAYS: ['Minggu', 'Senin', 'Selasa', 'Rabu', 'Kamis', 'Jumat', 'Sabtu'], + SHORTWEEKDAYS: ['Min', 'Sen', 'Sel', 'Rab', 'Kam', 'Jum', 'Sab'], + STANDALONESHORTWEEKDAYS: ['Min', 'Sen', 'Sel', 'Rab', 'Kam', 'Jum', 'Sab'], + NARROWWEEKDAYS: ['M', 'S', 'S', 'R', 'K', 'J', 'S'], + STANDALONENARROWWEEKDAYS: ['M', 'S', 'S', 'R', 'K', 'J', 'S'], + SHORTQUARTERS: ['K1', 'K2', 'K3', 'K4'], + QUARTERS: ['Kuartal ke-1', 'Kuartal ke-2', 'Kuartal ke-3', 'Kuartal ke-4'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, dd MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yy'], + TIMEFORMATS: ['HH.mm.ss zzzz', 'HH.mm.ss z', 'HH.mm.ss', 'HH.mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 6, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 5 +}; + + +/** + * Date/time formatting symbols for locale is. + */ +goog.i18n.DateTimeSymbols_is = { + ERAS: ['f.Kr.', 'e.Kr.'], + ERANAMES: ['fyrir Krist', 'eftir Krist'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'Á', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'Á', 'S', 'O', 'N', 'D'], + MONTHS: ['janúar', 'febrúar', 'mars', 'apríl', 'maí', 'júní', 'júlí', 'ágúst', 'september', 'október', 'nóvember', 'desember'], + STANDALONEMONTHS: ['janúar', 'febrúar', 'mars', 'apríl', 'maí', 'júní', 'júlí', 'ágúst', 'september', 'október', 'nóvember', 'desember'], + SHORTMONTHS: ['jan.', 'feb.', 'mar.', 'apr.', 'maí', 'jún.', 'júl.', 'ágú.', 'sep.', 'okt.', 'nóv.', 'des.'], + STANDALONESHORTMONTHS: ['jan.', 'feb.', 'mar.', 'apr.', 'maí', 'jún.', 'júl.', 'ágú.', 'sep.', 'okt.', 'nóv.', 'des.'], + WEEKDAYS: ['sunnudagur', 'mánudagur', 'þriðjudagur', 'miðvikudagur', 'fimmtudagur', 'föstudagur', 'laugardagur'], + STANDALONEWEEKDAYS: ['sunnudagur', 'mánudagur', 'þriðjudagur', 'miðvikudagur', 'fimmtudagur', 'föstudagur', 'laugardagur'], + SHORTWEEKDAYS: ['sun.', 'mán.', 'þri.', 'mið.', 'fim.', 'fös.', 'lau.'], + STANDALONESHORTWEEKDAYS: ['sun.', 'mán.', 'þri.', 'mið.', 'fim.', 'fös.', 'lau.'], + NARROWWEEKDAYS: ['S', 'M', 'Þ', 'M', 'F', 'F', 'L'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'Þ', 'M', 'F', 'F', 'L'], + SHORTQUARTERS: ['F1', 'F2', 'F3', 'F4'], + QUARTERS: ['1. fjórðungur', '2. fjórðungur', '3. fjórðungur', '4. fjórðungur'], + AMPMS: ['f.h.', 'e.h.'], + DATEFORMATS: ['EEEE, d. MMMM y', 'd. MMMM y', 'd. MMM y', 'd.M.y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'kl\'. {0}', '{1} \'kl\'. {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 3 +}; + + +/** + * Date/time formatting symbols for locale it. + */ +goog.i18n.DateTimeSymbols_it = { + ERAS: ['a.C.', 'd.C.'], + ERANAMES: ['avanti Cristo', 'dopo Cristo'], + NARROWMONTHS: ['G', 'F', 'M', 'A', 'M', 'G', 'L', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['G', 'F', 'M', 'A', 'M', 'G', 'L', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['gennaio', 'febbraio', 'marzo', 'aprile', 'maggio', 'giugno', 'luglio', 'agosto', 'settembre', 'ottobre', 'novembre', 'dicembre'], + STANDALONEMONTHS: ['gennaio', 'febbraio', 'marzo', 'aprile', 'maggio', 'giugno', 'luglio', 'agosto', 'settembre', 'ottobre', 'novembre', 'dicembre'], + SHORTMONTHS: ['gen', 'feb', 'mar', 'apr', 'mag', 'giu', 'lug', 'ago', 'set', 'ott', 'nov', 'dic'], + STANDALONESHORTMONTHS: ['gen', 'feb', 'mar', 'apr', 'mag', 'giu', 'lug', 'ago', 'set', 'ott', 'nov', 'dic'], + WEEKDAYS: ['domenica', 'lunedì', 'martedì', 'mercoledì', 'giovedì', 'venerdì', 'sabato'], + STANDALONEWEEKDAYS: ['domenica', 'lunedì', 'martedì', 'mercoledì', 'giovedì', 'venerdì', 'sabato'], + SHORTWEEKDAYS: ['dom', 'lun', 'mar', 'mer', 'gio', 'ven', 'sab'], + STANDALONESHORTWEEKDAYS: ['dom', 'lun', 'mar', 'mer', 'gio', 'ven', 'sab'], + NARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'G', 'V', 'S'], + STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'G', 'V', 'S'], + SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], + QUARTERS: ['1º trimestre', '2º trimestre', '3º trimestre', '4º trimestre'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'dd MMM y', 'dd/MM/yy'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 3 +}; + + +/** + * Date/time formatting symbols for locale iw. + */ +goog.i18n.DateTimeSymbols_iw = { + ERAS: ['לפנה״ס', 'לספירה'], + ERANAMES: ['לפני הספירה', 'לספירה'], + NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + MONTHS: ['ינואר', 'פברואר', 'מרץ', 'אפריל', 'מאי', 'יוני', 'יולי', 'אוגוסט', 'ספטמבר', 'אוקטובר', 'נובמבר', 'דצמבר'], + STANDALONEMONTHS: ['ינואר', 'פברואר', 'מרץ', 'אפריל', 'מאי', 'יוני', 'יולי', 'אוגוסט', 'ספטמבר', 'אוקטובר', 'נובמבר', 'דצמבר'], + SHORTMONTHS: ['ינו׳', 'פבר׳', 'מרץ', 'אפר׳', 'מאי', 'יוני', 'יולי', 'אוג׳', 'ספט׳', 'אוק׳', 'נוב׳', 'דצמ׳'], + STANDALONESHORTMONTHS: ['ינו׳', 'פבר׳', 'מרץ', 'אפר׳', 'מאי', 'יוני', 'יולי', 'אוג׳', 'ספט׳', 'אוק׳', 'נוב׳', 'דצמ׳'], + WEEKDAYS: ['יום ראשון', 'יום שני', 'יום שלישי', 'יום רביעי', 'יום חמישי', 'יום שישי', 'יום שבת'], + STANDALONEWEEKDAYS: ['יום ראשון', 'יום שני', 'יום שלישי', 'יום רביעי', 'יום חמישי', 'יום שישי', 'יום שבת'], + SHORTWEEKDAYS: ['יום א׳', 'יום ב׳', 'יום ג׳', 'יום ד׳', 'יום ה׳', 'יום ו׳', 'שבת'], + STANDALONESHORTWEEKDAYS: ['יום א׳', 'יום ב׳', 'יום ג׳', 'יום ד׳', 'יום ה׳', 'יום ו׳', 'שבת'], + NARROWWEEKDAYS: ['א׳', 'ב׳', 'ג׳', 'ד׳', 'ה׳', 'ו׳', 'ש׳'], + STANDALONENARROWWEEKDAYS: ['א׳', 'ב׳', 'ג׳', 'ד׳', 'ה׳', 'ו׳', 'ש׳'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['רבעון 1', 'רבעון 2', 'רבעון 3', 'רבעון 4'], + AMPMS: ['לפנה״צ', 'אחה״צ'], + DATEFORMATS: ['EEEE, d בMMMM y', 'd בMMMM y', 'd בMMM y', 'd.M.y'], + TIMEFORMATS: ['H:mm:ss zzzz', 'H:mm:ss z', 'H:mm:ss', 'H:mm'], + DATETIMEFORMATS: ['{1} בשעה {0}', '{1} בשעה {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 6, + WEEKENDRANGE: [4, 5], + FIRSTWEEKCUTOFFDAY: 5 +}; + + +/** + * Date/time formatting symbols for locale ja. + */ +goog.i18n.DateTimeSymbols_ja = { + ERAS: ['紀元前', '西暦'], + ERANAMES: ['紀元前', '西暦'], + NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + MONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'], + STANDALONEMONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'], + SHORTMONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'], + STANDALONESHORTMONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'], + WEEKDAYS: ['日曜日', '月曜日', '火曜日', '水曜日', '木曜日', '金曜日', '土曜日'], + STANDALONEWEEKDAYS: ['日曜日', '月曜日', '火曜日', '水曜日', '木曜日', '金曜日', '土曜日'], + SHORTWEEKDAYS: ['日', '月', '火', '水', '木', '金', '土'], + STANDALONESHORTWEEKDAYS: ['日', '月', '火', '水', '木', '金', '土'], + NARROWWEEKDAYS: ['日', '月', '火', '水', '木', '金', '土'], + STANDALONENARROWWEEKDAYS: ['日', '月', '火', '水', '木', '金', '土'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['第1四半期', '第2四半期', '第3四半期', '第4四半期'], + AMPMS: ['午前', '午後'], + DATEFORMATS: ['y年M月d日EEEE', 'y年M月d日', 'y/MM/dd', 'y/MM/dd'], + TIMEFORMATS: ['H時mm分ss秒 zzzz', 'H:mm:ss z', 'H:mm:ss', 'H:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 6, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 5 +}; + + +/** + * Date/time formatting symbols for locale ka. + */ +goog.i18n.DateTimeSymbols_ka = { + ERAS: ['ძვ. წ.', 'ახ. წ.'], + ERANAMES: ['ძველი წელთაღრიცხვით', 'ახალი წელთაღრიცხვით'], + NARROWMONTHS: ['ი', 'თ', 'მ', 'ა', 'მ', 'ი', 'ი', 'ა', 'ს', 'ო', 'ნ', 'დ'], + STANDALONENARROWMONTHS: ['ი', 'თ', 'მ', 'ა', 'მ', 'ი', 'ი', 'ა', 'ს', 'ო', 'ნ', 'დ'], + MONTHS: ['იანვარი', 'თებერვალი', 'მარტი', 'აპრილი', 'მაისი', 'ივნისი', 'ივლისი', 'აგვისტო', 'სექტემბერი', 'ოქტომბერი', 'ნოემბერი', 'დეკემბერი'], + STANDALONEMONTHS: ['იანვარი', 'თებერვალი', 'მარტი', 'აპრილი', 'მაისი', 'ივნისი', 'ივლისი', 'აგვისტო', 'სექტემბერი', 'ოქტომბერი', 'ნოემბერი', 'დეკემბერი'], + SHORTMONTHS: ['იან', 'თებ', 'მარ', 'აპრ', 'მაი', 'ივნ', 'ივლ', 'აგვ', 'სექ', 'ოქტ', 'ნოე', 'დეკ'], + STANDALONESHORTMONTHS: ['იან', 'თებ', 'მარ', 'აპრ', 'მაი', 'ივნ', 'ივლ', 'აგვ', 'სექ', 'ოქტ', 'ნოე', 'დეკ'], + WEEKDAYS: ['კვირა', 'ორშაბათი', 'სამშაბათი', 'ოთხშაბათი', 'ხუთშაბათი', 'პარასკევი', 'შაბათი'], + STANDALONEWEEKDAYS: ['კვირა', 'ორშაბათი', 'სამშაბათი', 'ოთხშაბათი', 'ხუთშაბათი', 'პარასკევი', 'შაბათი'], + SHORTWEEKDAYS: ['კვი', 'ორშ', 'სამ', 'ოთხ', 'ხუთ', 'პარ', 'შაბ'], + STANDALONESHORTWEEKDAYS: ['კვი', 'ორშ', 'სამ', 'ოთხ', 'ხუთ', 'პარ', 'შაბ'], + NARROWWEEKDAYS: ['კ', 'ო', 'ს', 'ო', 'ხ', 'პ', 'შ'], + STANDALONENARROWWEEKDAYS: ['კ', 'ო', 'ს', 'ო', 'ხ', 'პ', 'შ'], + SHORTQUARTERS: ['I კვ.', 'II კვ.', 'III კვ.', 'IV კვ.'], + QUARTERS: ['I კვარტალი', 'II კვარტალი', 'III კვარტალი', 'IV კვარტალი'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, dd MMMM, y', 'd MMMM, y', 'd MMM. y', 'dd.MM.yy'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1}, {0}', '{1}, {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale kk. + */ +goog.i18n.DateTimeSymbols_kk = { + ERAS: ['б.з.д.', 'б.з.'], + ERANAMES: ['Біздің заманымызға дейін', 'Біздің заманымыз'], + NARROWMONTHS: ['Қ', 'А', 'Н', 'С', 'М', 'М', 'Ш', 'Т', 'Қ', 'Қ', 'Қ', 'Ж'], + STANDALONENARROWMONTHS: ['Қ', 'А', 'Н', 'С', 'М', 'М', 'Ш', 'Т', 'Қ', 'Қ', 'Қ', 'Ж'], + MONTHS: ['қаңтар', 'ақпан', 'наурыз', 'сәуір', 'мамыр', 'маусым', 'шілде', 'тамыз', 'қыркүйек', 'қазан', 'қараша', 'желтоқсан'], + STANDALONEMONTHS: ['Қаңтар', 'Ақпан', 'Наурыз', 'Сәуір', 'Мамыр', 'Маусым', 'Шілде', 'Тамыз', 'Қыркүйек', 'Қазан', 'Қараша', 'Желтоқсан'], + SHORTMONTHS: ['қаң.', 'ақп.', 'нау.', 'сәу.', 'мам.', 'мау.', 'шіл.', 'там.', 'қыр.', 'қаз.', 'қар.', 'жел.'], + STANDALONESHORTMONTHS: ['Қаң.', 'Ақп.', 'Нау.', 'Сәу.', 'Мам.', 'Мау.', 'Шіл.', 'Там.', 'Қыр.', 'Қаз.', 'Қар.', 'Жел.'], + WEEKDAYS: ['жексенбі', 'дүйсенбі', 'сейсенбі', 'сәрсенбі', 'бейсенбі', 'жұма', 'сенбі'], + STANDALONEWEEKDAYS: ['Жексенбі', 'Дүйсенбі', 'Сейсенбі', 'Сәрсенбі', 'Бейсенбі', 'Жұма', 'Сенбі'], + SHORTWEEKDAYS: ['Жс', 'Дс', 'Сс', 'Ср', 'Бс', 'Жм', 'Сб'], + STANDALONESHORTWEEKDAYS: ['Жс', 'Дс', 'Сс', 'Ср', 'Бс', 'Жм', 'Сб'], + NARROWWEEKDAYS: ['Ж', 'Д', 'С', 'С', 'Б', 'Ж', 'С'], + STANDALONENARROWWEEKDAYS: ['Ж', 'Д', 'С', 'С', 'Б', 'Ж', 'С'], + SHORTQUARTERS: ['І ш.', 'ІІ ш.', 'ІІІ ш.', 'IV ш.'], + QUARTERS: ['І ширек', 'ІІ ширек', 'ІІІ ширек', 'IV ширек'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['y \'ж\'. d MMMM, EEEE', 'y \'ж\'. d MMMM', 'y \'ж\'. dd MMM', 'dd.MM.yy'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1}, {0}', '{1}, {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale km. + */ +goog.i18n.DateTimeSymbols_km = { + ERAS: ['មុន គ.ស.', 'គ.ស.'], + ERANAMES: ['មុន​គ្រិស្តសករាជ', 'គ្រិស្តសករាជ'], + NARROWMONTHS: ['ម', 'ក', 'ម', 'ម', 'ឧ', 'ម', 'ក', 'ស', 'ក', 'ត', 'វ', 'ធ'], + STANDALONENARROWMONTHS: ['ម', 'ក', 'ម', 'ម', 'ឧ', 'ម', 'ក', 'ស', 'ក', 'ត', 'វ', 'ធ'], + MONTHS: ['មករា', 'កុម្ភៈ', 'មីនា', 'មេសា', 'ឧសភា', 'មិថុនា', 'កក្កដា', 'សីហា', 'កញ្ញា', 'តុលា', 'វិច្ឆិកា', 'ធ្នូ'], + STANDALONEMONTHS: ['មករា', 'កុម្ភៈ', 'មីនា', 'មេសា', 'ឧសភា', 'មិថុនា', 'កក្កដា', 'សីហា', 'កញ្ញា', 'តុលា', 'វិច្ឆិកា', 'ធ្នូ'], + SHORTMONTHS: ['មករា', 'កុម្ភៈ', 'មីនា', 'មេសា', 'ឧសភា', 'មិថុនា', 'កក្កដា', 'សីហា', 'កញ្ញា', 'តុលា', 'វិច្ឆិកា', 'ធ្នូ'], + STANDALONESHORTMONTHS: ['មករា', 'កុម្ភៈ', 'មីនា', 'មេសា', 'ឧសភា', 'មិថុនា', 'កក្កដា', 'សីហា', 'កញ្ញា', 'តុលា', 'វិច្ឆិកា', 'ធ្នូ'], + WEEKDAYS: ['អាទិត្យ', 'ច័ន្ទ', 'អង្គារ', 'ពុធ', 'ព្រហស្បតិ៍', 'សុក្រ', 'សៅរ៍'], + STANDALONEWEEKDAYS: ['អាទិត្យ', 'ច័ន្ទ', 'អង្គារ', 'ពុធ', 'ព្រហស្បតិ៍', 'សុក្រ', 'សៅរ៍'], + SHORTWEEKDAYS: ['អាទិត្យ', 'ច័ន្ទ', 'អង្គារ', 'ពុធ', 'ព្រហស្បតិ៍', 'សុក្រ', 'សៅរ៍'], + STANDALONESHORTWEEKDAYS: ['អាទិត្យ', 'ច័ន្ទ', 'អង្គារ', 'ពុធ', 'ព្រហស្បតិ៍', 'សុក្រ', 'សៅរ៍'], + NARROWWEEKDAYS: ['អ', 'ច', 'អ', 'ព', 'ព', 'ស', 'ស'], + STANDALONENARROWWEEKDAYS: ['អ', 'ច', 'អ', 'ព', 'ព', 'ស', 'ស'], + SHORTQUARTERS: ['ត្រីមាសទី 1', 'ត្រីមាសទី 2', 'ត្រីមាសទី 3', 'ត្រីមាសទី 4'], + QUARTERS: ['ត្រីមាសទី 1', 'ត្រីមាសទី 2', 'ត្រីមាសទី 3', 'ត្រីមាសទី 4'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'd/M/yy'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} នៅ​ម៉ោង {0}', '{1} នៅ​ម៉ោង {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 6, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 5 +}; + + +/** + * Date/time formatting symbols for locale kn. + */ +goog.i18n.DateTimeSymbols_kn = { + ERAS: ['ಕ್ರಿ.ಪೂ', 'ಕ್ರಿ.ಶ'], + ERANAMES: ['ಕ್ರಿಸ್ತ ಪೂರ್ವ', 'ಕ್ರಿಸ್ತ ಶಕ'], + NARROWMONTHS: ['ಜ', 'ಫೆ', 'ಮಾ', 'ಏ', 'ಮೇ', 'ಜೂ', 'ಜು', 'ಆ', 'ಸೆ', 'ಅ', 'ನ', 'ಡಿ'], + STANDALONENARROWMONTHS: ['ಜ', 'ಫೆ', 'ಮಾ', 'ಏ', 'ಮೇ', 'ಜೂ', 'ಜು', 'ಆ', 'ಸೆ', 'ಅ', 'ನ', 'ಡಿ'], + MONTHS: ['ಜನವರಿ', 'ಫೆಬ್ರವರಿ', 'ಮಾರ್ಚ್', 'ಏಪ್ರಿಲ್', 'ಮೇ', 'ಜೂನ್', 'ಜುಲೈ', 'ಆಗಸ್ಟ್', 'ಸೆಪ್ಟೆಂಬರ್', 'ಅಕ್ಟೋಬರ್', 'ನವೆಂಬರ್', 'ಡಿಸೆಂಬರ್'], + STANDALONEMONTHS: ['ಜನವರಿ', 'ಫೆಬ್ರವರಿ', 'ಮಾರ್ಚ್', 'ಏಪ್ರಿಲ್', 'ಮೇ', 'ಜೂನ್', 'ಜುಲೈ', 'ಆಗಸ್ಟ್', 'ಸೆಪ್ಟೆಂಬರ್', 'ಅಕ್ಟೋಬರ್', 'ನವೆಂಬರ್', 'ಡಿಸೆಂಬರ್'], + SHORTMONTHS: ['ಜನ', 'ಫೆಬ್ರ', 'ಮಾರ್ಚ್', 'ಏಪ್ರಿ', 'ಮೇ', 'ಜೂನ್', 'ಜುಲೈ', 'ಆಗ', 'ಸೆಪ್ಟೆಂ', 'ಅಕ್ಟೋ', 'ನವೆಂ', 'ಡಿಸೆಂ'], + STANDALONESHORTMONTHS: ['ಜನ', 'ಫೆಬ್ರ', 'ಮಾರ್ಚ್', 'ಏಪ್ರಿ', 'ಮೇ', 'ಜೂನ್', 'ಜುಲೈ', 'ಆಗ', 'ಸೆಪ್ಟೆಂ', 'ಅಕ್ಟೋ', 'ನವೆಂ', 'ಡಿಸೆಂ'], + WEEKDAYS: ['ಭಾನುವಾರ', 'ಸೋಮವಾರ', 'ಮಂಗಳವಾರ', 'ಬುಧವಾರ', 'ಗುರುವಾರ', 'ಶುಕ್ರವಾರ', 'ಶನಿವಾರ'], + STANDALONEWEEKDAYS: ['ಭಾನುವಾರ', 'ಸೋಮವಾರ', 'ಮಂಗಳವಾರ', 'ಬುಧವಾರ', 'ಗುರುವಾರ', 'ಶುಕ್ರವಾರ', 'ಶನಿವಾರ'], + SHORTWEEKDAYS: ['ಭಾನು', 'ಸೋಮ', 'ಮಂಗಳ', 'ಬುಧ', 'ಗುರು', 'ಶುಕ್ರ', 'ಶನಿ'], + STANDALONESHORTWEEKDAYS: ['ಭಾನು', 'ಸೋಮ', 'ಮಂಗಳ', 'ಬುಧ', 'ಗುರು', 'ಶುಕ್ರ', 'ಶನಿ'], + NARROWWEEKDAYS: ['ಭಾ', 'ಸೋ', 'ಮಂ', 'ಬು', 'ಗು', 'ಶು', 'ಶ'], + STANDALONENARROWWEEKDAYS: ['ಭಾ', 'ಸೋ', 'ಮಂ', 'ಬು', 'ಗು', 'ಶು', 'ಶ'], + SHORTQUARTERS: ['ತ್ರೈ 1', 'ತ್ರೈ 2', 'ತ್ರೈ 3', 'ತ್ರೈ 4'], + QUARTERS: ['1ನೇ ತ್ರೈಮಾಸಿಕ', '2ನೇ ತ್ರೈಮಾಸಿಕ', '3ನೇ ತ್ರೈಮಾಸಿಕ', '4ನೇ ತ್ರೈಮಾಸಿಕ'], + AMPMS: ['ಪೂರ್ವಾಹ್ನ', 'ಅಪರಾಹ್ನ'], + DATEFORMATS: ['EEEE, MMMM d, y', 'MMMM d, y', 'MMM d, y', 'd/M/yy'], + TIMEFORMATS: ['hh:mm:ss a zzzz', 'hh:mm:ss a z', 'hh:mm:ss a', 'hh:mm a'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 6, + WEEKENDRANGE: [6, 6], + FIRSTWEEKCUTOFFDAY: 5 +}; + + +/** + * Date/time formatting symbols for locale ko. + */ +goog.i18n.DateTimeSymbols_ko = { + ERAS: ['BC', 'AD'], + ERANAMES: ['기원전', '서기'], + NARROWMONTHS: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'], + STANDALONENARROWMONTHS: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'], + MONTHS: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'], + STANDALONEMONTHS: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'], + SHORTMONTHS: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'], + STANDALONESHORTMONTHS: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'], + WEEKDAYS: ['일요일', '월요일', '화요일', '수요일', '목요일', '금요일', '토요일'], + STANDALONEWEEKDAYS: ['일요일', '월요일', '화요일', '수요일', '목요일', '금요일', '토요일'], + SHORTWEEKDAYS: ['일', '월', '화', '수', '목', '금', '토'], + STANDALONESHORTWEEKDAYS: ['일', '월', '화', '수', '목', '금', '토'], + NARROWWEEKDAYS: ['일', '월', '화', '수', '목', '금', '토'], + STANDALONENARROWWEEKDAYS: ['일', '월', '화', '수', '목', '금', '토'], + SHORTQUARTERS: ['1분기', '2분기', '3분기', '4분기'], + QUARTERS: ['제 1/4분기', '제 2/4분기', '제 3/4분기', '제 4/4분기'], + AMPMS: ['오전', '오후'], + DATEFORMATS: ['y년 M월 d일 EEEE', 'y년 M월 d일', 'y. M. d.', 'yy. M. d.'], + TIMEFORMATS: ['a h시 m분 s초 zzzz', 'a h시 m분 s초 z', 'a h:mm:ss', 'a h:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 6, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 5 +}; + + +/** + * Date/time formatting symbols for locale ky. + */ +goog.i18n.DateTimeSymbols_ky = { + ERAS: ['б.з.ч.', 'б.з.'], + ERANAMES: ['биздин заманга чейин', 'биздин заман'], + NARROWMONTHS: ['Я', 'Ф', 'М', 'А', 'М', 'И', 'И', 'А', 'С', 'О', 'Н', 'Д'], + STANDALONENARROWMONTHS: ['Я', 'Ф', 'М', 'А', 'М', 'И', 'И', 'А', 'С', 'О', 'Н', 'Д'], + MONTHS: ['январь', 'февраль', 'март', 'апрель', 'май', 'июнь', 'июль', 'август', 'сентябрь', 'октябрь', 'ноябрь', 'декабрь'], + STANDALONEMONTHS: ['Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь', 'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь'], + SHORTMONTHS: ['янв.', 'фев.', 'мар.', 'апр.', 'май', 'июн.', 'июл.', 'авг.', 'сен.', 'окт.', 'ноя.', 'дек.'], + STANDALONESHORTMONTHS: ['Янв', 'Фев', 'Мар', 'Апр', 'Май', 'Июн', 'Июл', 'Авг', 'Сен', 'Окт', 'Ноя', 'Дек'], + WEEKDAYS: ['жекшемби', 'дүйшөмбү', 'шейшемби', 'шаршемби', 'бейшемби', 'жума', 'ишемби'], + STANDALONEWEEKDAYS: ['жекшемби', 'дүйшөмбү', 'шейшемби', 'шаршемби', 'бейшемби', 'жума', 'ишемби'], + SHORTWEEKDAYS: ['жек.', 'дүй.', 'шейш.', 'шарш.', 'бейш.', 'жума', 'ишм.'], + STANDALONESHORTWEEKDAYS: ['жек.', 'дүй.', 'шейш.', 'шарш.', 'бейш.', 'жума', 'ишм.'], + NARROWWEEKDAYS: ['Ж', 'Д', 'Ш', 'Ш', 'Б', 'Ж', 'И'], + STANDALONENARROWWEEKDAYS: ['Ж', 'Д', 'Ш', 'Ш', 'Б', 'Ж', 'И'], + SHORTQUARTERS: ['1-чей.', '2-чей.', '3-чей.', '4-чей.'], + QUARTERS: ['1-чейрек', '2-чейрек', '3-чейрек', '4-чейрек'], + AMPMS: ['таңкы', 'түштөн кийинки'], + DATEFORMATS: ['y-\'ж\'., d-MMMM, EEEE', 'y-\'ж\'., d-MMMM', 'y-\'ж\'., d-MMM', 'd/M/yy'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale ln. + */ +goog.i18n.DateTimeSymbols_ln = { + ERAS: ['libóso ya', 'nsima ya Y'], + ERANAMES: ['Yambo ya Yézu Krís', 'Nsima ya Yézu Krís'], + NARROWMONTHS: ['y', 'f', 'm', 'a', 'm', 'y', 'y', 'a', 's', 'ɔ', 'n', 'd'], + STANDALONENARROWMONTHS: ['y', 'f', 'm', 'a', 'm', 'y', 'y', 'a', 's', 'ɔ', 'n', 'd'], + MONTHS: ['sánzá ya yambo', 'sánzá ya míbalé', 'sánzá ya mísáto', 'sánzá ya mínei', 'sánzá ya mítáno', 'sánzá ya motóbá', 'sánzá ya nsambo', 'sánzá ya mwambe', 'sánzá ya libwa', 'sánzá ya zómi', 'sánzá ya zómi na mɔ̌kɔ́', 'sánzá ya zómi na míbalé'], + STANDALONEMONTHS: ['sánzá ya yambo', 'sánzá ya míbalé', 'sánzá ya mísáto', 'sánzá ya mínei', 'sánzá ya mítáno', 'sánzá ya motóbá', 'sánzá ya nsambo', 'sánzá ya mwambe', 'sánzá ya libwa', 'sánzá ya zómi', 'sánzá ya zómi na mɔ̌kɔ́', 'sánzá ya zómi na míbalé'], + SHORTMONTHS: ['yan', 'fbl', 'msi', 'apl', 'mai', 'yun', 'yul', 'agt', 'stb', 'ɔtb', 'nvb', 'dsb'], + STANDALONESHORTMONTHS: ['yan', 'fbl', 'msi', 'apl', 'mai', 'yun', 'yul', 'agt', 'stb', 'ɔtb', 'nvb', 'dsb'], + WEEKDAYS: ['eyenga', 'mokɔlɔ mwa yambo', 'mokɔlɔ mwa míbalé', 'mokɔlɔ mwa mísáto', 'mokɔlɔ ya mínéi', 'mokɔlɔ ya mítáno', 'mpɔ́sɔ'], + STANDALONEWEEKDAYS: ['eyenga', 'mokɔlɔ mwa yambo', 'mokɔlɔ mwa míbalé', 'mokɔlɔ mwa mísáto', 'mokɔlɔ ya mínéi', 'mokɔlɔ ya mítáno', 'mpɔ́sɔ'], + SHORTWEEKDAYS: ['eye', 'ybo', 'mbl', 'mst', 'min', 'mtn', 'mps'], + STANDALONESHORTWEEKDAYS: ['eye', 'ybo', 'mbl', 'mst', 'min', 'mtn', 'mps'], + NARROWWEEKDAYS: ['e', 'y', 'm', 'm', 'm', 'm', 'p'], + STANDALONENARROWWEEKDAYS: ['e', 'y', 'm', 'm', 'm', 'm', 'p'], + SHORTQUARTERS: ['SM1', 'SM2', 'SM3', 'SM4'], + QUARTERS: ['sánzá mísáto ya yambo', 'sánzá mísáto ya míbalé', 'sánzá mísáto ya mísáto', 'sánzá mísáto ya mínei'], + AMPMS: ['ntɔ́ngɔ́', 'mpókwa'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'd/M/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale lo. + */ +goog.i18n.DateTimeSymbols_lo = { + ERAS: ['ກ່ອນ ຄ.ສ.', 'ຄ.ສ.'], + ERANAMES: ['ກ່ອນຄຣິດສັກກະລາດ', 'ຄຣິດສັກກະລາດ'], + NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + MONTHS: ['ມັງກອນ', 'ກຸມພາ', 'ມີນາ', 'ເມສາ', 'ພຶດສະພາ', 'ມິຖຸນາ', 'ກໍລະກົດ', 'ສິງຫາ', 'ກັນຍາ', 'ຕຸລາ', 'ພະຈິກ', 'ທັນວາ'], + STANDALONEMONTHS: ['ມັງກອນ', 'ກຸມພາ', 'ມີນາ', 'ເມສາ', 'ພຶດສະພາ', 'ມິຖຸນາ', 'ກໍລະກົດ', 'ສິງຫາ', 'ກັນຍາ', 'ຕຸລາ', 'ພະຈິກ', 'ທັນວາ'], + SHORTMONTHS: ['ມ.ກ.', 'ກ.ພ.', 'ມ.ນ.', 'ມ.ສ.', 'ພ.ພ.', 'ມິ.ຖ.', 'ກ.ລ.', 'ສ.ຫ.', 'ກ.ຍ.', 'ຕ.ລ.', 'ພ.ຈ.', 'ທ.ວ.'], + STANDALONESHORTMONTHS: ['ມ.ກ.', 'ກ.ພ.', 'ມ.ນ.', 'ມ.ສ.', 'ພ.ພ.', 'ມິ.ຖ.', 'ກ.ລ.', 'ສ.ຫ.', 'ກ.ຍ.', 'ຕ.ລ.', 'ພ.ຈ.', 'ທ.ວ.'], + WEEKDAYS: ['ວັນອາທິດ', 'ວັນຈັນ', 'ວັນອັງຄານ', 'ວັນພຸດ', 'ວັນພະຫັດ', 'ວັນສຸກ', 'ວັນເສົາ'], + STANDALONEWEEKDAYS: ['ວັນອາທິດ', 'ວັນຈັນ', 'ວັນອັງຄານ', 'ວັນພຸດ', 'ວັນພະຫັດ', 'ວັນສຸກ', 'ວັນເສົາ'], + SHORTWEEKDAYS: ['ອາທິດ', 'ຈັນ', 'ອັງຄານ', 'ພຸດ', 'ພະຫັດ', 'ສຸກ', 'ເສົາ'], + STANDALONESHORTWEEKDAYS: ['ອາທິດ', 'ຈັນ', 'ອັງຄານ', 'ພຸດ', 'ພະຫັດ', 'ສຸກ', 'ເສົາ'], + NARROWWEEKDAYS: ['ອາ', 'ຈ', 'ອ', 'ພ', 'ພຫ', 'ສຸ', 'ສ'], + STANDALONENARROWWEEKDAYS: ['ອາ', 'ຈ', 'ອ', 'ພ', 'ພຫ', 'ສຸ', 'ສ'], + SHORTQUARTERS: ['ຕມ1', 'ຕມ2', 'ຕມ3', 'ຕມ4'], + QUARTERS: ['ໄຕຣມາດ 1', 'ໄຕຣມາດ 2', 'ໄຕຣມາດ 3', 'ໄຕຣມາດ 4'], + AMPMS: ['ກ່ອນທ່ຽງ', 'ຫຼັງທ່ຽງ'], + DATEFORMATS: ['EEEE ທີ d MMMM G y', 'd MMMM y', 'd MMM y', 'd/M/y'], + TIMEFORMATS: ['H ໂມງ m ນາທີ ss ວິນາທີ zzzz', 'H ໂມງ m ນາທີ ss ວິນາທີ z', 'H:mm:ss', 'H:mm'], + DATETIMEFORMATS: ['{1}, {0}', '{1}, {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 6, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 5 +}; + + +/** + * Date/time formatting symbols for locale lt. + */ +goog.i18n.DateTimeSymbols_lt = { + ERAS: ['pr. Kr.', 'po Kr.'], + ERANAMES: ['prieš Kristų', 'po Kristaus'], + NARROWMONTHS: ['S', 'V', 'K', 'B', 'G', 'B', 'L', 'R', 'R', 'S', 'L', 'G'], + STANDALONENARROWMONTHS: ['S', 'V', 'K', 'B', 'G', 'B', 'L', 'R', 'R', 'S', 'L', 'G'], + MONTHS: ['sausio', 'vasario', 'kovo', 'balandžio', 'gegužės', 'birželio', 'liepos', 'rugpjūčio', 'rugsėjo', 'spalio', 'lapkričio', 'gruodžio'], + STANDALONEMONTHS: ['sausis', 'vasaris', 'kovas', 'balandis', 'gegužė', 'birželis', 'liepa', 'rugpjūtis', 'rugsėjis', 'spalis', 'lapkritis', 'gruodis'], + SHORTMONTHS: ['saus.', 'vas.', 'kov.', 'bal.', 'geg.', 'birž.', 'liep.', 'rugp.', 'rugs.', 'spal.', 'lapkr.', 'gruod.'], + STANDALONESHORTMONTHS: ['saus.', 'vas.', 'kov.', 'bal.', 'geg.', 'birž.', 'liep.', 'rugp.', 'rugs.', 'spal.', 'lapkr.', 'gruod.'], + WEEKDAYS: ['sekmadienis', 'pirmadienis', 'antradienis', 'trečiadienis', 'ketvirtadienis', 'penktadienis', 'šeštadienis'], + STANDALONEWEEKDAYS: ['sekmadienis', 'pirmadienis', 'antradienis', 'trečiadienis', 'ketvirtadienis', 'penktadienis', 'šeštadienis'], + SHORTWEEKDAYS: ['sk', 'pr', 'an', 'tr', 'kt', 'pn', 'št'], + STANDALONESHORTWEEKDAYS: ['sk', 'pr', 'an', 'tr', 'kt', 'pn', 'št'], + NARROWWEEKDAYS: ['S', 'P', 'A', 'T', 'K', 'P', 'Š'], + STANDALONENARROWWEEKDAYS: ['S', 'P', 'A', 'T', 'K', 'P', 'Š'], + SHORTQUARTERS: ['I k.', 'II k.', 'III k.', 'IV k.'], + QUARTERS: ['I ketvirtis', 'II ketvirtis', 'III ketvirtis', 'IV ketvirtis'], + AMPMS: ['priešpiet', 'popiet'], + DATEFORMATS: ['y \'m\'. MMMM d \'d\'., EEEE', 'y \'m\'. MMMM d \'d\'.', 'y-MM-dd', 'y-MM-dd'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 3 +}; + + +/** + * Date/time formatting symbols for locale lv. + */ +goog.i18n.DateTimeSymbols_lv = { + ERAS: ['p.m.ē.', 'm.ē.'], + ERANAMES: ['pirms mūsu ēras', 'mūsu ērā'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['janvāris', 'februāris', 'marts', 'aprīlis', 'maijs', 'jūnijs', 'jūlijs', 'augusts', 'septembris', 'oktobris', 'novembris', 'decembris'], + STANDALONEMONTHS: ['janvāris', 'februāris', 'marts', 'aprīlis', 'maijs', 'jūnijs', 'jūlijs', 'augusts', 'septembris', 'oktobris', 'novembris', 'decembris'], + SHORTMONTHS: ['janv.', 'febr.', 'marts', 'apr.', 'maijs', 'jūn.', 'jūl.', 'aug.', 'sept.', 'okt.', 'nov.', 'dec.'], + STANDALONESHORTMONTHS: ['janv.', 'febr.', 'marts', 'apr.', 'maijs', 'jūn.', 'jūl.', 'aug.', 'sept.', 'okt.', 'nov.', 'dec.'], + WEEKDAYS: ['svētdiena', 'pirmdiena', 'otrdiena', 'trešdiena', 'ceturtdiena', 'piektdiena', 'sestdiena'], + STANDALONEWEEKDAYS: ['Svētdiena', 'Pirmdiena', 'Otrdiena', 'Trešdiena', 'Ceturtdiena', 'Piektdiena', 'Sestdiena'], + SHORTWEEKDAYS: ['svētd.', 'pirmd.', 'otrd.', 'trešd.', 'ceturtd.', 'piektd.', 'sestd.'], + STANDALONESHORTWEEKDAYS: ['Svētd.', 'Pirmd.', 'Otrd.', 'Trešd.', 'Ceturtd.', 'Piektd.', 'Sestd.'], + NARROWWEEKDAYS: ['S', 'P', 'O', 'T', 'C', 'P', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'P', 'O', 'T', 'C', 'P', 'S'], + SHORTQUARTERS: ['1. cet.', '2. cet.', '3. cet.', '4. cet.'], + QUARTERS: ['1. ceturksnis', '2. ceturksnis', '3. ceturksnis', '4. ceturksnis'], + AMPMS: ['priekšpusdienā', 'pēcpusdienā'], + DATEFORMATS: ['EEEE, y. \'gada\' d. MMMM', 'y. \'gada\' d. MMMM', 'y. \'gada\' d. MMM', 'dd.MM.yy'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale mk. + */ +goog.i18n.DateTimeSymbols_mk = { + ERAS: ['пр.н.е.', 'н.е.'], + ERANAMES: ['пред нашата ера', 'од нашата ера'], + NARROWMONTHS: ['ј', 'ф', 'м', 'а', 'м', 'ј', 'ј', 'а', 'с', 'о', 'н', 'д'], + STANDALONENARROWMONTHS: ['ј', 'ф', 'м', 'а', 'м', 'ј', 'ј', 'а', 'с', 'о', 'н', 'д'], + MONTHS: ['јануари', 'февруари', 'март', 'април', 'мај', 'јуни', 'јули', 'август', 'септември', 'октомври', 'ноември', 'декември'], + STANDALONEMONTHS: ['јануари', 'февруари', 'март', 'април', 'мај', 'јуни', 'јули', 'август', 'септември', 'октомври', 'ноември', 'декември'], + SHORTMONTHS: ['јан.', 'фев.', 'мар.', 'апр.', 'мај', 'јун.', 'јул.', 'авг.', 'септ.', 'окт.', 'ноем.', 'дек.'], + STANDALONESHORTMONTHS: ['јан.', 'фев.', 'мар.', 'апр.', 'мај', 'јун.', 'јул.', 'авг.', 'септ.', 'окт.', 'ноем.', 'дек.'], + WEEKDAYS: ['недела', 'понеделник', 'вторник', 'среда', 'четврток', 'петок', 'сабота'], + STANDALONEWEEKDAYS: ['недела', 'понеделник', 'вторник', 'среда', 'четврток', 'петок', 'сабота'], + SHORTWEEKDAYS: ['нед.', 'пон.', 'вт.', 'сре.', 'чет.', 'пет.', 'саб.'], + STANDALONESHORTWEEKDAYS: ['нед.', 'пон.', 'вто.', 'сре.', 'чет.', 'пет.', 'саб.'], + NARROWWEEKDAYS: ['н', 'п', 'в', 'с', 'ч', 'п', 'с'], + STANDALONENARROWWEEKDAYS: ['н', 'п', 'в', 'с', 'ч', 'п', 'с'], + SHORTQUARTERS: ['јан-мар', 'апр-јун', 'јул-сеп', 'окт-дек'], + QUARTERS: ['прво тромесечје', 'второ тромесечје', 'трето тромесечје', 'четврто тромесечје'], + AMPMS: ['претпладне', 'попладне'], + DATEFORMATS: ['EEEE, dd MMMM y', 'dd MMMM y', 'dd.M.y', 'dd.M.yy'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale ml. + */ +goog.i18n.DateTimeSymbols_ml = { + ERAS: ['ക്രി.മു.', 'എഡി'], + ERANAMES: ['ക്രിസ്‌തുവിന് മുമ്പ്', 'ആന്നോ ഡൊമിനി'], + NARROWMONTHS: ['ജ', 'ഫ', 'മാ', 'ഏ', 'മെ', 'ജൂൺ', 'ജൂ', 'ഓ', 'സെ', 'ഒ', 'ന', 'ഡി'], + STANDALONENARROWMONTHS: ['ജ', 'ഫെ', 'മാ', 'ഏ', 'മെ', 'ജൂൺ', 'ജൂ', 'ഓ', 'സെ', 'ഒ', 'ന', 'ഡി'], + MONTHS: ['ജനുവരി', 'ഫെബ്രുവരി', 'മാർച്ച്', 'ഏപ്രിൽ', 'മേയ്', 'ജൂൺ', 'ജൂലൈ', 'ഓഗസ്റ്റ്', 'സെപ്റ്റംബർ', 'ഒക്‌ടോബർ', 'നവംബർ', 'ഡിസംബർ'], + STANDALONEMONTHS: ['ജനുവരി', 'ഫെബ്രുവരി', 'മാർച്ച്', 'ഏപ്രിൽ', 'മേയ്', 'ജൂൺ', 'ജൂലൈ', 'ഓഗസ്റ്റ്', 'സെപ്റ്റംബർ', 'ഒക്‌ടോബർ', 'നവംബർ', 'ഡിസംബർ'], + SHORTMONTHS: ['ജനു', 'ഫെബ്രു', 'മാർ', 'ഏപ്രി', 'മേയ്', 'ജൂൺ', 'ജൂലൈ', 'ഓഗ', 'സെപ്റ്റം', 'ഒക്ടോ', 'നവം', 'ഡിസം'], + STANDALONESHORTMONTHS: ['ജനു', 'ഫെബ്രു', 'മാർ', 'ഏപ്രി', 'മേയ്', 'ജൂൺ', 'ജൂലൈ', 'ഓഗ', 'സെപ്റ്റം', 'ഒക്ടോ', 'നവം', 'ഡിസം'], + WEEKDAYS: ['ഞായറാഴ്‌ച', 'തിങ്കളാഴ്‌ച', 'ചൊവ്വാഴ്ച', 'ബുധനാഴ്‌ച', 'വ്യാഴാഴ്‌ച', 'വെള്ളിയാഴ്‌ച', 'ശനിയാഴ്‌ച'], + STANDALONEWEEKDAYS: ['ഞായറാഴ്‌ച', 'തിങ്കളാഴ്‌ച', 'ചൊവ്വാഴ്‌ച', 'ബുധനാഴ്‌ച', 'വ്യാഴാഴ്‌ച', 'വെള്ളിയാഴ്‌ച', 'ശനിയാഴ്‌ച'], + SHORTWEEKDAYS: ['ഞായർ', 'തിങ്കൾ', 'ചൊവ്വ', 'ബുധൻ', 'വ്യാഴം', 'വെള്ളി', 'ശനി'], + STANDALONESHORTWEEKDAYS: ['ഞായർ', 'തിങ്കൾ', 'ചൊവ്വ', 'ബുധൻ', 'വ്യാഴം', 'വെള്ളി', 'ശനി'], + NARROWWEEKDAYS: ['ഞ', 'തി', 'ചൊ', 'ബു', 'വ്യാ', 'വെ', 'ശ'], + STANDALONENARROWWEEKDAYS: ['ഞാ', 'തി', 'ചൊ', 'ബു', 'വ്യാ', 'വെ', 'ശ'], + SHORTQUARTERS: ['ഒന്നാം പാദം', 'രണ്ടാം പാദം', 'മൂന്നാം പാദം', 'നാലാം പാദം'], + QUARTERS: ['ഒന്നാം പാദം', 'രണ്ടാം പാദം', 'മൂന്നാം പാദം', 'നാലാം പാദം'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['y, MMMM d, EEEE', 'y, MMMM d', 'y, MMM d', 'd/M/yy'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 6, + WEEKENDRANGE: [6, 6], + FIRSTWEEKCUTOFFDAY: 5 +}; + + +/** + * Date/time formatting symbols for locale mn. + */ +goog.i18n.DateTimeSymbols_mn = { + ERAS: ['м.э.ө', 'м.э.'], + ERANAMES: ['манай эриний өмнөх', 'манай эриний'], + NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + MONTHS: ['Нэгдүгээр сар', 'Хоёрдугаар сар', 'Гуравдугаар сар', 'Дөрөвдүгээр сар', 'Тавдугаар сар', 'Зургадугаар сар', 'Долдугаар сар', 'Наймдугаар сар', 'Есдүгээр сар', 'Аравдугаар сар', 'Арван нэгдүгээр сар', 'Арван хоёрдугаар сар'], + STANDALONEMONTHS: ['Нэгдүгээр сар', 'Хоёрдугаар сар', 'Гуравдугаар сар', 'Дөрөвдүгээр сар', 'Тавдугаар сар', 'Зургадугаар сар', 'Долдугаар сар', 'Наймдугаар сар', 'Есдүгээр сар', 'Аравдугаар сар', 'Арван нэгдүгээр сар', 'Арван хоёрдугаар сар'], + SHORTMONTHS: ['1-р сар', '2-р сар', '3-р сар', '4-р сар', '5-р сар', '6-р сар', '7-р сар', '8-р сар', '9-р сар', '10-р сар', '11-р сар', '12-р сар'], + STANDALONESHORTMONTHS: ['1-р сар', '2-р сар', '3-р сар', '4-р сар', '5-р сар', '6-р сар', '7-р сар', '8-р сар', '9-р сар', '10-р сар', '11-р сар', '12-р сар'], + WEEKDAYS: ['ням', 'даваа', 'мягмар', 'лхагва', 'пүрэв', 'баасан', 'бямба'], + STANDALONEWEEKDAYS: ['ням', 'даваа', 'мягмар', 'лхагва', 'пүрэв', 'баасан', 'бямба'], + SHORTWEEKDAYS: ['Ня', 'Да', 'Мя', 'Лх', 'Пү', 'Ба', 'Бя'], + STANDALONESHORTWEEKDAYS: ['Ня', 'Да', 'Мя', 'Лх', 'Пү', 'Ба', 'Бя'], + NARROWWEEKDAYS: ['Ня', 'Да', 'Мя', 'Лх', 'Пү', 'Ба', 'Бя'], + STANDALONENARROWWEEKDAYS: ['Ня', 'Да', 'Мя', 'Лх', 'Пү', 'Ба', 'Бя'], + SHORTQUARTERS: ['У1', 'У2', 'У3', 'У4'], + QUARTERS: ['1-р улирал', '2-р улирал', '3-р улирал', '4-р улирал'], + AMPMS: ['ү.ө', 'ү.х'], + DATEFORMATS: ['EEEE, y \'оны\' MM \'сарын\' d', 'y\'оны\' MMMM\'сарын\' d\'өдөр\'', 'y MMM d', 'y-MM-dd'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale mo. + */ +goog.i18n.DateTimeSymbols_mo = { + ERAS: ['î.Hr.', 'd.Hr.'], + ERANAMES: ['înainte de Hristos', 'după Hristos'], + NARROWMONTHS: ['I', 'F', 'M', 'A', 'M', 'I', 'I', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['I', 'F', 'M', 'A', 'M', 'I', 'I', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['ianuarie', 'februarie', 'martie', 'aprilie', 'mai', 'iunie', 'iulie', 'august', 'septembrie', 'octombrie', 'noiembrie', 'decembrie'], + STANDALONEMONTHS: ['ianuarie', 'februarie', 'martie', 'aprilie', 'mai', 'iunie', 'iulie', 'august', 'septembrie', 'octombrie', 'noiembrie', 'decembrie'], + SHORTMONTHS: ['ian.', 'feb.', 'mar.', 'apr.', 'mai', 'iun.', 'iul.', 'aug.', 'sept.', 'oct.', 'nov.', 'dec.'], + STANDALONESHORTMONTHS: ['ian.', 'feb.', 'mar.', 'apr.', 'mai', 'iun.', 'iul.', 'aug.', 'sept.', 'oct.', 'nov.', 'dec.'], + WEEKDAYS: ['duminică', 'luni', 'marți', 'miercuri', 'joi', 'vineri', 'sâmbătă'], + STANDALONEWEEKDAYS: ['duminică', 'luni', 'marți', 'miercuri', 'joi', 'vineri', 'sâmbătă'], + SHORTWEEKDAYS: ['Dum', 'Lun', 'Mar', 'Mie', 'Joi', 'Vin', 'Sâm'], + STANDALONESHORTWEEKDAYS: ['Dum', 'Lun', 'Mar', 'Mie', 'Joi', 'Vin', 'Sâm'], + NARROWWEEKDAYS: ['D', 'L', 'Ma', 'Mi', 'J', 'V', 'S'], + STANDALONENARROWWEEKDAYS: ['D', 'L', 'Ma', 'Mi', 'J', 'V', 'S'], + SHORTQUARTERS: ['trim. 1', 'trim. 2', 'trim. 3', 'trim. 4'], + QUARTERS: ['trimestrul 1', 'trimestrul 2', 'trimestrul 3', 'trimestrul 4'], + AMPMS: ['a.m.', 'p.m.'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd.MM.y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1}, {0}', '{1}, {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale mr. + */ +goog.i18n.DateTimeSymbols_mr = { + ZERODIGIT: 0x0966, + ERAS: ['इ. स. पू.', 'इ. स.'], + ERANAMES: ['ईसवीसनपूर्व', 'ईसवीसन'], + NARROWMONTHS: ['जा', 'फे', 'मा', 'ए', 'मे', 'जू', 'जु', 'ऑ', 'स', 'ऑ', 'नो', 'डि'], + STANDALONENARROWMONTHS: ['जा', 'फे', 'मा', 'ए', 'मे', 'जू', 'जु', 'ऑ', 'स', 'ऑ', 'नो', 'डि'], + MONTHS: ['जानेवारी', 'फेब्रुवारी', 'मार्च', 'एप्रिल', 'मे', 'जून', 'जुलै', 'ऑगस्ट', 'सप्टेंबर', 'ऑक्टोबर', 'नोव्हेंबर', 'डिसेंबर'], + STANDALONEMONTHS: ['जानेवारी', 'फेब्रुवारी', 'मार्च', 'एप्रिल', 'मे', 'जून', 'जुलै', 'ऑगस्ट', 'सप्टेंबर', 'ऑक्टोबर', 'नोव्हेंबर', 'डिसेंबर'], + SHORTMONTHS: ['जाने', 'फेब्रु', 'मार्च', 'एप्रि', 'मे', 'जून', 'जुलै', 'ऑग', 'सप्टें', 'ऑक्टो', 'नोव्हें', 'डिसें'], + STANDALONESHORTMONTHS: ['जाने', 'फेब्रु', 'मार्च', 'एप्रि', 'मे', 'जून', 'जुलै', 'ऑग', 'सप्टें', 'ऑक्टो', 'नोव्हें', 'डिसें'], + WEEKDAYS: ['रविवार', 'सोमवार', 'मंगळवार', 'बुधवार', 'गुरुवार', 'शुक्रवार', 'शनिवार'], + STANDALONEWEEKDAYS: ['रविवार', 'सोमवार', 'मंगळवार', 'बुधवार', 'गुरुवार', 'शुक्रवार', 'शनिवार'], + SHORTWEEKDAYS: ['रवि', 'सोम', 'मंगळ', 'बुध', 'गुरु', 'शुक्र', 'शनि'], + STANDALONESHORTWEEKDAYS: ['रवि', 'सोम', 'मंगळ', 'बुध', 'गुरु', 'शुक्र', 'शनि'], + NARROWWEEKDAYS: ['र', 'सो', 'मं', 'बु', 'गु', 'शु', 'श'], + STANDALONENARROWWEEKDAYS: ['र', 'सो', 'मं', 'बु', 'गु', 'शु', 'श'], + SHORTQUARTERS: ['ति१', 'ति२', 'ति३', 'ति४'], + QUARTERS: ['प्रथम तिमाही', 'द्वितीय तिमाही', 'तृतीय तिमाही', 'चतुर्थ तिमाही'], + AMPMS: ['म.पू.', 'म.उ.'], + DATEFORMATS: ['EEEE, d MMMM, y', 'd MMMM, y', 'd MMM, y', 'd/M/yy'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} रोजी {0}', '{1} रोजी {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 6, + WEEKENDRANGE: [6, 6], + FIRSTWEEKCUTOFFDAY: 5 +}; + + +/** + * Date/time formatting symbols for locale ms. + */ +goog.i18n.DateTimeSymbols_ms = { + ERAS: ['S.M.', 'TM'], + ERANAMES: ['S.M.', 'TM'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'O', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'O', 'S', 'O', 'N', 'D'], + MONTHS: ['Januari', 'Februari', 'Mac', 'April', 'Mei', 'Jun', 'Julai', 'Ogos', 'September', 'Oktober', 'November', 'Disember'], + STANDALONEMONTHS: ['Januari', 'Februari', 'Mac', 'April', 'Mei', 'Jun', 'Julai', 'Ogos', 'September', 'Oktober', 'November', 'Disember'], + SHORTMONTHS: ['Jan', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Jul', 'Ogo', 'Sep', 'Okt', 'Nov', 'Dis'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Jul', 'Ogo', 'Sep', 'Okt', 'Nov', 'Dis'], + WEEKDAYS: ['Ahad', 'Isnin', 'Selasa', 'Rabu', 'Khamis', 'Jumaat', 'Sabtu'], + STANDALONEWEEKDAYS: ['Ahad', 'Isnin', 'Selasa', 'Rabu', 'Khamis', 'Jumaat', 'Sabtu'], + SHORTWEEKDAYS: ['Ahd', 'Isn', 'Sel', 'Rab', 'Kha', 'Jum', 'Sab'], + STANDALONESHORTWEEKDAYS: ['Ahd', 'Isn', 'Sel', 'Rab', 'Kha', 'Jum', 'Sab'], + NARROWWEEKDAYS: ['A', 'I', 'S', 'R', 'K', 'J', 'S'], + STANDALONENARROWWEEKDAYS: ['A', 'I', 'S', 'R', 'K', 'J', 'S'], + SHORTQUARTERS: ['S1', 'S2', 'S3', 'S4'], + QUARTERS: ['Suku pertama', 'Suku Ke-2', 'Suku Ke-3', 'Suku Ke-4'], + AMPMS: ['PG', 'PTG'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'd/MM/yy'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale mt. + */ +goog.i18n.DateTimeSymbols_mt = { + ERAS: ['QK', 'WK'], + ERANAMES: ['Qabel Kristu', 'Wara Kristu'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'Ġ', 'L', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['Jn', 'Fr', 'Mz', 'Ap', 'Mj', 'Ġn', 'Lj', 'Aw', 'St', 'Ob', 'Nv', 'Dċ'], + MONTHS: ['Jannar', 'Frar', 'Marzu', 'April', 'Mejju', 'Ġunju', 'Lulju', 'Awwissu', 'Settembru', 'Ottubru', 'Novembru', 'Diċembru'], + STANDALONEMONTHS: ['Jannar', 'Frar', 'Marzu', 'April', 'Mejju', 'Ġunju', 'Lulju', 'Awwissu', 'Settembru', 'Ottubru', 'Novembru', 'Diċembru'], + SHORTMONTHS: ['Jan', 'Fra', 'Mar', 'Apr', 'Mej', 'Ġun', 'Lul', 'Aww', 'Set', 'Ott', 'Nov', 'Diċ'], + STANDALONESHORTMONTHS: ['Jan', 'Fra', 'Mar', 'Apr', 'Mej', 'Ġun', 'Lul', 'Aww', 'Set', 'Ott', 'Nov', 'Diċ'], + WEEKDAYS: ['Il-Ħadd', 'It-Tnejn', 'It-Tlieta', 'L-Erbgħa', 'Il-Ħamis', 'Il-Ġimgħa', 'Is-Sibt'], + STANDALONEWEEKDAYS: ['Il-Ħadd', 'It-Tnejn', 'It-Tlieta', 'L-Erbgħa', 'Il-Ħamis', 'Il-Ġimgħa', 'Is-Sibt'], + SHORTWEEKDAYS: ['Ħad', 'Tne', 'Tli', 'Erb', 'Ħam', 'Ġim', 'Sib'], + STANDALONESHORTWEEKDAYS: ['Ħad', 'Tne', 'Tli', 'Erb', 'Ħam', 'Ġim', 'Sib'], + NARROWWEEKDAYS: ['Ħd', 'T', 'Tl', 'Er', 'Ħm', 'Ġm', 'Sb'], + STANDALONENARROWWEEKDAYS: ['Ħd', 'Tn', 'Tl', 'Er', 'Ħm', 'Ġm', 'Sb'], + SHORTQUARTERS: ['K1', 'K2', 'K3', 'K4'], + QUARTERS: ['1el kwart', '2ni kwart', '3et kwart', '4ba’ kwart'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d \'ta\'’ MMMM y', 'd \'ta\'’ MMMM y', 'dd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 6, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 5 +}; + + +/** + * Date/time formatting symbols for locale my. + */ +goog.i18n.DateTimeSymbols_my = { + ZERODIGIT: 0x1040, + ERAS: ['ဘီစီ', 'အေဒီ'], + ERANAMES: ['ခရစ်တော် မပေါ်မီနှစ်', 'ခရစ်နှစ်'], + NARROWMONTHS: ['ဇ', 'ဖ', 'မ', 'ဧ', 'မ', 'ဇ', 'ဇ', 'ဩ', 'စ', 'အ', 'န', 'ဒ'], + STANDALONENARROWMONTHS: ['ဇ', 'ဖ', 'မ', 'ဧ', 'မ', 'ဇ', 'ဇ', 'ဩ', 'စ', 'အ', 'န', 'ဒ'], + MONTHS: ['ဇန်နဝါရီ', 'ဖေဖော်ဝါရီ', 'မတ်', 'ဧပြီ', 'မေ', 'ဇွန်', 'ဇူလိုင်', 'ဩဂုတ်', 'စက်တင်ဘာ', 'အောက်တိုဘာ', 'နိုဝင်ဘာ', 'ဒီဇင်ဘာ'], + STANDALONEMONTHS: ['ဇန်နဝါရီ', 'ဖေဖော်ဝါရီ', 'မတ်', 'ဧပြီ', 'မေ', 'ဇွန်', 'ဇူလိုင်', 'ဩဂုတ်', 'စက်တင်ဘာ', 'အောက်တိုဘာ', 'နိုဝင်ဘာ', 'ဒီဇင်ဘာ'], + SHORTMONTHS: ['ဇန်', 'ဖေ', 'မတ်', 'ဧ', 'မေ', 'ဇွန်', 'ဇူ', 'ဩ', 'စက်', 'အောက်', 'နို', 'ဒီ'], + STANDALONESHORTMONTHS: ['ဇန်', 'ဖေ', 'မတ်', 'ဧ', 'မေ', 'ဇွန်', 'ဇူ', 'ဩ', 'စက်', 'အောက်', 'နို', 'ဒီ'], + WEEKDAYS: ['တနင်္ဂနွေ', 'တနင်္လာ', 'အင်္ဂါ', 'ဗုဒ္ဓဟူး', 'ကြာသပတေး', 'သောကြာ', 'စနေ'], + STANDALONEWEEKDAYS: ['တနင်္ဂနွေ', 'တနင်္လာ', 'အင်္ဂါ', 'ဗုဒ္ဓဟူး', 'ကြာသပတေး', 'သောကြာ', 'စနေ'], + SHORTWEEKDAYS: ['တနင်္ဂနွေ', 'တနင်္လာ', 'အင်္ဂါ', 'ဗုဒ္ဓဟူး', 'ကြာသပတေး', 'သောကြာ', 'စနေ'], + STANDALONESHORTWEEKDAYS: ['တနင်္ဂနွေ', 'တနင်္လာ', 'အင်္ဂါ', 'ဗုဒ္ဓဟူး', 'ကြာသပတေး', 'သောကြာ', 'စနေ'], + NARROWWEEKDAYS: ['တ', 'တ', 'အ', 'ဗ', 'က', 'သ', 'စ'], + STANDALONENARROWWEEKDAYS: ['တ', 'တ', 'အ', 'ဗ', 'က', 'သ', 'စ'], + SHORTQUARTERS: ['ပထမ သုံးလပတ်', 'ဒုတိယ သုံးလပတ်', 'တတိယ သုံးလပတ်', 'စတုတ္ထ သုံးလပတ်'], + QUARTERS: ['ပထမ သုံးလပတ်', 'ဒုတိယ သုံးလပတ်', 'တတိယ သုံးလပတ်', 'စတုတ္ထ သုံးလပတ်'], + AMPMS: ['နံနက်', 'ညနေ'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd-MM-yy'], + TIMEFORMATS: ['zzzz HH:mm:ss', 'z HH:mm:ss', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 6, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 5 +}; + + +/** + * Date/time formatting symbols for locale nb. + */ +goog.i18n.DateTimeSymbols_nb = { + ERAS: ['f.Kr.', 'e.Kr.'], + ERANAMES: ['før Kristus', 'etter Kristus'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['januar', 'februar', 'mars', 'april', 'mai', 'juni', 'juli', 'august', 'september', 'oktober', 'november', 'desember'], + STANDALONEMONTHS: ['januar', 'februar', 'mars', 'april', 'mai', 'juni', 'juli', 'august', 'september', 'oktober', 'november', 'desember'], + SHORTMONTHS: ['jan.', 'feb.', 'mar.', 'apr.', 'mai', 'jun.', 'jul.', 'aug.', 'sep.', 'okt.', 'nov.', 'des.'], + STANDALONESHORTMONTHS: ['jan', 'feb', 'mar', 'apr', 'mai', 'jun', 'jul', 'aug', 'sep', 'okt', 'nov', 'des'], + WEEKDAYS: ['søndag', 'mandag', 'tirsdag', 'onsdag', 'torsdag', 'fredag', 'lørdag'], + STANDALONEWEEKDAYS: ['søndag', 'mandag', 'tirsdag', 'onsdag', 'torsdag', 'fredag', 'lørdag'], + SHORTWEEKDAYS: ['søn.', 'man.', 'tir.', 'ons.', 'tor.', 'fre.', 'lør.'], + STANDALONESHORTWEEKDAYS: ['søn.', 'man.', 'tir.', 'ons.', 'tor.', 'fre.', 'lør.'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'O', 'T', 'F', 'L'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'O', 'T', 'F', 'L'], + SHORTQUARTERS: ['K1', 'K2', 'K3', 'K4'], + QUARTERS: ['1. kvartal', '2. kvartal', '3. kvartal', '4. kvartal'], + AMPMS: ['a.m.', 'p.m.'], + DATEFORMATS: ['EEEE d. MMMM y', 'd. MMMM y', 'd. MMM y', 'dd.MM.y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} \'kl\'. {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 3 +}; + + +/** + * Date/time formatting symbols for locale ne. + */ +goog.i18n.DateTimeSymbols_ne = { + ZERODIGIT: 0x0966, + ERAS: ['ईसा पूर्व', 'सन्'], + ERANAMES: ['ईसा पूर्व', 'सन्'], + NARROWMONTHS: ['१', '२', '३', '४', '५', '६', '७', '८', '९', '१०', '११', '१२'], + STANDALONENARROWMONTHS: ['१', '२', '३', '४', '५', '६', '७', '८', '९', '१०', '११', '१२'], + MONTHS: ['जनवरी', 'फेब्रुअरी', 'मार्च', 'अप्रिल', 'मई', 'जुन', 'जुलाई', 'अगस्ट', 'सेप्टेम्बर', 'अक्टोबर', 'नोभेम्बर', 'डिसेम्बर'], + STANDALONEMONTHS: ['जनवरी', 'फेब्रुअरी', 'मार्च', 'अप्रिल', 'मे', 'जुन', 'जुलाई', 'अगस्ट', 'सेप्टेम्बर', 'अक्टोबर', 'नोभेम्बर', 'डिसेम्बर'], + SHORTMONTHS: ['जनवरी', 'फेब्रुअरी', 'मार्च', 'अप्रिल', 'मे', 'जुन', 'जुलाई', 'अगस्ट', 'सेप्टेम्बर', 'अक्टोबर', 'नोभेम्बर', 'डिसेम्बर'], + STANDALONESHORTMONTHS: ['जनवरी', 'फेब्रुअरी', 'मार्च', 'अप्रिल', 'मे', 'जुन', 'जुलाई', 'अगस्ट', 'सेप्टेम्बर', 'अक्टोबर', 'नोभेम्बर', 'डिसेम्बर'], + WEEKDAYS: ['आइतबार', 'सोमबार', 'मङ्गलबार', 'बुधबार', 'बिहिबार', 'शुक्रबार', 'शनिबार'], + STANDALONEWEEKDAYS: ['आइतबार', 'सोमबार', 'मङ्गलबार', 'बुधबार', 'बिहिबार', 'शुक्रबार', 'शनिबार'], + SHORTWEEKDAYS: ['आइत', 'सोम', 'मङ्गल', 'बुध', 'बिहि', 'शुक्र', 'शनि'], + STANDALONESHORTWEEKDAYS: ['आइत', 'सोम', 'मङ्गल', 'बुध', 'बिहि', 'शुक्र', 'शनि'], + NARROWWEEKDAYS: ['आ', 'सो', 'म', 'बु', 'बि', 'शु', 'श'], + STANDALONENARROWWEEKDAYS: ['आ', 'सो', 'म', 'बु', 'बि', 'शु', 'श'], + SHORTQUARTERS: ['पहिलो सत्र', 'दोस्रो सत्र', 'तेस्रो सत्र', 'चौथो सत्र'], + QUARTERS: ['पहिलो सत्र', 'दोस्रो सत्र', 'तेस्रो सत्र', 'चौथो सत्र'], + AMPMS: ['पूर्वाह्न', 'अपराह्न'], + DATEFORMATS: ['y MMMM d, EEEE', 'y MMMM d', 'y MMM d', 'y-MM-dd'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 6, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 5 +}; + + +/** + * Date/time formatting symbols for locale nl. + */ +goog.i18n.DateTimeSymbols_nl = { + ERAS: ['v.Chr.', 'n.Chr.'], + ERANAMES: ['voor Christus', 'na Christus'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['januari', 'februari', 'maart', 'april', 'mei', 'juni', 'juli', 'augustus', 'september', 'oktober', 'november', 'december'], + STANDALONEMONTHS: ['januari', 'februari', 'maart', 'april', 'mei', 'juni', 'juli', 'augustus', 'september', 'oktober', 'november', 'december'], + SHORTMONTHS: ['jan.', 'feb.', 'mrt.', 'apr.', 'mei', 'jun.', 'jul.', 'aug.', 'sep.', 'okt.', 'nov.', 'dec.'], + STANDALONESHORTMONTHS: ['jan.', 'feb.', 'mrt.', 'apr.', 'mei', 'jun.', 'jul.', 'aug.', 'sep.', 'okt.', 'nov.', 'dec.'], + WEEKDAYS: ['zondag', 'maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag'], + STANDALONEWEEKDAYS: ['zondag', 'maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag'], + SHORTWEEKDAYS: ['zo', 'ma', 'di', 'wo', 'do', 'vr', 'za'], + STANDALONESHORTWEEKDAYS: ['zo', 'ma', 'di', 'wo', 'do', 'vr', 'za'], + NARROWWEEKDAYS: ['Z', 'M', 'D', 'W', 'D', 'V', 'Z'], + STANDALONENARROWWEEKDAYS: ['Z', 'M', 'D', 'W', 'D', 'V', 'Z'], + SHORTQUARTERS: ['K1', 'K2', 'K3', 'K4'], + QUARTERS: ['1e kwartaal', '2e kwartaal', '3e kwartaal', '4e kwartaal'], + AMPMS: ['a.m.', 'p.m.'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd-MM-yy'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'om\' {0}', '{1} \'om\' {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 3 +}; + + +/** + * Date/time formatting symbols for locale no. + */ +goog.i18n.DateTimeSymbols_no = { + ERAS: ['f.Kr.', 'e.Kr.'], + ERANAMES: ['før Kristus', 'etter Kristus'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['januar', 'februar', 'mars', 'april', 'mai', 'juni', 'juli', 'august', 'september', 'oktober', 'november', 'desember'], + STANDALONEMONTHS: ['januar', 'februar', 'mars', 'april', 'mai', 'juni', 'juli', 'august', 'september', 'oktober', 'november', 'desember'], + SHORTMONTHS: ['jan.', 'feb.', 'mar.', 'apr.', 'mai', 'jun.', 'jul.', 'aug.', 'sep.', 'okt.', 'nov.', 'des.'], + STANDALONESHORTMONTHS: ['jan', 'feb', 'mar', 'apr', 'mai', 'jun', 'jul', 'aug', 'sep', 'okt', 'nov', 'des'], + WEEKDAYS: ['søndag', 'mandag', 'tirsdag', 'onsdag', 'torsdag', 'fredag', 'lørdag'], + STANDALONEWEEKDAYS: ['søndag', 'mandag', 'tirsdag', 'onsdag', 'torsdag', 'fredag', 'lørdag'], + SHORTWEEKDAYS: ['søn.', 'man.', 'tir.', 'ons.', 'tor.', 'fre.', 'lør.'], + STANDALONESHORTWEEKDAYS: ['søn.', 'man.', 'tir.', 'ons.', 'tor.', 'fre.', 'lør.'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'O', 'T', 'F', 'L'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'O', 'T', 'F', 'L'], + SHORTQUARTERS: ['K1', 'K2', 'K3', 'K4'], + QUARTERS: ['1. kvartal', '2. kvartal', '3. kvartal', '4. kvartal'], + AMPMS: ['a.m.', 'p.m.'], + DATEFORMATS: ['EEEE d. MMMM y', 'd. MMMM y', 'd. MMM y', 'dd.MM.y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} \'kl\'. {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 3 +}; + + +/** + * Date/time formatting symbols for locale no_NO. + */ +goog.i18n.DateTimeSymbols_no_NO = goog.i18n.DateTimeSymbols_no; + + +/** + * Date/time formatting symbols for locale or. + */ +goog.i18n.DateTimeSymbols_or = { + ERAS: ['BCE', 'CE'], + ERANAMES: ['BCE', 'CE'], + NARROWMONTHS: ['ଜା', 'ଫେ', 'ମା', 'ଅ', 'ମଇ', 'ଜୁ', 'ଜୁ', 'ଅ', 'ସେ', 'ଅ', 'ନ', 'ଡି'], + STANDALONENARROWMONTHS: ['ଜା', 'ଫେ', 'ମା', 'ଅ', 'ମଇ', 'ଜୁ', 'ଜୁ', 'ଅ', 'ସେ', 'ଅ', 'ନ', 'ଡି'], + MONTHS: ['ଜାନୁଆରୀ', 'ଫେବୃଆରୀ', 'ମାର୍ଚ୍ଚ', 'ଅପ୍ରେଲ', 'ମଇ', 'ଜୁନ', 'ଜୁଲାଇ', 'ଅଗଷ୍ଟ', 'ସେପ୍ଟେମ୍ବର', 'ଅକ୍ଟୋବର', 'ନଭେମ୍ବର', 'ଡିସେମ୍ବର'], + STANDALONEMONTHS: ['ଜାନୁଆରୀ', 'ଫେବୃଆରୀ', 'ମାର୍ଚ୍ଚ', 'ଅପ୍ରେଲ', 'ମଇ', 'ଜୁନ', 'ଜୁଲାଇ', 'ଅଗଷ୍ଟ', 'ସେପ୍ଟେମ୍ବର', 'ଅକ୍ଟୋବର', 'ନଭେମ୍ବର', 'ଡିସେମ୍ବର'], + SHORTMONTHS: ['ଜାନୁଆରୀ', 'ଫେବୃଆରୀ', 'ମାର୍ଚ୍ଚ', 'ଅପ୍ରେଲ', 'ମଇ', 'ଜୁନ', 'ଜୁଲାଇ', 'ଅଗଷ୍ଟ', 'ସେପ୍ଟେମ୍ବର', 'ଅକ୍ଟୋବର', 'ନଭେମ୍ବର', 'ଡିସେମ୍ବର'], + STANDALONESHORTMONTHS: ['ଜାନୁଆରୀ', 'ଫେବୃଆରୀ', 'ମାର୍ଚ୍ଚ', 'ଅପ୍ରେଲ', 'ମଇ', 'ଜୁନ', 'ଜୁଲାଇ', 'ଅଗଷ୍ଟ', 'ସେପ୍ଟେମ୍ବର', 'ଅକ୍ଟୋବର', 'ନଭେମ୍ବର', 'ଡିସେମ୍ବର'], + WEEKDAYS: ['ରବିବାର', 'ସୋମବାର', 'ମଙ୍ଗଳବାର', 'ବୁଧବାର', 'ଗୁରୁବାର', 'ଶୁକ୍ରବାର', 'ଶନିବାର'], + STANDALONEWEEKDAYS: ['ରବିବାର', 'ସୋମବାର', 'ମଙ୍ଗଳବାର', 'ବୁଧବାର', 'ଗୁରୁବାର', 'ଶୁକ୍ରବାର', 'ଶନିବାର'], + SHORTWEEKDAYS: ['ରବି', 'ସୋମ', 'ମଙ୍ଗଳ', 'ବୁଧ', 'ଗୁରୁ', 'ଶୁକ୍ର', 'ଶନି'], + STANDALONESHORTWEEKDAYS: ['ରବି', 'ସୋମ', 'ମଙ୍ଗଳ', 'ବୁଧ', 'ଗୁରୁ', 'ଶୁକ୍ର', 'ଶନି'], + NARROWWEEKDAYS: ['ର', 'ସୋ', 'ମ', 'ବୁ', 'ଗୁ', 'ଶୁ', 'ଶ'], + STANDALONENARROWWEEKDAYS: ['ର', 'ସୋ', 'ମ', 'ବୁ', 'ଗୁ', 'ଶୁ', 'ଶ'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + AMPMS: ['am', 'pm'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'd-M-yy'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 6, + WEEKENDRANGE: [6, 6], + FIRSTWEEKCUTOFFDAY: 5 +}; + + +/** + * Date/time formatting symbols for locale pa. + */ +goog.i18n.DateTimeSymbols_pa = { + ERAS: ['ਈ. ਪੂ.', 'ਸੰਨ'], + ERANAMES: ['ਈਸਵੀ ਪੂਰਵ', 'ਈਸਵੀ ਸੰਨ'], + NARROWMONTHS: ['ਜ', 'ਫ਼', 'ਮਾ', 'ਅ', 'ਮ', 'ਜੂ', 'ਜੁ', 'ਅ', 'ਸ', 'ਅ', 'ਨ', 'ਦ'], + STANDALONENARROWMONTHS: ['ਜ', 'ਫ਼', 'ਮਾ', 'ਅ', 'ਮ', 'ਜੂ', 'ਜੁ', 'ਅ', 'ਸ', 'ਅ', 'ਨ', 'ਦ'], + MONTHS: ['ਜਨਵਰੀ', 'ਫ਼ਰਵਰੀ', 'ਮਾਰਚ', 'ਅਪ੍ਰੈਲ', 'ਮਈ', 'ਜੂਨ', 'ਜੁਲਾਈ', 'ਅਗਸਤ', 'ਸਤੰਬਰ', 'ਅਕਤੂਬਰ', 'ਨਵੰਬਰ', 'ਦਸੰਬਰ'], + STANDALONEMONTHS: ['ਜਨਵਰੀ', 'ਫ਼ਰਵਰੀ', 'ਮਾਰਚ', 'ਅਪ੍ਰੈਲ', 'ਮਈ', 'ਜੂਨ', 'ਜੁਲਾਈ', 'ਅਗਸਤ', 'ਸਤੰਬਰ', 'ਅਕਤੂਬਰ', 'ਨਵੰਬਰ', 'ਦਸੰਬਰ'], + SHORTMONTHS: ['ਜਨ', 'ਫ਼ਰ', 'ਮਾਰਚ', 'ਅਪ੍ਰੈ', 'ਮਈ', 'ਜੂਨ', 'ਜੁਲਾ', 'ਅਗ', 'ਸਤੰ', 'ਅਕਤੂ', 'ਨਵੰ', 'ਦਸੰ'], + STANDALONESHORTMONTHS: ['ਜਨ', 'ਫ਼ਰ', 'ਮਾਰਚ', 'ਅਪ੍ਰੈ', 'ਮਈ', 'ਜੂਨ', 'ਜੁਲਾ', 'ਅਗ', 'ਸਤੰ', 'ਅਕਤੂ', 'ਨਵੰ', 'ਦਸੰ'], + WEEKDAYS: ['ਐਤਵਾਰ', 'ਸੋਮਵਾਰ', 'ਮੰਗਲਵਾਰ', 'ਬੁੱਧਵਾਰ', 'ਵੀਰਵਾਰ', 'ਸ਼ੁੱਕਰਵਾਰ', 'ਸ਼ਨਿੱਚਰਵਾਰ'], + STANDALONEWEEKDAYS: ['ਐਤਵਾਰ', 'ਸੋਮਵਾਰ', 'ਮੰਗਲਵਾਰ', 'ਬੁੱਧਵਾਰ', 'ਵੀਰਵਾਰ', 'ਸ਼ੁੱਕਰਵਾਰ', 'ਸ਼ਨਿੱਚਰਵਾਰ'], + SHORTWEEKDAYS: ['ਐਤ', 'ਸੋਮ', 'ਮੰਗਲ', 'ਬੁੱਧ', 'ਵੀਰ', 'ਸ਼ੁੱਕਰ', 'ਸ਼ਨਿੱਚਰ'], + STANDALONESHORTWEEKDAYS: ['ਐਤ', 'ਸੋਮ', 'ਮੰਗਲ', 'ਬੁੱਧ', 'ਵੀਰ', 'ਸ਼ੁੱਕਰ', 'ਸ਼ਨਿੱਚਰ'], + NARROWWEEKDAYS: ['ਐ', 'ਸੋ', 'ਮੰ', 'ਬੁੱ', 'ਵੀ', 'ਸ਼ੁੱ', 'ਸ਼'], + STANDALONENARROWWEEKDAYS: ['ਐ', 'ਸੋ', 'ਮੰ', 'ਬੁੱ', 'ਵੀ', 'ਸ਼ੁੱ', 'ਸ਼'], + SHORTQUARTERS: ['ਤਿਮਾਹੀ1', 'ਤਿਮਾਹੀ2', 'ਤਿਮਾਹੀ3', 'ਤਿਮਾਹੀ4'], + QUARTERS: ['ਪਹਿਲੀ ਤਿਮਾਹੀ', 'ਦੂਜੀ ਤਿਮਾਹੀ', 'ਤੀਜੀ ਤਿਮਾਹੀ', 'ਚੌਥੀ ਤਿਮਾਹੀ'], + AMPMS: ['ਪੂ.ਦੁ.', 'ਬਾ.ਦੁ.'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'd/M/yy'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 6, + WEEKENDRANGE: [6, 6], + FIRSTWEEKCUTOFFDAY: 5 +}; + + +/** + * Date/time formatting symbols for locale pl. + */ +goog.i18n.DateTimeSymbols_pl = { + ERAS: ['p.n.e.', 'n.e.'], + ERANAMES: ['przed naszą erą', 'naszej ery'], + NARROWMONTHS: ['s', 'l', 'm', 'k', 'm', 'c', 'l', 's', 'w', 'p', 'l', 'g'], + STANDALONENARROWMONTHS: ['S', 'L', 'M', 'K', 'M', 'C', 'L', 'S', 'W', 'P', 'L', 'G'], + MONTHS: ['stycznia', 'lutego', 'marca', 'kwietnia', 'maja', 'czerwca', 'lipca', 'sierpnia', 'września', 'października', 'listopada', 'grudnia'], + STANDALONEMONTHS: ['styczeń', 'luty', 'marzec', 'kwiecień', 'maj', 'czerwiec', 'lipiec', 'sierpień', 'wrzesień', 'październik', 'listopad', 'grudzień'], + SHORTMONTHS: ['sty', 'lut', 'mar', 'kwi', 'maj', 'cze', 'lip', 'sie', 'wrz', 'paź', 'lis', 'gru'], + STANDALONESHORTMONTHS: ['sty', 'lut', 'mar', 'kwi', 'maj', 'cze', 'lip', 'sie', 'wrz', 'paź', 'lis', 'gru'], + WEEKDAYS: ['niedziela', 'poniedziałek', 'wtorek', 'środa', 'czwartek', 'piątek', 'sobota'], + STANDALONEWEEKDAYS: ['niedziela', 'poniedziałek', 'wtorek', 'środa', 'czwartek', 'piątek', 'sobota'], + SHORTWEEKDAYS: ['niedz.', 'pon.', 'wt.', 'śr.', 'czw.', 'pt.', 'sob.'], + STANDALONESHORTWEEKDAYS: ['niedz.', 'pon.', 'wt.', 'śr.', 'czw.', 'pt.', 'sob.'], + NARROWWEEKDAYS: ['n', 'p', 'w', 'ś', 'c', 'p', 's'], + STANDALONENARROWWEEKDAYS: ['N', 'P', 'W', 'Ś', 'C', 'P', 'S'], + SHORTQUARTERS: ['I kw.', 'II kw.', 'III kw.', 'IV kw.'], + QUARTERS: ['I kwartał', 'II kwartał', 'III kwartał', 'IV kwartał'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd.MM.y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 3 +}; + + +/** + * Date/time formatting symbols for locale pt. + */ +goog.i18n.DateTimeSymbols_pt = { + ERAS: ['a.C.', 'd.C.'], + ERANAMES: ['antes de Cristo', 'depois de Cristo'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['janeiro', 'fevereiro', 'março', 'abril', 'maio', 'junho', 'julho', 'agosto', 'setembro', 'outubro', 'novembro', 'dezembro'], + STANDALONEMONTHS: ['janeiro', 'fevereiro', 'março', 'abril', 'maio', 'junho', 'julho', 'agosto', 'setembro', 'outubro', 'novembro', 'dezembro'], + SHORTMONTHS: ['jan', 'fev', 'mar', 'abr', 'mai', 'jun', 'jul', 'ago', 'set', 'out', 'nov', 'dez'], + STANDALONESHORTMONTHS: ['jan', 'fev', 'mar', 'abr', 'mai', 'jun', 'jul', 'ago', 'set', 'out', 'nov', 'dez'], + WEEKDAYS: ['domingo', 'segunda-feira', 'terça-feira', 'quarta-feira', 'quinta-feira', 'sexta-feira', 'sábado'], + STANDALONEWEEKDAYS: ['domingo', 'segunda-feira', 'terça-feira', 'quarta-feira', 'quinta-feira', 'sexta-feira', 'sábado'], + SHORTWEEKDAYS: ['dom', 'seg', 'ter', 'qua', 'qui', 'sex', 'sáb'], + STANDALONESHORTWEEKDAYS: ['dom', 'seg', 'ter', 'qua', 'qui', 'sex', 'sáb'], + NARROWWEEKDAYS: ['D', 'S', 'T', 'Q', 'Q', 'S', 'S'], + STANDALONENARROWWEEKDAYS: ['D', 'S', 'T', 'Q', 'Q', 'S', 'S'], + SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], + QUARTERS: ['1º trimestre', '2º trimestre', '3º trimestre', '4º trimestre'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d \'de\' MMMM \'de\' y', 'd \'de\' MMMM \'de\' y', 'd \'de\' MMM \'de\' y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 6, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 5 +}; + + +/** + * Date/time formatting symbols for locale pt_BR. + */ +goog.i18n.DateTimeSymbols_pt_BR = goog.i18n.DateTimeSymbols_pt; + + +/** + * Date/time formatting symbols for locale pt_PT. + */ +goog.i18n.DateTimeSymbols_pt_PT = { + ERAS: ['a.C.', 'd.C.'], + ERANAMES: ['antes de Cristo', 'depois de Cristo'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['janeiro', 'fevereiro', 'março', 'abril', 'maio', 'junho', 'julho', 'agosto', 'setembro', 'outubro', 'novembro', 'dezembro'], + STANDALONEMONTHS: ['janeiro', 'fevereiro', 'março', 'abril', 'maio', 'junho', 'julho', 'agosto', 'setembro', 'outubro', 'novembro', 'dezembro'], + SHORTMONTHS: ['jan', 'fev', 'mar', 'abr', 'mai', 'jun', 'jul', 'ago', 'set', 'out', 'nov', 'dez'], + STANDALONESHORTMONTHS: ['jan', 'fev', 'mar', 'abr', 'mai', 'jun', 'jul', 'ago', 'set', 'out', 'nov', 'dez'], + WEEKDAYS: ['domingo', 'segunda-feira', 'terça-feira', 'quarta-feira', 'quinta-feira', 'sexta-feira', 'sábado'], + STANDALONEWEEKDAYS: ['domingo', 'segunda-feira', 'terça-feira', 'quarta-feira', 'quinta-feira', 'sexta-feira', 'sábado'], + SHORTWEEKDAYS: ['domingo', 'segunda', 'terça', 'quarta', 'quinta', 'sexta', 'sábado'], + STANDALONESHORTWEEKDAYS: ['domingo', 'segunda', 'terça', 'quarta', 'quinta', 'sexta', 'sábado'], + NARROWWEEKDAYS: ['D', 'S', 'T', 'Q', 'Q', 'S', 'S'], + STANDALONENARROWWEEKDAYS: ['D', 'S', 'T', 'Q', 'Q', 'S', 'S'], + SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], + QUARTERS: ['1.º trimestre', '2.º trimestre', '3.º trimestre', '4.º trimestre'], + AMPMS: ['da manhã', 'da tarde'], + DATEFORMATS: ['EEEE, d \'de\' MMMM \'de\' y', 'd \'de\' MMMM \'de\' y', 'dd/MM/y', 'dd/MM/yy'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'às\' {0}', '{1} \'às\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 3 +}; + + +/** + * Date/time formatting symbols for locale ro. + */ +goog.i18n.DateTimeSymbols_ro = { + ERAS: ['î.Hr.', 'd.Hr.'], + ERANAMES: ['înainte de Hristos', 'după Hristos'], + NARROWMONTHS: ['I', 'F', 'M', 'A', 'M', 'I', 'I', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['I', 'F', 'M', 'A', 'M', 'I', 'I', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['ianuarie', 'februarie', 'martie', 'aprilie', 'mai', 'iunie', 'iulie', 'august', 'septembrie', 'octombrie', 'noiembrie', 'decembrie'], + STANDALONEMONTHS: ['ianuarie', 'februarie', 'martie', 'aprilie', 'mai', 'iunie', 'iulie', 'august', 'septembrie', 'octombrie', 'noiembrie', 'decembrie'], + SHORTMONTHS: ['ian.', 'feb.', 'mar.', 'apr.', 'mai', 'iun.', 'iul.', 'aug.', 'sept.', 'oct.', 'nov.', 'dec.'], + STANDALONESHORTMONTHS: ['ian.', 'feb.', 'mar.', 'apr.', 'mai', 'iun.', 'iul.', 'aug.', 'sept.', 'oct.', 'nov.', 'dec.'], + WEEKDAYS: ['duminică', 'luni', 'marți', 'miercuri', 'joi', 'vineri', 'sâmbătă'], + STANDALONEWEEKDAYS: ['duminică', 'luni', 'marți', 'miercuri', 'joi', 'vineri', 'sâmbătă'], + SHORTWEEKDAYS: ['dum.', 'lun.', 'mar.', 'mie.', 'joi', 'vin.', 'sâm.'], + STANDALONESHORTWEEKDAYS: ['dum.', 'lun.', 'mar.', 'mie.', 'joi', 'vin.', 'sâm.'], + NARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], + STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], + SHORTQUARTERS: ['trim. I', 'trim. II', 'trim. III', 'trim. IV'], + QUARTERS: ['trimestrul I', 'trimestrul al II-lea', 'trimestrul al III-lea', 'trimestrul al IV-lea'], + AMPMS: ['a.m.', 'p.m.'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd.MM.y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1}, {0}', '{1}, {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale ru. + */ +goog.i18n.DateTimeSymbols_ru = { + ERAS: ['до н. э.', 'н. э.'], + ERANAMES: ['до Рождества Христова', 'от Рождества Христова'], + NARROWMONTHS: ['Я', 'Ф', 'М', 'А', 'М', 'И', 'И', 'А', 'С', 'О', 'Н', 'Д'], + STANDALONENARROWMONTHS: ['Я', 'Ф', 'М', 'А', 'М', 'И', 'И', 'А', 'С', 'О', 'Н', 'Д'], + MONTHS: ['января', 'февраля', 'марта', 'апреля', 'мая', 'июня', 'июля', 'августа', 'сентября', 'октября', 'ноября', 'декабря'], + STANDALONEMONTHS: ['январь', 'февраль', 'март', 'апрель', 'май', 'июнь', 'июль', 'август', 'сентябрь', 'октябрь', 'ноябрь', 'декабрь'], + SHORTMONTHS: ['янв.', 'февр.', 'мар.', 'апр.', 'мая', 'июн.', 'июл.', 'авг.', 'сент.', 'окт.', 'нояб.', 'дек.'], + STANDALONESHORTMONTHS: ['янв.', 'февр.', 'март', 'апр.', 'май', 'июнь', 'июль', 'авг.', 'сент.', 'окт.', 'нояб.', 'дек.'], + WEEKDAYS: ['воскресенье', 'понедельник', 'вторник', 'среда', 'четверг', 'пятница', 'суббота'], + STANDALONEWEEKDAYS: ['воскресенье', 'понедельник', 'вторник', 'среда', 'четверг', 'пятница', 'суббота'], + SHORTWEEKDAYS: ['вс', 'пн', 'вт', 'ср', 'чт', 'пт', 'сб'], + STANDALONESHORTWEEKDAYS: ['вс', 'пн', 'вт', 'ср', 'чт', 'пт', 'сб'], + NARROWWEEKDAYS: ['вс', 'пн', 'вт', 'ср', 'чт', 'пт', 'сб'], + STANDALONENARROWWEEKDAYS: ['В', 'П', 'В', 'С', 'Ч', 'П', 'С'], + SHORTQUARTERS: ['1-й кв.', '2-й кв.', '3-й кв.', '4-й кв.'], + QUARTERS: ['1-й квартал', '2-й квартал', '3-й квартал', '4-й квартал'], + AMPMS: ['ДП', 'ПП'], + DATEFORMATS: ['EEEE, d MMMM y \'г\'.', 'd MMMM y \'г\'.', 'd MMM y \'г\'.', 'dd.MM.y'], + TIMEFORMATS: ['H:mm:ss zzzz', 'H:mm:ss z', 'H:mm:ss', 'H:mm'], + DATETIMEFORMATS: ['{1}, {0}', '{1}, {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale sh. + */ +goog.i18n.DateTimeSymbols_sh = { + ERAS: ['p. n. e.', 'n. e.'], + ERANAMES: ['pre nove ere', 'nove ere'], + NARROWMONTHS: ['j', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', 'n', 'd'], + STANDALONENARROWMONTHS: ['j', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', 'n', 'd'], + MONTHS: ['januar', 'februar', 'mart', 'april', 'maj', 'jun', 'jul', 'avgust', 'septembar', 'oktobar', 'novembar', 'decembar'], + STANDALONEMONTHS: ['januar', 'februar', 'mart', 'april', 'maj', 'jun', 'jul', 'avgust', 'septembar', 'oktobar', 'novembar', 'decembar'], + SHORTMONTHS: ['jan', 'feb', 'mar', 'apr', 'maj', 'jun', 'jul', 'avg', 'sep', 'okt', 'nov', 'dec'], + STANDALONESHORTMONTHS: ['jan', 'feb', 'mar', 'apr', 'maj', 'jun', 'jul', 'avg', 'sep', 'okt', 'nov', 'dec'], + WEEKDAYS: ['nedelja', 'ponedeljak', 'utorak', 'sreda', 'četvrtak', 'petak', 'subota'], + STANDALONEWEEKDAYS: ['nedelja', 'ponedeljak', 'utorak', 'sreda', 'četvrtak', 'petak', 'subota'], + SHORTWEEKDAYS: ['ned', 'pon', 'uto', 'sre', 'čet', 'pet', 'sub'], + STANDALONESHORTWEEKDAYS: ['ned', 'pon', 'uto', 'sre', 'čet', 'pet', 'sub'], + NARROWWEEKDAYS: ['n', 'p', 'u', 's', 'č', 'p', 's'], + STANDALONENARROWWEEKDAYS: ['n', 'p', 'u', 's', 'č', 'p', 's'], + SHORTQUARTERS: ['K1', 'K2', 'K3', 'K4'], + QUARTERS: ['prvi kvartal', 'drugi kvartal', 'treći kvartal', 'četvrti kvartal'], + AMPMS: ['pre podne', 'po podne'], + DATEFORMATS: ['EEEE, dd. MMMM y.', 'dd. MMMM y.', 'dd.MM.y.', 'd.M.yy.'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale si. + */ +goog.i18n.DateTimeSymbols_si = { + ERAS: ['ක්‍රි.පූ.', 'ක්‍රි.ව.'], + ERANAMES: ['ක්‍රිස්තු පූර්ව', 'ක්‍රිස්තු වර්ෂ'], + NARROWMONTHS: ['ජ', 'පෙ', 'මා', 'අ', 'මැ', 'ජූ', 'ජූ', 'අ', 'සැ', 'ඔ', 'නෙ', 'දෙ'], + STANDALONENARROWMONTHS: ['ජ', 'පෙ', 'මා', 'අ', 'මැ', 'ජූ', 'ජූ', 'අ', 'සැ', 'ඔ', 'නෙ', 'දෙ'], + MONTHS: ['ජනවාරි', 'පෙබරවාරි', 'මාර්තු', 'අප්‍රේල්', 'මැයි', 'ජූනි', 'ජූලි', 'අගෝස්තු', 'සැප්තැම්බර්', 'ඔක්තෝබර්', 'නොවැම්බර්', 'දෙසැම්බර්'], + STANDALONEMONTHS: ['ජනවාරි', 'පෙබරවාරි', 'මාර්තු', 'අප්‍රේල්', 'මැයි', 'ජූනි', 'ජූලි', 'අගෝස්තු', 'සැප්තැම්බර්', 'ඔක්තෝබර්', 'නොවැම්බර්', 'දෙසැම්බර්'], + SHORTMONTHS: ['ජන', 'පෙබ', 'මාර්තු', 'අප්‍රේල්', 'මැයි', 'ජූනි', 'ජූලි', 'අගෝ', 'සැප්', 'ඔක්', 'නොවැ', 'දෙසැ'], + STANDALONESHORTMONTHS: ['ජන', 'පෙබ', 'මාර්', 'අප්‍රේල්', 'මැයි', 'ජූනි', 'ජූලි', 'අගෝ', 'සැප්', 'ඔක්', 'නොවැ', 'දෙසැ'], + WEEKDAYS: ['ඉරිදා', 'සඳුදා', 'අඟහරුවාදා', 'බදාදා', 'බ්‍රහස්පතින්දා', 'සිකුරාදා', 'සෙනසුරාදා'], + STANDALONEWEEKDAYS: ['ඉරිදා', 'සඳුදා', 'අඟහරුවාදා', 'බදාදා', 'බ්‍රහස්පතින්දා', 'සිකුරාදා', 'සෙනසුරාදා'], + SHORTWEEKDAYS: ['ඉරිදා', 'සඳුදා', 'අඟහ', 'බදාදා', 'බ්‍රහස්', 'සිකු', 'සෙන'], + STANDALONESHORTWEEKDAYS: ['ඉරිදා', 'සඳුදා', 'අඟහ', 'බදාදා', 'බ්‍රහස්', 'සිකු', 'සෙන'], + NARROWWEEKDAYS: ['ඉ', 'ස', 'අ', 'බ', 'බ්‍ර', 'සි', 'සෙ'], + STANDALONENARROWWEEKDAYS: ['ඉ', 'ස', 'අ', 'බ', 'බ්‍ර', 'සි', 'සෙ'], + SHORTQUARTERS: ['කාර්:1', 'කාර්:2', 'කාර්:3', 'කාර්:4'], + QUARTERS: ['1 වන කාර්තුව', '2 වන කාර්තුව', '3 වන කාර්තුව', '4 වන කාර්තුව'], + AMPMS: ['පෙ.ව.', 'ප.ව.'], + DATEFORMATS: ['y MMMM d, EEEE', 'y MMMM d', 'y MMM d', 'y-MM-dd'], + TIMEFORMATS: ['HH.mm.ss zzzz', 'HH.mm.ss z', 'HH.mm.ss', 'HH.mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale sk. + */ +goog.i18n.DateTimeSymbols_sk = { + ERAS: ['pred Kr.', 'po Kr.'], + ERANAMES: ['pred Kristom', 'po Kristovi'], + NARROWMONTHS: ['j', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', 'n', 'd'], + STANDALONENARROWMONTHS: ['j', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', 'n', 'd'], + MONTHS: ['januára', 'februára', 'marca', 'apríla', 'mája', 'júna', 'júla', 'augusta', 'septembra', 'októbra', 'novembra', 'decembra'], + STANDALONEMONTHS: ['január', 'február', 'marec', 'apríl', 'máj', 'jún', 'júl', 'august', 'september', 'október', 'november', 'december'], + SHORTMONTHS: ['jan', 'feb', 'mar', 'apr', 'máj', 'jún', 'júl', 'aug', 'sep', 'okt', 'nov', 'dec'], + STANDALONESHORTMONTHS: ['jan', 'feb', 'mar', 'apr', 'máj', 'jún', 'júl', 'aug', 'sep', 'okt', 'nov', 'dec'], + WEEKDAYS: ['nedeľa', 'pondelok', 'utorok', 'streda', 'štvrtok', 'piatok', 'sobota'], + STANDALONEWEEKDAYS: ['nedeľa', 'pondelok', 'utorok', 'streda', 'štvrtok', 'piatok', 'sobota'], + SHORTWEEKDAYS: ['ne', 'po', 'ut', 'st', 'št', 'pi', 'so'], + STANDALONESHORTWEEKDAYS: ['ne', 'po', 'ut', 'st', 'št', 'pi', 'so'], + NARROWWEEKDAYS: ['n', 'p', 'u', 's', 'š', 'p', 's'], + STANDALONENARROWWEEKDAYS: ['n', 'p', 'u', 's', 'š', 'p', 's'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1. štvrťrok', '2. štvrťrok', '3. štvrťrok', '4. štvrťrok'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d. MMMM y', 'd. MMMM y', 'd. M. y', 'd. M. y'], + TIMEFORMATS: ['H:mm:ss zzzz', 'H:mm:ss z', 'H:mm:ss', 'H:mm'], + DATETIMEFORMATS: ['{1}, {0}', '{1}, {0}', '{1}, {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 3 +}; + + +/** + * Date/time formatting symbols for locale sl. + */ +goog.i18n.DateTimeSymbols_sl = { + ERAS: ['pr. Kr.', 'po Kr.'], + ERANAMES: ['pred Kristusom', 'po Kristusu'], + NARROWMONTHS: ['j', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', 'n', 'd'], + STANDALONENARROWMONTHS: ['j', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', 'n', 'd'], + MONTHS: ['januar', 'februar', 'marec', 'april', 'maj', 'junij', 'julij', 'avgust', 'september', 'oktober', 'november', 'december'], + STANDALONEMONTHS: ['januar', 'februar', 'marec', 'april', 'maj', 'junij', 'julij', 'avgust', 'september', 'oktober', 'november', 'december'], + SHORTMONTHS: ['jan.', 'feb.', 'mar.', 'apr.', 'maj', 'jun.', 'jul.', 'avg.', 'sep.', 'okt.', 'nov.', 'dec.'], + STANDALONESHORTMONTHS: ['jan.', 'feb.', 'mar.', 'apr.', 'maj', 'jun.', 'jul.', 'avg.', 'sep.', 'okt.', 'nov.', 'dec.'], + WEEKDAYS: ['nedelja', 'ponedeljek', 'torek', 'sreda', 'četrtek', 'petek', 'sobota'], + STANDALONEWEEKDAYS: ['nedelja', 'ponedeljek', 'torek', 'sreda', 'četrtek', 'petek', 'sobota'], + SHORTWEEKDAYS: ['ned.', 'pon.', 'tor.', 'sre.', 'čet.', 'pet.', 'sob.'], + STANDALONESHORTWEEKDAYS: ['ned.', 'pon.', 'tor.', 'sre.', 'čet.', 'pet.', 'sob.'], + NARROWWEEKDAYS: ['n', 'p', 't', 's', 'č', 'p', 's'], + STANDALONENARROWWEEKDAYS: ['n', 'p', 't', 's', 'č', 'p', 's'], + SHORTQUARTERS: ['1. čet.', '2. čet.', '3. čet.', '4. čet.'], + QUARTERS: ['1. četrtletje', '2. četrtletje', '3. četrtletje', '4. četrtletje'], + AMPMS: ['dop.', 'pop.'], + DATEFORMATS: ['EEEE, dd. MMMM y', 'dd. MMMM y', 'd. MMM y', 'd. MM. yy'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale sq. + */ +goog.i18n.DateTimeSymbols_sq = { + ERAS: ['p.K.', 'mb.K.'], + ERANAMES: ['para Krishtit', 'mbas Krishtit'], + NARROWMONTHS: ['j', 's', 'm', 'p', 'm', 'q', 'k', 'g', 's', 't', 'n', 'd'], + STANDALONENARROWMONTHS: ['J', 'S', 'M', 'P', 'M', 'Q', 'K', 'G', 'S', 'T', 'N', 'D'], + MONTHS: ['janar', 'shkurt', 'mars', 'prill', 'maj', 'qershor', 'korrik', 'gusht', 'shtator', 'tetor', 'nëntor', 'dhjetor'], + STANDALONEMONTHS: ['Janar', 'Shkurt', 'Mars', 'Prill', 'Maj', 'Qershor', 'Korrik', 'Gusht', 'Shtator', 'Tetor', 'Nëntor', 'Dhjetor'], + SHORTMONTHS: ['jan', 'shk', 'mar', 'pri', 'maj', 'qer', 'kor', 'gsh', 'sht', 'tet', 'nën', 'dhj'], + STANDALONESHORTMONTHS: ['Jan', 'Shk', 'Mar', 'Pri', 'Maj', 'Qer', 'Kor', 'Gsh', 'Sht', 'Tet', 'Nën', 'Dhj'], + WEEKDAYS: ['e diel', 'e hënë', 'e martë', 'e mërkurë', 'e enjte', 'e premte', 'e shtunë'], + STANDALONEWEEKDAYS: ['E diel', 'E hënë', 'E martë', 'E mërkurë', 'E enjte', 'E premte', 'E shtunë'], + SHORTWEEKDAYS: ['Die', 'Hën', 'Mar', 'Mër', 'Enj', 'Pre', 'Sht'], + STANDALONESHORTWEEKDAYS: ['Die', 'Hën', 'Mar', 'Mër', 'Enj', 'Pre', 'Sht'], + NARROWWEEKDAYS: ['D', 'H', 'M', 'M', 'E', 'P', 'S'], + STANDALONENARROWWEEKDAYS: ['D', 'H', 'M', 'M', 'E', 'P', 'S'], + SHORTQUARTERS: ['tremujori I', 'tremujori II', 'tremujori III', 'tremujori IV'], + QUARTERS: ['tremujori i parë', 'tremujori i dytë', 'tremujori i tretë', 'tremujori i katërt'], + AMPMS: ['e paradites', 'e pasdites'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'd.M.yy'], + TIMEFORMATS: ['h:mm:ss a, zzzz', 'h:mm:ss a, z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} \'në\' {0}', '{1} \'në\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale sr. + */ +goog.i18n.DateTimeSymbols_sr = { + ERAS: ['п. н. е.', 'н. е.'], + ERANAMES: ['пре нове ере', 'нове ере'], + NARROWMONTHS: ['ј', 'ф', 'м', 'а', 'м', 'ј', 'ј', 'а', 'с', 'о', 'н', 'д'], + STANDALONENARROWMONTHS: ['ј', 'ф', 'м', 'а', 'м', 'ј', 'ј', 'а', 'с', 'о', 'н', 'д'], + MONTHS: ['јануар', 'фебруар', 'март', 'април', 'мај', 'јун', 'јул', 'август', 'септембар', 'октобар', 'новембар', 'децембар'], + STANDALONEMONTHS: ['јануар', 'фебруар', 'март', 'април', 'мај', 'јун', 'јул', 'август', 'септембар', 'октобар', 'новембар', 'децембар'], + SHORTMONTHS: ['јан', 'феб', 'мар', 'апр', 'мај', 'јун', 'јул', 'авг', 'сеп', 'окт', 'нов', 'дец'], + STANDALONESHORTMONTHS: ['јан', 'феб', 'мар', 'апр', 'мај', 'јун', 'јул', 'авг', 'сеп', 'окт', 'нов', 'дец'], + WEEKDAYS: ['недеља', 'понедељак', 'уторак', 'среда', 'четвртак', 'петак', 'субота'], + STANDALONEWEEKDAYS: ['недеља', 'понедељак', 'уторак', 'среда', 'четвртак', 'петак', 'субота'], + SHORTWEEKDAYS: ['нед', 'пон', 'уто', 'сре', 'чет', 'пет', 'суб'], + STANDALONESHORTWEEKDAYS: ['нед', 'пон', 'уто', 'сре', 'чет', 'пет', 'суб'], + NARROWWEEKDAYS: ['н', 'п', 'у', 'с', 'ч', 'п', 'с'], + STANDALONENARROWWEEKDAYS: ['н', 'п', 'у', 'с', 'ч', 'п', 'с'], + SHORTQUARTERS: ['К1', 'К2', 'К3', 'К4'], + QUARTERS: ['први квартал', 'други квартал', 'трећи квартал', 'четврти квартал'], + AMPMS: ['пре подне', 'по подне'], + DATEFORMATS: ['EEEE, dd. MMMM y.', 'dd. MMMM y.', 'dd.MM.y.', 'd.M.yy.'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale sr_Latn. + */ +goog.i18n.DateTimeSymbols_sr_Latn = { + ERAS: ['p. n. e.', 'n. e.'], + ERANAMES: ['pre nove ere', 'nove ere'], + NARROWMONTHS: ['j', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', 'n', 'd'], + STANDALONENARROWMONTHS: ['j', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', 'n', 'd'], + MONTHS: ['januar', 'februar', 'mart', 'april', 'maj', 'jun', 'jul', 'avgust', 'septembar', 'oktobar', 'novembar', 'decembar'], + STANDALONEMONTHS: ['januar', 'februar', 'mart', 'april', 'maj', 'jun', 'jul', 'avgust', 'septembar', 'oktobar', 'novembar', 'decembar'], + SHORTMONTHS: ['jan', 'feb', 'mar', 'apr', 'maj', 'jun', 'jul', 'avg', 'sep', 'okt', 'nov', 'dec'], + STANDALONESHORTMONTHS: ['jan', 'feb', 'mar', 'apr', 'maj', 'jun', 'jul', 'avg', 'sep', 'okt', 'nov', 'dec'], + WEEKDAYS: ['nedelja', 'ponedeljak', 'utorak', 'sreda', 'četvrtak', 'petak', 'subota'], + STANDALONEWEEKDAYS: ['nedelja', 'ponedeljak', 'utorak', 'sreda', 'četvrtak', 'petak', 'subota'], + SHORTWEEKDAYS: ['ned', 'pon', 'uto', 'sre', 'čet', 'pet', 'sub'], + STANDALONESHORTWEEKDAYS: ['ned', 'pon', 'uto', 'sre', 'čet', 'pet', 'sub'], + NARROWWEEKDAYS: ['n', 'p', 'u', 's', 'č', 'p', 's'], + STANDALONENARROWWEEKDAYS: ['n', 'p', 'u', 's', 'č', 'p', 's'], + SHORTQUARTERS: ['K1', 'K2', 'K3', 'K4'], + QUARTERS: ['prvi kvartal', 'drugi kvartal', 'treći kvartal', 'četvrti kvartal'], + AMPMS: ['pre podne', 'po podne'], + DATEFORMATS: ['EEEE, dd. MMMM y.', 'dd. MMMM y.', 'dd.MM.y.', 'd.M.yy.'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale sv. + */ +goog.i18n.DateTimeSymbols_sv = { + ERAS: ['f.Kr.', 'e.Kr.'], + ERANAMES: ['före Kristus', 'efter Kristus'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['januari', 'februari', 'mars', 'april', 'maj', 'juni', 'juli', 'augusti', 'september', 'oktober', 'november', 'december'], + STANDALONEMONTHS: ['januari', 'februari', 'mars', 'april', 'maj', 'juni', 'juli', 'augusti', 'september', 'oktober', 'november', 'december'], + SHORTMONTHS: ['jan.', 'feb.', 'mars', 'apr.', 'maj', 'juni', 'juli', 'aug.', 'sep.', 'okt.', 'nov.', 'dec.'], + STANDALONESHORTMONTHS: ['jan.', 'feb.', 'mars', 'apr.', 'maj', 'juni', 'juli', 'aug.', 'sep.', 'okt.', 'nov.', 'dec.'], + WEEKDAYS: ['söndag', 'måndag', 'tisdag', 'onsdag', 'torsdag', 'fredag', 'lördag'], + STANDALONEWEEKDAYS: ['söndag', 'måndag', 'tisdag', 'onsdag', 'torsdag', 'fredag', 'lördag'], + SHORTWEEKDAYS: ['sön', 'mån', 'tis', 'ons', 'tors', 'fre', 'lör'], + STANDALONESHORTWEEKDAYS: ['sön', 'mån', 'tis', 'ons', 'tors', 'fre', 'lör'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'O', 'T', 'F', 'L'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'O', 'T', 'F', 'L'], + SHORTQUARTERS: ['K1', 'K2', 'K3', 'K4'], + QUARTERS: ['1:a kvartalet', '2:a kvartalet', '3:e kvartalet', '4:e kvartalet'], + AMPMS: ['fm', 'em'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'y-MM-dd'], + TIMEFORMATS: ['\'kl\'. HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 3 +}; + + +/** + * Date/time formatting symbols for locale sw. + */ +goog.i18n.DateTimeSymbols_sw = { + ERAS: ['KK', 'BK'], + ERANAMES: ['Kabla ya Kristo', 'Baada ya Kristo'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['Januari', 'Februari', 'Machi', 'Aprili', 'Mei', 'Juni', 'Julai', 'Agosti', 'Septemba', 'Oktoba', 'Novemba', 'Desemba'], + STANDALONEMONTHS: ['Januari', 'Februari', 'Machi', 'Aprili', 'Mei', 'Juni', 'Julai', 'Agosti', 'Septemba', 'Oktoba', 'Novemba', 'Desemba'], + SHORTMONTHS: ['Jan', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Jul', 'Ago', 'Sep', 'Okt', 'Nov', 'Des'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Jul', 'Ago', 'Sep', 'Okt', 'Nov', 'Des'], + WEEKDAYS: ['Jumapili', 'Jumatatu', 'Jumanne', 'Jumatano', 'Alhamisi', 'Ijumaa', 'Jumamosi'], + STANDALONEWEEKDAYS: ['Jumapili', 'Jumatatu', 'Jumanne', 'Jumatano', 'Alhamisi', 'Ijumaa', 'Jumamosi'], + SHORTWEEKDAYS: ['Jumapili', 'Jumatatu', 'Jumanne', 'Jumatano', 'Alhamisi', 'Ijumaa', 'Jumamosi'], + STANDALONESHORTWEEKDAYS: ['Jumapili', 'Jumatatu', 'Jumanne', 'Jumatano', 'Alhamisi', 'Ijumaa', 'Jumamosi'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Robo ya 1', 'Robo ya 2', 'Robo ya 3', 'Robo ya 4'], + QUARTERS: ['Robo ya 1', 'Robo ya 2', 'Robo ya 3', 'Robo ya 4'], + AMPMS: ['Asubuhi', 'Mchana'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale ta. + */ +goog.i18n.DateTimeSymbols_ta = { + ERAS: ['கி.மு.', 'கி.பி.'], + ERANAMES: ['கிறிஸ்துவுக்கு முன்', 'அன்னோ டோமினி'], + NARROWMONTHS: ['ஜ', 'பி', 'மா', 'ஏ', 'மே', 'ஜூ', 'ஜூ', 'ஆ', 'செ', 'அ', 'ந', 'டி'], + STANDALONENARROWMONTHS: ['ஜ', 'பி', 'மா', 'ஏ', 'மே', 'ஜூ', 'ஜூ', 'ஆ', 'செ', 'அ', 'ந', 'டி'], + MONTHS: ['ஜனவரி', 'பிப்ரவரி', 'மார்ச்', 'ஏப்ரல்', 'மே', 'ஜூன்', 'ஜூலை', 'ஆகஸ்ட்', 'செப்டம்பர்', 'அக்டோபர்', 'நவம்பர்', 'டிசம்பர்'], + STANDALONEMONTHS: ['ஜனவரி', 'பிப்ரவரி', 'மார்ச்', 'ஏப்ரல்', 'மே', 'ஜூன்', 'ஜூலை', 'ஆகஸ்ட்', 'செப்டம்பர்', 'அக்டோபர்', 'நவம்பர்', 'டிசம்பர்'], + SHORTMONTHS: ['ஜன.', 'பிப்.', 'மார்.', 'ஏப்.', 'மே', 'ஜூன்', 'ஜூலை', 'ஆக.', 'செப்.', 'அக்.', 'நவ.', 'டிச.'], + STANDALONESHORTMONTHS: ['ஜன.', 'பிப்.', 'மார்.', 'ஏப்.', 'மே', 'ஜூன்', 'ஜூலை', 'ஆக.', 'செப்.', 'அக்.', 'நவ.', 'டிச.'], + WEEKDAYS: ['ஞாயிறு', 'திங்கள்', 'செவ்வாய்', 'புதன்', 'வியாழன்', 'வெள்ளி', 'சனி'], + STANDALONEWEEKDAYS: ['ஞாயிறு', 'திங்கள்', 'செவ்வாய்', 'புதன்', 'வியாழன்', 'வெள்ளி', 'சனி'], + SHORTWEEKDAYS: ['ஞாயி.', 'திங்.', 'செவ்.', 'புத.', 'வியா.', 'வெள்.', 'சனி'], + STANDALONESHORTWEEKDAYS: ['ஞாயி.', 'திங்.', 'செவ்.', 'புத.', 'வியா.', 'வெள்.', 'சனி'], + NARROWWEEKDAYS: ['ஞா', 'தி', 'செ', 'பு', 'வி', 'வெ', 'ச'], + STANDALONENARROWWEEKDAYS: ['ஞா', 'தி', 'செ', 'பு', 'வி', 'வெ', 'ச'], + SHORTQUARTERS: ['காலா.1', 'காலா.2', 'காலா.3', 'காலா.4'], + QUARTERS: ['ஒன்றாம் காலாண்டு', 'இரண்டாம் காலாண்டு', 'மூன்றாம் காலாண்டு', 'நான்காம் காலாண்டு'], + AMPMS: ['முற்பகல்', 'பிற்பகல்'], + DATEFORMATS: ['EEEE, d MMMM, y', 'd MMMM, y', 'd MMM, y', 'd/M/yy'], + TIMEFORMATS: ['a h:mm:ss zzzz', 'a h:mm:ss z', 'a h:mm:ss', 'a h:mm'], + DATETIMEFORMATS: ['{1} ’அன்று’ {0}', '{1} ’அன்று’ {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 6, + WEEKENDRANGE: [6, 6], + FIRSTWEEKCUTOFFDAY: 5 +}; + + +/** + * Date/time formatting symbols for locale te. + */ +goog.i18n.DateTimeSymbols_te = { + ERAS: ['క్రీపూ', 'క్రీశ'], + ERANAMES: ['క్రీస్తు పూర్వం', 'క్రీస్తు శకం'], + NARROWMONTHS: ['జ', 'ఫి', 'మా', 'ఏ', 'మే', 'జూ', 'జు', 'ఆ', 'సె', 'అ', 'న', 'డి'], + STANDALONENARROWMONTHS: ['జ', 'ఫి', 'మా', 'ఏ', 'మే', 'జూ', 'జు', 'ఆ', 'సె', 'అ', 'న', 'డి'], + MONTHS: ['జనవరి', 'ఫిబ్రవరి', 'మార్చి', 'ఏప్రిల్', 'మే', 'జూన్', 'జులై', 'ఆగస్టు', 'సెప్టెంబర్', 'అక్టోబర్', 'నవంబర్', 'డిసెంబర్'], + STANDALONEMONTHS: ['జనవరి', 'ఫిబ్రవరి', 'మార్చి', 'ఏప్రిల్', 'మే', 'జూన్', 'జులై', 'ఆగస్టు', 'సెప్టెంబర్', 'అక్టోబర్', 'నవంబర్', 'డిసెంబర్'], + SHORTMONTHS: ['జన', 'ఫిబ్ర', 'మార్చి', 'ఏప్రి', 'మే', 'జూన్', 'జులై', 'ఆగ', 'సెప్టెం', 'అక్టో', 'నవం', 'డిసెం'], + STANDALONESHORTMONTHS: ['జన', 'ఫిబ్ర', 'మార్చి', 'ఏప్రి', 'మే', 'జూన్', 'జులై', 'ఆగస్టు', 'సెప్టెం', 'అక్టో', 'నవం', 'డిసెం'], + WEEKDAYS: ['ఆదివారం', 'సోమవారం', 'మంగళవారం', 'బుధవారం', 'గురువారం', 'శుక్రవారం', 'శనివారం'], + STANDALONEWEEKDAYS: ['ఆదివారం', 'సోమవారం', 'మంగళవారం', 'బుధవారం', 'గురువారం', 'శుక్రవారం', 'శనివారం'], + SHORTWEEKDAYS: ['ఆది', 'సోమ', 'మంగళ', 'బుధ', 'గురు', 'శుక్ర', 'శని'], + STANDALONESHORTWEEKDAYS: ['ఆది', 'సోమ', 'మంగళ', 'బుధ', 'గురు', 'శుక్ర', 'శని'], + NARROWWEEKDAYS: ['ఆ', 'సో', 'మ', 'బు', 'గు', 'శు', 'శ'], + STANDALONENARROWWEEKDAYS: ['ఆ', 'సో', 'మ', 'బు', 'గు', 'శు', 'శ'], + SHORTQUARTERS: ['త్రై1', 'త్రై2', 'త్రై3', 'త్రై4'], + QUARTERS: ['1వ త్రైమాసం', '2వ త్రైమాసం', '3వ త్రైమాసం', '4వ త్రైమాసం'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['d, MMMM y, EEEE', 'd MMMM, y', 'd MMM, y', 'dd-MM-yy'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 6, + WEEKENDRANGE: [6, 6], + FIRSTWEEKCUTOFFDAY: 5 +}; + + +/** + * Date/time formatting symbols for locale th. + */ +goog.i18n.DateTimeSymbols_th = { + ERAS: ['ปีก่อน ค.ศ.', 'ค.ศ.'], + ERANAMES: ['ปีก่อนคริสต์ศักราช', 'คริสต์ศักราช'], + NARROWMONTHS: ['ม.ค.', 'ก.พ.', 'มี.ค.', 'เม.ย.', 'พ.ค.', 'มิ.ย.', 'ก.ค.', 'ส.ค.', 'ก.ย.', 'ต.ค.', 'พ.ย.', 'ธ.ค.'], + STANDALONENARROWMONTHS: ['ม.ค.', 'ก.พ.', 'มี.ค.', 'เม.ย.', 'พ.ค.', 'มิ.ย.', 'ก.ค.', 'ส.ค.', 'ก.ย.', 'ต.ค.', 'พ.ย.', 'ธ.ค.'], + MONTHS: ['มกราคม', 'กุมภาพันธ์', 'มีนาคม', 'เมษายน', 'พฤษภาคม', 'มิถุนายน', 'กรกฎาคม', 'สิงหาคม', 'กันยายน', 'ตุลาคม', 'พฤศจิกายน', 'ธันวาคม'], + STANDALONEMONTHS: ['มกราคม', 'กุมภาพันธ์', 'มีนาคม', 'เมษายน', 'พฤษภาคม', 'มิถุนายน', 'กรกฎาคม', 'สิงหาคม', 'กันยายน', 'ตุลาคม', 'พฤศจิกายน', 'ธันวาคม'], + SHORTMONTHS: ['ม.ค.', 'ก.พ.', 'มี.ค.', 'เม.ย.', 'พ.ค.', 'มิ.ย.', 'ก.ค.', 'ส.ค.', 'ก.ย.', 'ต.ค.', 'พ.ย.', 'ธ.ค.'], + STANDALONESHORTMONTHS: ['ม.ค.', 'ก.พ.', 'มี.ค.', 'เม.ย.', 'พ.ค.', 'มิ.ย.', 'ก.ค.', 'ส.ค.', 'ก.ย.', 'ต.ค.', 'พ.ย.', 'ธ.ค.'], + WEEKDAYS: ['วันอาทิตย์', 'วันจันทร์', 'วันอังคาร', 'วันพุธ', 'วันพฤหัสบดี', 'วันศุกร์', 'วันเสาร์'], + STANDALONEWEEKDAYS: ['วันอาทิตย์', 'วันจันทร์', 'วันอังคาร', 'วันพุธ', 'วันพฤหัสบดี', 'วันศุกร์', 'วันเสาร์'], + SHORTWEEKDAYS: ['อา.', 'จ.', 'อ.', 'พ.', 'พฤ.', 'ศ.', 'ส.'], + STANDALONESHORTWEEKDAYS: ['อา.', 'จ.', 'อ.', 'พ.', 'พฤ.', 'ศ.', 'ส.'], + NARROWWEEKDAYS: ['อา', 'จ', 'อ', 'พ', 'พฤ', 'ศ', 'ส'], + STANDALONENARROWWEEKDAYS: ['อา', 'จ', 'อ', 'พ', 'พฤ', 'ศ', 'ส'], + SHORTQUARTERS: ['ไตรมาส 1', 'ไตรมาส 2', 'ไตรมาส 3', 'ไตรมาส 4'], + QUARTERS: ['ไตรมาส 1', 'ไตรมาส 2', 'ไตรมาส 3', 'ไตรมาส 4'], + AMPMS: ['ก่อนเที่ยง', 'หลังเที่ยง'], + DATEFORMATS: ['EEEEที่ d MMMM G y', 'd MMMM G y', 'd MMM y', 'd/M/yy'], + TIMEFORMATS: ['H นาฬิกา mm นาที ss วินาที zzzz', 'H นาฬิกา mm นาที ss วินาที z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 6, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 5 +}; + + +/** + * Date/time formatting symbols for locale tl. + */ +goog.i18n.DateTimeSymbols_tl = { + ERAS: ['BC', 'AD'], + ERANAMES: ['BC', 'AD'], + NARROWMONTHS: ['Ene', 'Peb', 'Mar', 'Abr', 'May', 'Hun', 'Hul', 'Ago', 'Set', 'Okt', 'Nob', 'Dis'], + STANDALONENARROWMONTHS: ['E', 'P', 'M', 'A', 'M', 'Hun', 'Hul', 'Ago', 'Set', 'Okt', 'Nob', 'Dis'], + MONTHS: ['Enero', 'Pebrero', 'Marso', 'Abril', 'Mayo', 'Hunyo', 'Hulyo', 'Agosto', 'Setyembre', 'Oktubre', 'Nobyembre', 'Disyembre'], + STANDALONEMONTHS: ['Enero', 'Pebrero', 'Marso', 'Abril', 'Mayo', 'Hunyo', 'Hulyo', 'Agosto', 'Setyembre', 'Oktubre', 'Nobyembre', 'Disyembre'], + SHORTMONTHS: ['Ene', 'Peb', 'Mar', 'Abr', 'May', 'Hun', 'Hul', 'Ago', 'Set', 'Okt', 'Nob', 'Dis'], + STANDALONESHORTMONTHS: ['Ene', 'Peb', 'Mar', 'Abr', 'May', 'Hun', 'Hul', 'Ago', 'Set', 'Okt', 'Nob', 'Dis'], + WEEKDAYS: ['Linggo', 'Lunes', 'Martes', 'Miyerkules', 'Huwebes', 'Biyernes', 'Sabado'], + STANDALONEWEEKDAYS: ['Linggo', 'Lunes', 'Martes', 'Miyerkules', 'Huwebes', 'Biyernes', 'Sabado'], + SHORTWEEKDAYS: ['Lin', 'Lun', 'Mar', 'Miy', 'Huw', 'Biy', 'Sab'], + STANDALONESHORTWEEKDAYS: ['Lin', 'Lun', 'Mar', 'Miy', 'Huw', 'Biy', 'Sab'], + NARROWWEEKDAYS: ['Lin', 'Lun', 'Mar', 'Miy', 'Huw', 'Biy', 'Sab'], + STANDALONENARROWWEEKDAYS: ['Lin', 'Lun', 'Mar', 'Miy', 'Huw', 'Biy', 'Sab'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['ika-1 quarter', 'ika-2 quarter', 'ika-3 quarter', 'ika-4 na quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, MMMM d, y', 'MMMM d, y', 'MMM d, y', 'M/d/yy'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} \'nang\' {0}', '{1} \'nang\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 6, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 5 +}; + + +/** + * Date/time formatting symbols for locale tr. + */ +goog.i18n.DateTimeSymbols_tr = { + ERAS: ['MÖ', 'MS'], + ERANAMES: ['Milattan Önce', 'Milattan Sonra'], + NARROWMONTHS: ['O', 'Ş', 'M', 'N', 'M', 'H', 'T', 'A', 'E', 'E', 'K', 'A'], + STANDALONENARROWMONTHS: ['O', 'Ş', 'M', 'N', 'M', 'H', 'T', 'A', 'E', 'E', 'K', 'A'], + MONTHS: ['Ocak', 'Şubat', 'Mart', 'Nisan', 'Mayıs', 'Haziran', 'Temmuz', 'Ağustos', 'Eylül', 'Ekim', 'Kasım', 'Aralık'], + STANDALONEMONTHS: ['Ocak', 'Şubat', 'Mart', 'Nisan', 'Mayıs', 'Haziran', 'Temmuz', 'Ağustos', 'Eylül', 'Ekim', 'Kasım', 'Aralık'], + SHORTMONTHS: ['Oca', 'Şub', 'Mar', 'Nis', 'May', 'Haz', 'Tem', 'Ağu', 'Eyl', 'Eki', 'Kas', 'Ara'], + STANDALONESHORTMONTHS: ['Oca', 'Şub', 'Mar', 'Nis', 'May', 'Haz', 'Tem', 'Ağu', 'Eyl', 'Eki', 'Kas', 'Ara'], + WEEKDAYS: ['Pazar', 'Pazartesi', 'Salı', 'Çarşamba', 'Perşembe', 'Cuma', 'Cumartesi'], + STANDALONEWEEKDAYS: ['Pazar', 'Pazartesi', 'Salı', 'Çarşamba', 'Perşembe', 'Cuma', 'Cumartesi'], + SHORTWEEKDAYS: ['Paz', 'Pzt', 'Sal', 'Çar', 'Per', 'Cum', 'Cmt'], + STANDALONESHORTWEEKDAYS: ['Paz', 'Pzt', 'Sal', 'Çar', 'Per', 'Cum', 'Cmt'], + NARROWWEEKDAYS: ['P', 'P', 'S', 'Ç', 'P', 'C', 'C'], + STANDALONENARROWWEEKDAYS: ['P', 'P', 'S', 'Ç', 'P', 'C', 'C'], + SHORTQUARTERS: ['Ç1', 'Ç2', 'Ç3', 'Ç4'], + QUARTERS: ['1. çeyrek', '2. çeyrek', '3. çeyrek', '4. çeyrek'], + AMPMS: ['ÖÖ', 'ÖS'], + DATEFORMATS: ['d MMMM y EEEE', 'd MMMM y', 'd MMM y', 'd.MM.y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale uk. + */ +goog.i18n.DateTimeSymbols_uk = { + ERAS: ['до н. е.', 'н. е.'], + ERANAMES: ['до нашої ери', 'нашої ери'], + NARROWMONTHS: ['с', 'л', 'б', 'к', 'т', 'ч', 'л', 'с', 'в', 'ж', 'л', 'г'], + STANDALONENARROWMONTHS: ['С', 'Л', 'Б', 'К', 'Т', 'Ч', 'Л', 'С', 'В', 'Ж', 'Л', 'Г'], + MONTHS: ['січня', 'лютого', 'березня', 'квітня', 'травня', 'червня', 'липня', 'серпня', 'вересня', 'жовтня', 'листопада', 'грудня'], + STANDALONEMONTHS: ['січень', 'лютий', 'березень', 'квітень', 'травень', 'червень', 'липень', 'серпень', 'вересень', 'жовтень', 'листопад', 'грудень'], + SHORTMONTHS: ['січ.', 'лют.', 'бер.', 'квіт.', 'трав.', 'черв.', 'лип.', 'серп.', 'вер.', 'жовт.', 'лист.', 'груд.'], + STANDALONESHORTMONTHS: ['січ', 'лют', 'бер', 'кві', 'тра', 'чер', 'лип', 'сер', 'вер', 'жов', 'лис', 'гру'], + WEEKDAYS: ['неділя', 'понеділок', 'вівторок', 'середа', 'четвер', 'пʼятниця', 'субота'], + STANDALONEWEEKDAYS: ['неділя', 'понеділок', 'вівторок', 'середа', 'четвер', 'пʼятниця', 'субота'], + SHORTWEEKDAYS: ['нд', 'пн', 'вт', 'ср', 'чт', 'пт', 'сб'], + STANDALONESHORTWEEKDAYS: ['нд', 'пн', 'вт', 'ср', 'чт', 'пт', 'сб'], + NARROWWEEKDAYS: ['Н', 'П', 'В', 'С', 'Ч', 'П', 'С'], + STANDALONENARROWWEEKDAYS: ['Н', 'П', 'В', 'С', 'Ч', 'П', 'С'], + SHORTQUARTERS: ['1-й кв.', '2-й кв.', '3-й кв.', '4-й кв.'], + QUARTERS: ['1-й квартал', '2-й квартал', '3-й квартал', '4-й квартал'], + AMPMS: ['дп', 'пп'], + DATEFORMATS: ['EEEE, d MMMM y \'р\'.', 'd MMMM y \'р\'.', 'd MMM y \'р\'.', 'dd.MM.yy'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'о\' {0}', '{1} \'о\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale ur. + */ +goog.i18n.DateTimeSymbols_ur = { + ERAS: ['قبل مسیح', 'عیسوی'], + ERANAMES: ['قبل مسیح', 'عیسوی'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['جنوری', 'فروری', 'مارچ', 'اپریل', 'مئی', 'جون', 'جولائی', 'اگست', 'ستمبر', 'اکتوبر', 'نومبر', 'دسمبر'], + STANDALONEMONTHS: ['جنوری', 'فروری', 'مارچ', 'اپریل', 'مئی', 'جون', 'جولائی', 'اگست', 'ستمبر', 'اکتوبر', 'نومبر', 'دسمبر'], + SHORTMONTHS: ['جنوری', 'فروری', 'مارچ', 'اپریل', 'مئی', 'جون', 'جولائی', 'اگست', 'ستمبر', 'اکتوبر', 'نومبر', 'دسمبر'], + STANDALONESHORTMONTHS: ['جنوری', 'فروری', 'مارچ', 'اپریل', 'مئی', 'جون', 'جولائی', 'اگست', 'ستمبر', 'اکتوبر', 'نومبر', 'دسمبر'], + WEEKDAYS: ['اتوار', 'سوموار', 'منگل', 'بدھ', 'جمعرات', 'جمعہ', 'ہفتہ'], + STANDALONEWEEKDAYS: ['اتوار', 'سوموار', 'منگل', 'بدھ', 'جمعرات', 'جمعہ', 'ہفتہ'], + SHORTWEEKDAYS: ['اتوار', 'سوموار', 'منگل', 'بدھ', 'جمعرات', 'جمعہ', 'ہفتہ'], + STANDALONESHORTWEEKDAYS: ['اتوار', 'سوموار', 'منگل', 'بدھ', 'جمعرات', 'جمعہ', 'ہفتہ'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['پہلی سہ ماہی', 'دوسری سہ ماہی', 'تیسری سہ ماہی', 'چوتهی سہ ماہی'], + QUARTERS: ['پہلی سہ ماہی', 'دوسری سہ ماہی', 'تیسری سہ ماہی', 'چوتهی سہ ماہی'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE، d MMMM، y', 'd MMMM، y', 'y MMM d', 'd/M/yy'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 6, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 5 +}; + + +/** + * Date/time formatting symbols for locale uz. + */ +goog.i18n.DateTimeSymbols_uz = { + ERAS: ['m.a.', 'milodiy'], + ERANAMES: ['miloddan avvalgi', 'milodiy'], + NARROWMONTHS: ['Y', 'F', 'M', 'A', 'M', 'I', 'I', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['Y', 'F', 'M', 'A', 'M', 'I', 'I', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['yanvar', 'fevral', 'mart', 'aprel', 'may', 'iyun', 'iyul', 'avgust', 'sentabr', 'oktabr', 'noyabr', 'dekabr'], + STANDALONEMONTHS: ['Yanvar', 'Fevral', 'Mart', 'Aprel', 'May', 'Iyun', 'Iyul', 'Avgust', 'Sentabr', 'Oktabr', 'Noyabr', 'Dekabr'], + SHORTMONTHS: ['yan', 'fev', 'mar', 'apr', 'may', 'iyn', 'iyl', 'avg', 'sen', 'okt', 'noy', 'dek'], + STANDALONESHORTMONTHS: ['Yan', 'Fev', 'Mar', 'Apr', 'May', 'Iyn', 'Iyl', 'Avg', 'Sen', 'Okt', 'Noy', 'Dek'], + WEEKDAYS: ['yakshanba', 'dushanba', 'seshanba', 'chorshanba', 'payshanba', 'juma', 'shanba'], + STANDALONEWEEKDAYS: ['yakshanba', 'dushanba', 'seshanba', 'chorshanba', 'payshanba', 'juma', 'shanba'], + SHORTWEEKDAYS: ['Yak', 'Dush', 'Sesh', 'Chor', 'Pay', 'Jum', 'Shan'], + STANDALONESHORTWEEKDAYS: ['Yak', 'Dush', 'Sesh', 'Chor', 'Pay', 'Jum', 'Shan'], + NARROWWEEKDAYS: ['Y', 'D', 'S', 'C', 'P', 'J', 'S'], + STANDALONENARROWWEEKDAYS: ['Y', 'D', 'S', 'C', 'P', 'J', 'S'], + SHORTQUARTERS: ['1-ch', '2-ch', '3-ch', '4-ch'], + QUARTERS: ['1-chorak', '2-chorak', '3-chorak', '4-chorak'], + AMPMS: ['TO', 'TK'], + DATEFORMATS: ['EEEE, d-MMMM, y', 'd-MMMM, y', 'd-MMM, y', 'dd/MM/yy'], + TIMEFORMATS: ['H:mm:ss (zzzz)', 'H:mm:ss (z)', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1}, {0}', '{1}, {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale vi. + */ +goog.i18n.DateTimeSymbols_vi = { + ERAS: ['Trước CN', 'sau CN'], + ERANAMES: ['Trước CN', 'sau CN'], + NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + MONTHS: ['tháng 1', 'tháng 2', 'tháng 3', 'tháng 4', 'tháng 5', 'tháng 6', 'tháng 7', 'tháng 8', 'tháng 9', 'tháng 10', 'tháng 11', 'tháng 12'], + STANDALONEMONTHS: ['Tháng 1', 'Tháng 2', 'Tháng 3', 'Tháng 4', 'Tháng 5', 'Tháng 6', 'Tháng 7', 'Tháng 8', 'Tháng 9', 'Tháng 10', 'Tháng 11', 'Tháng 12'], + SHORTMONTHS: ['thg 1', 'thg 2', 'thg 3', 'thg 4', 'thg 5', 'thg 6', 'thg 7', 'thg 8', 'thg 9', 'thg 10', 'thg 11', 'thg 12'], + STANDALONESHORTMONTHS: ['Thg 1', 'Thg 2', 'Thg 3', 'Thg 4', 'Thg 5', 'Thg 6', 'Thg 7', 'Thg 8', 'Thg 9', 'Thg 10', 'Thg 11', 'Thg 12'], + WEEKDAYS: ['Chủ Nhật', 'Thứ Hai', 'Thứ Ba', 'Thứ Tư', 'Thứ Năm', 'Thứ Sáu', 'Thứ Bảy'], + STANDALONEWEEKDAYS: ['Chủ Nhật', 'Thứ Hai', 'Thứ Ba', 'Thứ Tư', 'Thứ Năm', 'Thứ Sáu', 'Thứ Bảy'], + SHORTWEEKDAYS: ['CN', 'Th 2', 'Th 3', 'Th 4', 'Th 5', 'Th 6', 'Th 7'], + STANDALONESHORTWEEKDAYS: ['CN', 'Th 2', 'Th 3', 'Th 4', 'Th 5', 'Th 6', 'Th 7'], + NARROWWEEKDAYS: ['CN', 'T2', 'T3', 'T4', 'T5', 'T6', 'T7'], + STANDALONENARROWWEEKDAYS: ['CN', 'T2', 'T3', 'T4', 'T5', 'T6', 'T7'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['Quý 1', 'Quý 2', 'Quý 3', 'Quý 4'], + AMPMS: ['SA', 'CH'], + DATEFORMATS: ['EEEE, d MMMM, y', 'd MMMM, y', 'd MMM, y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{0} {1}', '{0} {1}', '{0}, {1}', '{0}, {1}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale zh. + */ +goog.i18n.DateTimeSymbols_zh = { + ERAS: ['公元前', '公元'], + ERANAMES: ['公元前', '公元'], + NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + MONTHS: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'], + STANDALONEMONTHS: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'], + SHORTMONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'], + STANDALONESHORTMONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'], + WEEKDAYS: ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'], + STANDALONEWEEKDAYS: ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'], + SHORTWEEKDAYS: ['周日', '周一', '周二', '周三', '周四', '周五', '周六'], + STANDALONESHORTWEEKDAYS: ['周日', '周一', '周二', '周三', '周四', '周五', '周六'], + NARROWWEEKDAYS: ['日', '一', '二', '三', '四', '五', '六'], + STANDALONENARROWWEEKDAYS: ['日', '一', '二', '三', '四', '五', '六'], + SHORTQUARTERS: ['1季度', '2季度', '3季度', '4季度'], + QUARTERS: ['第一季度', '第二季度', '第三季度', '第四季度'], + AMPMS: ['上午', '下午'], + DATEFORMATS: ['y年M月d日EEEE', 'y年M月d日', 'y年M月d日', 'y/M/d'], + TIMEFORMATS: ['zzzz ah:mm:ss', 'z ah:mm:ss', 'ah:mm:ss', 'ah:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 6, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 5 +}; + + +/** + * Date/time formatting symbols for locale zh_CN. + */ +goog.i18n.DateTimeSymbols_zh_CN = goog.i18n.DateTimeSymbols_zh; + + +/** + * Date/time formatting symbols for locale zh_HK. + */ +goog.i18n.DateTimeSymbols_zh_HK = { + ERAS: ['公元前', '公元'], + ERANAMES: ['公元前', '公元'], + NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + MONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'], + STANDALONEMONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'], + SHORTMONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'], + STANDALONESHORTMONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'], + WEEKDAYS: ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'], + STANDALONEWEEKDAYS: ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'], + SHORTWEEKDAYS: ['週日', '週一', '週二', '週三', '週四', '週五', '週六'], + STANDALONESHORTWEEKDAYS: ['週日', '週一', '週二', '週三', '週四', '週五', '週六'], + NARROWWEEKDAYS: ['日', '一', '二', '三', '四', '五', '六'], + STANDALONENARROWWEEKDAYS: ['日', '一', '二', '三', '四', '五', '六'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['第1季度', '第2季度', '第3季度', '第4季度'], + AMPMS: ['上午', '下午'], + DATEFORMATS: ['y年M月d日EEEE', 'y年M月d日', 'y年M月d日', 'd/M/y'], + TIMEFORMATS: ['ah:mm:ss [zzzz]', 'ah:mm:ss [z]', 'ah:mm:ss', 'ah:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 6, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 5 +}; + + +/** + * Date/time formatting symbols for locale zh_TW. + */ +goog.i18n.DateTimeSymbols_zh_TW = { + ERAS: ['西元前', '西元'], + ERANAMES: ['西元前', '西元'], + NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + MONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'], + STANDALONEMONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'], + SHORTMONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'], + STANDALONESHORTMONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'], + WEEKDAYS: ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'], + STANDALONEWEEKDAYS: ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'], + SHORTWEEKDAYS: ['週日', '週一', '週二', '週三', '週四', '週五', '週六'], + STANDALONESHORTWEEKDAYS: ['週日', '週一', '週二', '週三', '週四', '週五', '週六'], + NARROWWEEKDAYS: ['日', '一', '二', '三', '四', '五', '六'], + STANDALONENARROWWEEKDAYS: ['日', '一', '二', '三', '四', '五', '六'], + SHORTQUARTERS: ['1季', '2季', '3季', '4季'], + QUARTERS: ['第1季', '第2季', '第3季', '第4季'], + AMPMS: ['上午', '下午'], + DATEFORMATS: ['y年M月d日 EEEE', 'y年M月d日', 'y年M月d日', 'y/M/d'], + TIMEFORMATS: ['ah:mm:ss [zzzz]', 'ah:mm:ss [z]', 'ah:mm:ss', 'ah:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 6, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 5 +}; + + +/** + * Date/time formatting symbols for locale zu. + */ +goog.i18n.DateTimeSymbols_zu = { + ERAS: ['BC', 'AD'], + ERANAMES: ['BC', 'AD'], + NARROWMONTHS: ['J', 'F', 'M', 'E', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['UMasingana', 'Februwari', 'Mashi', 'Ephreli', 'Meyi', 'Juni', 'Julayi', 'Agasti', 'Septhemba', 'Okthoba', 'Novemba', 'Disemba'], + STANDALONEMONTHS: ['Januwari', 'Februwari', 'Mashi', 'Ephreli', 'Meyi', 'Juni', 'Julayi', 'Agasti', 'Septhemba', 'Okthoba', 'Novemba', 'Disemba'], + SHORTMONTHS: ['Jan', 'Feb', 'Mas', 'Eph', 'Mey', 'Jun', 'Jul', 'Aga', 'Sep', 'Okt', 'Nov', 'Dis'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mas', 'Eph', 'Mey', 'Jun', 'Jul', 'Aga', 'Sep', 'Okt', 'Nov', 'Dis'], + WEEKDAYS: ['ISonto', 'UMsombuluko', 'ULwesibili', 'ULwesithathu', 'ULwesine', 'ULwesihlanu', 'UMgqibelo'], + STANDALONEWEEKDAYS: ['ISonto', 'UMsombuluko', 'ULwesibili', 'ULwesithathu', 'ULwesine', 'ULwesihlanu', 'UMgqibelo'], + SHORTWEEKDAYS: ['Son', 'Mso', 'Bil', 'Tha', 'Sin', 'Hla', 'Mgq'], + STANDALONESHORTWEEKDAYS: ['Son', 'Mso', 'Bil', 'Tha', 'Sin', 'Hla', 'Mgq'], + NARROWWEEKDAYS: ['S', 'M', 'B', 'T', 'S', 'H', 'M'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'B', 'T', 'S', 'H', 'M'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['ikota yesi-1', 'ikota yesi-2', 'ikota yesi-3', 'ikota yesi-4'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, MMMM d, y', 'MMMM d, y', 'MMM d, y', 'M/d/yy'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 6, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 5 +}; + +/** + * @record + * @struct + */ +goog.i18n.DateTimeSymbolsType = function() {}; + +/** @type {!Array} */ +goog.i18n.DateTimeSymbolsType.prototype.ERAS; + +/** @type {!Array} */ +goog.i18n.DateTimeSymbolsType.prototype.ERANAMES; + +/** @type {!Array} */ +goog.i18n.DateTimeSymbolsType.prototype.NARROWMONTHS; + +/** @type {!Array} */ +goog.i18n.DateTimeSymbolsType.prototype.STANDALONENARROWMONTHS; + +/** @type {!Array} */ +goog.i18n.DateTimeSymbolsType.prototype.MONTHS; + +/** @type {!Array} */ +goog.i18n.DateTimeSymbolsType.prototype.STANDALONEMONTHS; + +/** @type {!Array} */ +goog.i18n.DateTimeSymbolsType.prototype.SHORTMONTHS; + +/** @type {!Array} */ +goog.i18n.DateTimeSymbolsType.prototype.STANDALONESHORTMONTHS; + +/** @type {!Array} */ +goog.i18n.DateTimeSymbolsType.prototype.WEEKDAYS; + +/** @type {!Array} */ +goog.i18n.DateTimeSymbolsType.prototype.SHORTWEEKDAYS; + +/** @type {!Array} */ +goog.i18n.DateTimeSymbolsType.prototype.STANDALONESHORTWEEKDAYS; + +/** @type {!Array} */ +goog.i18n.DateTimeSymbolsType.prototype.STANDALONEWEEKDAYS; + +/** @type {!Array} */ +goog.i18n.DateTimeSymbolsType.prototype.NARROWWEEKDAYS; + +/** @type {!Array} */ +goog.i18n.DateTimeSymbolsType.prototype.STANDALONENARROWWEEKDAYS; + +/** @type {!Array} */ +goog.i18n.DateTimeSymbolsType.prototype.SHORTQUARTERS; + +/** @type {!Array} */ +goog.i18n.DateTimeSymbolsType.prototype.QUARTERS; + +/** @type {!Array} */ +goog.i18n.DateTimeSymbolsType.prototype.AMPMS; + +/** @type {!Array} */ +goog.i18n.DateTimeSymbolsType.prototype.DATEFORMATS; + +/** @type {!Array} */ +goog.i18n.DateTimeSymbolsType.prototype.TIMEFORMATS; + +/** @type {!Array} */ +goog.i18n.DateTimeSymbolsType.prototype.DATETIMEFORMATS; + +/** @type {number|undefined} */ +goog.i18n.DateTimeSymbolsType.prototype.ZERODIGIT; + +/** @type {number} */ +goog.i18n.DateTimeSymbolsType.prototype.FIRSTDAYOFWEEK; + +/** @type {!Array} */ +goog.i18n.DateTimeSymbolsType.prototype.WEEKENDRANGE; + +/** @type {number} */ +goog.i18n.DateTimeSymbolsType.prototype.FIRSTWEEKCUTOFFDAY; + + +/** @type {!goog.i18n.DateTimeSymbolsType} */ +goog.i18n.DateTimeSymbols; + + +/** + * Selected date/time formatting symbols by locale. + */ +goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en; + +if (goog.LOCALE == 'en_ISO' || goog.LOCALE == 'en-ISO') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_ISO; +} + +if (goog.LOCALE == 'af') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_af; +} + +if (goog.LOCALE == 'am') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_am; +} + +if (goog.LOCALE == 'ar') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ar; +} + +if (goog.LOCALE == 'ar_DZ' || goog.LOCALE == 'ar-DZ') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ar_DZ; +} + +if (goog.LOCALE == 'az') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_az; +} + +if (goog.LOCALE == 'be') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_be; +} + +if (goog.LOCALE == 'bg') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_bg; +} + +if (goog.LOCALE == 'bn') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_bn; +} + +if (goog.LOCALE == 'br') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_br; +} + +if (goog.LOCALE == 'bs') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_bs; +} + +if (goog.LOCALE == 'ca') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ca; +} + +if (goog.LOCALE == 'chr') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_chr; +} + +if (goog.LOCALE == 'cs') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_cs; +} + +if (goog.LOCALE == 'cy') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_cy; +} + +if (goog.LOCALE == 'da') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_da; +} + +if (goog.LOCALE == 'de') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_de; +} + +if (goog.LOCALE == 'de_AT' || goog.LOCALE == 'de-AT') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_de_AT; +} + +if (goog.LOCALE == 'de_CH' || goog.LOCALE == 'de-CH') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_de_CH; +} + +if (goog.LOCALE == 'el') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_el; +} + +if (goog.LOCALE == 'en') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en; +} + +if (goog.LOCALE == 'en_AU' || goog.LOCALE == 'en-AU') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_AU; +} + +if (goog.LOCALE == 'en_CA' || goog.LOCALE == 'en-CA') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_CA; +} + +if (goog.LOCALE == 'en_GB' || goog.LOCALE == 'en-GB') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_GB; +} + +if (goog.LOCALE == 'en_IE' || goog.LOCALE == 'en-IE') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_IE; +} + +if (goog.LOCALE == 'en_IN' || goog.LOCALE == 'en-IN') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_IN; +} + +if (goog.LOCALE == 'en_SG' || goog.LOCALE == 'en-SG') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_SG; +} + +if (goog.LOCALE == 'en_US' || goog.LOCALE == 'en-US') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_US; +} + +if (goog.LOCALE == 'en_ZA' || goog.LOCALE == 'en-ZA') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_ZA; +} + +if (goog.LOCALE == 'es') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_es; +} + +if (goog.LOCALE == 'es_419' || goog.LOCALE == 'es-419') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_es_419; +} + +if (goog.LOCALE == 'es_ES' || goog.LOCALE == 'es-ES') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_es_ES; +} + +if (goog.LOCALE == 'es_MX' || goog.LOCALE == 'es-MX') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_es_MX; +} + +if (goog.LOCALE == 'es_US' || goog.LOCALE == 'es-US') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_es_US; +} + +if (goog.LOCALE == 'et') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_et; +} + +if (goog.LOCALE == 'eu') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_eu; +} + +if (goog.LOCALE == 'fa') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_fa; +} + +if (goog.LOCALE == 'fi') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_fi; +} + +if (goog.LOCALE == 'fil') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_fil; +} + +if (goog.LOCALE == 'fr') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_fr; +} + +if (goog.LOCALE == 'fr_CA' || goog.LOCALE == 'fr-CA') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_fr_CA; +} + +if (goog.LOCALE == 'ga') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ga; +} + +if (goog.LOCALE == 'gl') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_gl; +} + +if (goog.LOCALE == 'gsw') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_gsw; +} + +if (goog.LOCALE == 'gu') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_gu; +} + +if (goog.LOCALE == 'haw') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_haw; +} + +if (goog.LOCALE == 'he') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_he; +} + +if (goog.LOCALE == 'hi') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_hi; +} + +if (goog.LOCALE == 'hr') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_hr; +} + +if (goog.LOCALE == 'hu') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_hu; +} + +if (goog.LOCALE == 'hy') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_hy; +} + +if (goog.LOCALE == 'id') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_id; +} + +if (goog.LOCALE == 'in') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_in; +} + +if (goog.LOCALE == 'is') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_is; +} + +if (goog.LOCALE == 'it') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_it; +} + +if (goog.LOCALE == 'iw') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_iw; +} + +if (goog.LOCALE == 'ja') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ja; +} + +if (goog.LOCALE == 'ka') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ka; +} + +if (goog.LOCALE == 'kk') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_kk; +} + +if (goog.LOCALE == 'km') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_km; +} + +if (goog.LOCALE == 'kn') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_kn; +} + +if (goog.LOCALE == 'ko') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ko; +} + +if (goog.LOCALE == 'ky') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ky; +} + +if (goog.LOCALE == 'ln') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ln; +} + +if (goog.LOCALE == 'lo') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_lo; +} + +if (goog.LOCALE == 'lt') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_lt; +} + +if (goog.LOCALE == 'lv') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_lv; +} + +if (goog.LOCALE == 'mk') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_mk; +} + +if (goog.LOCALE == 'ml') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ml; +} + +if (goog.LOCALE == 'mn') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_mn; +} + +if (goog.LOCALE == 'mo') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_mo; +} + +if (goog.LOCALE == 'mr') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_mr; +} + +if (goog.LOCALE == 'ms') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ms; +} + +if (goog.LOCALE == 'mt') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_mt; +} + +if (goog.LOCALE == 'my') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_my; +} + +if (goog.LOCALE == 'nb') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_nb; +} + +if (goog.LOCALE == 'ne') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ne; +} + +if (goog.LOCALE == 'nl') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_nl; +} + +if (goog.LOCALE == 'no') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_no; +} + +if (goog.LOCALE == 'no_NO' || goog.LOCALE == 'no-NO') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_no_NO; +} + +if (goog.LOCALE == 'or') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_or; +} + +if (goog.LOCALE == 'pa') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_pa; +} + +if (goog.LOCALE == 'pl') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_pl; +} + +if (goog.LOCALE == 'pt') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_pt; +} + +if (goog.LOCALE == 'pt_BR' || goog.LOCALE == 'pt-BR') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_pt_BR; +} + +if (goog.LOCALE == 'pt_PT' || goog.LOCALE == 'pt-PT') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_pt_PT; +} + +if (goog.LOCALE == 'ro') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ro; +} + +if (goog.LOCALE == 'ru') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ru; +} + +if (goog.LOCALE == 'sh') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_sh; +} + +if (goog.LOCALE == 'si') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_si; +} + +if (goog.LOCALE == 'sk') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_sk; +} + +if (goog.LOCALE == 'sl') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_sl; +} + +if (goog.LOCALE == 'sq') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_sq; +} + +if (goog.LOCALE == 'sr') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_sr; +} + +if (goog.LOCALE == 'sr_Latn' || goog.LOCALE == 'sr-Latn') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_sr_Latn; +} + +if (goog.LOCALE == 'sv') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_sv; +} + +if (goog.LOCALE == 'sw') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_sw; +} + +if (goog.LOCALE == 'ta') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ta; +} + +if (goog.LOCALE == 'te') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_te; +} + +if (goog.LOCALE == 'th') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_th; +} + +if (goog.LOCALE == 'tl') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_tl; +} + +if (goog.LOCALE == 'tr') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_tr; +} + +if (goog.LOCALE == 'uk') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_uk; +} + +if (goog.LOCALE == 'ur') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ur; +} + +if (goog.LOCALE == 'uz') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_uz; +} + +if (goog.LOCALE == 'vi') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_vi; +} + +if (goog.LOCALE == 'zh') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_zh; +} + +if (goog.LOCALE == 'zh_CN' || goog.LOCALE == 'zh-CN') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_zh_CN; +} + +if (goog.LOCALE == 'zh_HK' || goog.LOCALE == 'zh-HK') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_zh_HK; +} + +if (goog.LOCALE == 'zh_TW' || goog.LOCALE == 'zh-TW') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_zh_TW; +} + +if (goog.LOCALE == 'zu') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_zu; +} diff --git a/i18n/closure/datetimeSymbolsExt.js b/i18n/closure/datetimeSymbolsExt.js index 315e66d98470..98ccdf7b5599 100644 --- a/i18n/closure/datetimeSymbolsExt.js +++ b/i18n/closure/datetimeSymbolsExt.js @@ -15,22 +15,19 @@ /** * @fileoverview Date/time formatting symbols for all locales. * - * This file is autogenerated by scripts - * i18n/tools/generate_datetime_constants.py --for_closure + * File generated from CLDR ver. 31.0.1 * - * This file contains symbols for locales that are not covered by - * datetimesymbols.js. - * Before checkin, this file could have been manually edited. This is - * to incorporate changes before we could correct CLDR. All manual - * modification must be documented in this section, and should be - * removed after those changes lands to CLDR. + * This file covers those locales that are not covered in + * "datetimesymbols.js". + * + * @suppress {const,missingRequire} Suppress "missing require" warnings for + * names like goog.i18n.DateTimeSymbols_af. They are included + * by requiring goog.i18n.DateTimeSymbols. */ +// clang-format off + goog.provide('goog.i18n.DateTimeSymbolsExt'); -goog.provide('goog.i18n.DateTimeSymbols_aa'); -goog.provide('goog.i18n.DateTimeSymbols_aa_DJ'); -goog.provide('goog.i18n.DateTimeSymbols_aa_ER'); -goog.provide('goog.i18n.DateTimeSymbols_aa_ET'); goog.provide('goog.i18n.DateTimeSymbols_af_NA'); goog.provide('goog.i18n.DateTimeSymbols_af_ZA'); goog.provide('goog.i18n.DateTimeSymbols_agq'); @@ -38,35 +35,46 @@ goog.provide('goog.i18n.DateTimeSymbols_agq_CM'); goog.provide('goog.i18n.DateTimeSymbols_ak'); goog.provide('goog.i18n.DateTimeSymbols_ak_GH'); goog.provide('goog.i18n.DateTimeSymbols_am_ET'); +goog.provide('goog.i18n.DateTimeSymbols_ar_001'); goog.provide('goog.i18n.DateTimeSymbols_ar_AE'); goog.provide('goog.i18n.DateTimeSymbols_ar_BH'); -goog.provide('goog.i18n.DateTimeSymbols_ar_DZ'); +goog.provide('goog.i18n.DateTimeSymbols_ar_DJ'); goog.provide('goog.i18n.DateTimeSymbols_ar_EG'); +goog.provide('goog.i18n.DateTimeSymbols_ar_EH'); +goog.provide('goog.i18n.DateTimeSymbols_ar_ER'); +goog.provide('goog.i18n.DateTimeSymbols_ar_IL'); goog.provide('goog.i18n.DateTimeSymbols_ar_IQ'); goog.provide('goog.i18n.DateTimeSymbols_ar_JO'); +goog.provide('goog.i18n.DateTimeSymbols_ar_KM'); goog.provide('goog.i18n.DateTimeSymbols_ar_KW'); goog.provide('goog.i18n.DateTimeSymbols_ar_LB'); goog.provide('goog.i18n.DateTimeSymbols_ar_LY'); goog.provide('goog.i18n.DateTimeSymbols_ar_MA'); +goog.provide('goog.i18n.DateTimeSymbols_ar_MR'); goog.provide('goog.i18n.DateTimeSymbols_ar_OM'); +goog.provide('goog.i18n.DateTimeSymbols_ar_PS'); goog.provide('goog.i18n.DateTimeSymbols_ar_QA'); goog.provide('goog.i18n.DateTimeSymbols_ar_SA'); goog.provide('goog.i18n.DateTimeSymbols_ar_SD'); +goog.provide('goog.i18n.DateTimeSymbols_ar_SO'); +goog.provide('goog.i18n.DateTimeSymbols_ar_SS'); goog.provide('goog.i18n.DateTimeSymbols_ar_SY'); +goog.provide('goog.i18n.DateTimeSymbols_ar_TD'); goog.provide('goog.i18n.DateTimeSymbols_ar_TN'); +goog.provide('goog.i18n.DateTimeSymbols_ar_XB'); goog.provide('goog.i18n.DateTimeSymbols_ar_YE'); goog.provide('goog.i18n.DateTimeSymbols_as'); goog.provide('goog.i18n.DateTimeSymbols_as_IN'); goog.provide('goog.i18n.DateTimeSymbols_asa'); goog.provide('goog.i18n.DateTimeSymbols_asa_TZ'); -goog.provide('goog.i18n.DateTimeSymbols_az'); +goog.provide('goog.i18n.DateTimeSymbols_ast'); +goog.provide('goog.i18n.DateTimeSymbols_ast_ES'); goog.provide('goog.i18n.DateTimeSymbols_az_Cyrl'); goog.provide('goog.i18n.DateTimeSymbols_az_Cyrl_AZ'); goog.provide('goog.i18n.DateTimeSymbols_az_Latn'); goog.provide('goog.i18n.DateTimeSymbols_az_Latn_AZ'); goog.provide('goog.i18n.DateTimeSymbols_bas'); goog.provide('goog.i18n.DateTimeSymbols_bas_CM'); -goog.provide('goog.i18n.DateTimeSymbols_be'); goog.provide('goog.i18n.DateTimeSymbols_be_BY'); goog.provide('goog.i18n.DateTimeSymbols_bem'); goog.provide('goog.i18n.DateTimeSymbols_bem_ZM'); @@ -80,37 +88,40 @@ goog.provide('goog.i18n.DateTimeSymbols_bn_IN'); goog.provide('goog.i18n.DateTimeSymbols_bo'); goog.provide('goog.i18n.DateTimeSymbols_bo_CN'); goog.provide('goog.i18n.DateTimeSymbols_bo_IN'); -goog.provide('goog.i18n.DateTimeSymbols_br'); goog.provide('goog.i18n.DateTimeSymbols_br_FR'); goog.provide('goog.i18n.DateTimeSymbols_brx'); goog.provide('goog.i18n.DateTimeSymbols_brx_IN'); -goog.provide('goog.i18n.DateTimeSymbols_bs'); -goog.provide('goog.i18n.DateTimeSymbols_bs_BA'); -goog.provide('goog.i18n.DateTimeSymbols_byn'); -goog.provide('goog.i18n.DateTimeSymbols_byn_ER'); +goog.provide('goog.i18n.DateTimeSymbols_bs_Cyrl'); +goog.provide('goog.i18n.DateTimeSymbols_bs_Cyrl_BA'); +goog.provide('goog.i18n.DateTimeSymbols_bs_Latn'); +goog.provide('goog.i18n.DateTimeSymbols_bs_Latn_BA'); +goog.provide('goog.i18n.DateTimeSymbols_ca_AD'); goog.provide('goog.i18n.DateTimeSymbols_ca_ES'); +goog.provide('goog.i18n.DateTimeSymbols_ca_FR'); +goog.provide('goog.i18n.DateTimeSymbols_ca_IT'); +goog.provide('goog.i18n.DateTimeSymbols_ce'); +goog.provide('goog.i18n.DateTimeSymbols_ce_RU'); goog.provide('goog.i18n.DateTimeSymbols_cgg'); goog.provide('goog.i18n.DateTimeSymbols_cgg_UG'); goog.provide('goog.i18n.DateTimeSymbols_chr_US'); goog.provide('goog.i18n.DateTimeSymbols_ckb'); -goog.provide('goog.i18n.DateTimeSymbols_ckb_Arab'); -goog.provide('goog.i18n.DateTimeSymbols_ckb_Arab_IQ'); -goog.provide('goog.i18n.DateTimeSymbols_ckb_Arab_IR'); goog.provide('goog.i18n.DateTimeSymbols_ckb_IQ'); goog.provide('goog.i18n.DateTimeSymbols_ckb_IR'); -goog.provide('goog.i18n.DateTimeSymbols_ckb_Latn'); -goog.provide('goog.i18n.DateTimeSymbols_ckb_Latn_IQ'); goog.provide('goog.i18n.DateTimeSymbols_cs_CZ'); goog.provide('goog.i18n.DateTimeSymbols_cy_GB'); goog.provide('goog.i18n.DateTimeSymbols_da_DK'); +goog.provide('goog.i18n.DateTimeSymbols_da_GL'); goog.provide('goog.i18n.DateTimeSymbols_dav'); goog.provide('goog.i18n.DateTimeSymbols_dav_KE'); goog.provide('goog.i18n.DateTimeSymbols_de_BE'); goog.provide('goog.i18n.DateTimeSymbols_de_DE'); +goog.provide('goog.i18n.DateTimeSymbols_de_IT'); goog.provide('goog.i18n.DateTimeSymbols_de_LI'); goog.provide('goog.i18n.DateTimeSymbols_de_LU'); goog.provide('goog.i18n.DateTimeSymbols_dje'); goog.provide('goog.i18n.DateTimeSymbols_dje_NE'); +goog.provide('goog.i18n.DateTimeSymbols_dsb'); +goog.provide('goog.i18n.DateTimeSymbols_dsb_DE'); goog.provide('goog.i18n.DateTimeSymbols_dua'); goog.provide('goog.i18n.DateTimeSymbols_dua_CM'); goog.provide('goog.i18n.DateTimeSymbols_dyo'); @@ -124,51 +135,127 @@ goog.provide('goog.i18n.DateTimeSymbols_ee_GH'); goog.provide('goog.i18n.DateTimeSymbols_ee_TG'); goog.provide('goog.i18n.DateTimeSymbols_el_CY'); goog.provide('goog.i18n.DateTimeSymbols_el_GR'); +goog.provide('goog.i18n.DateTimeSymbols_en_001'); +goog.provide('goog.i18n.DateTimeSymbols_en_150'); +goog.provide('goog.i18n.DateTimeSymbols_en_AG'); +goog.provide('goog.i18n.DateTimeSymbols_en_AI'); goog.provide('goog.i18n.DateTimeSymbols_en_AS'); +goog.provide('goog.i18n.DateTimeSymbols_en_AT'); goog.provide('goog.i18n.DateTimeSymbols_en_BB'); goog.provide('goog.i18n.DateTimeSymbols_en_BE'); +goog.provide('goog.i18n.DateTimeSymbols_en_BI'); goog.provide('goog.i18n.DateTimeSymbols_en_BM'); +goog.provide('goog.i18n.DateTimeSymbols_en_BS'); goog.provide('goog.i18n.DateTimeSymbols_en_BW'); goog.provide('goog.i18n.DateTimeSymbols_en_BZ'); -goog.provide('goog.i18n.DateTimeSymbols_en_CA'); -goog.provide('goog.i18n.DateTimeSymbols_en_Dsrt'); -goog.provide('goog.i18n.DateTimeSymbols_en_Dsrt_US'); +goog.provide('goog.i18n.DateTimeSymbols_en_CC'); +goog.provide('goog.i18n.DateTimeSymbols_en_CH'); +goog.provide('goog.i18n.DateTimeSymbols_en_CK'); +goog.provide('goog.i18n.DateTimeSymbols_en_CM'); +goog.provide('goog.i18n.DateTimeSymbols_en_CX'); +goog.provide('goog.i18n.DateTimeSymbols_en_CY'); +goog.provide('goog.i18n.DateTimeSymbols_en_DE'); +goog.provide('goog.i18n.DateTimeSymbols_en_DG'); +goog.provide('goog.i18n.DateTimeSymbols_en_DK'); +goog.provide('goog.i18n.DateTimeSymbols_en_DM'); +goog.provide('goog.i18n.DateTimeSymbols_en_ER'); +goog.provide('goog.i18n.DateTimeSymbols_en_FI'); +goog.provide('goog.i18n.DateTimeSymbols_en_FJ'); +goog.provide('goog.i18n.DateTimeSymbols_en_FK'); +goog.provide('goog.i18n.DateTimeSymbols_en_FM'); +goog.provide('goog.i18n.DateTimeSymbols_en_GD'); +goog.provide('goog.i18n.DateTimeSymbols_en_GG'); +goog.provide('goog.i18n.DateTimeSymbols_en_GH'); +goog.provide('goog.i18n.DateTimeSymbols_en_GI'); +goog.provide('goog.i18n.DateTimeSymbols_en_GM'); goog.provide('goog.i18n.DateTimeSymbols_en_GU'); goog.provide('goog.i18n.DateTimeSymbols_en_GY'); goog.provide('goog.i18n.DateTimeSymbols_en_HK'); +goog.provide('goog.i18n.DateTimeSymbols_en_IL'); +goog.provide('goog.i18n.DateTimeSymbols_en_IM'); +goog.provide('goog.i18n.DateTimeSymbols_en_IO'); +goog.provide('goog.i18n.DateTimeSymbols_en_JE'); goog.provide('goog.i18n.DateTimeSymbols_en_JM'); +goog.provide('goog.i18n.DateTimeSymbols_en_KE'); +goog.provide('goog.i18n.DateTimeSymbols_en_KI'); +goog.provide('goog.i18n.DateTimeSymbols_en_KN'); +goog.provide('goog.i18n.DateTimeSymbols_en_KY'); +goog.provide('goog.i18n.DateTimeSymbols_en_LC'); +goog.provide('goog.i18n.DateTimeSymbols_en_LR'); +goog.provide('goog.i18n.DateTimeSymbols_en_LS'); +goog.provide('goog.i18n.DateTimeSymbols_en_MG'); goog.provide('goog.i18n.DateTimeSymbols_en_MH'); +goog.provide('goog.i18n.DateTimeSymbols_en_MO'); goog.provide('goog.i18n.DateTimeSymbols_en_MP'); +goog.provide('goog.i18n.DateTimeSymbols_en_MS'); goog.provide('goog.i18n.DateTimeSymbols_en_MT'); goog.provide('goog.i18n.DateTimeSymbols_en_MU'); +goog.provide('goog.i18n.DateTimeSymbols_en_MW'); +goog.provide('goog.i18n.DateTimeSymbols_en_MY'); goog.provide('goog.i18n.DateTimeSymbols_en_NA'); +goog.provide('goog.i18n.DateTimeSymbols_en_NF'); +goog.provide('goog.i18n.DateTimeSymbols_en_NG'); +goog.provide('goog.i18n.DateTimeSymbols_en_NL'); +goog.provide('goog.i18n.DateTimeSymbols_en_NR'); +goog.provide('goog.i18n.DateTimeSymbols_en_NU'); goog.provide('goog.i18n.DateTimeSymbols_en_NZ'); +goog.provide('goog.i18n.DateTimeSymbols_en_PG'); goog.provide('goog.i18n.DateTimeSymbols_en_PH'); goog.provide('goog.i18n.DateTimeSymbols_en_PK'); +goog.provide('goog.i18n.DateTimeSymbols_en_PN'); +goog.provide('goog.i18n.DateTimeSymbols_en_PR'); +goog.provide('goog.i18n.DateTimeSymbols_en_PW'); +goog.provide('goog.i18n.DateTimeSymbols_en_RW'); +goog.provide('goog.i18n.DateTimeSymbols_en_SB'); +goog.provide('goog.i18n.DateTimeSymbols_en_SC'); +goog.provide('goog.i18n.DateTimeSymbols_en_SD'); +goog.provide('goog.i18n.DateTimeSymbols_en_SE'); +goog.provide('goog.i18n.DateTimeSymbols_en_SH'); +goog.provide('goog.i18n.DateTimeSymbols_en_SI'); +goog.provide('goog.i18n.DateTimeSymbols_en_SL'); +goog.provide('goog.i18n.DateTimeSymbols_en_SS'); +goog.provide('goog.i18n.DateTimeSymbols_en_SX'); +goog.provide('goog.i18n.DateTimeSymbols_en_SZ'); +goog.provide('goog.i18n.DateTimeSymbols_en_TC'); +goog.provide('goog.i18n.DateTimeSymbols_en_TK'); +goog.provide('goog.i18n.DateTimeSymbols_en_TO'); goog.provide('goog.i18n.DateTimeSymbols_en_TT'); +goog.provide('goog.i18n.DateTimeSymbols_en_TV'); +goog.provide('goog.i18n.DateTimeSymbols_en_TZ'); +goog.provide('goog.i18n.DateTimeSymbols_en_UG'); goog.provide('goog.i18n.DateTimeSymbols_en_UM'); +goog.provide('goog.i18n.DateTimeSymbols_en_US_POSIX'); +goog.provide('goog.i18n.DateTimeSymbols_en_VC'); +goog.provide('goog.i18n.DateTimeSymbols_en_VG'); goog.provide('goog.i18n.DateTimeSymbols_en_VI'); +goog.provide('goog.i18n.DateTimeSymbols_en_VU'); +goog.provide('goog.i18n.DateTimeSymbols_en_WS'); +goog.provide('goog.i18n.DateTimeSymbols_en_XA'); +goog.provide('goog.i18n.DateTimeSymbols_en_ZM'); goog.provide('goog.i18n.DateTimeSymbols_en_ZW'); goog.provide('goog.i18n.DateTimeSymbols_eo'); goog.provide('goog.i18n.DateTimeSymbols_es_AR'); goog.provide('goog.i18n.DateTimeSymbols_es_BO'); +goog.provide('goog.i18n.DateTimeSymbols_es_BR'); +goog.provide('goog.i18n.DateTimeSymbols_es_BZ'); goog.provide('goog.i18n.DateTimeSymbols_es_CL'); goog.provide('goog.i18n.DateTimeSymbols_es_CO'); goog.provide('goog.i18n.DateTimeSymbols_es_CR'); +goog.provide('goog.i18n.DateTimeSymbols_es_CU'); goog.provide('goog.i18n.DateTimeSymbols_es_DO'); +goog.provide('goog.i18n.DateTimeSymbols_es_EA'); goog.provide('goog.i18n.DateTimeSymbols_es_EC'); -goog.provide('goog.i18n.DateTimeSymbols_es_ES'); goog.provide('goog.i18n.DateTimeSymbols_es_GQ'); goog.provide('goog.i18n.DateTimeSymbols_es_GT'); goog.provide('goog.i18n.DateTimeSymbols_es_HN'); -goog.provide('goog.i18n.DateTimeSymbols_es_MX'); +goog.provide('goog.i18n.DateTimeSymbols_es_IC'); goog.provide('goog.i18n.DateTimeSymbols_es_NI'); goog.provide('goog.i18n.DateTimeSymbols_es_PA'); goog.provide('goog.i18n.DateTimeSymbols_es_PE'); +goog.provide('goog.i18n.DateTimeSymbols_es_PH'); goog.provide('goog.i18n.DateTimeSymbols_es_PR'); goog.provide('goog.i18n.DateTimeSymbols_es_PY'); goog.provide('goog.i18n.DateTimeSymbols_es_SV'); -goog.provide('goog.i18n.DateTimeSymbols_es_US'); goog.provide('goog.i18n.DateTimeSymbols_es_UY'); goog.provide('goog.i18n.DateTimeSymbols_es_VE'); goog.provide('goog.i18n.DateTimeSymbols_et_EE'); @@ -178,10 +265,14 @@ goog.provide('goog.i18n.DateTimeSymbols_ewo_CM'); goog.provide('goog.i18n.DateTimeSymbols_fa_AF'); goog.provide('goog.i18n.DateTimeSymbols_fa_IR'); goog.provide('goog.i18n.DateTimeSymbols_ff'); +goog.provide('goog.i18n.DateTimeSymbols_ff_CM'); +goog.provide('goog.i18n.DateTimeSymbols_ff_GN'); +goog.provide('goog.i18n.DateTimeSymbols_ff_MR'); goog.provide('goog.i18n.DateTimeSymbols_ff_SN'); goog.provide('goog.i18n.DateTimeSymbols_fi_FI'); goog.provide('goog.i18n.DateTimeSymbols_fil_PH'); goog.provide('goog.i18n.DateTimeSymbols_fo'); +goog.provide('goog.i18n.DateTimeSymbols_fo_DK'); goog.provide('goog.i18n.DateTimeSymbols_fo_FO'); goog.provide('goog.i18n.DateTimeSymbols_fr_BE'); goog.provide('goog.i18n.DateTimeSymbols_fr_BF'); @@ -195,50 +286,68 @@ goog.provide('goog.i18n.DateTimeSymbols_fr_CH'); goog.provide('goog.i18n.DateTimeSymbols_fr_CI'); goog.provide('goog.i18n.DateTimeSymbols_fr_CM'); goog.provide('goog.i18n.DateTimeSymbols_fr_DJ'); +goog.provide('goog.i18n.DateTimeSymbols_fr_DZ'); goog.provide('goog.i18n.DateTimeSymbols_fr_FR'); goog.provide('goog.i18n.DateTimeSymbols_fr_GA'); goog.provide('goog.i18n.DateTimeSymbols_fr_GF'); goog.provide('goog.i18n.DateTimeSymbols_fr_GN'); goog.provide('goog.i18n.DateTimeSymbols_fr_GP'); goog.provide('goog.i18n.DateTimeSymbols_fr_GQ'); +goog.provide('goog.i18n.DateTimeSymbols_fr_HT'); goog.provide('goog.i18n.DateTimeSymbols_fr_KM'); goog.provide('goog.i18n.DateTimeSymbols_fr_LU'); +goog.provide('goog.i18n.DateTimeSymbols_fr_MA'); goog.provide('goog.i18n.DateTimeSymbols_fr_MC'); goog.provide('goog.i18n.DateTimeSymbols_fr_MF'); goog.provide('goog.i18n.DateTimeSymbols_fr_MG'); goog.provide('goog.i18n.DateTimeSymbols_fr_ML'); goog.provide('goog.i18n.DateTimeSymbols_fr_MQ'); +goog.provide('goog.i18n.DateTimeSymbols_fr_MR'); +goog.provide('goog.i18n.DateTimeSymbols_fr_MU'); +goog.provide('goog.i18n.DateTimeSymbols_fr_NC'); goog.provide('goog.i18n.DateTimeSymbols_fr_NE'); +goog.provide('goog.i18n.DateTimeSymbols_fr_PF'); +goog.provide('goog.i18n.DateTimeSymbols_fr_PM'); goog.provide('goog.i18n.DateTimeSymbols_fr_RE'); goog.provide('goog.i18n.DateTimeSymbols_fr_RW'); +goog.provide('goog.i18n.DateTimeSymbols_fr_SC'); goog.provide('goog.i18n.DateTimeSymbols_fr_SN'); +goog.provide('goog.i18n.DateTimeSymbols_fr_SY'); goog.provide('goog.i18n.DateTimeSymbols_fr_TD'); goog.provide('goog.i18n.DateTimeSymbols_fr_TG'); +goog.provide('goog.i18n.DateTimeSymbols_fr_TN'); +goog.provide('goog.i18n.DateTimeSymbols_fr_VU'); +goog.provide('goog.i18n.DateTimeSymbols_fr_WF'); goog.provide('goog.i18n.DateTimeSymbols_fr_YT'); goog.provide('goog.i18n.DateTimeSymbols_fur'); goog.provide('goog.i18n.DateTimeSymbols_fur_IT'); -goog.provide('goog.i18n.DateTimeSymbols_ga'); +goog.provide('goog.i18n.DateTimeSymbols_fy'); +goog.provide('goog.i18n.DateTimeSymbols_fy_NL'); goog.provide('goog.i18n.DateTimeSymbols_ga_IE'); +goog.provide('goog.i18n.DateTimeSymbols_gd'); +goog.provide('goog.i18n.DateTimeSymbols_gd_GB'); goog.provide('goog.i18n.DateTimeSymbols_gl_ES'); goog.provide('goog.i18n.DateTimeSymbols_gsw_CH'); +goog.provide('goog.i18n.DateTimeSymbols_gsw_FR'); +goog.provide('goog.i18n.DateTimeSymbols_gsw_LI'); goog.provide('goog.i18n.DateTimeSymbols_gu_IN'); goog.provide('goog.i18n.DateTimeSymbols_guz'); goog.provide('goog.i18n.DateTimeSymbols_guz_KE'); goog.provide('goog.i18n.DateTimeSymbols_gv'); -goog.provide('goog.i18n.DateTimeSymbols_gv_GB'); +goog.provide('goog.i18n.DateTimeSymbols_gv_IM'); goog.provide('goog.i18n.DateTimeSymbols_ha'); -goog.provide('goog.i18n.DateTimeSymbols_ha_Latn'); -goog.provide('goog.i18n.DateTimeSymbols_ha_Latn_GH'); -goog.provide('goog.i18n.DateTimeSymbols_ha_Latn_NE'); -goog.provide('goog.i18n.DateTimeSymbols_ha_Latn_NG'); +goog.provide('goog.i18n.DateTimeSymbols_ha_GH'); +goog.provide('goog.i18n.DateTimeSymbols_ha_NE'); +goog.provide('goog.i18n.DateTimeSymbols_ha_NG'); goog.provide('goog.i18n.DateTimeSymbols_haw_US'); goog.provide('goog.i18n.DateTimeSymbols_he_IL'); goog.provide('goog.i18n.DateTimeSymbols_hi_IN'); +goog.provide('goog.i18n.DateTimeSymbols_hr_BA'); goog.provide('goog.i18n.DateTimeSymbols_hr_HR'); +goog.provide('goog.i18n.DateTimeSymbols_hsb'); +goog.provide('goog.i18n.DateTimeSymbols_hsb_DE'); goog.provide('goog.i18n.DateTimeSymbols_hu_HU'); -goog.provide('goog.i18n.DateTimeSymbols_hy'); goog.provide('goog.i18n.DateTimeSymbols_hy_AM'); -goog.provide('goog.i18n.DateTimeSymbols_ia'); goog.provide('goog.i18n.DateTimeSymbols_id_ID'); goog.provide('goog.i18n.DateTimeSymbols_ig'); goog.provide('goog.i18n.DateTimeSymbols_ig_NG'); @@ -247,10 +356,13 @@ goog.provide('goog.i18n.DateTimeSymbols_ii_CN'); goog.provide('goog.i18n.DateTimeSymbols_is_IS'); goog.provide('goog.i18n.DateTimeSymbols_it_CH'); goog.provide('goog.i18n.DateTimeSymbols_it_IT'); +goog.provide('goog.i18n.DateTimeSymbols_it_SM'); +goog.provide('goog.i18n.DateTimeSymbols_it_VA'); goog.provide('goog.i18n.DateTimeSymbols_ja_JP'); +goog.provide('goog.i18n.DateTimeSymbols_jgo'); +goog.provide('goog.i18n.DateTimeSymbols_jgo_CM'); goog.provide('goog.i18n.DateTimeSymbols_jmc'); goog.provide('goog.i18n.DateTimeSymbols_jmc_TZ'); -goog.provide('goog.i18n.DateTimeSymbols_ka'); goog.provide('goog.i18n.DateTimeSymbols_ka_GE'); goog.provide('goog.i18n.DateTimeSymbols_kab'); goog.provide('goog.i18n.DateTimeSymbols_kab_DZ'); @@ -264,36 +376,46 @@ goog.provide('goog.i18n.DateTimeSymbols_khq'); goog.provide('goog.i18n.DateTimeSymbols_khq_ML'); goog.provide('goog.i18n.DateTimeSymbols_ki'); goog.provide('goog.i18n.DateTimeSymbols_ki_KE'); -goog.provide('goog.i18n.DateTimeSymbols_kk'); -goog.provide('goog.i18n.DateTimeSymbols_kk_Cyrl'); -goog.provide('goog.i18n.DateTimeSymbols_kk_Cyrl_KZ'); +goog.provide('goog.i18n.DateTimeSymbols_kk_KZ'); +goog.provide('goog.i18n.DateTimeSymbols_kkj'); +goog.provide('goog.i18n.DateTimeSymbols_kkj_CM'); goog.provide('goog.i18n.DateTimeSymbols_kl'); goog.provide('goog.i18n.DateTimeSymbols_kl_GL'); goog.provide('goog.i18n.DateTimeSymbols_kln'); goog.provide('goog.i18n.DateTimeSymbols_kln_KE'); -goog.provide('goog.i18n.DateTimeSymbols_km'); goog.provide('goog.i18n.DateTimeSymbols_km_KH'); goog.provide('goog.i18n.DateTimeSymbols_kn_IN'); +goog.provide('goog.i18n.DateTimeSymbols_ko_KP'); goog.provide('goog.i18n.DateTimeSymbols_ko_KR'); goog.provide('goog.i18n.DateTimeSymbols_kok'); goog.provide('goog.i18n.DateTimeSymbols_kok_IN'); +goog.provide('goog.i18n.DateTimeSymbols_ks'); +goog.provide('goog.i18n.DateTimeSymbols_ks_IN'); goog.provide('goog.i18n.DateTimeSymbols_ksb'); goog.provide('goog.i18n.DateTimeSymbols_ksb_TZ'); goog.provide('goog.i18n.DateTimeSymbols_ksf'); goog.provide('goog.i18n.DateTimeSymbols_ksf_CM'); goog.provide('goog.i18n.DateTimeSymbols_ksh'); goog.provide('goog.i18n.DateTimeSymbols_ksh_DE'); -goog.provide('goog.i18n.DateTimeSymbols_ku'); goog.provide('goog.i18n.DateTimeSymbols_kw'); goog.provide('goog.i18n.DateTimeSymbols_kw_GB'); +goog.provide('goog.i18n.DateTimeSymbols_ky_KG'); goog.provide('goog.i18n.DateTimeSymbols_lag'); goog.provide('goog.i18n.DateTimeSymbols_lag_TZ'); +goog.provide('goog.i18n.DateTimeSymbols_lb'); +goog.provide('goog.i18n.DateTimeSymbols_lb_LU'); goog.provide('goog.i18n.DateTimeSymbols_lg'); goog.provide('goog.i18n.DateTimeSymbols_lg_UG'); +goog.provide('goog.i18n.DateTimeSymbols_lkt'); +goog.provide('goog.i18n.DateTimeSymbols_lkt_US'); +goog.provide('goog.i18n.DateTimeSymbols_ln_AO'); goog.provide('goog.i18n.DateTimeSymbols_ln_CD'); +goog.provide('goog.i18n.DateTimeSymbols_ln_CF'); goog.provide('goog.i18n.DateTimeSymbols_ln_CG'); -goog.provide('goog.i18n.DateTimeSymbols_lo'); goog.provide('goog.i18n.DateTimeSymbols_lo_LA'); +goog.provide('goog.i18n.DateTimeSymbols_lrc'); +goog.provide('goog.i18n.DateTimeSymbols_lrc_IQ'); +goog.provide('goog.i18n.DateTimeSymbols_lrc_IR'); goog.provide('goog.i18n.DateTimeSymbols_lt_LT'); goog.provide('goog.i18n.DateTimeSymbols_lu'); goog.provide('goog.i18n.DateTimeSymbols_lu_CD'); @@ -313,46 +435,56 @@ goog.provide('goog.i18n.DateTimeSymbols_mg'); goog.provide('goog.i18n.DateTimeSymbols_mg_MG'); goog.provide('goog.i18n.DateTimeSymbols_mgh'); goog.provide('goog.i18n.DateTimeSymbols_mgh_MZ'); -goog.provide('goog.i18n.DateTimeSymbols_mk'); +goog.provide('goog.i18n.DateTimeSymbols_mgo'); +goog.provide('goog.i18n.DateTimeSymbols_mgo_CM'); goog.provide('goog.i18n.DateTimeSymbols_mk_MK'); goog.provide('goog.i18n.DateTimeSymbols_ml_IN'); +goog.provide('goog.i18n.DateTimeSymbols_mn_MN'); goog.provide('goog.i18n.DateTimeSymbols_mr_IN'); goog.provide('goog.i18n.DateTimeSymbols_ms_BN'); goog.provide('goog.i18n.DateTimeSymbols_ms_MY'); +goog.provide('goog.i18n.DateTimeSymbols_ms_SG'); goog.provide('goog.i18n.DateTimeSymbols_mt_MT'); goog.provide('goog.i18n.DateTimeSymbols_mua'); goog.provide('goog.i18n.DateTimeSymbols_mua_CM'); -goog.provide('goog.i18n.DateTimeSymbols_my'); goog.provide('goog.i18n.DateTimeSymbols_my_MM'); +goog.provide('goog.i18n.DateTimeSymbols_mzn'); +goog.provide('goog.i18n.DateTimeSymbols_mzn_IR'); goog.provide('goog.i18n.DateTimeSymbols_naq'); goog.provide('goog.i18n.DateTimeSymbols_naq_NA'); -goog.provide('goog.i18n.DateTimeSymbols_nb'); goog.provide('goog.i18n.DateTimeSymbols_nb_NO'); +goog.provide('goog.i18n.DateTimeSymbols_nb_SJ'); goog.provide('goog.i18n.DateTimeSymbols_nd'); goog.provide('goog.i18n.DateTimeSymbols_nd_ZW'); -goog.provide('goog.i18n.DateTimeSymbols_ne'); +goog.provide('goog.i18n.DateTimeSymbols_nds'); +goog.provide('goog.i18n.DateTimeSymbols_nds_DE'); +goog.provide('goog.i18n.DateTimeSymbols_nds_NL'); goog.provide('goog.i18n.DateTimeSymbols_ne_IN'); goog.provide('goog.i18n.DateTimeSymbols_ne_NP'); goog.provide('goog.i18n.DateTimeSymbols_nl_AW'); goog.provide('goog.i18n.DateTimeSymbols_nl_BE'); +goog.provide('goog.i18n.DateTimeSymbols_nl_BQ'); +goog.provide('goog.i18n.DateTimeSymbols_nl_CW'); goog.provide('goog.i18n.DateTimeSymbols_nl_NL'); +goog.provide('goog.i18n.DateTimeSymbols_nl_SR'); +goog.provide('goog.i18n.DateTimeSymbols_nl_SX'); goog.provide('goog.i18n.DateTimeSymbols_nmg'); goog.provide('goog.i18n.DateTimeSymbols_nmg_CM'); goog.provide('goog.i18n.DateTimeSymbols_nn'); goog.provide('goog.i18n.DateTimeSymbols_nn_NO'); -goog.provide('goog.i18n.DateTimeSymbols_nr'); -goog.provide('goog.i18n.DateTimeSymbols_nr_ZA'); -goog.provide('goog.i18n.DateTimeSymbols_nso'); -goog.provide('goog.i18n.DateTimeSymbols_nso_ZA'); +goog.provide('goog.i18n.DateTimeSymbols_nnh'); +goog.provide('goog.i18n.DateTimeSymbols_nnh_CM'); goog.provide('goog.i18n.DateTimeSymbols_nus'); -goog.provide('goog.i18n.DateTimeSymbols_nus_SD'); +goog.provide('goog.i18n.DateTimeSymbols_nus_SS'); goog.provide('goog.i18n.DateTimeSymbols_nyn'); goog.provide('goog.i18n.DateTimeSymbols_nyn_UG'); goog.provide('goog.i18n.DateTimeSymbols_om'); goog.provide('goog.i18n.DateTimeSymbols_om_ET'); goog.provide('goog.i18n.DateTimeSymbols_om_KE'); goog.provide('goog.i18n.DateTimeSymbols_or_IN'); -goog.provide('goog.i18n.DateTimeSymbols_pa'); +goog.provide('goog.i18n.DateTimeSymbols_os'); +goog.provide('goog.i18n.DateTimeSymbols_os_GE'); +goog.provide('goog.i18n.DateTimeSymbols_os_RU'); goog.provide('goog.i18n.DateTimeSymbols_pa_Arab'); goog.provide('goog.i18n.DateTimeSymbols_pa_Arab_PK'); goog.provide('goog.i18n.DateTimeSymbols_pa_Guru'); @@ -361,9 +493,19 @@ goog.provide('goog.i18n.DateTimeSymbols_pl_PL'); goog.provide('goog.i18n.DateTimeSymbols_ps'); goog.provide('goog.i18n.DateTimeSymbols_ps_AF'); goog.provide('goog.i18n.DateTimeSymbols_pt_AO'); +goog.provide('goog.i18n.DateTimeSymbols_pt_CH'); +goog.provide('goog.i18n.DateTimeSymbols_pt_CV'); +goog.provide('goog.i18n.DateTimeSymbols_pt_GQ'); goog.provide('goog.i18n.DateTimeSymbols_pt_GW'); +goog.provide('goog.i18n.DateTimeSymbols_pt_LU'); +goog.provide('goog.i18n.DateTimeSymbols_pt_MO'); goog.provide('goog.i18n.DateTimeSymbols_pt_MZ'); goog.provide('goog.i18n.DateTimeSymbols_pt_ST'); +goog.provide('goog.i18n.DateTimeSymbols_pt_TL'); +goog.provide('goog.i18n.DateTimeSymbols_qu'); +goog.provide('goog.i18n.DateTimeSymbols_qu_BO'); +goog.provide('goog.i18n.DateTimeSymbols_qu_EC'); +goog.provide('goog.i18n.DateTimeSymbols_qu_PE'); goog.provide('goog.i18n.DateTimeSymbols_rm'); goog.provide('goog.i18n.DateTimeSymbols_rm_CH'); goog.provide('goog.i18n.DateTimeSymbols_rn'); @@ -372,6 +514,9 @@ goog.provide('goog.i18n.DateTimeSymbols_ro_MD'); goog.provide('goog.i18n.DateTimeSymbols_ro_RO'); goog.provide('goog.i18n.DateTimeSymbols_rof'); goog.provide('goog.i18n.DateTimeSymbols_rof_TZ'); +goog.provide('goog.i18n.DateTimeSymbols_ru_BY'); +goog.provide('goog.i18n.DateTimeSymbols_ru_KG'); +goog.provide('goog.i18n.DateTimeSymbols_ru_KZ'); goog.provide('goog.i18n.DateTimeSymbols_ru_MD'); goog.provide('goog.i18n.DateTimeSymbols_ru_RU'); goog.provide('goog.i18n.DateTimeSymbols_ru_UA'); @@ -388,6 +533,7 @@ goog.provide('goog.i18n.DateTimeSymbols_sbp_TZ'); goog.provide('goog.i18n.DateTimeSymbols_se'); goog.provide('goog.i18n.DateTimeSymbols_se_FI'); goog.provide('goog.i18n.DateTimeSymbols_se_NO'); +goog.provide('goog.i18n.DateTimeSymbols_se_SE'); goog.provide('goog.i18n.DateTimeSymbols_seh'); goog.provide('goog.i18n.DateTimeSymbols_seh_MZ'); goog.provide('goog.i18n.DateTimeSymbols_ses'); @@ -399,10 +545,11 @@ goog.provide('goog.i18n.DateTimeSymbols_shi_Latn'); goog.provide('goog.i18n.DateTimeSymbols_shi_Latn_MA'); goog.provide('goog.i18n.DateTimeSymbols_shi_Tfng'); goog.provide('goog.i18n.DateTimeSymbols_shi_Tfng_MA'); -goog.provide('goog.i18n.DateTimeSymbols_si'); goog.provide('goog.i18n.DateTimeSymbols_si_LK'); goog.provide('goog.i18n.DateTimeSymbols_sk_SK'); goog.provide('goog.i18n.DateTimeSymbols_sl_SI'); +goog.provide('goog.i18n.DateTimeSymbols_smn'); +goog.provide('goog.i18n.DateTimeSymbols_smn_FI'); goog.provide('goog.i18n.DateTimeSymbols_sn'); goog.provide('goog.i18n.DateTimeSymbols_sn_ZW'); goog.provide('goog.i18n.DateTimeSymbols_so'); @@ -411,59 +558,49 @@ goog.provide('goog.i18n.DateTimeSymbols_so_ET'); goog.provide('goog.i18n.DateTimeSymbols_so_KE'); goog.provide('goog.i18n.DateTimeSymbols_so_SO'); goog.provide('goog.i18n.DateTimeSymbols_sq_AL'); +goog.provide('goog.i18n.DateTimeSymbols_sq_MK'); +goog.provide('goog.i18n.DateTimeSymbols_sq_XK'); goog.provide('goog.i18n.DateTimeSymbols_sr_Cyrl'); goog.provide('goog.i18n.DateTimeSymbols_sr_Cyrl_BA'); goog.provide('goog.i18n.DateTimeSymbols_sr_Cyrl_ME'); goog.provide('goog.i18n.DateTimeSymbols_sr_Cyrl_RS'); -goog.provide('goog.i18n.DateTimeSymbols_sr_Latn'); +goog.provide('goog.i18n.DateTimeSymbols_sr_Cyrl_XK'); goog.provide('goog.i18n.DateTimeSymbols_sr_Latn_BA'); goog.provide('goog.i18n.DateTimeSymbols_sr_Latn_ME'); goog.provide('goog.i18n.DateTimeSymbols_sr_Latn_RS'); -goog.provide('goog.i18n.DateTimeSymbols_ss'); -goog.provide('goog.i18n.DateTimeSymbols_ss_SZ'); -goog.provide('goog.i18n.DateTimeSymbols_ss_ZA'); -goog.provide('goog.i18n.DateTimeSymbols_ssy'); -goog.provide('goog.i18n.DateTimeSymbols_ssy_ER'); -goog.provide('goog.i18n.DateTimeSymbols_st'); -goog.provide('goog.i18n.DateTimeSymbols_st_LS'); -goog.provide('goog.i18n.DateTimeSymbols_st_ZA'); +goog.provide('goog.i18n.DateTimeSymbols_sr_Latn_XK'); +goog.provide('goog.i18n.DateTimeSymbols_sv_AX'); goog.provide('goog.i18n.DateTimeSymbols_sv_FI'); goog.provide('goog.i18n.DateTimeSymbols_sv_SE'); +goog.provide('goog.i18n.DateTimeSymbols_sw_CD'); goog.provide('goog.i18n.DateTimeSymbols_sw_KE'); goog.provide('goog.i18n.DateTimeSymbols_sw_TZ'); -goog.provide('goog.i18n.DateTimeSymbols_swc'); -goog.provide('goog.i18n.DateTimeSymbols_swc_CD'); +goog.provide('goog.i18n.DateTimeSymbols_sw_UG'); goog.provide('goog.i18n.DateTimeSymbols_ta_IN'); goog.provide('goog.i18n.DateTimeSymbols_ta_LK'); +goog.provide('goog.i18n.DateTimeSymbols_ta_MY'); +goog.provide('goog.i18n.DateTimeSymbols_ta_SG'); goog.provide('goog.i18n.DateTimeSymbols_te_IN'); goog.provide('goog.i18n.DateTimeSymbols_teo'); goog.provide('goog.i18n.DateTimeSymbols_teo_KE'); goog.provide('goog.i18n.DateTimeSymbols_teo_UG'); -goog.provide('goog.i18n.DateTimeSymbols_tg'); -goog.provide('goog.i18n.DateTimeSymbols_tg_Cyrl'); -goog.provide('goog.i18n.DateTimeSymbols_tg_Cyrl_TJ'); goog.provide('goog.i18n.DateTimeSymbols_th_TH'); goog.provide('goog.i18n.DateTimeSymbols_ti'); goog.provide('goog.i18n.DateTimeSymbols_ti_ER'); goog.provide('goog.i18n.DateTimeSymbols_ti_ET'); -goog.provide('goog.i18n.DateTimeSymbols_tig'); -goog.provide('goog.i18n.DateTimeSymbols_tig_ER'); -goog.provide('goog.i18n.DateTimeSymbols_tn'); -goog.provide('goog.i18n.DateTimeSymbols_tn_ZA'); goog.provide('goog.i18n.DateTimeSymbols_to'); goog.provide('goog.i18n.DateTimeSymbols_to_TO'); +goog.provide('goog.i18n.DateTimeSymbols_tr_CY'); goog.provide('goog.i18n.DateTimeSymbols_tr_TR'); -goog.provide('goog.i18n.DateTimeSymbols_ts'); -goog.provide('goog.i18n.DateTimeSymbols_ts_ZA'); goog.provide('goog.i18n.DateTimeSymbols_twq'); goog.provide('goog.i18n.DateTimeSymbols_twq_NE'); goog.provide('goog.i18n.DateTimeSymbols_tzm'); -goog.provide('goog.i18n.DateTimeSymbols_tzm_Latn'); -goog.provide('goog.i18n.DateTimeSymbols_tzm_Latn_MA'); +goog.provide('goog.i18n.DateTimeSymbols_tzm_MA'); +goog.provide('goog.i18n.DateTimeSymbols_ug'); +goog.provide('goog.i18n.DateTimeSymbols_ug_CN'); goog.provide('goog.i18n.DateTimeSymbols_uk_UA'); goog.provide('goog.i18n.DateTimeSymbols_ur_IN'); goog.provide('goog.i18n.DateTimeSymbols_ur_PK'); -goog.provide('goog.i18n.DateTimeSymbols_uz'); goog.provide('goog.i18n.DateTimeSymbols_uz_Arab'); goog.provide('goog.i18n.DateTimeSymbols_uz_Arab_AF'); goog.provide('goog.i18n.DateTimeSymbols_uz_Cyrl'); @@ -475,23 +612,24 @@ goog.provide('goog.i18n.DateTimeSymbols_vai_Latn'); goog.provide('goog.i18n.DateTimeSymbols_vai_Latn_LR'); goog.provide('goog.i18n.DateTimeSymbols_vai_Vaii'); goog.provide('goog.i18n.DateTimeSymbols_vai_Vaii_LR'); -goog.provide('goog.i18n.DateTimeSymbols_ve'); -goog.provide('goog.i18n.DateTimeSymbols_ve_ZA'); goog.provide('goog.i18n.DateTimeSymbols_vi_VN'); goog.provide('goog.i18n.DateTimeSymbols_vun'); goog.provide('goog.i18n.DateTimeSymbols_vun_TZ'); goog.provide('goog.i18n.DateTimeSymbols_wae'); goog.provide('goog.i18n.DateTimeSymbols_wae_CH'); -goog.provide('goog.i18n.DateTimeSymbols_wal'); -goog.provide('goog.i18n.DateTimeSymbols_wal_ET'); -goog.provide('goog.i18n.DateTimeSymbols_xh'); -goog.provide('goog.i18n.DateTimeSymbols_xh_ZA'); goog.provide('goog.i18n.DateTimeSymbols_xog'); goog.provide('goog.i18n.DateTimeSymbols_xog_UG'); goog.provide('goog.i18n.DateTimeSymbols_yav'); goog.provide('goog.i18n.DateTimeSymbols_yav_CM'); +goog.provide('goog.i18n.DateTimeSymbols_yi'); +goog.provide('goog.i18n.DateTimeSymbols_yi_001'); goog.provide('goog.i18n.DateTimeSymbols_yo'); +goog.provide('goog.i18n.DateTimeSymbols_yo_BJ'); goog.provide('goog.i18n.DateTimeSymbols_yo_NG'); +goog.provide('goog.i18n.DateTimeSymbols_yue'); +goog.provide('goog.i18n.DateTimeSymbols_yue_HK'); +goog.provide('goog.i18n.DateTimeSymbols_zgh'); +goog.provide('goog.i18n.DateTimeSymbols_zgh_MA'); goog.provide('goog.i18n.DateTimeSymbols_zh_Hans'); goog.provide('goog.i18n.DateTimeSymbols_zh_Hans_CN'); goog.provide('goog.i18n.DateTimeSymbols_zh_Hans_HK'); @@ -502,97 +640,8 @@ goog.provide('goog.i18n.DateTimeSymbols_zh_Hant_HK'); goog.provide('goog.i18n.DateTimeSymbols_zh_Hant_MO'); goog.provide('goog.i18n.DateTimeSymbols_zh_Hant_TW'); goog.provide('goog.i18n.DateTimeSymbols_zu_ZA'); - goog.require('goog.i18n.DateTimeSymbols'); -/** - * Date/time formatting symbols for locale aa. - */ -goog.i18n.DateTimeSymbols_aa = { - ERAS: ['Yaasuusuk Duma', 'Yaasuusuk Wadir'], - ERANAMES: ['Yaasuusuk Duma', 'Yaasuusuk Wadir'], - NARROWMONTHS: ['Q', 'N', 'C', 'A', 'C', 'Q', 'Q', 'L', 'W', 'D', 'X', 'K'], - STANDALONENARROWMONTHS: ['Q', 'N', 'C', 'A', 'C', 'Q', 'Q', 'L', 'W', 'D', - 'X', 'K'], - MONTHS: ['Qunxa Garablu', 'Kudo', 'Ciggilta Kudo', 'Agda Baxis', 'Caxah Alsa', - 'Qasa Dirri', 'Qado Dirri', 'Liiqen', 'Waysu', 'Diteli', 'Ximoli', - 'Kaxxa Garablu'], - STANDALONEMONTHS: ['Qunxa Garablu', 'Kudo', 'Ciggilta Kudo', 'Agda Baxis', - 'Caxah Alsa', 'Qasa Dirri', 'Qado Dirri', 'Liiqen', 'Waysu', 'Diteli', - 'Ximoli', 'Kaxxa Garablu'], - SHORTMONTHS: ['Qun', 'Nah', 'Cig', 'Agd', 'Cax', 'Qas', 'Qad', 'Leq', 'Way', - 'Dit', 'Xim', 'Kax'], - STANDALONESHORTMONTHS: ['Qun', 'Nah', 'Cig', 'Agd', 'Cax', 'Qas', 'Qad', - 'Leq', 'Way', 'Dit', 'Xim', 'Kax'], - WEEKDAYS: ['Acaada', 'Etleeni', 'Talaata', 'Arbaqa', 'Kamiisi', 'Gumqata', - 'Sabti'], - STANDALONEWEEKDAYS: ['Acaada', 'Etleeni', 'Talaata', 'Arbaqa', 'Kamiisi', - 'Gumqata', 'Sabti'], - SHORTWEEKDAYS: ['Aca', 'Etl', 'Tal', 'Arb', 'Kam', 'Gum', 'Sab'], - STANDALONESHORTWEEKDAYS: ['Aca', 'Etl', 'Tal', 'Arb', 'Kam', 'Gum', 'Sab'], - NARROWWEEKDAYS: ['A', 'E', 'T', 'A', 'K', 'G', 'S'], - STANDALONENARROWWEEKDAYS: ['A', 'E', 'T', 'A', 'K', 'G', 'S'], - SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - QUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - AMPMS: ['saaku', 'carra'], - DATEFORMATS: ['EEEE, MMMM dd, y', 'dd MMMM y', 'dd-MMM-y', 'dd/MM/yy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 6 -}; - - -/** - * Date/time formatting symbols for locale aa_DJ. - */ -goog.i18n.DateTimeSymbols_aa_DJ = { - ERAS: ['Yaasuusuk Duma', 'Yaasuusuk Wadir'], - ERANAMES: ['Yaasuusuk Duma', 'Yaasuusuk Wadir'], - NARROWMONTHS: ['Q', 'N', 'C', 'A', 'C', 'Q', 'Q', 'L', 'W', 'D', 'X', 'K'], - STANDALONENARROWMONTHS: ['Q', 'N', 'C', 'A', 'C', 'Q', 'Q', 'L', 'W', 'D', - 'X', 'K'], - MONTHS: ['Qunxa Garablu', 'Kudo', 'Ciggilta Kudo', 'Agda Baxis', 'Caxah Alsa', - 'Qasa Dirri', 'Qado Dirri', 'Leqeeni', 'Waysu', 'Diteli', 'Ximoli', - 'Kaxxa Garablu'], - STANDALONEMONTHS: ['Qunxa Garablu', 'Kudo', 'Ciggilta Kudo', 'Agda Baxis', - 'Caxah Alsa', 'Qasa Dirri', 'Qado Dirri', 'Leqeeni', 'Waysu', 'Diteli', - 'Ximoli', 'Kaxxa Garablu'], - SHORTMONTHS: ['Qun', 'Nah', 'Cig', 'Agd', 'Cax', 'Qas', 'Qad', 'Leq', 'Way', - 'Dit', 'Xim', 'Kax'], - STANDALONESHORTMONTHS: ['Qun', 'Nah', 'Cig', 'Agd', 'Cax', 'Qas', 'Qad', - 'Leq', 'Way', 'Dit', 'Xim', 'Kax'], - WEEKDAYS: ['Acaada', 'Etleeni', 'Talaata', 'Arbaqa', 'Kamiisi', 'Gumqata', - 'Sabti'], - STANDALONEWEEKDAYS: ['Acaada', 'Etleeni', 'Talaata', 'Arbaqa', 'Kamiisi', - 'Gumqata', 'Sabti'], - SHORTWEEKDAYS: ['Aca', 'Etl', 'Tal', 'Arb', 'Kam', 'Gum', 'Sab'], - STANDALONESHORTWEEKDAYS: ['Aca', 'Etl', 'Tal', 'Arb', 'Kam', 'Gum', 'Sab'], - NARROWWEEKDAYS: ['A', 'E', 'T', 'A', 'K', 'G', 'S'], - STANDALONENARROWWEEKDAYS: ['A', 'E', 'T', 'A', 'K', 'G', 'S'], - SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - QUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - AMPMS: ['saaku', 'carra'], - DATEFORMATS: ['EEEE, MMMM dd, y', 'dd MMMM y', 'dd-MMM-y', 'dd/MM/yy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], - FIRSTDAYOFWEEK: 5, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 4 -}; - - -/** - * Date/time formatting symbols for locale aa_ER. - */ -goog.i18n.DateTimeSymbols_aa_ER = goog.i18n.DateTimeSymbols_aa; - - -/** - * Date/time formatting symbols for locale aa_ET. - */ -goog.i18n.DateTimeSymbols_aa_ET = goog.i18n.DateTimeSymbols_aa; - - /** * Date/time formatting symbols for locale af_NA. */ @@ -600,29 +649,23 @@ goog.i18n.DateTimeSymbols_af_NA = { ERAS: ['v.C.', 'n.C.'], ERANAMES: ['voor Christus', 'na Christus'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['Januarie', 'Februarie', 'Maart', 'April', 'Mei', 'Junie', 'Julie', - 'Augustus', 'September', 'Oktober', 'November', 'Desember'], - STANDALONEMONTHS: ['Januarie', 'Februarie', 'Maart', 'April', 'Mei', 'Junie', - 'Julie', 'Augustus', 'September', 'Oktober', 'November', 'Desember'], - SHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'Mei', 'Jun', 'Jul', 'Aug', 'Sep', - 'Okt', 'Nov', 'Des'], - STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'Mei', 'Jun', 'Jul', - 'Aug', 'Sep', 'Okt', 'Nov', 'Des'], - WEEKDAYS: ['Sondag', 'Maandag', 'Dinsdag', 'Woensdag', 'Donderdag', 'Vrydag', - 'Saterdag'], - STANDALONEWEEKDAYS: ['Sondag', 'Maandag', 'Dinsdag', 'Woensdag', 'Donderdag', - 'Vrydag', 'Saterdag'], - SHORTWEEKDAYS: ['So', 'Ma', 'Di', 'Wo', 'Do', 'Vr', 'Sa'], - STANDALONESHORTWEEKDAYS: ['So', 'Ma', 'Di', 'Wo', 'Do', 'Vr', 'Sa'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['Januarie', 'Februarie', 'Maart', 'April', 'Mei', 'Junie', 'Julie', 'Augustus', 'September', 'Oktober', 'November', 'Desember'], + STANDALONEMONTHS: ['Januarie', 'Februarie', 'Maart', 'April', 'Mei', 'Junie', 'Julie', 'Augustus', 'September', 'Oktober', 'November', 'Desember'], + SHORTMONTHS: ['Jan.', 'Feb.', 'Mrt.', 'Apr.', 'Mei', 'Jun.', 'Jul.', 'Aug.', 'Sep.', 'Okt.', 'Nov.', 'Des.'], + STANDALONESHORTMONTHS: ['Jan.', 'Feb.', 'Mrt.', 'Apr.', 'Mei', 'Jun.', 'Jul.', 'Aug.', 'Sep.', 'Okt.', 'Nov.', 'Des.'], + WEEKDAYS: ['Sondag', 'Maandag', 'Dinsdag', 'Woensdag', 'Donderdag', 'Vrydag', 'Saterdag'], + STANDALONEWEEKDAYS: ['Sondag', 'Maandag', 'Dinsdag', 'Woensdag', 'Donderdag', 'Vrydag', 'Saterdag'], + SHORTWEEKDAYS: ['So.', 'Ma.', 'Di.', 'Wo.', 'Do.', 'Vr.', 'Sa.'], + STANDALONESHORTWEEKDAYS: ['So.', 'Ma.', 'Di.', 'Wo.', 'Do.', 'Vr.', 'Sa.'], NARROWWEEKDAYS: ['S', 'M', 'D', 'W', 'D', 'V', 'S'], STANDALONENARROWWEEKDAYS: ['S', 'M', 'D', 'W', 'D', 'V', 'S'], SHORTQUARTERS: ['K1', 'K2', 'K3', 'K4'], QUARTERS: ['1ste kwartaal', '2de kwartaal', '3de kwartaal', '4de kwartaal'], AMPMS: ['vm.', 'nm.'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'yyyy-MM-dd'], + DATEFORMATS: ['EEEE, dd MMMM y', 'dd MMMM y', 'dd MMM y', 'y-MM-dd'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -632,37 +675,7 @@ goog.i18n.DateTimeSymbols_af_NA = { /** * Date/time formatting symbols for locale af_ZA. */ -goog.i18n.DateTimeSymbols_af_ZA = { - ERAS: ['v.C.', 'n.C.'], - ERANAMES: ['voor Christus', 'na Christus'], - NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['Januarie', 'Februarie', 'Maart', 'April', 'Mei', 'Junie', 'Julie', - 'Augustus', 'September', 'Oktober', 'November', 'Desember'], - STANDALONEMONTHS: ['Januarie', 'Februarie', 'Maart', 'April', 'Mei', 'Junie', - 'Julie', 'Augustus', 'September', 'Oktober', 'November', 'Desember'], - SHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'Mei', 'Jun', 'Jul', 'Aug', 'Sep', - 'Okt', 'Nov', 'Des'], - STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'Mei', 'Jun', 'Jul', - 'Aug', 'Sep', 'Okt', 'Nov', 'Des'], - WEEKDAYS: ['Sondag', 'Maandag', 'Dinsdag', 'Woensdag', 'Donderdag', 'Vrydag', - 'Saterdag'], - STANDALONEWEEKDAYS: ['Sondag', 'Maandag', 'Dinsdag', 'Woensdag', 'Donderdag', - 'Vrydag', 'Saterdag'], - SHORTWEEKDAYS: ['So', 'Ma', 'Di', 'Wo', 'Do', 'Vr', 'Sa'], - STANDALONESHORTWEEKDAYS: ['So', 'Ma', 'Di', 'Wo', 'Do', 'Vr', 'Sa'], - NARROWWEEKDAYS: ['S', 'M', 'D', 'W', 'D', 'V', 'S'], - STANDALONENARROWWEEKDAYS: ['S', 'M', 'D', 'W', 'D', 'V', 'S'], - SHORTQUARTERS: ['K1', 'K2', 'K3', 'K4'], - QUARTERS: ['1ste kwartaal', '2de kwartaal', '3de kwartaal', '4de kwartaal'], - AMPMS: ['vm.', 'nm.'], - DATEFORMATS: ['EEEE dd MMMM y', 'dd MMMM y', 'dd MMM y', 'yyyy-MM-dd'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], - FIRSTDAYOFWEEK: 6, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 5 -}; +goog.i18n.DateTimeSymbols_af_ZA = goog.i18n.DateTimeSymbols_af; /** @@ -672,28 +685,13 @@ goog.i18n.DateTimeSymbols_agq = { ERAS: ['SK', 'BK'], ERANAMES: ['Sěe Kɨ̀lesto', 'Bǎa Kɨ̀lesto'], NARROWMONTHS: ['n', 'k', 't', 't', 's', 'z', 'k', 'f', 'd', 'l', 'c', 'f'], - STANDALONENARROWMONTHS: ['n', 'k', 't', 't', 's', 'z', 'k', 'f', 'd', 'l', - 'c', 'f'], - MONTHS: ['ndzɔ̀ŋɔ̀nùm', 'ndzɔ̀ŋɔ̀kƗ̀zùʔ', - 'ndzɔ̀ŋɔ̀tƗ̀dʉ̀ghà', 'ndzɔ̀ŋɔ̀tǎafʉ̄ghā', - 'ndzɔ̀ŋèsèe', 'ndzɔ̀ŋɔ̀nzùghò', 'ndzɔ̀ŋɔ̀dùmlo', - 'ndzɔ̀ŋɔ̀kwîfɔ̀e', 'ndzɔ̀ŋɔ̀tƗ̀fʉ̀ghàdzughù', - 'ndzɔ̀ŋɔ̀ghǔuwelɔ̀m', 'ndzɔ̀ŋɔ̀chwaʔàkaa wo', - 'ndzɔ̀ŋèfwòo'], - STANDALONEMONTHS: ['ndzɔ̀ŋɔ̀nùm', 'ndzɔ̀ŋɔ̀kƗ̀zùʔ', - 'ndzɔ̀ŋɔ̀tƗ̀dʉ̀ghà', 'ndzɔ̀ŋɔ̀tǎafʉ̄ghā', - 'ndzɔ̀ŋèsèe', 'ndzɔ̀ŋɔ̀nzùghò', 'ndzɔ̀ŋɔ̀dùmlo', - 'ndzɔ̀ŋɔ̀kwîfɔ̀e', 'ndzɔ̀ŋɔ̀tƗ̀fʉ̀ghàdzughù', - 'ndzɔ̀ŋɔ̀ghǔuwelɔ̀m', 'ndzɔ̀ŋɔ̀chwaʔàkaa wo', - 'ndzɔ̀ŋèfwòo'], - SHORTMONTHS: ['nùm', 'kɨz', 'tɨd', 'taa', 'see', 'nzu', 'dum', 'fɔe', - 'dzu', 'lɔm', 'kaa', 'fwo'], - STANDALONESHORTMONTHS: ['nùm', 'kɨz', 'tɨd', 'taa', 'see', 'nzu', 'dum', - 'fɔe', 'dzu', 'lɔm', 'kaa', 'fwo'], - WEEKDAYS: ['tsuʔntsɨ', 'tsuʔukpà', 'tsuʔughɔe', 'tsuʔutɔ̀mlò', - 'tsuʔumè', 'tsuʔughɨ̂m', 'tsuʔndzɨkɔʔɔ'], - STANDALONEWEEKDAYS: ['tsuʔntsɨ', 'tsuʔukpà', 'tsuʔughɔe', - 'tsuʔutɔ̀mlò', 'tsuʔumè', 'tsuʔughɨ̂m', 'tsuʔndzɨkɔʔɔ'], + STANDALONENARROWMONTHS: ['n', 'k', 't', 't', 's', 'z', 'k', 'f', 'd', 'l', 'c', 'f'], + MONTHS: ['ndzɔ̀ŋɔ̀nùm', 'ndzɔ̀ŋɔ̀kƗ̀zùʔ', 'ndzɔ̀ŋɔ̀tƗ̀dʉ̀ghà', 'ndzɔ̀ŋɔ̀tǎafʉ̄ghā', 'ndzɔ̀ŋèsèe', 'ndzɔ̀ŋɔ̀nzùghò', 'ndzɔ̀ŋɔ̀dùmlo', 'ndzɔ̀ŋɔ̀kwîfɔ̀e', 'ndzɔ̀ŋɔ̀tƗ̀fʉ̀ghàdzughù', 'ndzɔ̀ŋɔ̀ghǔuwelɔ̀m', 'ndzɔ̀ŋɔ̀chwaʔàkaa wo', 'ndzɔ̀ŋèfwòo'], + STANDALONEMONTHS: ['ndzɔ̀ŋɔ̀nùm', 'ndzɔ̀ŋɔ̀kƗ̀zùʔ', 'ndzɔ̀ŋɔ̀tƗ̀dʉ̀ghà', 'ndzɔ̀ŋɔ̀tǎafʉ̄ghā', 'ndzɔ̀ŋèsèe', 'ndzɔ̀ŋɔ̀nzùghò', 'ndzɔ̀ŋɔ̀dùmlo', 'ndzɔ̀ŋɔ̀kwîfɔ̀e', 'ndzɔ̀ŋɔ̀tƗ̀fʉ̀ghàdzughù', 'ndzɔ̀ŋɔ̀ghǔuwelɔ̀m', 'ndzɔ̀ŋɔ̀chwaʔàkaa wo', 'ndzɔ̀ŋèfwòo'], + SHORTMONTHS: ['nùm', 'kɨz', 'tɨd', 'taa', 'see', 'nzu', 'dum', 'fɔe', 'dzu', 'lɔm', 'kaa', 'fwo'], + STANDALONESHORTMONTHS: ['nùm', 'kɨz', 'tɨd', 'taa', 'see', 'nzu', 'dum', 'fɔe', 'dzu', 'lɔm', 'kaa', 'fwo'], + WEEKDAYS: ['tsuʔntsɨ', 'tsuʔukpà', 'tsuʔughɔe', 'tsuʔutɔ̀mlò', 'tsuʔumè', 'tsuʔughɨ̂m', 'tsuʔndzɨkɔʔɔ'], + STANDALONEWEEKDAYS: ['tsuʔntsɨ', 'tsuʔukpà', 'tsuʔughɔe', 'tsuʔutɔ̀mlò', 'tsuʔumè', 'tsuʔughɨ̂m', 'tsuʔndzɨkɔʔɔ'], SHORTWEEKDAYS: ['nts', 'kpa', 'ghɔ', 'tɔm', 'ume', 'ghɨ', 'dzk'], STANDALONESHORTWEEKDAYS: ['nts', 'kpa', 'ghɔ', 'tɔm', 'ume', 'ghɨ', 'dzk'], NARROWWEEKDAYS: ['n', 'k', 'g', 't', 'u', 'g', 'd'], @@ -701,8 +699,9 @@ goog.i18n.DateTimeSymbols_agq = { SHORTQUARTERS: ['kɨbâ kɨ 1', 'ugbâ u 2', 'ugbâ u 3', 'ugbâ u 4'], QUARTERS: ['kɨbâ kɨ 1', 'ugbâ u 2', 'ugbâ u 3', 'ugbâ u 4'], AMPMS: ['a.g', 'a.k'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM, y', 'd/M/yyyy'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM, y', 'd/M/y'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -722,26 +721,13 @@ goog.i18n.DateTimeSymbols_ak = { ERAS: ['AK', 'KE'], ERANAMES: ['Ansa Kristo', 'Kristo Ekyiri'], NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], - STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', - '11', '12'], - MONTHS: ['Sanda-Ɔpɛpɔn', 'Kwakwar-Ɔgyefuo', 'Ebɔw-Ɔbenem', - 'Ebɔbira-Oforisuo', 'Esusow Aketseaba-Kɔtɔnimba', - 'Obirade-Ayɛwohomumu', 'Ayɛwoho-Kitawonsa', 'Difuu-Ɔsandaa', - 'Fankwa-Ɛbɔ', 'Ɔbɛsɛ-Ahinime', 'Ɔberɛfɛw-Obubuo', - 'Mumu-Ɔpɛnimba'], - STANDALONEMONTHS: ['Sanda-Ɔpɛpɔn', 'Kwakwar-Ɔgyefuo', 'Ebɔw-Ɔbenem', - 'Ebɔbira-Oforisuo', 'Esusow Aketseaba-Kɔtɔnimba', - 'Obirade-Ayɛwohomumu', 'Ayɛwoho-Kitawonsa', 'Difuu-Ɔsandaa', - 'Fankwa-Ɛbɔ', 'Ɔbɛsɛ-Ahinime', 'Ɔberɛfɛw-Obubuo', - 'Mumu-Ɔpɛnimba'], - SHORTMONTHS: ['S-Ɔ', 'K-Ɔ', 'E-Ɔ', 'E-O', 'E-K', 'O-A', 'A-K', 'D-Ɔ', - 'F-Ɛ', 'Ɔ-A', 'Ɔ-O', 'M-Ɔ'], - STANDALONESHORTMONTHS: ['S-Ɔ', 'K-Ɔ', 'E-Ɔ', 'E-O', 'E-K', 'O-A', 'A-K', - 'D-Ɔ', 'F-Ɛ', 'Ɔ-A', 'Ɔ-O', 'M-Ɔ'], - WEEKDAYS: ['Kwesida', 'Dwowda', 'Benada', 'Wukuda', 'Yawda', 'Fida', - 'Memeneda'], - STANDALONEWEEKDAYS: ['Kwesida', 'Dwowda', 'Benada', 'Wukuda', 'Yawda', 'Fida', - 'Memeneda'], + STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + MONTHS: ['Sanda-Ɔpɛpɔn', 'Kwakwar-Ɔgyefuo', 'Ebɔw-Ɔbenem', 'Ebɔbira-Oforisuo', 'Esusow Aketseaba-Kɔtɔnimba', 'Obirade-Ayɛwohomumu', 'Ayɛwoho-Kitawonsa', 'Difuu-Ɔsandaa', 'Fankwa-Ɛbɔ', 'Ɔbɛsɛ-Ahinime', 'Ɔberɛfɛw-Obubuo', 'Mumu-Ɔpɛnimba'], + STANDALONEMONTHS: ['Sanda-Ɔpɛpɔn', 'Kwakwar-Ɔgyefuo', 'Ebɔw-Ɔbenem', 'Ebɔbira-Oforisuo', 'Esusow Aketseaba-Kɔtɔnimba', 'Obirade-Ayɛwohomumu', 'Ayɛwoho-Kitawonsa', 'Difuu-Ɔsandaa', 'Fankwa-Ɛbɔ', 'Ɔbɛsɛ-Ahinime', 'Ɔberɛfɛw-Obubuo', 'Mumu-Ɔpɛnimba'], + SHORTMONTHS: ['S-Ɔ', 'K-Ɔ', 'E-Ɔ', 'E-O', 'E-K', 'O-A', 'A-K', 'D-Ɔ', 'F-Ɛ', 'Ɔ-A', 'Ɔ-O', 'M-Ɔ'], + STANDALONESHORTMONTHS: ['S-Ɔ', 'K-Ɔ', 'E-Ɔ', 'E-O', 'E-K', 'O-A', 'A-K', 'D-Ɔ', 'F-Ɛ', 'Ɔ-A', 'Ɔ-O', 'M-Ɔ'], + WEEKDAYS: ['Kwesida', 'Dwowda', 'Benada', 'Wukuda', 'Yawda', 'Fida', 'Memeneda'], + STANDALONEWEEKDAYS: ['Kwesida', 'Dwowda', 'Benada', 'Wukuda', 'Yawda', 'Fida', 'Memeneda'], SHORTWEEKDAYS: ['Kwe', 'Dwo', 'Ben', 'Wuk', 'Yaw', 'Fia', 'Mem'], STANDALONESHORTWEEKDAYS: ['Kwe', 'Dwo', 'Ben', 'Wuk', 'Yaw', 'Fia', 'Mem'], NARROWWEEKDAYS: ['K', 'D', 'B', 'W', 'Y', 'F', 'M'], @@ -750,7 +736,8 @@ goog.i18n.DateTimeSymbols_ak = { QUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], AMPMS: ['AN', 'EW'], DATEFORMATS: ['EEEE, y MMMM dd', 'y MMMM d', 'y MMM d', 'yy/MM/dd'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -766,231 +753,178 @@ goog.i18n.DateTimeSymbols_ak_GH = goog.i18n.DateTimeSymbols_ak; /** * Date/time formatting symbols for locale am_ET. */ -goog.i18n.DateTimeSymbols_am_ET = { - ERAS: ['ዓ/ዓ', 'ዓ/ም'], - ERANAMES: ['ዓመተ ዓለም', 'ዓመተ ምሕረት'], - NARROWMONTHS: ['ጃ', 'ፌ', 'ማ', 'ኤ', 'ሜ', 'ጁ', 'ጁ', 'ኦ', 'ሴ', - 'ኦ', 'ኖ', 'ዲ'], - STANDALONENARROWMONTHS: ['ጃ', 'ፌ', 'ማ', 'ኤ', 'ሜ', 'ጁ', 'ጁ', - 'ኦ', 'ሴ', 'ኦ', 'ኖ', 'ዲ'], - MONTHS: ['ጃንዩወሪ', 'ፌብሩወሪ', 'ማርች', 'ኤፕረል', - 'ሜይ', 'ጁን', 'ጁላይ', 'ኦገስት', 'ሴፕቴምበር', - 'ኦክተውበር', 'ኖቬምበር', 'ዲሴምበር'], - STANDALONEMONTHS: ['ጃንዩወሪ', 'ፌብሩወሪ', 'ማርች', - 'ኤፕረል', 'ሜይ', 'ጁን', 'ጁላይ', 'ኦገስት', - 'ሴፕቴምበር', 'ኦክተውበር', 'ኖቬምበር', - 'ዲሴምበር'], - SHORTMONTHS: ['ጃንዩ', 'ፌብሩ', 'ማርች', 'ኤፕረ', 'ሜይ', - 'ጁን', 'ጁላይ', 'ኦገስ', 'ሴፕቴ', 'ኦክተ', 'ኖቬም', - 'ዲሴም'], - STANDALONESHORTMONTHS: ['ጃንዩ', 'ፌብሩ', 'ማርች', 'ኤፕረ', - 'ሜይ', 'ጁን', 'ጁላይ', 'ኦገስ', 'ሴፕቴ', 'ኦክተ', - 'ኖቬም', 'ዲሴም'], - WEEKDAYS: ['እሑድ', 'ሰኞ', 'ማክሰኞ', 'ረቡዕ', 'ሐሙስ', - 'ዓርብ', 'ቅዳሜ'], - STANDALONEWEEKDAYS: ['እሑድ', 'ሰኞ', 'ማክሰኞ', 'ረቡዕ', - 'ሐሙስ', 'ዓርብ', 'ቅዳሜ'], - SHORTWEEKDAYS: ['እሑድ', 'ሰኞ', 'ማክሰ', 'ረቡዕ', 'ሐሙስ', - 'ዓርብ', 'ቅዳሜ'], - STANDALONESHORTWEEKDAYS: ['እሑድ', 'ሰኞ', 'ማክሰ', 'ረቡዕ', - 'ሐሙስ', 'ዓርብ', 'ቅዳሜ'], - NARROWWEEKDAYS: ['እ', 'ሰ', 'ማ', 'ረ', 'ሐ', 'ዓ', 'ቅ'], - STANDALONENARROWWEEKDAYS: ['እ', 'ሰ', 'ማ', 'ረ', 'ሐ', 'ዓ', 'ቅ'], - SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - QUARTERS: ['1ኛው ሩብ', 'ሁለተኛው ሩብ', '3ኛው ሩብ', - '4ኛው ሩብ'], - AMPMS: ['ጡዋት', 'ከሳዓት'], - DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yyyy'], +goog.i18n.DateTimeSymbols_am_ET = goog.i18n.DateTimeSymbols_am; + + +/** + * Date/time formatting symbols for locale ar_001. + */ +goog.i18n.DateTimeSymbols_ar_001 = { + ZERODIGIT: 0x0660, + ERAS: ['ق.م', 'م'], + ERANAMES: ['قبل الميلاد', 'ميلادي'], + NARROWMONTHS: ['ي', 'ف', 'م', 'أ', 'و', 'ن', 'ل', 'غ', 'س', 'ك', 'ب', 'د'], + STANDALONENARROWMONTHS: ['ي', 'ف', 'م', 'أ', 'و', 'ن', 'ل', 'غ', 'س', 'ك', 'ب', 'د'], + MONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], + STANDALONEMONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], + SHORTMONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], + STANDALONESHORTMONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], + WEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + STANDALONEWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + SHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + STANDALONESHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + NARROWWEEKDAYS: ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'], + STANDALONENARROWWEEKDAYS: ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'], + SHORTQUARTERS: ['الربع الأول', 'الربع الثاني', 'الربع الثالث', 'الربع الرابع'], + QUARTERS: ['الربع الأول', 'الربع الثاني', 'الربع الثالث', 'الربع الرابع'], + AMPMS: ['ص', 'م'], + DATEFORMATS: ['EEEE، d MMMM، y', 'd MMMM، y', 'dd‏/MM‏/y', 'd‏/M‏/y'], TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], - FIRSTDAYOFWEEK: 6, + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 5 + FIRSTWEEKCUTOFFDAY: 6 }; /** * Date/time formatting symbols for locale ar_AE. */ -goog.i18n.DateTimeSymbols_ar_AE = { +goog.i18n.DateTimeSymbols_ar_AE = goog.i18n.DateTimeSymbols_ar; + + +/** + * Date/time formatting symbols for locale ar_BH. + */ +goog.i18n.DateTimeSymbols_ar_BH = goog.i18n.DateTimeSymbols_ar; + + +/** + * Date/time formatting symbols for locale ar_DJ. + */ +goog.i18n.DateTimeSymbols_ar_DJ = { ZERODIGIT: 0x0660, ERAS: ['ق.م', 'م'], ERANAMES: ['قبل الميلاد', 'ميلادي'], - NARROWMONTHS: ['ي', 'ف', 'م', 'أ', 'و', 'ن', 'ل', 'غ', 'س', 'ك', - 'ب', 'د'], - STANDALONENARROWMONTHS: ['ي', 'ف', 'م', 'أ', 'و', 'ن', 'ل', 'غ', 'س', - 'ك', 'ب', 'د'], - MONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', - 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', - 'نوفمبر', 'ديسمبر'], - STANDALONEMONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', - 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', - 'أكتوبر', 'نوفمبر', 'ديسمبر'], - SHORTMONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', - 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', - 'أكتوبر', 'نوفمبر', 'ديسمبر'], - STANDALONESHORTMONTHS: ['يناير', 'فبراير', 'مارس', - 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', - 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], - WEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', - 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - STANDALONEWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', - 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - SHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', - 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - STANDALONESHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', - 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + NARROWMONTHS: ['ي', 'ف', 'م', 'أ', 'و', 'ن', 'ل', 'غ', 'س', 'ك', 'ب', 'د'], + STANDALONENARROWMONTHS: ['ي', 'ف', 'م', 'أ', 'و', 'ن', 'ل', 'غ', 'س', 'ك', 'ب', 'د'], + MONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], + STANDALONEMONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], + SHORTMONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], + STANDALONESHORTMONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], + WEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + STANDALONEWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + SHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + STANDALONESHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], NARROWWEEKDAYS: ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'], STANDALONENARROWWEEKDAYS: ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'], - SHORTQUARTERS: ['الربع الأول', 'الربع الثاني', - 'الربع الثالث', 'الربع الرابع'], - QUARTERS: ['الربع الأول', 'الربع الثاني', - 'الربع الثالث', 'الربع الرابع'], + SHORTQUARTERS: ['الربع الأول', 'الربع الثاني', 'الربع الثالث', 'الربع الرابع'], + QUARTERS: ['الربع الأول', 'الربع الثاني', 'الربع الثالث', 'الربع الرابع'], AMPMS: ['ص', 'م'], - DATEFORMATS: ['EEEE، d MMMM، y', 'd MMMM، y', 'dd‏/MM‏/yyyy', - 'd‏/M‏/yyyy'], - TIMEFORMATS: ['zzzz h:mm:ss a', 'z h:mm:ss a', 'h:mm:ss a', 'h:mm a'], + DATEFORMATS: ['EEEE، d MMMM، y', 'd MMMM، y', 'dd‏/MM‏/y', 'd‏/M‏/y'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 5, - WEEKENDRANGE: [4, 5], + WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 4 }; /** - * Date/time formatting symbols for locale ar_BH. + * Date/time formatting symbols for locale ar_EG. */ -goog.i18n.DateTimeSymbols_ar_BH = { - ZERODIGIT: 0x0660, +goog.i18n.DateTimeSymbols_ar_EG = goog.i18n.DateTimeSymbols_ar; + + +/** + * Date/time formatting symbols for locale ar_EH. + */ +goog.i18n.DateTimeSymbols_ar_EH = { ERAS: ['ق.م', 'م'], ERANAMES: ['قبل الميلاد', 'ميلادي'], - NARROWMONTHS: ['ي', 'ف', 'م', 'أ', 'و', 'ن', 'ل', 'غ', 'س', 'ك', - 'ب', 'د'], - STANDALONENARROWMONTHS: ['ي', 'ف', 'م', 'أ', 'و', 'ن', 'ل', 'غ', 'س', - 'ك', 'ب', 'د'], - MONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', - 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', - 'نوفمبر', 'ديسمبر'], - STANDALONEMONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', - 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', - 'أكتوبر', 'نوفمبر', 'ديسمبر'], - SHORTMONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', - 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', - 'أكتوبر', 'نوفمبر', 'ديسمبر'], - STANDALONESHORTMONTHS: ['يناير', 'فبراير', 'مارس', - 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', - 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], - WEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', - 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - STANDALONEWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', - 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - SHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', - 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - STANDALONESHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', - 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + NARROWMONTHS: ['ي', 'ف', 'م', 'أ', 'و', 'ن', 'ل', 'غ', 'س', 'ك', 'ب', 'د'], + STANDALONENARROWMONTHS: ['ي', 'ف', 'م', 'أ', 'و', 'ن', 'ل', 'غ', 'س', 'ك', 'ب', 'د'], + MONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], + STANDALONEMONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], + SHORTMONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], + STANDALONESHORTMONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], + WEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + STANDALONEWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + SHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + STANDALONESHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], NARROWWEEKDAYS: ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'], STANDALONENARROWWEEKDAYS: ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'], - SHORTQUARTERS: ['الربع الأول', 'الربع الثاني', - 'الربع الثالث', 'الربع الرابع'], - QUARTERS: ['الربع الأول', 'الربع الثاني', - 'الربع الثالث', 'الربع الرابع'], + SHORTQUARTERS: ['الربع الأول', 'الربع الثاني', 'الربع الثالث', 'الربع الرابع'], + QUARTERS: ['الربع الأول', 'الربع الثاني', 'الربع الثالث', 'الربع الرابع'], AMPMS: ['ص', 'م'], - DATEFORMATS: ['EEEE، d MMMM، y', 'd MMMM، y', 'dd‏/MM‏/yyyy', - 'd‏/M‏/yyyy'], - TIMEFORMATS: ['zzzz h:mm:ss a', 'z h:mm:ss a', 'h:mm:ss a', 'h:mm a'], - FIRSTDAYOFWEEK: 5, - WEEKENDRANGE: [4, 5], - FIRSTWEEKCUTOFFDAY: 4 + DATEFORMATS: ['EEEE، d MMMM، y', 'd MMMM، y', 'dd‏/MM‏/y', 'd‏/M‏/y'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 }; /** - * Date/time formatting symbols for locale ar_DZ. + * Date/time formatting symbols for locale ar_ER. */ -goog.i18n.DateTimeSymbols_ar_DZ = { +goog.i18n.DateTimeSymbols_ar_ER = { + ZERODIGIT: 0x0660, ERAS: ['ق.م', 'م'], ERANAMES: ['قبل الميلاد', 'ميلادي'], - NARROWMONTHS: ['ي', 'ف', 'م', 'أ', 'و', 'ن', 'ل', 'غ', 'س', 'ك', - 'ب', 'د'], - STANDALONENARROWMONTHS: ['ي', 'ف', 'م', 'أ', 'و', 'ن', 'ل', 'غ', 'س', - 'ك', 'ب', 'د'], - MONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', - 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', - 'نوفمبر', 'ديسمبر'], - STANDALONEMONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', - 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', - 'أكتوبر', 'نوفمبر', 'ديسمبر'], - SHORTMONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', - 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', - 'أكتوبر', 'نوفمبر', 'ديسمبر'], - STANDALONESHORTMONTHS: ['يناير', 'فبراير', 'مارس', - 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', - 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], - WEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', - 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - STANDALONEWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', - 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - SHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', - 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - STANDALONESHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', - 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + NARROWMONTHS: ['ي', 'ف', 'م', 'أ', 'و', 'ن', 'ل', 'غ', 'س', 'ك', 'ب', 'د'], + STANDALONENARROWMONTHS: ['ي', 'ف', 'م', 'أ', 'و', 'ن', 'ل', 'غ', 'س', 'ك', 'ب', 'د'], + MONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], + STANDALONEMONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], + SHORTMONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], + STANDALONESHORTMONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], + WEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + STANDALONEWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + SHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + STANDALONESHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], NARROWWEEKDAYS: ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'], STANDALONENARROWWEEKDAYS: ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'], - SHORTQUARTERS: ['الربع الأول', 'الربع الثاني', - 'الربع الثالث', 'الربع الرابع'], - QUARTERS: ['الربع الأول', 'الربع الثاني', - 'الربع الثالث', 'الربع الرابع'], + SHORTQUARTERS: ['الربع الأول', 'الربع الثاني', 'الربع الثالث', 'الربع الرابع'], + QUARTERS: ['الربع الأول', 'الربع الثاني', 'الربع الثالث', 'الربع الرابع'], AMPMS: ['ص', 'م'], - DATEFORMATS: ['EEEE، d MMMM، y', 'd MMMM، y', 'yyyy/MM/dd', 'yyyy/M/d'], - TIMEFORMATS: ['zzzz h:mm:ss a', 'z h:mm:ss a', 'h:mm:ss a', 'h:mm a'], - FIRSTDAYOFWEEK: 5, - WEEKENDRANGE: [3, 4], - FIRSTWEEKCUTOFFDAY: 4 + DATEFORMATS: ['EEEE، d MMMM، y', 'd MMMM، y', 'dd‏/MM‏/y', 'd‏/M‏/y'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 }; /** - * Date/time formatting symbols for locale ar_EG. + * Date/time formatting symbols for locale ar_IL. */ -goog.i18n.DateTimeSymbols_ar_EG = { +goog.i18n.DateTimeSymbols_ar_IL = { ZERODIGIT: 0x0660, ERAS: ['ق.م', 'م'], ERANAMES: ['قبل الميلاد', 'ميلادي'], - NARROWMONTHS: ['ي', 'ف', 'م', 'أ', 'و', 'ن', 'ل', 'غ', 'س', 'ك', - 'ب', 'د'], - STANDALONENARROWMONTHS: ['ي', 'ف', 'م', 'أ', 'و', 'ن', 'ل', 'غ', 'س', - 'ك', 'ب', 'د'], - MONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', - 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', - 'نوفمبر', 'ديسمبر'], - STANDALONEMONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', - 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', - 'أكتوبر', 'نوفمبر', 'ديسمبر'], - SHORTMONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', - 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', - 'أكتوبر', 'نوفمبر', 'ديسمبر'], - STANDALONESHORTMONTHS: ['يناير', 'فبراير', 'مارس', - 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', - 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], - WEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', - 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - STANDALONEWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', - 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - SHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', - 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - STANDALONESHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', - 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + NARROWMONTHS: ['ي', 'ف', 'م', 'أ', 'و', 'ن', 'ل', 'غ', 'س', 'ك', 'ب', 'د'], + STANDALONENARROWMONTHS: ['ي', 'ف', 'م', 'أ', 'و', 'ن', 'ل', 'غ', 'س', 'ك', 'ب', 'د'], + MONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], + STANDALONEMONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], + SHORTMONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], + STANDALONESHORTMONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], + WEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + STANDALONEWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + SHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + STANDALONESHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], NARROWWEEKDAYS: ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'], STANDALONENARROWWEEKDAYS: ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'], - SHORTQUARTERS: ['الربع الأول', 'الربع الثاني', - 'الربع الثالث', 'الربع الرابع'], - QUARTERS: ['الربع الأول', 'الربع الثاني', - 'الربع الثالث', 'الربع الرابع'], + SHORTQUARTERS: ['الربع الأول', 'الربع الثاني', 'الربع الثالث', 'الربع الرابع'], + QUARTERS: ['الربع الأول', 'الربع الثاني', 'الربع الثالث', 'الربع الرابع'], AMPMS: ['ص', 'م'], - DATEFORMATS: ['EEEE، d MMMM، y', 'd MMMM، y', 'dd‏/MM‏/yyyy', - 'd‏/M‏/yyyy'], - TIMEFORMATS: ['zzzz h:mm:ss a', 'z h:mm:ss a', 'h:mm:ss a', 'h:mm a'], - FIRSTDAYOFWEEK: 5, + DATEFORMATS: ['EEEE، d MMMM، y', 'd MMMM، y', 'dd‏/MM‏/y', 'd‏/M‏/y'], + TIMEFORMATS: ['H:mm:ss zzzz', 'H:mm:ss z', 'H:mm:ss', 'H:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 6, WEEKENDRANGE: [4, 5], - FIRSTWEEKCUTOFFDAY: 4 + FIRSTWEEKCUTOFFDAY: 5 }; @@ -1001,40 +935,24 @@ goog.i18n.DateTimeSymbols_ar_IQ = { ZERODIGIT: 0x0660, ERAS: ['ق.م', 'م'], ERANAMES: ['قبل الميلاد', 'ميلادي'], - NARROWMONTHS: ['ي', 'ف', 'م', 'أ', 'و', 'ن', 'ل', 'غ', 'س', 'ك', - 'ب', 'د'], - STANDALONENARROWMONTHS: ['ي', 'ف', 'م', 'أ', 'و', 'ن', 'ل', 'غ', 'س', - 'ك', 'ب', 'د'], - MONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', - 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', - 'نوفمبر', 'ديسمبر'], - STANDALONEMONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', - 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', - 'أكتوبر', 'نوفمبر', 'ديسمبر'], - SHORTMONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', - 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', - 'أكتوبر', 'نوفمبر', 'ديسمبر'], - STANDALONESHORTMONTHS: ['يناير', 'فبراير', 'مارس', - 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', - 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], - WEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', - 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - STANDALONEWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', - 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - SHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', - 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - STANDALONESHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', - 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + NARROWMONTHS: ['ك', 'ش', 'آ', 'ن', 'أ', 'ح', 'ت', 'آ', 'أ', 'ت', 'ت', 'ك'], + STANDALONENARROWMONTHS: ['ك', 'ش', 'آ', 'ن', 'أ', 'ح', 'ت', 'آ', 'أ', 'ت', 'ت', 'ك'], + MONTHS: ['كانون الثاني', 'شباط', 'آذار', 'نيسان', 'أيار', 'حزيران', 'تموز', 'آب', 'أيلول', 'تشرين الأول', 'تشرين الثاني', 'كانون الأول'], + STANDALONEMONTHS: ['كانون الثاني', 'شباط', 'آذار', 'نيسان', 'أيار', 'حزيران', 'تموز', 'آب', 'أيلول', 'تشرين الأول', 'تشرين الثاني', 'كانون الأول'], + SHORTMONTHS: ['كانون الثاني', 'شباط', 'آذار', 'نيسان', 'أيار', 'حزيران', 'تموز', 'آب', 'أيلول', 'تشرین الأول', 'تشرين الثاني', 'كانون الأول'], + STANDALONESHORTMONTHS: ['كانون الثاني', 'شباط', 'آذار', 'نيسان', 'أيار', 'حزيران', 'تموز', 'آب', 'أيلول', 'تشرين الأول', 'تشرين الثاني', 'كانون الأول'], + WEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + STANDALONEWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + SHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + STANDALONESHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], NARROWWEEKDAYS: ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'], STANDALONENARROWWEEKDAYS: ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'], - SHORTQUARTERS: ['الربع الأول', 'الربع الثاني', - 'الربع الثالث', 'الربع الرابع'], - QUARTERS: ['الربع الأول', 'الربع الثاني', - 'الربع الثالث', 'الربع الرابع'], + SHORTQUARTERS: ['الربع الأول', 'الربع الثاني', 'الربع الثالث', 'الربع الرابع'], + QUARTERS: ['الربع الأول', 'الربع الثاني', 'الربع الثالث', 'الربع الرابع'], AMPMS: ['ص', 'م'], - DATEFORMATS: ['EEEE، d MMMM، y', 'd MMMM، y', 'dd‏/MM‏/yyyy', - 'd‏/M‏/yyyy'], - TIMEFORMATS: ['zzzz h:mm:ss a', 'z h:mm:ss a', 'h:mm:ss a', 'h:mm a'], + DATEFORMATS: ['EEEE، d MMMM، y', 'd MMMM، y', 'dd‏/MM‏/y', 'd‏/M‏/y'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 5, WEEKENDRANGE: [4, 5], FIRSTWEEKCUTOFFDAY: 4 @@ -1048,44 +966,24 @@ goog.i18n.DateTimeSymbols_ar_JO = { ZERODIGIT: 0x0660, ERAS: ['ق.م', 'م'], ERANAMES: ['قبل الميلاد', 'ميلادي'], - NARROWMONTHS: ['ي', 'ف', 'م', 'أ', 'و', 'ن', 'ل', 'غ', 'س', 'ك', - 'ب', 'د'], - STANDALONENARROWMONTHS: ['ي', 'ف', 'م', 'أ', 'و', 'ن', 'ل', 'غ', 'س', - 'ك', 'ب', 'د'], - MONTHS: ['كانون الثاني', 'شباط', 'آذار', 'نيسان', - 'أيار', 'حزيران', 'تموز', 'آب', 'أيلول', - 'تشرين الأول', 'تشرين الثاني', - 'كانون الأول'], - STANDALONEMONTHS: ['كانون الثاني', 'شباط', 'آذار', - 'نيسان', 'أيار', 'حزيران', 'تموز', 'آب', - 'أيلول', 'تشرين الأول', 'تشرين الثاني', - 'كانون الأول'], - SHORTMONTHS: ['كانون الثاني', 'شباط', 'آذار', 'نيسان', - 'أيار', 'حزيران', 'تموز', 'آب', 'أيلول', - 'تشرين الأول', 'تشرين الثاني', - 'كانون الأول'], - STANDALONESHORTMONTHS: ['كانون الثاني', 'شباط', 'آذار', - 'نيسان', 'أيار', 'حزيران', 'تموز', 'آب', - 'أيلول', 'تشرين الأول', 'تشرين الثاني', - 'كانون الأول'], - WEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', - 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - STANDALONEWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', - 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - SHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', - 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - STANDALONESHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', - 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + NARROWMONTHS: ['ك', 'ش', 'آ', 'ن', 'أ', 'ح', 'ت', 'آ', 'أ', 'ت', 'ت', 'ك'], + STANDALONENARROWMONTHS: ['ك', 'ش', 'آ', 'ن', 'أ', 'ح', 'ت', 'آ', 'أ', 'ت', 'ت', 'ك'], + MONTHS: ['كانون الثاني', 'شباط', 'آذار', 'نيسان', 'أيار', 'حزيران', 'تموز', 'آب', 'أيلول', 'تشرين الأول', 'تشرين الثاني', 'كانون الأول'], + STANDALONEMONTHS: ['كانون الثاني', 'شباط', 'آذار', 'نيسان', 'أيار', 'حزيران', 'تموز', 'آب', 'أيلول', 'تشرين الأول', 'تشرين الثاني', 'كانون الأول'], + SHORTMONTHS: ['كانون الثاني', 'شباط', 'آذار', 'نيسان', 'أيار', 'حزيران', 'تموز', 'آب', 'أيلول', 'تشرين الأول', 'تشرين الثاني', 'كانون الأول'], + STANDALONESHORTMONTHS: ['كانون الثاني', 'شباط', 'آذار', 'نيسان', 'أيار', 'حزيران', 'تموز', 'آب', 'أيلول', 'تشرين الأول', 'تشرين الثاني', 'كانون الأول'], + WEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + STANDALONEWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + SHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + STANDALONESHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], NARROWWEEKDAYS: ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'], STANDALONENARROWWEEKDAYS: ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'], - SHORTQUARTERS: ['الربع الأول', 'الربع الثاني', - 'الربع الثالث', 'الربع الرابع'], - QUARTERS: ['الربع الأول', 'الربع الثاني', - 'الربع الثالث', 'الربع الرابع'], + SHORTQUARTERS: ['الربع الأول', 'الربع الثاني', 'الربع الثالث', 'الربع الرابع'], + QUARTERS: ['الربع الأول', 'الربع الثاني', 'الربع الثالث', 'الربع الرابع'], AMPMS: ['ص', 'م'], - DATEFORMATS: ['EEEE، d MMMM، y', 'd MMMM، y', 'dd‏/MM‏/yyyy', - 'd‏/M‏/yyyy'], - TIMEFORMATS: ['zzzz h:mm:ss a', 'z h:mm:ss a', 'h:mm:ss a', 'h:mm a'], + DATEFORMATS: ['EEEE، d MMMM، y', 'd MMMM، y', 'dd‏/MM‏/y', 'd‏/M‏/y'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 5, WEEKENDRANGE: [4, 5], FIRSTWEEKCUTOFFDAY: 4 @@ -1093,52 +991,42 @@ goog.i18n.DateTimeSymbols_ar_JO = { /** - * Date/time formatting symbols for locale ar_KW. + * Date/time formatting symbols for locale ar_KM. */ -goog.i18n.DateTimeSymbols_ar_KW = { +goog.i18n.DateTimeSymbols_ar_KM = { ZERODIGIT: 0x0660, ERAS: ['ق.م', 'م'], ERANAMES: ['قبل الميلاد', 'ميلادي'], - NARROWMONTHS: ['ي', 'ف', 'م', 'أ', 'و', 'ن', 'ل', 'غ', 'س', 'ك', - 'ب', 'د'], - STANDALONENARROWMONTHS: ['ي', 'ف', 'م', 'أ', 'و', 'ن', 'ل', 'غ', 'س', - 'ك', 'ب', 'د'], - MONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', - 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', - 'نوفمبر', 'ديسمبر'], - STANDALONEMONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', - 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', - 'أكتوبر', 'نوفمبر', 'ديسمبر'], - SHORTMONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', - 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', - 'أكتوبر', 'نوفمبر', 'ديسمبر'], - STANDALONESHORTMONTHS: ['يناير', 'فبراير', 'مارس', - 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', - 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], - WEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', - 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - STANDALONEWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', - 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - SHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', - 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - STANDALONESHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', - 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + NARROWMONTHS: ['ي', 'ف', 'م', 'أ', 'و', 'ن', 'ل', 'غ', 'س', 'ك', 'ب', 'د'], + STANDALONENARROWMONTHS: ['ي', 'ف', 'م', 'أ', 'و', 'ن', 'ل', 'غ', 'س', 'ك', 'ب', 'د'], + MONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], + STANDALONEMONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], + SHORTMONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], + STANDALONESHORTMONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], + WEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + STANDALONEWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + SHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + STANDALONESHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], NARROWWEEKDAYS: ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'], STANDALONENARROWWEEKDAYS: ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'], - SHORTQUARTERS: ['الربع الأول', 'الربع الثاني', - 'الربع الثالث', 'الربع الرابع'], - QUARTERS: ['الربع الأول', 'الربع الثاني', - 'الربع الثالث', 'الربع الرابع'], + SHORTQUARTERS: ['الربع الأول', 'الربع الثاني', 'الربع الثالث', 'الربع الرابع'], + QUARTERS: ['الربع الأول', 'الربع الثاني', 'الربع الثالث', 'الربع الرابع'], AMPMS: ['ص', 'م'], - DATEFORMATS: ['EEEE، d MMMM، y', 'd MMMM، y', 'dd‏/MM‏/yyyy', - 'd‏/M‏/yyyy'], - TIMEFORMATS: ['zzzz h:mm:ss a', 'z h:mm:ss a', 'h:mm:ss a', 'h:mm a'], - FIRSTDAYOFWEEK: 5, - WEEKENDRANGE: [4, 5], - FIRSTWEEKCUTOFFDAY: 4 + DATEFORMATS: ['EEEE، d MMMM، y', 'd MMMM، y', 'dd‏/MM‏/y', 'd‏/M‏/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 }; +/** + * Date/time formatting symbols for locale ar_KW. + */ +goog.i18n.DateTimeSymbols_ar_KW = goog.i18n.DateTimeSymbols_ar; + + /** * Date/time formatting symbols for locale ar_LB. */ @@ -1146,44 +1034,24 @@ goog.i18n.DateTimeSymbols_ar_LB = { ZERODIGIT: 0x0660, ERAS: ['ق.م', 'م'], ERANAMES: ['قبل الميلاد', 'ميلادي'], - NARROWMONTHS: ['ي', 'ف', 'م', 'أ', 'و', 'ن', 'ل', 'غ', 'س', 'ك', - 'ب', 'د'], - STANDALONENARROWMONTHS: ['ي', 'ف', 'م', 'أ', 'و', 'ن', 'ل', 'غ', 'س', - 'ك', 'ب', 'د'], - MONTHS: ['كانون الثاني', 'شباط', 'آذار', 'نيسان', - 'أيار', 'حزيران', 'تموز', 'آب', 'أيلول', - 'تشرين الأول', 'تشرين الثاني', - 'كانون الأول'], - STANDALONEMONTHS: ['كانون الثاني', 'شباط', 'آذار', - 'نيسان', 'أيار', 'حزيران', 'تموز', 'آب', - 'أيلول', 'تشرين الأول', 'تشرين الثاني', - 'كانون الأول'], - SHORTMONTHS: ['كانون الثاني', 'شباط', 'آذار', 'نيسان', - 'أيار', 'حزيران', 'تموز', 'آب', 'أيلول', - 'تشرين الأول', 'تشرين الثاني', - 'كانون الأول'], - STANDALONESHORTMONTHS: ['كانون الثاني', 'شباط', 'آذار', - 'نيسان', 'أيار', 'حزيران', 'تموز', 'آب', - 'أيلول', 'تشرين الأول', 'تشرين الثاني', - 'كانون الأول'], - WEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', - 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - STANDALONEWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', - 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - SHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', - 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - STANDALONESHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', - 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + NARROWMONTHS: ['ك', 'ش', 'آ', 'ن', 'أ', 'ح', 'ت', 'آ', 'أ', 'ت', 'ت', 'ك'], + STANDALONENARROWMONTHS: ['ك', 'ش', 'آ', 'ن', 'أ', 'ح', 'ت', 'آ', 'أ', 'ت', 'ت', 'ك'], + MONTHS: ['كانون الثاني', 'شباط', 'آذار', 'نيسان', 'أيار', 'حزيران', 'تموز', 'آب', 'أيلول', 'تشرين الأول', 'تشرين الثاني', 'كانون الأول'], + STANDALONEMONTHS: ['كانون الثاني', 'شباط', 'آذار', 'نيسان', 'أيار', 'حزيران', 'تموز', 'آب', 'أيلول', 'تشرين الأول', 'تشرين الثاني', 'كانون الأول'], + SHORTMONTHS: ['كانون الثاني', 'شباط', 'آذار', 'نيسان', 'أيار', 'حزيران', 'تموز', 'آب', 'أيلول', 'تشرين الأول', 'تشرين الثاني', 'كانون الأول'], + STANDALONESHORTMONTHS: ['كانون الثاني', 'شباط', 'آذار', 'نيسان', 'أيار', 'حزيران', 'تموز', 'آب', 'أيلول', 'تشرين الأول', 'تشرين الثاني', 'كانون الأول'], + WEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + STANDALONEWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + SHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + STANDALONESHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], NARROWWEEKDAYS: ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'], STANDALONENARROWWEEKDAYS: ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'], - SHORTQUARTERS: ['الربع الأول', 'الربع الثاني', - 'الربع الثالث', 'الربع الرابع'], - QUARTERS: ['الربع الأول', 'الربع الثاني', - 'الربع الثالث', 'الربع الرابع'], + SHORTQUARTERS: ['الربع الأول', 'الربع الثاني', 'الربع الثالث', 'الربع الرابع'], + QUARTERS: ['الربع الأول', 'الربع الثاني', 'الربع الثالث', 'الربع الرابع'], AMPMS: ['ص', 'م'], - DATEFORMATS: ['EEEE، d MMMM، y', 'd MMMM، y', 'dd‏/MM‏/yyyy', - 'd‏/M‏/yyyy'], - TIMEFORMATS: ['zzzz h:mm:ss a', 'z h:mm:ss a', 'h:mm:ss a', 'h:mm a'], + DATEFORMATS: ['EEEE، d MMMM، y', 'd MMMM، y', 'dd‏/MM‏/y', 'd‏/M‏/y'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -1194,43 +1062,26 @@ goog.i18n.DateTimeSymbols_ar_LB = { * Date/time formatting symbols for locale ar_LY. */ goog.i18n.DateTimeSymbols_ar_LY = { - ZERODIGIT: 0x0660, ERAS: ['ق.م', 'م'], ERANAMES: ['قبل الميلاد', 'ميلادي'], - NARROWMONTHS: ['ي', 'ف', 'م', 'أ', 'و', 'ن', 'ل', 'غ', 'س', 'ك', - 'ب', 'د'], - STANDALONENARROWMONTHS: ['ي', 'ف', 'م', 'أ', 'و', 'ن', 'ل', 'غ', 'س', - 'ك', 'ب', 'د'], - MONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', - 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', - 'نوفمبر', 'ديسمبر'], - STANDALONEMONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', - 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', - 'أكتوبر', 'نوفمبر', 'ديسمبر'], - SHORTMONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', - 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', - 'أكتوبر', 'نوفمبر', 'ديسمبر'], - STANDALONESHORTMONTHS: ['يناير', 'فبراير', 'مارس', - 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', - 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], - WEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', - 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - STANDALONEWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', - 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - SHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', - 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - STANDALONESHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', - 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + NARROWMONTHS: ['ي', 'ف', 'م', 'أ', 'و', 'ن', 'ل', 'غ', 'س', 'ك', 'ب', 'د'], + STANDALONENARROWMONTHS: ['ي', 'ف', 'م', 'أ', 'و', 'ن', 'ل', 'غ', 'س', 'ك', 'ب', 'د'], + MONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], + STANDALONEMONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], + SHORTMONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], + STANDALONESHORTMONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], + WEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + STANDALONEWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + SHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + STANDALONESHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], NARROWWEEKDAYS: ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'], STANDALONENARROWWEEKDAYS: ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'], - SHORTQUARTERS: ['الربع الأول', 'الربع الثاني', - 'الربع الثالث', 'الربع الرابع'], - QUARTERS: ['الربع الأول', 'الربع الثاني', - 'الربع الثالث', 'الربع الرابع'], + SHORTQUARTERS: ['الربع الأول', 'الربع الثاني', 'الربع الثالث', 'الربع الرابع'], + QUARTERS: ['الربع الأول', 'الربع الثاني', 'الربع الثالث', 'الربع الرابع'], AMPMS: ['ص', 'م'], - DATEFORMATS: ['EEEE، d MMMM، y', 'd MMMM، y', 'dd‏/MM‏/yyyy', - 'd‏/M‏/yyyy'], - TIMEFORMATS: ['zzzz h:mm:ss a', 'z h:mm:ss a', 'h:mm:ss a', 'h:mm a'], + DATEFORMATS: ['EEEE، d MMMM، y', 'd MMMM، y', 'dd‏/MM‏/y', 'd‏/M‏/y'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 5, WEEKENDRANGE: [4, 5], FIRSTWEEKCUTOFFDAY: 4 @@ -1243,39 +1094,24 @@ goog.i18n.DateTimeSymbols_ar_LY = { goog.i18n.DateTimeSymbols_ar_MA = { ERAS: ['ق.م', 'م'], ERANAMES: ['قبل الميلاد', 'ميلادي'], - NARROWMONTHS: ['ي', 'ف', 'م', 'أ', 'و', 'ن', 'ل', 'غ', 'س', 'ك', - 'ب', 'د'], - STANDALONENARROWMONTHS: ['ي', 'ف', 'م', 'أ', 'و', 'ن', 'ل', 'غ', 'س', - 'ك', 'ب', 'د'], - MONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', - 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', - 'نوفمبر', 'ديسمبر'], - STANDALONEMONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', - 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', - 'أكتوبر', 'نوفمبر', 'ديسمبر'], - SHORTMONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', - 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', - 'أكتوبر', 'نوفمبر', 'ديسمبر'], - STANDALONESHORTMONTHS: ['يناير', 'فبراير', 'مارس', - 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', - 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], - WEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', - 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - STANDALONEWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', - 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - SHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', - 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - STANDALONESHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', - 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + NARROWMONTHS: ['ي', 'ف', 'م', 'أ', 'م', 'ن', 'ل', 'غ', 'ش', 'ك', 'ب', 'د'], + STANDALONENARROWMONTHS: ['ي', 'ف', 'م', 'أ', 'م', 'ن', 'ل', 'غ', 'ش', 'ك', 'ب', 'د'], + MONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', 'ماي', 'يونيو', 'يوليوز', 'غشت', 'شتنبر', 'أكتوبر', 'نونبر', 'دجنبر'], + STANDALONEMONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', 'ماي', 'يونيو', 'يوليوز', 'غشت', 'شتنبر', 'أكتوبر', 'نونبر', 'دجنبر'], + SHORTMONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', 'ماي', 'يونيو', 'يوليوز', 'غشت', 'شتنبر', 'أكتوبر', 'نونبر', 'دجنبر'], + STANDALONESHORTMONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', 'ماي', 'يونيو', 'يوليوز', 'غشت', 'شتنبر', 'أكتوبر', 'نونبر', 'دجنبر'], + WEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + STANDALONEWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + SHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + STANDALONESHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], NARROWWEEKDAYS: ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'], STANDALONENARROWWEEKDAYS: ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'], - SHORTQUARTERS: ['الربع الأول', 'الربع الثاني', - 'الربع الثالث', 'الربع الرابع'], - QUARTERS: ['الربع الأول', 'الربع الثاني', - 'الربع الثالث', 'الربع الرابع'], + SHORTQUARTERS: ['الربع الأول', 'الربع الثاني', 'الربع الثالث', 'الربع الرابع'], + QUARTERS: ['الربع الأول', 'الربع الثاني', 'الربع الثالث', 'الربع الرابع'], AMPMS: ['ص', 'م'], - DATEFORMATS: ['EEEE، d MMMM، y', 'd MMMM، y', 'yyyy/MM/dd', 'yyyy/M/d'], - TIMEFORMATS: ['zzzz h:mm:ss a', 'z h:mm:ss a', 'h:mm:ss a', 'h:mm a'], + DATEFORMATS: ['EEEE، d MMMM، y', 'd MMMM، y', 'dd‏/MM‏/y', 'd‏/M‏/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 5, WEEKENDRANGE: [4, 5], FIRSTWEEKCUTOFFDAY: 4 @@ -1283,99 +1119,79 @@ goog.i18n.DateTimeSymbols_ar_MA = { /** - * Date/time formatting symbols for locale ar_OM. + * Date/time formatting symbols for locale ar_MR. */ -goog.i18n.DateTimeSymbols_ar_OM = { +goog.i18n.DateTimeSymbols_ar_MR = { ZERODIGIT: 0x0660, ERAS: ['ق.م', 'م'], ERANAMES: ['قبل الميلاد', 'ميلادي'], - NARROWMONTHS: ['ي', 'ف', 'م', 'أ', 'و', 'ن', 'ل', 'غ', 'س', 'ك', - 'ب', 'د'], - STANDALONENARROWMONTHS: ['ي', 'ف', 'م', 'أ', 'و', 'ن', 'ل', 'غ', 'س', - 'ك', 'ب', 'د'], - MONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', - 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', - 'نوفمبر', 'ديسمبر'], - STANDALONEMONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', - 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', - 'أكتوبر', 'نوفمبر', 'ديسمبر'], - SHORTMONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', - 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', - 'أكتوبر', 'نوفمبر', 'ديسمبر'], - STANDALONESHORTMONTHS: ['يناير', 'فبراير', 'مارس', - 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', - 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], - WEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', - 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - STANDALONEWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', - 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - SHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', - 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - STANDALONESHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', - 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + NARROWMONTHS: ['ي', 'ف', 'م', 'إ', 'و', 'ن', 'ل', 'غ', 'ش', 'ك', 'ب', 'د'], + STANDALONENARROWMONTHS: ['ي', 'ف', 'م', 'إ', 'و', 'ن', 'ل', 'غ', 'ش', 'ك', 'ب', 'د'], + MONTHS: ['يناير', 'فبراير', 'مارس', 'إبريل', 'مايو', 'يونيو', 'يوليو', 'أغشت', 'شتمبر', 'أكتوبر', 'نوفمبر', 'دجمبر'], + STANDALONEMONTHS: ['يناير', 'فبراير', 'مارس', 'إبريل', 'مايو', 'يونيو', 'يوليو', 'أغشت', 'شتمبر', 'أكتوبر', 'نوفمبر', 'دجمبر'], + SHORTMONTHS: ['يناير', 'فبراير', 'مارس', 'إبريل', 'مايو', 'يونيو', 'يوليو', 'أغشت', 'شتمبر', 'أكتوبر', 'نوفمبر', 'دجمبر'], + STANDALONESHORTMONTHS: ['يناير', 'فبراير', 'مارس', 'إبريل', 'مايو', 'يونيو', 'يوليو', 'أغشت', 'شتمبر', 'أكتوبر', 'نوفمبر', 'دجمبر'], + WEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + STANDALONEWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + SHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + STANDALONESHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], NARROWWEEKDAYS: ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'], STANDALONENARROWWEEKDAYS: ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'], - SHORTQUARTERS: ['الربع الأول', 'الربع الثاني', - 'الربع الثالث', 'الربع الرابع'], - QUARTERS: ['الربع الأول', 'الربع الثاني', - 'الربع الثالث', 'الربع الرابع'], + SHORTQUARTERS: ['الربع الأول', 'الربع الثاني', 'الربع الثالث', 'الربع الرابع'], + QUARTERS: ['الربع الأول', 'الربع الثاني', 'الربع الثالث', 'الربع الرابع'], AMPMS: ['ص', 'م'], - DATEFORMATS: ['EEEE، d MMMM، y', 'd MMMM، y', 'dd‏/MM‏/yyyy', - 'd‏/M‏/yyyy'], - TIMEFORMATS: ['zzzz h:mm:ss a', 'z h:mm:ss a', 'h:mm:ss a', 'h:mm a'], - FIRSTDAYOFWEEK: 5, - WEEKENDRANGE: [3, 4], - FIRSTWEEKCUTOFFDAY: 4 + DATEFORMATS: ['EEEE، d MMMM، y', 'd MMMM، y', 'dd‏/MM‏/y', 'd‏/M‏/y'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 }; /** - * Date/time formatting symbols for locale ar_QA. + * Date/time formatting symbols for locale ar_OM. */ -goog.i18n.DateTimeSymbols_ar_QA = { +goog.i18n.DateTimeSymbols_ar_OM = goog.i18n.DateTimeSymbols_ar; + + +/** + * Date/time formatting symbols for locale ar_PS. + */ +goog.i18n.DateTimeSymbols_ar_PS = { ZERODIGIT: 0x0660, ERAS: ['ق.م', 'م'], ERANAMES: ['قبل الميلاد', 'ميلادي'], - NARROWMONTHS: ['ي', 'ف', 'م', 'أ', 'و', 'ن', 'ل', 'غ', 'س', 'ك', - 'ب', 'د'], - STANDALONENARROWMONTHS: ['ي', 'ف', 'م', 'أ', 'و', 'ن', 'ل', 'غ', 'س', - 'ك', 'ب', 'د'], - MONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', - 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', - 'نوفمبر', 'ديسمبر'], - STANDALONEMONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', - 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', - 'أكتوبر', 'نوفمبر', 'ديسمبر'], - SHORTMONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', - 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', - 'أكتوبر', 'نوفمبر', 'ديسمبر'], - STANDALONESHORTMONTHS: ['يناير', 'فبراير', 'مارس', - 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', - 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], - WEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', - 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - STANDALONEWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', - 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - SHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', - 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - STANDALONESHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', - 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + NARROWMONTHS: ['ك', 'ش', 'آ', 'ن', 'أ', 'ح', 'ت', 'آ', 'أ', 'ت', 'ت', 'ك'], + STANDALONENARROWMONTHS: ['ك', 'ش', 'آ', 'ن', 'أ', 'ح', 'ت', 'آ', 'أ', 'ت', 'ت', 'ك'], + MONTHS: ['كانون الثاني', 'شباط', 'آذار', 'نيسان', 'أيار', 'حزيران', 'تموز', 'آب', 'أيلول', 'تشرين الأول', 'تشرين الثاني', 'كانون الأول'], + STANDALONEMONTHS: ['كانون الثاني', 'شباط', 'آذار', 'نيسان', 'أيار', 'حزيران', 'تموز', 'آب', 'أيلول', 'تشرين الأول', 'تشرين الثاني', 'كانون الأول'], + SHORTMONTHS: ['كانون الثاني', 'شباط', 'آذار', 'نيسان', 'أيار', 'حزيران', 'تموز', 'آب', 'أيلول', 'تشرين الأول', 'تشرين الثاني', 'كانون الأول'], + STANDALONESHORTMONTHS: ['كانون الثاني', 'شباط', 'آذار', 'نيسان', 'أيار', 'حزيران', 'تموز', 'آب', 'أيلول', 'تشرين الأول', 'تشرين الثاني', 'كانون الأول'], + WEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + STANDALONEWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + SHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + STANDALONESHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], NARROWWEEKDAYS: ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'], STANDALONENARROWWEEKDAYS: ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'], - SHORTQUARTERS: ['الربع الأول', 'الربع الثاني', - 'الربع الثالث', 'الربع الرابع'], - QUARTERS: ['الربع الأول', 'الربع الثاني', - 'الربع الثالث', 'الربع الرابع'], + SHORTQUARTERS: ['الربع الأول', 'الربع الثاني', 'الربع الثالث', 'الربع الرابع'], + QUARTERS: ['الربع الأول', 'الربع الثاني', 'الربع الثالث', 'الربع الرابع'], AMPMS: ['ص', 'م'], - DATEFORMATS: ['EEEE، d MMMM، y', 'd MMMM، y', 'dd‏/MM‏/yyyy', - 'd‏/M‏/yyyy'], - TIMEFORMATS: ['zzzz h:mm:ss a', 'z h:mm:ss a', 'h:mm:ss a', 'h:mm a'], - FIRSTDAYOFWEEK: 5, - WEEKENDRANGE: [4, 5], - FIRSTWEEKCUTOFFDAY: 4 + DATEFORMATS: ['EEEE، d MMMM، y', 'd MMMM، y', 'dd‏/MM‏/y', 'd‏/M‏/y'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 }; +/** + * Date/time formatting symbols for locale ar_QA. + */ +goog.i18n.DateTimeSymbols_ar_QA = goog.i18n.DateTimeSymbols_ar; + + /** * Date/time formatting symbols for locale ar_SA. */ @@ -1383,90 +1199,95 @@ goog.i18n.DateTimeSymbols_ar_SA = { ZERODIGIT: 0x0660, ERAS: ['ق.م', 'م'], ERANAMES: ['قبل الميلاد', 'ميلادي'], - NARROWMONTHS: ['ي', 'ف', 'م', 'أ', 'و', 'ن', 'ل', 'غ', 'س', 'ك', - 'ب', 'د'], - STANDALONENARROWMONTHS: ['ي', 'ف', 'م', 'أ', 'و', 'ن', 'ل', 'غ', 'س', - 'ك', 'ب', 'د'], - MONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', - 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', - 'نوفمبر', 'ديسمبر'], - STANDALONEMONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', - 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', - 'أكتوبر', 'نوفمبر', 'ديسمبر'], - SHORTMONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', - 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', - 'أكتوبر', 'نوفمبر', 'ديسمبر'], - STANDALONESHORTMONTHS: ['يناير', 'فبراير', 'مارس', - 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', - 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], - WEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', - 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - STANDALONEWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', - 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - SHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', - 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - STANDALONESHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', - 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + NARROWMONTHS: ['ي', 'ف', 'م', 'أ', 'و', 'ن', 'ل', 'غ', 'س', 'ك', 'ب', 'د'], + STANDALONENARROWMONTHS: ['ي', 'ف', 'م', 'أ', 'و', 'ن', 'ل', 'غ', 'س', 'ك', 'ب', 'د'], + MONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], + STANDALONEMONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], + SHORTMONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], + STANDALONESHORTMONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], + WEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + STANDALONEWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + SHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + STANDALONESHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], NARROWWEEKDAYS: ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'], STANDALONENARROWWEEKDAYS: ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'], - SHORTQUARTERS: ['الربع الأول', 'الربع الثاني', - 'الربع الثالث', 'الربع الرابع'], - QUARTERS: ['الربع الأول', 'الربع الثاني', - 'الربع الثالث', 'الربع الرابع'], + SHORTQUARTERS: ['الربع الأول', 'الربع الثاني', 'الربع الثالث', 'الربع الرابع'], + QUARTERS: ['الربع الأول', 'الربع الثاني', 'الربع الثالث', 'الربع الرابع'], AMPMS: ['ص', 'م'], - DATEFORMATS: ['EEEE، d MMMM، y', 'd MMMM، y', 'dd‏/MM‏/yyyy', - 'd‏/M‏/yyyy'], - TIMEFORMATS: ['zzzz h:mm:ss a', 'z h:mm:ss a', 'h:mm:ss a', 'h:mm a'], - FIRSTDAYOFWEEK: 5, - WEEKENDRANGE: [3, 4], - FIRSTWEEKCUTOFFDAY: 4 + DATEFORMATS: ['EEEE، d MMMM، y', 'd MMMM، y', 'dd‏/MM‏/y', 'd‏/M‏/y'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 6, + WEEKENDRANGE: [4, 5], + FIRSTWEEKCUTOFFDAY: 5 }; /** * Date/time formatting symbols for locale ar_SD. */ -goog.i18n.DateTimeSymbols_ar_SD = { +goog.i18n.DateTimeSymbols_ar_SD = goog.i18n.DateTimeSymbols_ar; + + +/** + * Date/time formatting symbols for locale ar_SO. + */ +goog.i18n.DateTimeSymbols_ar_SO = { ZERODIGIT: 0x0660, ERAS: ['ق.م', 'م'], ERANAMES: ['قبل الميلاد', 'ميلادي'], - NARROWMONTHS: ['ي', 'ف', 'م', 'أ', 'و', 'ن', 'ل', 'غ', 'س', 'ك', - 'ب', 'د'], - STANDALONENARROWMONTHS: ['ي', 'ف', 'م', 'أ', 'و', 'ن', 'ل', 'غ', 'س', - 'ك', 'ب', 'د'], - MONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', - 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', - 'نوفمبر', 'ديسمبر'], - STANDALONEMONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', - 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', - 'أكتوبر', 'نوفمبر', 'ديسمبر'], - SHORTMONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', - 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', - 'أكتوبر', 'نوفمبر', 'ديسمبر'], - STANDALONESHORTMONTHS: ['يناير', 'فبراير', 'مارس', - 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', - 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], - WEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', - 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - STANDALONEWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', - 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - SHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', - 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - STANDALONESHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', - 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + NARROWMONTHS: ['ي', 'ف', 'م', 'أ', 'و', 'ن', 'ل', 'غ', 'س', 'ك', 'ب', 'د'], + STANDALONENARROWMONTHS: ['ي', 'ف', 'م', 'أ', 'و', 'ن', 'ل', 'غ', 'س', 'ك', 'ب', 'د'], + MONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], + STANDALONEMONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], + SHORTMONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], + STANDALONESHORTMONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], + WEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + STANDALONEWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + SHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + STANDALONESHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], NARROWWEEKDAYS: ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'], STANDALONENARROWWEEKDAYS: ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'], - SHORTQUARTERS: ['الربع الأول', 'الربع الثاني', - 'الربع الثالث', 'الربع الرابع'], - QUARTERS: ['الربع الأول', 'الربع الثاني', - 'الربع الثالث', 'الربع الرابع'], + SHORTQUARTERS: ['الربع الأول', 'الربع الثاني', 'الربع الثالث', 'الربع الرابع'], + QUARTERS: ['الربع الأول', 'الربع الثاني', 'الربع الثالث', 'الربع الرابع'], AMPMS: ['ص', 'م'], - DATEFORMATS: ['EEEE، d MMMM، y', 'd MMMM، y', 'dd‏/MM‏/yyyy', - 'd‏/M‏/yyyy'], - TIMEFORMATS: ['zzzz h:mm:ss a', 'z h:mm:ss a', 'h:mm:ss a', 'h:mm a'], - FIRSTDAYOFWEEK: 5, - WEEKENDRANGE: [4, 5], - FIRSTWEEKCUTOFFDAY: 4 + DATEFORMATS: ['EEEE، d MMMM، y', 'd MMMM، y', 'dd‏/MM‏/y', 'd‏/M‏/y'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale ar_SS. + */ +goog.i18n.DateTimeSymbols_ar_SS = { + ZERODIGIT: 0x0660, + ERAS: ['ق.م', 'م'], + ERANAMES: ['قبل الميلاد', 'ميلادي'], + NARROWMONTHS: ['ي', 'ف', 'م', 'أ', 'و', 'ن', 'ل', 'غ', 'س', 'ك', 'ب', 'د'], + STANDALONENARROWMONTHS: ['ي', 'ف', 'م', 'أ', 'و', 'ن', 'ل', 'غ', 'س', 'ك', 'ب', 'د'], + MONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], + STANDALONEMONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], + SHORTMONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], + STANDALONESHORTMONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], + WEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + STANDALONEWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + SHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + STANDALONESHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + NARROWWEEKDAYS: ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'], + STANDALONENARROWWEEKDAYS: ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'], + SHORTQUARTERS: ['الربع الأول', 'الربع الثاني', 'الربع الثالث', 'الربع الرابع'], + QUARTERS: ['الربع الأول', 'الربع الثاني', 'الربع الثالث', 'الربع الرابع'], + AMPMS: ['ص', 'م'], + DATEFORMATS: ['EEEE، d MMMM، y', 'd MMMM، y', 'dd‏/MM‏/y', 'd‏/M‏/y'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 }; @@ -1477,95 +1298,121 @@ goog.i18n.DateTimeSymbols_ar_SY = { ZERODIGIT: 0x0660, ERAS: ['ق.م', 'م'], ERANAMES: ['قبل الميلاد', 'ميلادي'], - NARROWMONTHS: ['ي', 'ف', 'م', 'أ', 'و', 'ن', 'ل', 'غ', 'س', 'ك', - 'ب', 'د'], - STANDALONENARROWMONTHS: ['ي', 'ف', 'م', 'أ', 'و', 'ن', 'ل', 'غ', 'س', - 'ك', 'ب', 'د'], - MONTHS: ['كانون الثاني', 'شباط', 'آذار', 'نيسان', - 'أيار', 'حزيران', 'تموز', 'آب', 'أيلول', - 'تشرين الأول', 'تشرين الثاني', - 'كانون الأول'], - STANDALONEMONTHS: ['كانون الثاني', 'شباط', 'آذار', - 'نيسان', 'أيار', 'حزيران', 'تموز', 'آب', - 'أيلول', 'تشرين الأول', 'تشرين الثاني', - 'كانون الأول'], - SHORTMONTHS: ['كانون الثاني', 'شباط', 'آذار', 'نيسان', - 'أيار', 'حزيران', 'تموز', 'آب', 'أيلول', - 'تشرين الأول', 'تشرين الثاني', - 'كانون الأول'], - STANDALONESHORTMONTHS: ['كانون الثاني', 'شباط', 'آذار', - 'نيسان', 'أيار', 'حزيران', 'تموز', 'آب', - 'أيلول', 'تشرين الأول', 'تشرين الثاني', - 'كانون الأول'], - WEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', - 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - STANDALONEWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', - 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - SHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', - 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - STANDALONESHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', - 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + NARROWMONTHS: ['ك', 'ش', 'آ', 'ن', 'أ', 'ح', 'ت', 'آ', 'أ', 'ت', 'ت', 'ك'], + STANDALONENARROWMONTHS: ['ك', 'ش', 'آ', 'ن', 'أ', 'ح', 'ت', 'آ', 'أ', 'ت', 'ت', 'ك'], + MONTHS: ['كانون الثاني', 'شباط', 'آذار', 'نيسان', 'أيار', 'حزيران', 'تموز', 'آب', 'أيلول', 'تشرين الأول', 'تشرين الثاني', 'كانون الأول'], + STANDALONEMONTHS: ['كانون الثاني', 'شباط', 'آذار', 'نيسان', 'أيار', 'حزيران', 'تموز', 'آب', 'أيلول', 'تشرين الأول', 'تشرين الثاني', 'كانون الأول'], + SHORTMONTHS: ['كانون الثاني', 'شباط', 'آذار', 'نيسان', 'أيار', 'حزيران', 'تموز', 'آب', 'أيلول', 'تشرين الأول', 'تشرين الثاني', 'كانون الأول'], + STANDALONESHORTMONTHS: ['كانون الثاني', 'شباط', 'آذار', 'نيسان', 'أيار', 'حزيران', 'تموز', 'آب', 'أيلول', 'تشرين الأول', 'تشرين الثاني', 'كانون الأول'], + WEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + STANDALONEWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + SHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + STANDALONESHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], NARROWWEEKDAYS: ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'], STANDALONENARROWWEEKDAYS: ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'], - SHORTQUARTERS: ['الربع الأول', 'الربع الثاني', - 'الربع الثالث', 'الربع الرابع'], - QUARTERS: ['الربع الأول', 'الربع الثاني', - 'الربع الثالث', 'الربع الرابع'], + SHORTQUARTERS: ['الربع الأول', 'الربع الثاني', 'الربع الثالث', 'الربع الرابع'], + QUARTERS: ['الربع الأول', 'الربع الثاني', 'الربع الثالث', 'الربع الرابع'], AMPMS: ['ص', 'م'], - DATEFORMATS: ['EEEE، d MMMM، y', 'd MMMM، y', 'dd‏/MM‏/yyyy', - 'd‏/M‏/yyyy'], - TIMEFORMATS: ['zzzz h:mm:ss a', 'z h:mm:ss a', 'h:mm:ss a', 'h:mm a'], + DATEFORMATS: ['EEEE، d MMMM، y', 'd MMMM، y', 'dd‏/MM‏/y', 'd‏/M‏/y'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 5, WEEKENDRANGE: [4, 5], FIRSTWEEKCUTOFFDAY: 4 }; +/** + * Date/time formatting symbols for locale ar_TD. + */ +goog.i18n.DateTimeSymbols_ar_TD = { + ZERODIGIT: 0x0660, + ERAS: ['ق.م', 'م'], + ERANAMES: ['قبل الميلاد', 'ميلادي'], + NARROWMONTHS: ['ي', 'ف', 'م', 'أ', 'و', 'ن', 'ل', 'غ', 'س', 'ك', 'ب', 'د'], + STANDALONENARROWMONTHS: ['ي', 'ف', 'م', 'أ', 'و', 'ن', 'ل', 'غ', 'س', 'ك', 'ب', 'د'], + MONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], + STANDALONEMONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], + SHORTMONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], + STANDALONESHORTMONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], + WEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + STANDALONEWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + SHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + STANDALONESHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + NARROWWEEKDAYS: ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'], + STANDALONENARROWWEEKDAYS: ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'], + SHORTQUARTERS: ['الربع الأول', 'الربع الثاني', 'الربع الثالث', 'الربع الرابع'], + QUARTERS: ['الربع الأول', 'الربع الثاني', 'الربع الثالث', 'الربع الرابع'], + AMPMS: ['ص', 'م'], + DATEFORMATS: ['EEEE، d MMMM، y', 'd MMMM، y', 'dd‏/MM‏/y', 'd‏/M‏/y'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + /** * Date/time formatting symbols for locale ar_TN. */ goog.i18n.DateTimeSymbols_ar_TN = { ERAS: ['ق.م', 'م'], ERANAMES: ['قبل الميلاد', 'ميلادي'], - NARROWMONTHS: ['ي', 'ف', 'م', 'أ', 'و', 'ن', 'ل', 'غ', 'س', 'ك', - 'ب', 'د'], - STANDALONENARROWMONTHS: ['ي', 'ف', 'م', 'أ', 'و', 'ن', 'ل', 'غ', 'س', - 'ك', 'ب', 'د'], - MONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', - 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', - 'نوفمبر', 'ديسمبر'], - STANDALONEMONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', - 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', - 'أكتوبر', 'نوفمبر', 'ديسمبر'], - SHORTMONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', - 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', - 'أكتوبر', 'نوفمبر', 'ديسمبر'], - STANDALONESHORTMONTHS: ['يناير', 'فبراير', 'مارس', - 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', - 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], - WEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', - 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - STANDALONEWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', - 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - SHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', - 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - STANDALONESHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', - 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + NARROWMONTHS: ['ج', 'ف', 'م', 'أ', 'م', 'ج', 'ج', 'أ', 'س', 'أ', 'ن', 'د'], + STANDALONENARROWMONTHS: ['ج', 'ف', 'م', 'أ', 'م', 'ج', 'ج', 'أ', 'س', 'أ', 'ن', 'د'], + MONTHS: ['جانفي', 'فيفري', 'مارس', 'أفريل', 'ماي', 'جوان', 'جويلية', 'أوت', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], + STANDALONEMONTHS: ['جانفي', 'فيفري', 'مارس', 'أفريل', 'ماي', 'جوان', 'جويلية', 'أوت', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], + SHORTMONTHS: ['جانفي', 'فيفري', 'مارس', 'أفريل', 'ماي', 'جوان', 'جويلية', 'أوت', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], + STANDALONESHORTMONTHS: ['جانفي', 'فيفري', 'مارس', 'أفريل', 'ماي', 'جوان', 'جويلية', 'أوت', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], + WEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + STANDALONEWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + SHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + STANDALONESHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], NARROWWEEKDAYS: ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'], STANDALONENARROWWEEKDAYS: ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'], - SHORTQUARTERS: ['الربع الأول', 'الربع الثاني', - 'الربع الثالث', 'الربع الرابع'], - QUARTERS: ['الربع الأول', 'الربع الثاني', - 'الربع الثالث', 'الربع الرابع'], + SHORTQUARTERS: ['الربع الأول', 'الربع الثاني', 'الربع الثالث', 'الربع الرابع'], + QUARTERS: ['الربع الأول', 'الربع الثاني', 'الربع الثالث', 'الربع الرابع'], AMPMS: ['ص', 'م'], - DATEFORMATS: ['EEEE، d MMMM، y', 'd MMMM، y', 'yyyy/MM/dd', 'yyyy/M/d'], - TIMEFORMATS: ['zzzz h:mm:ss a', 'z h:mm:ss a', 'h:mm:ss a', 'h:mm a'], + DATEFORMATS: ['EEEE، d MMMM، y', 'd MMMM، y', 'dd‏/MM‏/y', 'd‏/M‏/y'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 6, WEEKENDRANGE: [4, 5], FIRSTWEEKCUTOFFDAY: 5 }; +/** + * Date/time formatting symbols for locale ar_XB. + */ +goog.i18n.DateTimeSymbols_ar_XB = { + ERAS: ['؜‮BC‬؜', '؜‮AD‬؜'], + ERANAMES: ['؜‮Before‬؜ ؜‮Christ‬؜', '؜‮Anno‬؜ ؜‮Domini‬؜'], + NARROWMONTHS: ['ي', 'ف', 'م', 'أ', 'و', 'ن', 'ل', 'غ', 'س', 'ك', 'ب', 'د'], + STANDALONENARROWMONTHS: ['ي', 'ف', 'م', 'أ', 'و', 'ن', 'ل', 'غ', 'س', 'ك', 'ب', 'د'], + MONTHS: ['؜‮January‬؜', '؜‮February‬؜', '؜‮March‬؜', '؜‮April‬؜', '؜‮May‬؜', '؜‮June‬؜', '؜‮July‬؜', '؜‮August‬؜', '؜‮September‬؜', '؜‮October‬؜', '؜‮November‬؜', '؜‮December‬؜'], + STANDALONEMONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], + SHORTMONTHS: ['؜‮Jan‬؜', '؜‮Feb‬؜', '؜‮Mar‬؜', '؜‮Apr‬؜', '؜‮May‬؜', '؜‮Jun‬؜', '؜‮Jul‬؜', '؜‮Aug‬؜', '؜‮Sep‬؜', '؜‮Oct‬؜', '؜‮Nov‬؜', '؜‮Dec‬؜'], + STANDALONESHORTMONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], + WEEKDAYS: ['؜‮Sunday‬؜', '؜‮Monday‬؜', '؜‮Tuesday‬؜', '؜‮Wednesday‬؜', '؜‮Thursday‬؜', '؜‮Friday‬؜', '؜‮Saturday‬؜'], + STANDALONEWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + SHORTWEEKDAYS: ['؜‮Sun‬؜', '؜‮Mon‬؜', '؜‮Tue‬؜', '؜‮Wed‬؜', '؜‮Thu‬؜', '؜‮Fri‬؜', '؜‮Sat‬؜'], + STANDALONESHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + NARROWWEEKDAYS: ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'], + STANDALONENARROWWEEKDAYS: ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'], + SHORTQUARTERS: ['؜‮Q‬؜1', '؜‮Q‬؜2', '؜‮Q‬؜3', '؜‮Q‬؜4'], + QUARTERS: ['1؜‮st‬؜ ؜‮quarter‬؜', '2؜‮nd‬؜ ؜‮quarter‬؜', '3؜‮rd‬؜ ؜‮quarter‬؜', '4؜‮th‬؜ ؜‮quarter‬؜'], + AMPMS: ['؜‮AM‬؜', '؜‮PM‬؜'], + DATEFORMATS: ['EEEE، d MMMM، y', 'd MMMM، y', 'dd‏/MM‏/y', 'd‏/M‏/y'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} \'؜‮at‬؜\' {0}', '{1} \'؜‮at‬؜\' {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + /** * Date/time formatting symbols for locale ar_YE. */ @@ -1573,43 +1420,27 @@ goog.i18n.DateTimeSymbols_ar_YE = { ZERODIGIT: 0x0660, ERAS: ['ق.م', 'م'], ERANAMES: ['قبل الميلاد', 'ميلادي'], - NARROWMONTHS: ['ي', 'ف', 'م', 'أ', 'و', 'ن', 'ل', 'غ', 'س', 'ك', - 'ب', 'د'], - STANDALONENARROWMONTHS: ['ي', 'ف', 'م', 'أ', 'و', 'ن', 'ل', 'غ', 'س', - 'ك', 'ب', 'د'], - MONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', - 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', - 'نوفمبر', 'ديسمبر'], - STANDALONEMONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', - 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', - 'أكتوبر', 'نوفمبر', 'ديسمبر'], - SHORTMONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', - 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', - 'أكتوبر', 'نوفمبر', 'ديسمبر'], - STANDALONESHORTMONTHS: ['يناير', 'فبراير', 'مارس', - 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', - 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], - WEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', - 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - STANDALONEWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', - 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - SHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', - 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - STANDALONESHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', - 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + NARROWMONTHS: ['ي', 'ف', 'م', 'أ', 'و', 'ن', 'ل', 'غ', 'س', 'ك', 'ب', 'د'], + STANDALONENARROWMONTHS: ['ي', 'ف', 'م', 'أ', 'و', 'ن', 'ل', 'غ', 'س', 'ك', 'ب', 'د'], + MONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], + STANDALONEMONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], + SHORTMONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], + STANDALONESHORTMONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], + WEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + STANDALONEWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + SHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + STANDALONESHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], NARROWWEEKDAYS: ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'], STANDALONENARROWWEEKDAYS: ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'], - SHORTQUARTERS: ['الربع الأول', 'الربع الثاني', - 'الربع الثالث', 'الربع الرابع'], - QUARTERS: ['الربع الأول', 'الربع الثاني', - 'الربع الثالث', 'الربع الرابع'], + SHORTQUARTERS: ['الربع الأول', 'الربع الثاني', 'الربع الثالث', 'الربع الرابع'], + QUARTERS: ['الربع الأول', 'الربع الثاني', 'الربع الثالث', 'الربع الرابع'], AMPMS: ['ص', 'م'], - DATEFORMATS: ['EEEE، d MMMM، y', 'd MMMM، y', 'dd‏/MM‏/yyyy', - 'd‏/M‏/yyyy'], - TIMEFORMATS: ['zzzz h:mm:ss a', 'z h:mm:ss a', 'h:mm:ss a', 'h:mm a'], - FIRSTDAYOFWEEK: 5, - WEEKENDRANGE: [3, 4], - FIRSTWEEKCUTOFFDAY: 4 + DATEFORMATS: ['EEEE، d MMMM، y', 'd MMMM، y', 'dd‏/MM‏/y', 'd‏/M‏/y'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 6, + WEEKENDRANGE: [4, 5], + FIRSTWEEKCUTOFFDAY: 5 }; @@ -1621,50 +1452,23 @@ goog.i18n.DateTimeSymbols_as = { ERAS: ['BCE', 'CE'], ERANAMES: ['BCE', 'CE'], NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], - STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', - '11', '12'], - MONTHS: ['জানুৱাৰী', 'ফেব্ৰুৱাৰী', - 'মাৰ্চ', 'এপ্ৰিল', 'মে', 'জুন', - 'জুলাই', 'আগষ্ট', 'ছেপ্তেম্বৰ', - 'অক্টোবৰ', 'নৱেম্বৰ', - 'ডিচেম্বৰ'], - STANDALONEMONTHS: ['জানুৱাৰী', - 'ফেব্ৰুৱাৰী', 'মাৰ্চ', 'এপ্ৰিল', - 'মে', 'জুন', 'জুলাই', 'আগষ্ট', - 'ছেপ্তেম্বৰ', 'অক্টোবৰ', - 'নৱেম্বৰ', 'ডিচেম্বৰ'], - SHORTMONTHS: ['জানু', 'ফেব্ৰু', 'মাৰ্চ', - 'এপ্ৰিল', 'মে', 'জুন', 'জুলাই', 'আগ', - 'সেপ্ট', 'অক্টো', 'নভে', 'ডিসে'], - STANDALONESHORTMONTHS: ['জানু', 'ফেব্ৰু', - 'মাৰ্চ', 'এপ্ৰিল', 'মে', 'জুন', - 'জুলাই', 'আগ', 'সেপ্ট', 'অক্টো', - 'নভে', 'ডিসে'], - WEEKDAYS: ['দেওবাৰ', 'সোমবাৰ', - 'মঙ্গলবাৰ', 'বুধবাৰ', - 'বৃহষ্পতিবাৰ', 'শুক্ৰবাৰ', - 'শনিবাৰ'], - STANDALONEWEEKDAYS: ['দেওবাৰ', 'সোমবাৰ', - 'মঙ্গলবাৰ', 'বুধবাৰ', - 'বৃহষ্পতিবাৰ', 'শুক্ৰবাৰ', - 'শনিবাৰ'], - SHORTWEEKDAYS: ['ৰবি', 'সোম', 'মঙ্গল', 'বুধ', - 'বৃহষ্পতি', 'শুক্ৰ', 'শনি'], - STANDALONESHORTWEEKDAYS: ['ৰবি', 'সোম', 'মঙ্গল', - 'বুধ', 'বৃহষ্পতি', 'শুক্ৰ', 'শনি'], - NARROWWEEKDAYS: ['1', '2', '3', '4', '5', '6', '7'], - STANDALONENARROWWEEKDAYS: ['1', '2', '3', '4', '5', '6', '7'], - SHORTQUARTERS: ['প্ৰথম প্ৰহৰ', - 'দ্বিতীয় প্ৰহৰ', - 'তৃতীয় প্ৰহৰ', - 'চতুৰ্থ প্ৰহৰ'], - QUARTERS: ['প্ৰথম প্ৰহৰ', - 'দ্বিতীয় প্ৰহৰ', - 'তৃতীয় প্ৰহৰ', - 'চতুৰ্থ প্ৰহৰ'], + STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + MONTHS: ['জানুৱাৰী', 'ফেব্ৰুৱাৰী', 'মাৰ্চ', 'এপ্ৰিল', 'মে', 'জুন', 'জুলাই', 'আগষ্ট', 'ছেপ্তেম্বৰ', 'অক্টোবৰ', 'নৱেম্বৰ', 'ডিচেম্বৰ'], + STANDALONEMONTHS: ['জানুৱাৰী', 'ফেব্ৰুৱাৰী', 'মাৰ্চ', 'এপ্ৰিল', 'মে', 'জুন', 'জুলাই', 'আগষ্ট', 'ছেপ্তেম্বৰ', 'অক্টোবৰ', 'নৱেম্বৰ', 'ডিচেম্বৰ'], + SHORTMONTHS: ['জানু', 'ফেব্ৰু', 'মাৰ্চ', 'এপ্ৰিল', 'মে', 'জুন', 'জুলাই', 'আগ', 'সেপ্ট', 'অক্টো', 'নভে', 'ডিসে'], + STANDALONESHORTMONTHS: ['জানু', 'ফেব্ৰু', 'মাৰ্চ', 'এপ্ৰিল', 'মে', 'জুন', 'জুলাই', 'আগ', 'সেপ্ট', 'অক্টো', 'নভে', 'ডিসে'], + WEEKDAYS: ['দেওবাৰ', 'সোমবাৰ', 'মঙ্গলবাৰ', 'বুধবাৰ', 'বৃহষ্পতিবাৰ', 'শুক্ৰবাৰ', 'শনিবাৰ'], + STANDALONEWEEKDAYS: ['দেওবাৰ', 'সোমবাৰ', 'মঙ্গলবাৰ', 'বুধবাৰ', 'বৃহষ্পতিবাৰ', 'শুক্ৰবাৰ', 'শনিবাৰ'], + SHORTWEEKDAYS: ['ৰবি', 'সোম', 'মঙ্গল', 'বুধ', 'বৃহষ্পতি', 'শুক্ৰ', 'শনি'], + STANDALONESHORTWEEKDAYS: ['ৰবি', 'সোম', 'মঙ্গল', 'বুধ', 'বৃহষ্পতি', 'শুক্ৰ', 'শনি'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['প্ৰথম প্ৰহৰ', 'দ্বিতীয় প্ৰহৰ', 'তৃতীয় প্ৰহৰ', 'চতুৰ্থ প্ৰহৰ'], + QUARTERS: ['প্ৰথম প্ৰহৰ', 'দ্বিতীয় প্ৰহৰ', 'তৃতীয় প্ৰহৰ', 'চতুৰ্থ প্ৰহৰ'], AMPMS: ['পূৰ্বাহ্ণ', 'অপৰাহ্ণ'], - DATEFORMATS: ['EEEE, d MMMM, y', 'd MMMM, y', 'dd-MM-yyyy', 'd-M-yyyy'], - TIMEFORMATS: ['h.mm.ss a zzzz', 'h.mm.ss a z', 'h.mm.ss a', 'h.mm. a'], + DATEFORMATS: ['y MMMM d, EEEE', 'y MMMM d', 'y MMM d', 'y-MM-dd'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 6, WEEKENDRANGE: [6, 6], FIRSTWEEKCUTOFFDAY: 5 @@ -1684,20 +1488,13 @@ goog.i18n.DateTimeSymbols_asa = { ERAS: ['KM', 'BM'], ERANAMES: ['Kabla yakwe Yethu', 'Baada yakwe Yethu'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['Januari', 'Februari', 'Machi', 'Aprili', 'Mei', 'Juni', 'Julai', - 'Agosti', 'Septemba', 'Oktoba', 'Novemba', 'Desemba'], - STANDALONEMONTHS: ['Januari', 'Februari', 'Machi', 'Aprili', 'Mei', 'Juni', - 'Julai', 'Agosti', 'Septemba', 'Oktoba', 'Novemba', 'Desemba'], - SHORTMONTHS: ['Jan', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Jul', 'Ago', 'Sep', - 'Okt', 'Nov', 'Dec'], - STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Jul', - 'Ago', 'Sep', 'Okt', 'Nov', 'Dec'], - WEEKDAYS: ['Jumapili', 'Jumatatu', 'Jumanne', 'Jumatano', 'Alhamisi', - 'Ijumaa', 'Jumamosi'], - STANDALONEWEEKDAYS: ['Jumapili', 'Jumatatu', 'Jumanne', 'Jumatano', - 'Alhamisi', 'Ijumaa', 'Jumamosi'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['Januari', 'Februari', 'Machi', 'Aprili', 'Mei', 'Juni', 'Julai', 'Agosti', 'Septemba', 'Oktoba', 'Novemba', 'Desemba'], + STANDALONEMONTHS: ['Januari', 'Februari', 'Machi', 'Aprili', 'Mei', 'Juni', 'Julai', 'Agosti', 'Septemba', 'Oktoba', 'Novemba', 'Desemba'], + SHORTMONTHS: ['Jan', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Jul', 'Ago', 'Sep', 'Okt', 'Nov', 'Dec'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Jul', 'Ago', 'Sep', 'Okt', 'Nov', 'Dec'], + WEEKDAYS: ['Jumapili', 'Jumatatu', 'Jumanne', 'Jumatano', 'Alhamisi', 'Ijumaa', 'Jumamosi'], + STANDALONEWEEKDAYS: ['Jumapili', 'Jumatatu', 'Jumanne', 'Jumatano', 'Alhamisi', 'Ijumaa', 'Jumamosi'], SHORTWEEKDAYS: ['Jpi', 'Jtt', 'Jnn', 'Jtn', 'Alh', 'Ijm', 'Jmo'], STANDALONESHORTWEEKDAYS: ['Jpi', 'Jtt', 'Jnn', 'Jtn', 'Alh', 'Ijm', 'Jmo'], NARROWWEEKDAYS: ['J', 'J', 'J', 'J', 'A', 'I', 'J'], @@ -1705,8 +1502,9 @@ goog.i18n.DateTimeSymbols_asa = { SHORTQUARTERS: ['R1', 'R2', 'R3', 'R4'], QUARTERS: ['Robo 1', 'Robo 2', 'Robo 3', 'Robo 4'], AMPMS: ['icheheavo', 'ichamthi'], - DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yyyy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -1720,75 +1518,65 @@ goog.i18n.DateTimeSymbols_asa_TZ = goog.i18n.DateTimeSymbols_asa; /** - * Date/time formatting symbols for locale az. + * Date/time formatting symbols for locale ast. */ -goog.i18n.DateTimeSymbols_az = { - ERAS: ['e.ə.', 'b.e.'], - ERANAMES: ['eramızdan əvvəl', 'bizim eramızın'], - NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], - STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', - '11', '12'], - MONTHS: ['Yanvar', 'Fevral', 'Mart', 'Aprel', 'May', 'İyun', 'İyul', - 'Avqust', 'Sentyabr', 'Oktyabr', 'Noyabr', 'Dekabr'], - STANDALONEMONTHS: ['Yanvar', 'Fevral', 'Mart', 'Aprel', 'May', 'İyun', - 'İyul', 'Avqust', 'Sentyabr', 'Oktyabr', 'Noyabr', 'Dekabr'], - SHORTMONTHS: ['yan', 'fev', 'mar', 'apr', 'may', 'iyn', 'iyl', 'avq', 'sen', - 'okt', 'noy', 'dek'], - STANDALONESHORTMONTHS: ['yan', 'fev', 'mar', 'apr', 'may', 'iyn', 'iyl', - 'avq', 'sen', 'okt', 'noy', 'dek'], - WEEKDAYS: ['bazar', 'bazar ertəsi', 'çərşənbə axşamı', - 'çərşənbə', 'cümə axşamı', 'cümə', 'şənbə'], - STANDALONEWEEKDAYS: ['bazar', 'bazar ertəsi', 'çərşənbə axşamı', - 'çərşənbə', 'cümə axşamı', 'cümə', 'şənbə'], - SHORTWEEKDAYS: ['B.', 'B.E.', 'Ç.A.', 'Ç.', 'C.A.', 'C', 'Ş.'], - STANDALONESHORTWEEKDAYS: ['B.', 'B.E.', 'Ç.A.', 'Ç.', 'C.A.', 'C', 'Ş.'], - NARROWWEEKDAYS: ['7', '1', '2', '3', '4', '5', '6'], - STANDALONENARROWWEEKDAYS: ['7', '1', '2', '3', '4', '5', '6'], - SHORTQUARTERS: ['1-ci kv.', '2-ci kv.', '3-cü kv.', '4-cü kv.'], - QUARTERS: ['1-ci kvartal', '2-ci kvartal', '3-cü kvartal', '4-cü kvartal'], - AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE, d, MMMM, y', 'd MMMM , y', 'd MMM, y', 'yy/MM/dd'], +goog.i18n.DateTimeSymbols_ast = { + ERAS: ['e.C.', 'd.C.'], + ERANAMES: ['enantes de Cristu', 'después de Cristu'], + NARROWMONTHS: ['X', 'F', 'M', 'A', 'M', 'X', 'X', 'A', 'S', 'O', 'P', 'A'], + STANDALONENARROWMONTHS: ['X', 'F', 'M', 'A', 'M', 'X', 'X', 'A', 'S', 'O', 'P', 'A'], + MONTHS: ['de xineru', 'de febreru', 'de marzu', 'd’abril', 'de mayu', 'de xunu', 'de xunetu', 'd’agostu', 'de setiembre', 'd’ochobre', 'de payares', 'd’avientu'], + STANDALONEMONTHS: ['xineru', 'febreru', 'marzu', 'abril', 'mayu', 'xunu', 'xunetu', 'agostu', 'setiembre', 'ochobre', 'payares', 'avientu'], + SHORTMONTHS: ['xin', 'feb', 'mar', 'abr', 'may', 'xun', 'xnt', 'ago', 'set', 'och', 'pay', 'avi'], + STANDALONESHORTMONTHS: ['Xin', 'Feb', 'Mar', 'Abr', 'May', 'Xun', 'Xnt', 'Ago', 'Set', 'Och', 'Pay', 'Avi'], + WEEKDAYS: ['domingu', 'llunes', 'martes', 'miércoles', 'xueves', 'vienres', 'sábadu'], + STANDALONEWEEKDAYS: ['domingu', 'llunes', 'martes', 'miércoles', 'xueves', 'vienres', 'sábadu'], + SHORTWEEKDAYS: ['dom', 'llu', 'mar', 'mié', 'xue', 'vie', 'sáb'], + STANDALONESHORTWEEKDAYS: ['dom', 'llu', 'mar', 'mié', 'xue', 'vie', 'sáb'], + NARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'X', 'V', 'S'], + STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'X', 'V', 'S'], + SHORTQUARTERS: ['1T', '2T', '3T', '4T'], + QUARTERS: ['1er trimestre', '2u trimestre', '3er trimestre', '4u trimestre'], + AMPMS: ['de la mañana', 'de la tarde'], + DATEFORMATS: ['EEEE, d MMMM \'de\' y', 'd MMMM \'de\' y', 'd MMM y', 'd/M/yy'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'a\' \'les\' {0}', '{1} \'a\' \'les\' {0}', '{1}, {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 6 + FIRSTWEEKCUTOFFDAY: 3 }; +/** + * Date/time formatting symbols for locale ast_ES. + */ +goog.i18n.DateTimeSymbols_ast_ES = goog.i18n.DateTimeSymbols_ast; + + /** * Date/time formatting symbols for locale az_Cyrl. */ goog.i18n.DateTimeSymbols_az_Cyrl = { - ERAS: ['e.ə.', 'b.e.'], - ERANAMES: ['eramızdan əvvəl', 'bizim eramızın'], + ERAS: ['е.ә.', 'ј.е.'], + ERANAMES: ['ерамыздан әввәл', 'јени ера'], NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], - STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', - '11', '12'], - MONTHS: ['јанвар', 'феврал', 'март', 'апрел', 'май', - 'ијун', 'ијул', 'август', 'сентјабр', - 'октјабр', 'нојабр', 'декабр'], - STANDALONEMONTHS: ['јанвар', 'феврал', 'март', 'апрел', - 'май', 'ијун', 'ијул', 'август', 'сентјабр', - 'октјабр', 'нојабр', 'декабр'], - SHORTMONTHS: ['yan', 'fev', 'mar', 'apr', 'may', 'iyn', 'iyl', 'avq', 'sen', - 'okt', 'noy', 'dek'], - STANDALONESHORTMONTHS: ['yan', 'fev', 'mar', 'apr', 'may', 'iyn', 'iyl', - 'avq', 'sen', 'okt', 'noy', 'dek'], - WEEKDAYS: ['базар', 'базар ертәси', - 'чәршәнбә ахшамы', 'чәршәнбә', - 'ҹүмә ахшамы', 'ҹүмә', 'шәнбә'], - STANDALONEWEEKDAYS: ['базар', 'базар ертәси', - 'чәршәнбә ахшамы', 'чәршәнбә', - 'ҹүмә ахшамы', 'ҹүмә', 'шәнбә'], - SHORTWEEKDAYS: ['B.', 'B.E.', 'Ç.A.', 'Ç.', 'C.A.', 'C', 'Ş.'], - STANDALONESHORTWEEKDAYS: ['B.', 'B.E.', 'Ç.A.', 'Ç.', 'C.A.', 'C', 'Ş.'], + STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + MONTHS: ['јанвар', 'феврал', 'март', 'апрел', 'май', 'ијун', 'ијул', 'август', 'сентјабр', 'октјабр', 'нојабр', 'декабр'], + STANDALONEMONTHS: ['Јанвар', 'Феврал', 'Март', 'Апрел', 'Май', 'Ијун', 'Ијул', 'Август', 'Сентјабр', 'Октјабр', 'Нојабр', 'Декабр'], + SHORTMONTHS: ['јан', 'фев', 'мар', 'апр', 'май', 'ијн', 'ијл', 'авг', 'сен', 'окт', 'ној', 'дек'], + STANDALONESHORTMONTHS: ['јан', 'фев', 'мар', 'апр', 'май', 'ијн', 'ијл', 'авг', 'сен', 'окт', 'ној', 'дек'], + WEEKDAYS: ['базар', 'базар ертәси', 'чәршәнбә ахшамы', 'чәршәнбә', 'ҹүмә ахшамы', 'ҹүмә', 'шәнбә'], + STANDALONEWEEKDAYS: ['базар', 'базар ертәси', 'чәршәнбә ахшамы', 'чәршәнбә', 'ҹүмә ахшамы', 'ҹүмә', 'шәнбә'], + SHORTWEEKDAYS: ['Б.', 'Б.Е.', 'Ч.А.', 'Ч.', 'Ҹ.А.', 'Ҹ.', 'Ш.'], + STANDALONESHORTWEEKDAYS: ['Б.', 'Б.Е.', 'Ч.А.', 'Ч.', 'Ҹ.А.', 'Ҹ.', 'Ш.'], NARROWWEEKDAYS: ['7', '1', '2', '3', '4', '5', '6'], STANDALONENARROWWEEKDAYS: ['7', '1', '2', '3', '4', '5', '6'], - SHORTQUARTERS: ['1-ci kv.', '2-ci kv.', '3-cü kv.', '4-cü kv.'], - QUARTERS: ['1-ci kvartal', '2-ci kvartal', '3-cü kvartal', '4-cü kvartal'], - AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE, d, MMMM, y', 'd MMMM , y', 'd MMM, y', 'yy/MM/dd'], + SHORTQUARTERS: ['1-ҹи кв.', '2-ҹи кв.', '3-ҹү кв.', '4-ҹү кв.'], + QUARTERS: ['1-ҹи квартал', '2-ҹи квартал', '3-ҹү квартал', '4-ҹү квартал'], + AMPMS: ['АМ', 'ПМ'], + DATEFORMATS: ['d MMMM y, EEEE', 'd MMMM y', 'd MMM y', 'dd.MM.yy'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -1798,10 +1586,34 @@ goog.i18n.DateTimeSymbols_az_Cyrl = { /** * Date/time formatting symbols for locale az_Cyrl_AZ. */ -goog.i18n.DateTimeSymbols_az_Cyrl_AZ = goog.i18n.DateTimeSymbols_az_Cyrl; - - -/** +goog.i18n.DateTimeSymbols_az_Cyrl_AZ = { + ERAS: ['е.ә.', 'ј.е.'], + ERANAMES: ['ерамыздан әввәл', 'јени ера'], + NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + MONTHS: ['јанвар', 'феврал', 'март', 'апрел', 'май', 'ијун', 'ијул', 'август', 'сентјабр', 'октјабр', 'нојабр', 'декабр'], + STANDALONEMONTHS: ['Јанвар', 'Феврал', 'Март', 'Апрел', 'Май', 'Ијун', 'Ијул', 'Август', 'Сентјабр', 'Октјабр', 'Нојабр', 'Декабр'], + SHORTMONTHS: ['јан', 'фев', 'мар', 'апр', 'май', 'ијн', 'ијл', 'авг', 'сен', 'окт', 'ној', 'дек'], + STANDALONESHORTMONTHS: ['јан', 'фев', 'мар', 'апр', 'май', 'ијн', 'ијл', 'авг', 'сен', 'окт', 'ној', 'дек'], + WEEKDAYS: ['базар', 'базар ертәси', 'чәршәнбә ахшамы', 'чәршәнбә', 'ҹүмә ахшамы', 'ҹүмә', 'шәнбә'], + STANDALONEWEEKDAYS: ['базар', 'базар ертәси', 'чәршәнбә ахшамы', 'чәршәнбә', 'ҹүмә ахшамы', 'ҹүмә', 'шәнбә'], + SHORTWEEKDAYS: ['Б.', 'Б.Е.', 'Ч.А.', 'Ч.', 'Ҹ.А.', 'Ҹ.', 'Ш.'], + STANDALONESHORTWEEKDAYS: ['Б.', 'Б.Е.', 'Ч.А.', 'Ч.', 'Ҹ.А.', 'Ҹ.', 'Ш.'], + NARROWWEEKDAYS: ['7', '1', '2', '3', '4', '5', '6'], + STANDALONENARROWWEEKDAYS: ['7', '1', '2', '3', '4', '5', '6'], + SHORTQUARTERS: ['1-ҹи кв.', '2-ҹи кв.', '3-ҹү кв.', '4-ҹү кв.'], + QUARTERS: ['1-ҹи квартал', '2-ҹи квартал', '3-ҹү квартал', '4-ҹү квартал'], + AMPMS: ['АМ', 'ПМ'], + DATEFORMATS: ['d MMMM y, EEEE', 'd MMMM y', 'd MMM y', 'dd.MM.yy'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** * Date/time formatting symbols for locale az_Latn. */ goog.i18n.DateTimeSymbols_az_Latn = goog.i18n.DateTimeSymbols_az; @@ -1820,33 +1632,23 @@ goog.i18n.DateTimeSymbols_bas = { ERAS: ['b.Y.K', 'm.Y.K'], ERANAMES: ['bisū bi Yesù Krǐstò', 'i mbūs Yesù Krǐstò'], NARROWMONTHS: ['k', 'm', 'm', 'm', 'm', 'h', 'n', 'h', 'd', 'b', 'm', 'l'], - STANDALONENARROWMONTHS: ['k', 'm', 'm', 'm', 'm', 'h', 'n', 'h', 'd', 'b', - 'm', 'l'], - MONTHS: ['Kɔndɔŋ', 'Màcɛ̂l', 'Màtùmb', 'Màtop', 'M̀puyɛ', - 'Hìlòndɛ̀', 'Njèbà', 'Hìkaŋ', 'Dìpɔ̀s', 'Bìòôm', - 'Màyɛsèp', 'Lìbuy li ńyèe'], - STANDALONEMONTHS: ['Kɔndɔŋ', 'Màcɛ̂l', 'Màtùmb', 'Màtop', 'M̀puyɛ', - 'Hìlòndɛ̀', 'Njèbà', 'Hìkaŋ', 'Dìpɔ̀s', 'Bìòôm', - 'Màyɛsèp', 'Lìbuy li ńyèe'], - SHORTMONTHS: ['kɔn', 'mac', 'mat', 'mto', 'mpu', 'hil', 'nje', 'hik', 'dip', - 'bio', 'may', 'liɓ'], - STANDALONESHORTMONTHS: ['kɔn', 'mac', 'mat', 'mto', 'mpu', 'hil', 'nje', - 'hik', 'dip', 'bio', 'may', 'liɓ'], - WEEKDAYS: ['ŋgwà nɔ̂y', 'ŋgwà njaŋgumba', 'ŋgwà ûm', 'ŋgwà ŋgê', - 'ŋgwà mbɔk', 'ŋgwà kɔɔ', 'ŋgwà jôn'], - STANDALONEWEEKDAYS: ['ŋgwà nɔ̂y', 'ŋgwà njaŋgumba', 'ŋgwà ûm', - 'ŋgwà ŋgê', 'ŋgwà mbɔk', 'ŋgwà kɔɔ', 'ŋgwà jôn'], + STANDALONENARROWMONTHS: ['k', 'm', 'm', 'm', 'm', 'h', 'n', 'h', 'd', 'b', 'm', 'l'], + MONTHS: ['Kɔndɔŋ', 'Màcɛ̂l', 'Màtùmb', 'Màtop', 'M̀puyɛ', 'Hìlòndɛ̀', 'Njèbà', 'Hìkaŋ', 'Dìpɔ̀s', 'Bìòôm', 'Màyɛsèp', 'Lìbuy li ńyèe'], + STANDALONEMONTHS: ['Kɔndɔŋ', 'Màcɛ̂l', 'Màtùmb', 'Màtop', 'M̀puyɛ', 'Hìlòndɛ̀', 'Njèbà', 'Hìkaŋ', 'Dìpɔ̀s', 'Bìòôm', 'Màyɛsèp', 'Lìbuy li ńyèe'], + SHORTMONTHS: ['kɔn', 'mac', 'mat', 'mto', 'mpu', 'hil', 'nje', 'hik', 'dip', 'bio', 'may', 'liɓ'], + STANDALONESHORTMONTHS: ['kɔn', 'mac', 'mat', 'mto', 'mpu', 'hil', 'nje', 'hik', 'dip', 'bio', 'may', 'liɓ'], + WEEKDAYS: ['ŋgwà nɔ̂y', 'ŋgwà njaŋgumba', 'ŋgwà ûm', 'ŋgwà ŋgê', 'ŋgwà mbɔk', 'ŋgwà kɔɔ', 'ŋgwà jôn'], + STANDALONEWEEKDAYS: ['ŋgwà nɔ̂y', 'ŋgwà njaŋgumba', 'ŋgwà ûm', 'ŋgwà ŋgê', 'ŋgwà mbɔk', 'ŋgwà kɔɔ', 'ŋgwà jôn'], SHORTWEEKDAYS: ['nɔy', 'nja', 'uum', 'ŋge', 'mbɔ', 'kɔɔ', 'jon'], - STANDALONESHORTWEEKDAYS: ['nɔy', 'nja', 'uum', 'ŋge', 'mbɔ', 'kɔɔ', - 'jon'], + STANDALONESHORTWEEKDAYS: ['nɔy', 'nja', 'uum', 'ŋge', 'mbɔ', 'kɔɔ', 'jon'], NARROWWEEKDAYS: ['n', 'n', 'u', 'ŋ', 'm', 'k', 'j'], STANDALONENARROWWEEKDAYS: ['n', 'n', 'u', 'ŋ', 'm', 'k', 'j'], SHORTQUARTERS: ['K1s3', 'K2s3', 'K3s3', 'K4s3'], - QUARTERS: ['Kèk bisu i soŋ iaâ', 'Kèk i ńyonos biɓaà i soŋ iaâ', - 'Kèk i ńyonos biaâ i soŋ iaâ', 'Kèk i ńyonos binâ i soŋ iaâ'], + QUARTERS: ['Kèk bisu i soŋ iaâ', 'Kèk i ńyonos biɓaà i soŋ iaâ', 'Kèk i ńyonos biaâ i soŋ iaâ', 'Kèk i ńyonos binâ i soŋ iaâ'], AMPMS: ['I bikɛ̂glà', 'I ɓugajɔp'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM, y', 'd/M/yyyy'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM, y', 'd/M/y'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -1859,51 +1661,6 @@ goog.i18n.DateTimeSymbols_bas = { goog.i18n.DateTimeSymbols_bas_CM = goog.i18n.DateTimeSymbols_bas; -/** - * Date/time formatting symbols for locale be. - */ -goog.i18n.DateTimeSymbols_be = { - ERAS: ['да н.э.', 'н.э.'], - ERANAMES: ['да н.э.', 'н.э.'], - NARROWMONTHS: ['с', 'л', 'с', 'к', 'т', 'ч', 'л', 'ж', 'в', 'к', - 'л', 'с'], - STANDALONENARROWMONTHS: ['с', 'л', 'с', 'к', 'м', 'ч', 'л', 'ж', 'в', - 'к', 'л', 'с'], - MONTHS: ['студзень', 'люты', 'сакавік', 'красавік', - 'май', 'чэрвень', 'ліпень', 'жнівень', - 'верасень', 'кастрычнік', 'лістапад', - 'снежань'], - STANDALONEMONTHS: ['студзень', 'люты', 'сакавік', - 'красавік', 'травень', 'чэрвень', 'ліпень', - 'жнівень', 'верасень', 'кастрычнік', - 'лістапад', 'снежань'], - SHORTMONTHS: ['сту', 'лют', 'сак', 'кра', 'май', 'чэр', - 'ліп', 'жні', 'вер', 'кас', 'ліс', 'сне'], - STANDALONESHORTMONTHS: ['сту', 'лют', 'сак', 'кра', 'тра', - 'чэр', 'ліп', 'жні', 'вер', 'кас', 'ліс', 'сне'], - WEEKDAYS: ['нядзеля', 'панядзелак', 'аўторак', - 'серада', 'чацвер', 'пятніца', 'субота'], - STANDALONEWEEKDAYS: ['нядзеля', 'панядзелак', - 'аўторак', 'серада', 'чацвер', 'пятніца', - 'субота'], - SHORTWEEKDAYS: ['нд', 'пн', 'аў', 'ср', 'чц', 'пт', 'сб'], - STANDALONESHORTWEEKDAYS: ['нд', 'пн', 'аў', 'ср', 'чц', 'пт', - 'сб'], - NARROWWEEKDAYS: ['н', 'п', 'а', 'с', 'ч', 'п', 'с'], - STANDALONENARROWWEEKDAYS: ['н', 'п', 'а', 'с', 'ч', 'п', 'с'], - SHORTQUARTERS: ['1-шы кв.', '2-гі кв.', '3-ці кв.', - '4-ты кв.'], - QUARTERS: ['1-шы квартал', '2-гі квартал', - '3-ці квартал', '4-ты квартал'], - AMPMS: ['да палудня', 'пасля палудня'], - DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd.M.yyyy', 'd.M.yy'], - TIMEFORMATS: ['HH.mm.ss zzzz', 'HH.mm.ss z', 'HH.mm.ss', 'HH.mm'], - FIRSTDAYOFWEEK: 6, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 5 -}; - - /** * Date/time formatting symbols for locale be_BY. */ @@ -1917,31 +1674,23 @@ goog.i18n.DateTimeSymbols_bem = { ERAS: ['BC', 'AD'], ERANAMES: ['Before Yesu', 'After Yesu'], NARROWMONTHS: ['J', 'F', 'M', 'E', 'M', 'J', 'J', 'O', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'E', 'M', 'J', 'J', 'O', 'S', 'O', - 'N', 'D'], - MONTHS: ['Januari', 'Februari', 'Machi', 'Epreo', 'Mei', 'Juni', 'Julai', - 'Ogasti', 'Septemba', 'Oktoba', 'Novemba', 'Disemba'], - STANDALONEMONTHS: ['Januari', 'Februari', 'Machi', 'Epreo', 'Mei', 'Juni', - 'Julai', 'Ogasti', 'Septemba', 'Oktoba', 'Novemba', 'Disemba'], - SHORTMONTHS: ['Jan', 'Feb', 'Mac', 'Epr', 'Mei', 'Jun', 'Jul', 'Oga', 'Sep', - 'Okt', 'Nov', 'Dis'], - STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mac', 'Epr', 'Mei', 'Jun', 'Jul', - 'Oga', 'Sep', 'Okt', 'Nov', 'Dis'], - WEEKDAYS: ['Pa Mulungu', 'Palichimo', 'Palichibuli', 'Palichitatu', - 'Palichine', 'Palichisano', 'Pachibelushi'], - STANDALONEWEEKDAYS: ['Pa Mulungu', 'Palichimo', 'Palichibuli', 'Palichitatu', - 'Palichine', 'Palichisano', 'Pachibelushi'], - SHORTWEEKDAYS: ['Pa Mulungu', 'Palichimo', 'Palichibuli', 'Palichitatu', - 'Palichine', 'Palichisano', 'Pachibelushi'], - STANDALONESHORTWEEKDAYS: ['Pa Mulungu', 'Palichimo', 'Palichibuli', - 'Palichitatu', 'Palichine', 'Palichisano', 'Pachibelushi'], - NARROWWEEKDAYS: ['1', '2', '3', '4', '5', '6', '7'], - STANDALONENARROWWEEKDAYS: ['1', '2', '3', '4', '5', '6', '7'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'E', 'M', 'J', 'J', 'O', 'S', 'O', 'N', 'D'], + MONTHS: ['Januari', 'Februari', 'Machi', 'Epreo', 'Mei', 'Juni', 'Julai', 'Ogasti', 'Septemba', 'Oktoba', 'Novemba', 'Disemba'], + STANDALONEMONTHS: ['Januari', 'Februari', 'Machi', 'Epreo', 'Mei', 'Juni', 'Julai', 'Ogasti', 'Septemba', 'Oktoba', 'Novemba', 'Disemba'], + SHORTMONTHS: ['Jan', 'Feb', 'Mac', 'Epr', 'Mei', 'Jun', 'Jul', 'Oga', 'Sep', 'Okt', 'Nov', 'Dis'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mac', 'Epr', 'Mei', 'Jun', 'Jul', 'Oga', 'Sep', 'Okt', 'Nov', 'Dis'], + WEEKDAYS: ['Pa Mulungu', 'Palichimo', 'Palichibuli', 'Palichitatu', 'Palichine', 'Palichisano', 'Pachibelushi'], + STANDALONEWEEKDAYS: ['Pa Mulungu', 'Palichimo', 'Palichibuli', 'Palichitatu', 'Palichine', 'Palichisano', 'Pachibelushi'], + SHORTWEEKDAYS: ['Pa Mulungu', 'Palichimo', 'Palichibuli', 'Palichitatu', 'Palichine', 'Palichisano', 'Pachibelushi'], + STANDALONESHORTWEEKDAYS: ['Pa Mulungu', 'Palichimo', 'Palichibuli', 'Palichitatu', 'Palichine', 'Palichisano', 'Pachibelushi'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], QUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], AMPMS: ['uluchelo', 'akasuba'], - DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yyyy'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -1961,26 +1710,13 @@ goog.i18n.DateTimeSymbols_bez = { ERAS: ['KM', 'BM'], ERANAMES: ['Kabla ya Mtwaa', 'Baada ya Mtwaa'], NARROWMONTHS: ['H', 'V', 'D', 'T', 'H', 'S', 'S', 'N', 'T', 'K', 'K', 'K'], - STANDALONENARROWMONTHS: ['H', 'V', 'D', 'T', 'H', 'S', 'S', 'N', 'T', 'K', - 'K', 'K'], - MONTHS: ['pa mwedzi gwa hutala', 'pa mwedzi gwa wuvili', - 'pa mwedzi gwa wudatu', 'pa mwedzi gwa wutai', 'pa mwedzi gwa wuhanu', - 'pa mwedzi gwa sita', 'pa mwedzi gwa saba', 'pa mwedzi gwa nane', - 'pa mwedzi gwa tisa', 'pa mwedzi gwa kumi', 'pa mwedzi gwa kumi na moja', - 'pa mwedzi gwa kumi na mbili'], - STANDALONEMONTHS: ['pa mwedzi gwa hutala', 'pa mwedzi gwa wuvili', - 'pa mwedzi gwa wudatu', 'pa mwedzi gwa wutai', 'pa mwedzi gwa wuhanu', - 'pa mwedzi gwa sita', 'pa mwedzi gwa saba', 'pa mwedzi gwa nane', - 'pa mwedzi gwa tisa', 'pa mwedzi gwa kumi', 'pa mwedzi gwa kumi na moja', - 'pa mwedzi gwa kumi na mbili'], - SHORTMONTHS: ['Hut', 'Vil', 'Dat', 'Tai', 'Han', 'Sit', 'Sab', 'Nan', 'Tis', - 'Kum', 'Kmj', 'Kmb'], - STANDALONESHORTMONTHS: ['Hut', 'Vil', 'Dat', 'Tai', 'Han', 'Sit', 'Sab', - 'Nan', 'Tis', 'Kum', 'Kmj', 'Kmb'], - WEEKDAYS: ['pa mulungu', 'pa shahuviluha', 'pa hivili', 'pa hidatu', - 'pa hitayi', 'pa hihanu', 'pa shahulembela'], - STANDALONEWEEKDAYS: ['pa mulungu', 'pa shahuviluha', 'pa hivili', 'pa hidatu', - 'pa hitayi', 'pa hihanu', 'pa shahulembela'], + STANDALONENARROWMONTHS: ['H', 'V', 'D', 'T', 'H', 'S', 'S', 'N', 'T', 'K', 'K', 'K'], + MONTHS: ['pa mwedzi gwa hutala', 'pa mwedzi gwa wuvili', 'pa mwedzi gwa wudatu', 'pa mwedzi gwa wutai', 'pa mwedzi gwa wuhanu', 'pa mwedzi gwa sita', 'pa mwedzi gwa saba', 'pa mwedzi gwa nane', 'pa mwedzi gwa tisa', 'pa mwedzi gwa kumi', 'pa mwedzi gwa kumi na moja', 'pa mwedzi gwa kumi na mbili'], + STANDALONEMONTHS: ['pa mwedzi gwa hutala', 'pa mwedzi gwa wuvili', 'pa mwedzi gwa wudatu', 'pa mwedzi gwa wutai', 'pa mwedzi gwa wuhanu', 'pa mwedzi gwa sita', 'pa mwedzi gwa saba', 'pa mwedzi gwa nane', 'pa mwedzi gwa tisa', 'pa mwedzi gwa kumi', 'pa mwedzi gwa kumi na moja', 'pa mwedzi gwa kumi na mbili'], + SHORTMONTHS: ['Hut', 'Vil', 'Dat', 'Tai', 'Han', 'Sit', 'Sab', 'Nan', 'Tis', 'Kum', 'Kmj', 'Kmb'], + STANDALONESHORTMONTHS: ['Hut', 'Vil', 'Dat', 'Tai', 'Han', 'Sit', 'Sab', 'Nan', 'Tis', 'Kum', 'Kmj', 'Kmb'], + WEEKDAYS: ['pa mulungu', 'pa shahuviluha', 'pa hivili', 'pa hidatu', 'pa hitayi', 'pa hihanu', 'pa shahulembela'], + STANDALONEWEEKDAYS: ['pa mulungu', 'pa shahuviluha', 'pa hivili', 'pa hidatu', 'pa hitayi', 'pa hihanu', 'pa shahulembela'], SHORTWEEKDAYS: ['Mul', 'Vil', 'Hiv', 'Hid', 'Hit', 'Hih', 'Lem'], STANDALONESHORTWEEKDAYS: ['Mul', 'Vil', 'Hiv', 'Hid', 'Hit', 'Hih', 'Lem'], NARROWWEEKDAYS: ['M', 'J', 'H', 'H', 'H', 'W', 'J'], @@ -1988,8 +1724,9 @@ goog.i18n.DateTimeSymbols_bez = { SHORTQUARTERS: ['L1', 'L2', 'L3', 'L4'], QUARTERS: ['Lobo 1', 'Lobo 2', 'Lobo 3', 'Lobo 4'], AMPMS: ['pamilau', 'pamunyi'], - DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yyyy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -2005,45 +1742,7 @@ goog.i18n.DateTimeSymbols_bez_TZ = goog.i18n.DateTimeSymbols_bez; /** * Date/time formatting symbols for locale bg_BG. */ -goog.i18n.DateTimeSymbols_bg_BG = { - ERAS: ['пр. н. е.', 'от н. е.'], - ERANAMES: ['пр.Хр.', 'сл.Хр.'], - NARROWMONTHS: ['я', 'ф', 'м', 'а', 'м', 'ю', 'ю', 'а', 'с', 'о', - 'н', 'д'], - STANDALONENARROWMONTHS: ['я', 'ф', 'м', 'а', 'м', 'ю', 'ю', 'а', 'с', - 'о', 'н', 'д'], - MONTHS: ['януари', 'февруари', 'март', 'април', - 'май', 'юни', 'юли', 'август', 'септември', - 'октомври', 'ноември', 'декември'], - STANDALONEMONTHS: ['януари', 'февруари', 'март', - 'април', 'май', 'юни', 'юли', 'август', - 'септември', 'октомври', 'ноември', - 'декември'], - SHORTMONTHS: ['ян.', 'февр.', 'март', 'апр.', 'май', 'юни', - 'юли', 'авг.', 'септ.', 'окт.', 'ноем.', 'дек.'], - STANDALONESHORTMONTHS: ['ян.', 'февр.', 'март', 'апр.', 'май', - 'юни', 'юли', 'авг.', 'септ.', 'окт.', 'ноем.', - 'дек.'], - WEEKDAYS: ['неделя', 'понеделник', 'вторник', - 'сряда', 'четвъртък', 'петък', 'събота'], - STANDALONEWEEKDAYS: ['неделя', 'понеделник', 'вторник', - 'сряда', 'четвъртък', 'петък', 'събота'], - SHORTWEEKDAYS: ['нд', 'пн', 'вт', 'ср', 'чт', 'пт', 'сб'], - STANDALONESHORTWEEKDAYS: ['нд', 'пн', 'вт', 'ср', 'чт', 'пт', - 'сб'], - NARROWWEEKDAYS: ['н', 'п', 'в', 'с', 'ч', 'п', 'с'], - STANDALONENARROWWEEKDAYS: ['н', 'п', 'в', 'с', 'ч', 'п', 'с'], - SHORTQUARTERS: ['I трим.', 'II трим.', 'III трим.', - 'IV трим.'], - QUARTERS: ['1-во тримесечие', '2-ро тримесечие', - '3-то тримесечие', '4-то тримесечие'], - AMPMS: ['пр. об.', 'сл. об.'], - DATEFORMATS: ['dd MMMM y, EEEE', 'dd MMMM y', 'dd.MM.yyyy', 'dd.MM.yy'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 3 -}; +goog.i18n.DateTimeSymbols_bg_BG = goog.i18n.DateTimeSymbols_bg; /** @@ -2053,30 +1752,23 @@ goog.i18n.DateTimeSymbols_bm = { ERAS: ['J.-C. ɲɛ', 'ni J.-C.'], ERANAMES: ['jezu krisiti ɲɛ', 'jezu krisiti minkɛ'], NARROWMONTHS: ['Z', 'F', 'M', 'A', 'M', 'Z', 'Z', 'U', 'S', 'Ɔ', 'N', 'D'], - STANDALONENARROWMONTHS: ['Z', 'F', 'M', 'A', 'M', 'Z', 'Z', 'U', 'S', 'Ɔ', - 'N', 'D'], - MONTHS: ['zanwuye', 'feburuye', 'marisi', 'awirili', 'mɛ', 'zuwɛn', - 'zuluye', 'uti', 'sɛtanburu', 'ɔkutɔburu', 'nowanburu', 'desanburu'], - STANDALONEMONTHS: ['zanwuye', 'feburuye', 'marisi', 'awirili', 'mɛ', - 'zuwɛn', 'zuluye', 'uti', 'sɛtanburu', 'ɔkutɔburu', 'nowanburu', - 'desanburu'], - SHORTMONTHS: ['zan', 'feb', 'nar', 'awi', 'mɛ', 'zuw', 'zul', 'uti', 'sɛt', - 'ɔku', 'now', 'des'], - STANDALONESHORTMONTHS: ['zan', 'feb', 'nar', 'awi', 'mɛ', 'zuw', 'zul', - 'uti', 'sɛt', 'ɔku', 'now', 'des'], + STANDALONENARROWMONTHS: ['Z', 'F', 'M', 'A', 'M', 'Z', 'Z', 'U', 'S', 'Ɔ', 'N', 'D'], + MONTHS: ['zanwuye', 'feburuye', 'marisi', 'awirili', 'mɛ', 'zuwɛn', 'zuluye', 'uti', 'sɛtanburu', 'ɔkutɔburu', 'nowanburu', 'desanburu'], + STANDALONEMONTHS: ['zanwuye', 'feburuye', 'marisi', 'awirili', 'mɛ', 'zuwɛn', 'zuluye', 'uti', 'sɛtanburu', 'ɔkutɔburu', 'nowanburu', 'desanburu'], + SHORTMONTHS: ['zan', 'feb', 'mar', 'awi', 'mɛ', 'zuw', 'zul', 'uti', 'sɛt', 'ɔku', 'now', 'des'], + STANDALONESHORTMONTHS: ['zan', 'feb', 'mar', 'awi', 'mɛ', 'zuw', 'zul', 'uti', 'sɛt', 'ɔku', 'now', 'des'], WEEKDAYS: ['kari', 'ntɛnɛ', 'tarata', 'araba', 'alamisa', 'juma', 'sibiri'], - STANDALONEWEEKDAYS: ['kari', 'ntɛnɛ', 'tarata', 'araba', 'alamisa', 'juma', - 'sibiri'], + STANDALONEWEEKDAYS: ['kari', 'ntɛnɛ', 'tarata', 'araba', 'alamisa', 'juma', 'sibiri'], SHORTWEEKDAYS: ['kar', 'ntɛ', 'tar', 'ara', 'ala', 'jum', 'sib'], STANDALONESHORTWEEKDAYS: ['kar', 'ntɛ', 'tar', 'ara', 'ala', 'jum', 'sib'], NARROWWEEKDAYS: ['K', 'N', 'T', 'A', 'A', 'J', 'S'], STANDALONENARROWWEEKDAYS: ['K', 'N', 'T', 'A', 'A', 'J', 'S'], SHORTQUARTERS: ['KS1', 'KS2', 'KS3', 'KS4'], - QUARTERS: ['kalo saba fɔlɔ', 'kalo saba filanan', 'kalo saba sabanan', - 'kalo saba naaninan'], + QUARTERS: ['kalo saba fɔlɔ', 'kalo saba filanan', 'kalo saba sabanan', 'kalo saba naaninan'], AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM, y', 'd/M/yyyy'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM, y', 'd/M/y'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -2092,66 +1784,7 @@ goog.i18n.DateTimeSymbols_bm_ML = goog.i18n.DateTimeSymbols_bm; /** * Date/time formatting symbols for locale bn_BD. */ -goog.i18n.DateTimeSymbols_bn_BD = { - ZERODIGIT: 0x09E6, - ERAS: ['খৃষ্টপূর্ব', 'খৃষ্টাব্দ'], - ERANAMES: ['খৃষ্টপূর্ব', 'খৃষ্টাব্দ'], - NARROWMONTHS: ['জা', 'ফে', 'মা', 'এ', 'মে', 'জুন', - 'জু', 'আ', 'সে', 'অ', 'ন', 'ডি'], - STANDALONENARROWMONTHS: ['জা', 'ফে', 'মা', 'এ', 'মে', - 'জুন', 'জু', 'আ', 'সে', 'অ', 'ন', 'ডি'], - MONTHS: ['জানুয়ারী', 'ফেব্রুয়ারী', - 'মার্চ', 'এপ্রিল', 'মে', 'জুন', - 'জুলাই', 'আগস্ট', 'সেপ্টেম্বর', - 'অক্টোবর', 'নভেম্বর', - 'ডিসেম্বর'], - STANDALONEMONTHS: ['জানুয়ারী', - 'ফেব্রুয়ারী', 'মার্চ', - 'এপ্রিল', 'মে', 'জুন', 'জুলাই', - 'আগস্ট', 'সেপ্টেম্বর', - 'অক্টোবর', 'নভেম্বর', - 'ডিসেম্বর'], - SHORTMONTHS: ['জানুয়ারী', - 'ফেব্রুয়ারী', 'মার্চ', - 'এপ্রিল', 'মে', 'জুন', 'জুলাই', - 'আগস্ট', 'সেপ্টেম্বর', - 'অক্টোবর', 'নভেম্বর', - 'ডিসেম্বর'], - STANDALONESHORTMONTHS: ['জানুয়ারী', - 'ফেব্রুয়ারী', 'মার্চ', - 'এপ্রিল', 'মে', 'জুন', 'জুলাই', - 'আগস্ট', 'সেপ্টেম্বর', - 'অক্টোবর', 'নভেম্বর', - 'ডিসেম্বর'], - WEEKDAYS: ['রবিবার', 'সোমবার', - 'মঙ্গলবার', 'বুধবার', - 'বৃহষ্পতিবার', 'শুক্রবার', - 'শনিবার'], - STANDALONEWEEKDAYS: ['রবিবার', 'সোমবার', - 'মঙ্গলবার', 'বুধবার', - 'বৃহষ্পতিবার', 'শুক্রবার', - 'শনিবার'], - SHORTWEEKDAYS: ['রবি', 'সোম', 'মঙ্গল', 'বুধ', - 'বৃহস্পতি', 'শুক্র', 'শনি'], - STANDALONESHORTWEEKDAYS: ['রবি', 'সোম', 'মঙ্গল', - 'বুধ', 'বৃহস্পতি', 'শুক্র', 'শনি'], - NARROWWEEKDAYS: ['র', 'সো', 'ম', 'বু', 'বৃ', 'শু', 'শ'], - STANDALONENARROWWEEKDAYS: ['র', 'সো', 'ম', 'বু', 'বৃ', - 'শু', 'শ'], - SHORTQUARTERS: ['চতুর্থাংশ ১', - 'চতুর্থাংশ ২', 'চতুর্থাংশ ৩', - 'চতুর্থাংশ ৪'], - QUARTERS: ['প্রথম চতুর্থাংশ', - 'দ্বিতীয় চতুর্থাংশ', - 'তৃতীয় চতুর্থাংশ', - 'চতুর্থ চতুর্থাংশ'], - AMPMS: ['am', 'pm'], - DATEFORMATS: ['EEEE, d MMMM, y', 'd MMMM, y', 'd MMM, y', 'd/M/yy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], - FIRSTDAYOFWEEK: 4, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 3 -}; +goog.i18n.DateTimeSymbols_bn_BD = goog.i18n.DateTimeSymbols_bn; /** @@ -2159,58 +1792,26 @@ goog.i18n.DateTimeSymbols_bn_BD = { */ goog.i18n.DateTimeSymbols_bn_IN = { ZERODIGIT: 0x09E6, - ERAS: ['খৃষ্টপূর্ব', 'খৃষ্টাব্দ'], - ERANAMES: ['খৃষ্টপূর্ব', 'খৃষ্টাব্দ'], - NARROWMONTHS: ['জা', 'ফে', 'মা', 'এ', 'মে', 'জুন', - 'জু', 'আ', 'সে', 'অ', 'ন', 'ডি'], - STANDALONENARROWMONTHS: ['জা', 'ফে', 'মা', 'এ', 'মে', - 'জুন', 'জু', 'আ', 'সে', 'অ', 'ন', 'ডি'], - MONTHS: ['জানুয়ারী', 'ফেব্রুয়ারী', - 'মার্চ', 'এপ্রিল', 'মে', 'জুন', - 'জুলাই', 'আগস্ট', 'সেপ্টেম্বর', - 'অক্টোবর', 'নভেম্বর', - 'ডিসেম্বর'], - STANDALONEMONTHS: ['জানুয়ারী', - 'ফেব্রুয়ারী', 'মার্চ', - 'এপ্রিল', 'মে', 'জুন', 'জুলাই', - 'আগস্ট', 'সেপ্টেম্বর', - 'অক্টোবর', 'নভেম্বর', - 'ডিসেম্বর'], - SHORTMONTHS: ['জানুয়ারী', - 'ফেব্রুয়ারী', 'মার্চ', - 'এপ্রিল', 'মে', 'জুন', 'জুলাই', - 'আগস্ট', 'সেপ্টেম্বর', - 'অক্টোবর', 'নভেম্বর', - 'ডিসেম্বর'], - STANDALONESHORTMONTHS: ['জানুয়ারী', - 'ফেব্রুয়ারী', 'মার্চ', - 'এপ্রিল', 'মে', 'জুন', 'জুলাই', - 'আগস্ট', 'সেপ্টেম্বর', - 'অক্টোবর', 'নভেম্বর', - 'ডিসেম্বর'], - WEEKDAYS: ['রবিবার', 'সোমবার', - 'মঙ্গলবার', 'বুধবার', - 'বৃহষ্পতিবার', 'শুক্রবার', - 'শনিবার'], - STANDALONEWEEKDAYS: ['রবিবার', 'সোমবার', - 'মঙ্গলবার', 'বুধবার', - 'বৃহষ্পতিবার', 'শুক্রবার', - 'শনিবার'], - SHORTWEEKDAYS: ['রবি', 'সোম', 'মঙ্গল', 'বুধ', - 'বৃহস্পতি', 'শুক্র', 'শনি'], - STANDALONESHORTWEEKDAYS: ['রবি', 'সোম', 'মঙ্গল', - 'বুধ', 'বৃহস্পতি', 'শুক্র', 'শনি'], + ERAS: ['খ্রিস্টপূর্ব', 'খৃষ্টাব্দ'], + ERANAMES: ['খ্রিস্টপূর্ব', 'খৃষ্টাব্দ'], + NARROWMONTHS: ['জা', 'ফে', 'মা', 'এ', 'মে', 'জুন', 'জু', 'আ', 'সে', 'অ', 'ন', 'ডি'], + STANDALONENARROWMONTHS: ['জা', 'ফে', 'মা', 'এ', 'মে', 'জুন', 'জু', 'আ', 'সে', 'অ', 'ন', 'ডি'], + MONTHS: ['জানুয়ারী', 'ফেব্রুয়ারী', 'মার্চ', 'এপ্রিল', 'মে', 'জুন', 'জুলাই', 'আগস্ট', 'সেপ্টেম্বর', 'অক্টোবর', 'নভেম্বর', 'ডিসেম্বর'], + STANDALONEMONTHS: ['জানুয়ারী', 'ফেব্রুয়ারী', 'মার্চ', 'এপ্রিল', 'মে', 'জুন', 'জুলাই', 'আগস্ট', 'সেপ্টেম্বর', 'অক্টোবর', 'নভেম্বর', 'ডিসেম্বর'], + SHORTMONTHS: ['জানু', 'ফেব', 'মার্চ', 'এপ্রিল', 'মে', 'জুন', 'জুলাই', 'আগস্ট', 'সেপ্টেম্বর', 'অক্টোবর', 'নভেম্বর', 'ডিসেম্বর'], + STANDALONESHORTMONTHS: ['জানুয়ারী', 'ফেব্রুয়ারী', 'মার্চ', 'এপ্রিল', 'মে', 'জুন', 'জুলাই', 'আগস্ট', 'সেপ্টেম্বর', 'অক্টোবর', 'নভেম্বর', 'ডিসেম্বর'], + WEEKDAYS: ['রবিবার', 'সোমবার', 'মঙ্গলবার', 'বুধবার', 'বৃহস্পতিবার', 'শুক্রবার', 'শনিবার'], + STANDALONEWEEKDAYS: ['রবিবার', 'সোমবার', 'মঙ্গলবার', 'বুধবার', 'বৃহষ্পতিবার', 'শুক্রবার', 'শনিবার'], + SHORTWEEKDAYS: ['রবি', 'সোম', 'মঙ্গল', 'বুধ', 'বৃহস্পতি', 'শুক্র', 'শনি'], + STANDALONESHORTWEEKDAYS: ['রবি', 'সোম', 'মঙ্গল', 'বুধ', 'বৃহস্পতি', 'শুক্র', 'শনি'], NARROWWEEKDAYS: ['র', 'সো', 'ম', 'বু', 'বৃ', 'শু', 'শ'], - STANDALONENARROWWEEKDAYS: ['র', 'সো', 'ম', 'বু', 'বৃ', - 'শু', 'শ'], - SHORTQUARTERS: ['ত্রৈমাসিক', 'ষাণ্মাসিক', - 'চতুর্থাংশ ৩', 'বার্ষিক'], - QUARTERS: ['ত্রৈমাসিক', 'ষাণ্মাসিক', - 'তৃতীয় চতুর্থাংশ', - 'বার্ষিক'], - AMPMS: ['am', 'pm'], + STANDALONENARROWWEEKDAYS: ['র', 'সো', 'ম', 'বু', 'বৃ', 'শু', 'শ'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['ত্রৈমাসিক', 'দ্বিতীয় ত্রৈমাসিক', 'তৃতীয় ত্রৈমাসিক', 'চতুর্থ ত্রৈমাসিক'], + AMPMS: ['AM', 'PM'], DATEFORMATS: ['EEEE, d MMMM, y', 'd MMMM, y', 'd MMM, y', 'd/M/yy'], TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 6, WEEKENDRANGE: [6, 6], FIRSTWEEKCUTOFFDAY: 5 @@ -2221,68 +1822,26 @@ goog.i18n.DateTimeSymbols_bn_IN = { * Date/time formatting symbols for locale bo. */ goog.i18n.DateTimeSymbols_bo = { - ERAS: ['སྤྱི་ལོ་སྔོན།', 'སྤྱི་ལོ།'], - ERANAMES: ['སྤྱི་ལོ་སྔོན།', - 'སྤྱི་ལོ།'], + ERAS: ['སྤྱི་ལོ་སྔོན་', 'སྤྱི་ལོ་'], + ERANAMES: ['སྤྱི་ལོ་སྔོན་', 'སྤྱི་ལོ་'], NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], - STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', - '11', '12'], - MONTHS: ['ཟླ་བ་དང་པོ་', - 'ཟླ་བ་གཉིས་པ་', - 'ཟླ་བ་སུམ་པ་', 'ཟླ་བ་བཞི་པ་', - 'ཟླ་བ་ལྔ་པ་', 'ཟླ་བ་དྲུག་པ་', - 'ཟླ་བ་བདུན་པ་', - 'ཟླ་བ་བརྒྱད་པ་', - 'ཟླ་བ་དགུ་པ་', 'ཟླ་བ་བཅུ་པ་', - 'ཟླ་བ་བཅུ་གཅིག་པ་', - 'ཟླ་བ་བཅུ་གཉིས་པ་'], - STANDALONEMONTHS: ['ཟླ་བ་དང་པོ་', - 'ཟླ་བ་གཉིས་པ་', - 'ཟླ་བ་སུམ་པ་', 'ཟླ་བ་བཞི་པ་', - 'ཟླ་བ་ལྔ་པ་', 'ཟླ་བ་དྲུག་པ་', - 'ཟླ་བ་བདུན་པ་', - 'ཟླ་བ་བརྒྱད་པ་', - 'ཟླ་བ་དགུ་པ་', 'ཟླ་བ་བཅུ་པ་', - 'ཟླ་བ་བཅུ་གཅིག་པ་', - 'ཟླ་བ་བཅུ་གཉིས་པ་'], - SHORTMONTHS: ['ཟླ་༡', 'ཟླ་༢', 'ཟླ་༣', 'ཟླ་༤', - 'ཟླ་༥', 'ཟླ་༦', 'ཟླ་༧', 'ཟླ་༨', - 'ཟླ་༩', 'ཟླ་༡༠', 'ཟླ་༡༡', 'ཟླ་༡༢'], - STANDALONESHORTMONTHS: ['ཟླ་༡', 'ཟླ་༢', 'ཟླ་༣', - 'ཟླ་༤', 'ཟླ་༥', 'ཟླ་༦', 'ཟླ་༧', - 'ཟླ་༨', 'ཟླ་༩', 'ཟླ་༡༠', 'ཟླ་༡༡', - 'ཟླ་༡༢'], - WEEKDAYS: ['གཟའ་ཉི་མ་', 'གཟའ་ཟླ་བ་', - 'གཟའ་མིག་དམར་', 'གཟའ་ཧླག་པ་', - 'གཟའ་ཕུར་བུ་', 'གཟའ་སངས་', - 'གཟའ་སྤེན་པ་'], - STANDALONEWEEKDAYS: ['གཟའ་ཉི་མ་', - 'གཟའ་ཟླ་བ་', 'གཟའ་མིག་དམར་', - 'གཟའ་ལྷག་པ་', 'གཟའ་ཕུར་བུ་', - 'གཟའ་པ་སངས་', 'གཟའ་སྤེན་པ་'], - SHORTWEEKDAYS: ['ཉི་མ་', 'ཟླ་བ་', - 'མིག་དམར་', 'ཧླག་པ་', 'ཕུར་བུ་', - 'སངས་', 'སྤེན་པ་'], - STANDALONESHORTWEEKDAYS: ['ཉི་མ་', 'ཟླ་བ་', - 'མིག་དམར་', 'ལྷག་པ་', 'ཕུར་བུ་', - 'པ་སངས་', 'སྤེན་པ་'], - NARROWWEEKDAYS: ['ཉི', 'ཟླ', 'མི', 'ཧླག', 'ཕུ', 'ས', - 'སྤེ'], - STANDALONENARROWWEEKDAYS: ['ཉི', 'ཟླ', 'མི', 'ཧླ', 'ཕུ', - 'ས', 'སྤེ'], - SHORTQUARTERS: ['དུས་ཚིགས་དང་པོ།', - 'དུས་ཚིགས་གཉིས་པ།', - '་དུས་ཚིགས་གསུམ་པ།', - 'དུས་ཚིགས་བཞི་པ།'], - QUARTERS: ['དུས་ཚིགས་དང་པོ།', - 'དུས་ཚིགས་གཉིས་པ།', - '་དུས་ཚིགས་གསུམ་པ།', - 'དུས་ཚིགས་བཞི་པ།'], + STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + MONTHS: ['ཟླ་བ་དང་པོ', 'ཟླ་བ་གཉིས་པ', 'ཟླ་བ་གསུམ་པ', 'ཟླ་བ་བཞི་པ', 'ཟླ་བ་ལྔ་པ', 'ཟླ་བ་དྲུག་པ', 'ཟླ་བ་བདུན་པ', 'ཟླ་བ་བརྒྱད་པ', 'ཟླ་བ་དགུ་པ', 'ཟླ་བ་བཅུ་པ', 'ཟླ་བ་བཅུ་གཅིག་པ', 'ཟླ་བ་བཅུ་གཉིས་པ'], + STANDALONEMONTHS: ['ཟླ་བ་དང་པོ་', 'ཟླ་བ་གཉིས་པ་', 'ཟླ་བ་གསུམ་པ་', 'ཟླ་བ་བཞི་པ་', 'ཟླ་བ་ལྔ་པ་', 'ཟླ་བ་དྲུག་པ་', 'ཟླ་བ་བདུན་པ་', 'ཟླ་བ་བརྒྱད་པ་', 'ཟླ་བ་དགུ་པ་', 'ཟླ་བ་བཅུ་པ་', 'ཟླ་བ་བཅུ་གཅིག་པ་', 'ཟླ་བ་བཅུ་གཉིས་པ་'], + SHORTMONTHS: ['ཟླ་༡', 'ཟླ་༢', 'ཟླ་༣', 'ཟླ་༤', 'ཟླ་༥', 'ཟླ་༦', 'ཟླ་༧', 'ཟླ་༨', 'ཟླ་༩', 'ཟླ་༡༠', 'ཟླ་༡༡', 'ཟླ་༡༢'], + STANDALONESHORTMONTHS: ['ཟླ་༡', 'ཟླ་༢', 'ཟླ་༣', 'ཟླ་༤', 'ཟླ་༥', 'ཟླ་༦', 'ཟླ་༧', 'ཟླ་༨', 'ཟླ་༩', 'ཟླ་༡༠', 'ཟླ་༡༡', 'ཟླ་༡༢'], + WEEKDAYS: ['གཟའ་ཉི་མ་', 'གཟའ་ཟླ་བ་', 'གཟའ་མིག་དམར་', 'གཟའ་ལྷག་པ་', 'གཟའ་ཕུར་བུ་', 'གཟའ་པ་སངས་', 'གཟའ་སྤེན་པ་'], + STANDALONEWEEKDAYS: ['གཟའ་ཉི་མ་', 'གཟའ་ཟླ་བ་', 'གཟའ་མིག་དམར་', 'གཟའ་ལྷག་པ་', 'གཟའ་ཕུར་བུ་', 'གཟའ་པ་སངས་', 'གཟའ་སྤེན་པ་'], + SHORTWEEKDAYS: ['ཉི་མ་', 'ཟླ་བ་', 'མིག་དམར་', 'ལྷག་པ་', 'ཕུར་བུ་', 'པ་སངས་', 'སྤེན་པ་'], + STANDALONESHORTWEEKDAYS: ['ཉི་མ་', 'ཟླ་བ་', 'མིག་དམར་', 'ལྷག་པ་', 'ཕུར་བུ་', 'པ་སངས་', 'སྤེན་པ་'], + NARROWWEEKDAYS: ['ཉི', 'ཟླ', 'མིག', 'ལྷག', 'ཕུར', 'སངས', 'སྤེན'], + STANDALONENARROWWEEKDAYS: ['ཉི', 'ཟླ', 'མིག', 'ལྷག', 'ཕུར', 'སངས', 'སྤེན'], + SHORTQUARTERS: ['དུས་ཚིགས་དང་པོ།', 'དུས་ཚིགས་གཉིས་པ།', 'དུས་ཚིགས་གསུམ་པ།', 'དུས་ཚིགས་བཞི་པ།'], + QUARTERS: ['དུས་ཚིགས་དང་པོ།', 'དུས་ཚིགས་གཉིས་པ།', 'དུས་ཚིགས་གསུམ་པ།', 'དུས་ཚིགས་བཞི་པ།'], AMPMS: ['སྔ་དྲོ་', 'ཕྱི་དྲོ་'], - DATEFORMATS: ['EEEE, y MMMM dd', - 'སྦྱི་ལོ་y MMMMའི་ཙེས་dད', - 'y ལོ་འི་MMMཙེས་d', 'yyyy-MM-dd'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATEFORMATS: ['y MMMMའི་ཚེས་d, EEEE', 'སྤྱི་ལོ་y MMMMའི་ཚེས་d', 'y ལོའི་MMMཚེས་d', 'y-MM-dd'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 6, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 5 @@ -2298,42 +1857,30 @@ goog.i18n.DateTimeSymbols_bo_CN = goog.i18n.DateTimeSymbols_bo; /** * Date/time formatting symbols for locale bo_IN. */ -goog.i18n.DateTimeSymbols_bo_IN = goog.i18n.DateTimeSymbols_bo; - - -/** - * Date/time formatting symbols for locale br. - */ -goog.i18n.DateTimeSymbols_br = { - ERAS: ['BCE', 'CE'], - ERANAMES: ['BCE', 'CE'], +goog.i18n.DateTimeSymbols_bo_IN = { + ERAS: ['སྤྱི་ལོ་སྔོན་', 'སྤྱི་ལོ་'], + ERANAMES: ['སྤྱི་ལོ་སྔོན་', 'སྤྱི་ལོ་'], NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], - STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', - '11', '12'], - MONTHS: ['Genver', 'Cʼhwevrer', 'Meurzh', 'Ebrel', 'Mae', 'Mezheven', - 'Gouere', 'Eost', 'Gwengolo', 'Here', 'Du', 'Kerzu'], - STANDALONEMONTHS: ['Genver', 'Cʼhwevrer', 'Meurzh', 'Ebrel', 'Mae', - 'Mezheven', 'Gouere', 'Eost', 'Gwengolo', 'Here', 'Du', 'Kerzu'], - SHORTMONTHS: ['Gen', 'Cʼhwe', 'Meur', 'Ebr', 'Mae', 'Mezh', 'Goue', 'Eost', - 'Gwen', 'Here', 'Du', 'Ker'], - STANDALONESHORTMONTHS: ['Gen', 'Cʼhwe', 'Meur', 'Ebr', 'Mae', 'Mezh', 'Goue', - 'Eost', 'Gwen', 'Here', 'Du', 'Ker'], - WEEKDAYS: ['Sul', 'Lun', 'Meurzh', 'Mercʼher', 'Yaou', 'Gwener', 'Sadorn'], - STANDALONEWEEKDAYS: ['Sul', 'Lun', 'Meurzh', 'Mercʼher', 'Yaou', 'Gwener', - 'Sadorn'], - SHORTWEEKDAYS: ['sul', 'lun', 'meu.', 'mer.', 'yaou', 'gwe.', 'sad.'], - STANDALONESHORTWEEKDAYS: ['sul', 'lun', 'meu.', 'mer.', 'yaou', 'gwe.', - 'sad.'], - NARROWWEEKDAYS: ['su', 'lu', 'mz', 'mc', 'ya', 'gw', 'sa'], - STANDALONENARROWWEEKDAYS: ['su', 'lu', 'mz', 'mc', 'ya', 'gw', 'sa'], - SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - QUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE, y MMMM dd', 'y MMMM d', 'y MMM d', 'yyyy-MM-dd'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 6 + STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + MONTHS: ['ཟླ་བ་དང་པོ', 'ཟླ་བ་གཉིས་པ', 'ཟླ་བ་གསུམ་པ', 'ཟླ་བ་བཞི་པ', 'ཟླ་བ་ལྔ་པ', 'ཟླ་བ་དྲུག་པ', 'ཟླ་བ་བདུན་པ', 'ཟླ་བ་བརྒྱད་པ', 'ཟླ་བ་དགུ་པ', 'ཟླ་བ་བཅུ་པ', 'ཟླ་བ་བཅུ་གཅིག་པ', 'ཟླ་བ་བཅུ་གཉིས་པ'], + STANDALONEMONTHS: ['ཟླ་བ་དང་པོ་', 'ཟླ་བ་གཉིས་པ་', 'ཟླ་བ་གསུམ་པ་', 'ཟླ་བ་བཞི་པ་', 'ཟླ་བ་ལྔ་པ་', 'ཟླ་བ་དྲུག་པ་', 'ཟླ་བ་བདུན་པ་', 'ཟླ་བ་བརྒྱད་པ་', 'ཟླ་བ་དགུ་པ་', 'ཟླ་བ་བཅུ་པ་', 'ཟླ་བ་བཅུ་གཅིག་པ་', 'ཟླ་བ་བཅུ་གཉིས་པ་'], + SHORTMONTHS: ['ཟླ་༡', 'ཟླ་༢', 'ཟླ་༣', 'ཟླ་༤', 'ཟླ་༥', 'ཟླ་༦', 'ཟླ་༧', 'ཟླ་༨', 'ཟླ་༩', 'ཟླ་༡༠', 'ཟླ་༡༡', 'ཟླ་༡༢'], + STANDALONESHORTMONTHS: ['ཟླ་༡', 'ཟླ་༢', 'ཟླ་༣', 'ཟླ་༤', 'ཟླ་༥', 'ཟླ་༦', 'ཟླ་༧', 'ཟླ་༨', 'ཟླ་༩', 'ཟླ་༡༠', 'ཟླ་༡༡', 'ཟླ་༡༢'], + WEEKDAYS: ['གཟའ་ཉི་མ་', 'གཟའ་ཟླ་བ་', 'གཟའ་མིག་དམར་', 'གཟའ་ལྷག་པ་', 'གཟའ་ཕུར་བུ་', 'གཟའ་པ་སངས་', 'གཟའ་སྤེན་པ་'], + STANDALONEWEEKDAYS: ['གཟའ་ཉི་མ་', 'གཟའ་ཟླ་བ་', 'གཟའ་མིག་དམར་', 'གཟའ་ལྷག་པ་', 'གཟའ་ཕུར་བུ་', 'གཟའ་པ་སངས་', 'གཟའ་སྤེན་པ་'], + SHORTWEEKDAYS: ['ཉི་མ་', 'ཟླ་བ་', 'མིག་དམར་', 'ལྷག་པ་', 'ཕུར་བུ་', 'པ་སངས་', 'སྤེན་པ་'], + STANDALONESHORTWEEKDAYS: ['ཉི་མ་', 'ཟླ་བ་', 'མིག་དམར་', 'ལྷག་པ་', 'ཕུར་བུ་', 'པ་སངས་', 'སྤེན་པ་'], + NARROWWEEKDAYS: ['ཉི', 'ཟླ', 'མིག', 'ལྷག', 'ཕུར', 'སངས', 'སྤེན'], + STANDALONENARROWWEEKDAYS: ['ཉི', 'ཟླ', 'མིག', 'ལྷག', 'ཕུར', 'སངས', 'སྤེན'], + SHORTQUARTERS: ['དུས་ཚིགས་དང་པོ།', 'དུས་ཚིགས་གཉིས་པ།', 'དུས་ཚིགས་གསུམ་པ།', 'དུས་ཚིགས་བཞི་པ།'], + QUARTERS: ['དུས་ཚིགས་དང་པོ།', 'དུས་ཚིགས་གཉིས་པ།', 'དུས་ཚིགས་གསུམ་པ།', 'དུས་ཚིགས་བཞི་པ།'], + AMPMS: ['སྔ་དྲོ་', 'ཕྱི་དྲོ་'], + DATEFORMATS: ['y MMMMའི་ཚེས་d, EEEE', 'སྤྱི་ལོ་y MMMMའི་ཚེས་d', 'y ལོའི་MMMཚེས་d', 'y-MM-dd'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 6, + WEEKENDRANGE: [6, 6], + FIRSTWEEKCUTOFFDAY: 5 }; @@ -2349,60 +1896,27 @@ goog.i18n.DateTimeSymbols_br_FR = goog.i18n.DateTimeSymbols_br; goog.i18n.DateTimeSymbols_brx = { ERAS: ['ईसा.पूर्व', 'सन'], ERANAMES: ['ईसा.पूर्व', 'सन'], - NARROWMONTHS: ['ज', 'फे', 'मा', 'ए', 'मे', 'जु', 'जु', - 'आ', 'से', 'अ', 'न', 'दि'], - STANDALONENARROWMONTHS: ['ज', 'फे', 'मा', 'ए', 'मे', 'जु', - 'जु', 'आ', 'से', 'अ', 'न', 'दि'], - MONTHS: ['जानुवारी', 'फेब्रुवारी', - 'मार्स', 'एफ्रिल', 'मे', 'जुन', - 'जुलाइ', 'आगस्थ', 'सेबथेज्ब़र', - 'अखथबर', 'नबेज्ब़र', - 'दिसेज्ब़र'], - STANDALONEMONTHS: ['जानुवारी', - 'फेब्रुवारी', 'मार्स', 'एफ्रिल', - 'मे', 'जुन', 'जुलाइ', 'आगस्थ', - 'सेबथेज्ब़र', 'अखथबर', - 'नबेज्ब़र', 'दिसेज्ब़र'], - SHORTMONTHS: ['जानुवारी', 'फेब्रुवारी', - 'मार्स', 'एफ्रिल', 'मे', 'जुन', - 'जुलाइ', 'आगस्थ', 'सेबथेज्ब़र', - 'अखथबर', 'नबेज्ब़र', - 'दिसेज्ब़र'], - STANDALONESHORTMONTHS: ['जानुवारी', - 'फेब्रुवारी', 'मार्स', 'एफ्रिल', - 'मे', 'जुन', 'जुलाइ', 'आगस्थ', - 'सेबथेज्ब़र', 'अखथबर', - 'नबेज्ब़र', 'दिसेज्ब़र'], - WEEKDAYS: ['रबिबार', 'समबार', 'मंगलबार', - 'बुदबार', 'बिसथिबार', - 'सुखुरबार', 'सुनिबार'], - STANDALONEWEEKDAYS: ['रबिबार', 'समबार', - 'मंगलबार', 'बुदबार', 'बिसथिबार', - 'सुखुरबार', 'सुनिबार'], - SHORTWEEKDAYS: ['रबि', 'सम', 'मंगल', 'बुद', - 'बिसथि', 'सुखुर', 'सुनि'], - STANDALONESHORTWEEKDAYS: ['रबि', 'सम', 'मंगल', 'बुद', - 'बिसथि', 'सुखुर', 'सुनि'], - NARROWWEEKDAYS: ['र', 'स', 'मं', 'बु', 'बि', 'सु', - 'सु'], - STANDALONENARROWWEEKDAYS: ['र', 'स', 'मं', 'बु', 'बि', - 'सु', 'सु'], - SHORTQUARTERS: [ - 'सिथासे/खोन्दोसे/बाहागोसे', - 'खावसे/खोन्दोनै/बाहागोनै', - 'खावथाम/खोन्दोथाम/बाहागोथाम', - 'खावब्रै/खोन्दोब्रै/फुरा/आबुं'], - QUARTERS: [ - 'सिथासे/खोन्दोसे/बाहागोसे', - 'खावसे/खोन्दोनै/बाहागोनै', - 'खावथाम/खोन्दोथाम/बाहागोथाम', - 'खावब्रै/खोन्दोब्रै/फुरा/आबुं'], + NARROWMONTHS: ['ज', 'फे', 'मा', 'ए', 'मे', 'जु', 'जु', 'आ', 'से', 'अ', 'न', 'दि'], + STANDALONENARROWMONTHS: ['ज', 'फे', 'मा', 'ए', 'मे', 'जु', 'जु', 'आ', 'से', 'अ', 'न', 'दि'], + MONTHS: ['जानुवारी', 'फेब्रुवारी', 'मार्स', 'एफ्रिल', 'मे', 'जुन', 'जुलाइ', 'आगस्थ', 'सेबथेज्ब़र', 'अखथबर', 'नबेज्ब़र', 'दिसेज्ब़र'], + STANDALONEMONTHS: ['जानुवारी', 'फेब्रुवारी', 'मार्स', 'एफ्रिल', 'मे', 'जुन', 'जुलाइ', 'आगस्थ', 'सेबथेज्ब़र', 'अखथबर', 'नबेज्ब़र', 'दिसेज्ब़र'], + SHORTMONTHS: ['जानुवारी', 'फेब्रुवारी', 'मार्स', 'एफ्रिल', 'मे', 'जुन', 'जुलाइ', 'आगस्थ', 'सेबथेज्ब़र', 'अखथबर', 'नबेज्ब़र', 'दिसेज्ब़र'], + STANDALONESHORTMONTHS: ['जानुवारी', 'फेब्रुवारी', 'मार्स', 'एफ्रिल', 'मे', 'जुन', 'जुलाइ', 'आगस्थ', 'सेबथेज्ब़र', 'अखथबर', 'नबेज्ब़र', 'दिसेज्ब़र'], + WEEKDAYS: ['रबिबार', 'समबार', 'मंगलबार', 'बुदबार', 'बिसथिबार', 'सुखुरबार', 'सुनिबार'], + STANDALONEWEEKDAYS: ['रबिबार', 'समबार', 'मंगलबार', 'बुदबार', 'बिसथिबार', 'सुखुरबार', 'सुनिबार'], + SHORTWEEKDAYS: ['रबि', 'सम', 'मंगल', 'बुद', 'बिसथि', 'सुखुर', 'सुनि'], + STANDALONESHORTWEEKDAYS: ['रबि', 'सम', 'मंगल', 'बुद', 'बिसथि', 'सुखुर', 'सुनि'], + NARROWWEEKDAYS: ['र', 'स', 'मं', 'बु', 'बि', 'सु', 'सु'], + STANDALONENARROWWEEKDAYS: ['र', 'स', 'मं', 'बु', 'बि', 'सु', 'सु'], + SHORTQUARTERS: ['सिथासे/खोन्दोसे/बाहागोसे', 'खावसे/खोन्दोनै/बाहागोनै', 'खावथाम/खोन्दोथाम/बाहागोथाम', 'खावब्रै/खोन्दोब्रै/फुरा/आबुं'], + QUARTERS: ['सिथासे/खोन्दोसे/बाहागोसे', 'खावसे/खोन्दोनै/बाहागोनै', 'खावथाम/खोन्दोथाम/बाहागोथाम', 'खावब्रै/खोन्दोब्रै/फुरा/आबुं'], AMPMS: ['फुं', 'बेलासे'], DATEFORMATS: ['EEEE, MMMM d, y', 'MMMM d, y', 'MMM d, y', 'M/d/yy'], TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 6 + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 6, + WEEKENDRANGE: [6, 6], + FIRSTWEEKCUTOFFDAY: 5 }; @@ -2413,36 +1927,29 @@ goog.i18n.DateTimeSymbols_brx_IN = goog.i18n.DateTimeSymbols_brx; /** - * Date/time formatting symbols for locale bs. + * Date/time formatting symbols for locale bs_Cyrl. */ -goog.i18n.DateTimeSymbols_bs = { - ERAS: ['p. n. e.', 'n. e'], - ERANAMES: ['Pre nove ere', 'Nove ere'], - NARROWMONTHS: ['j', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', 'n', 'd'], - STANDALONENARROWMONTHS: ['j', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', - 'n', 'd'], - MONTHS: ['januar', 'februar', 'mart', 'april', 'maj', 'juni', 'juli', - 'avgust', 'septembar', 'oktobar', 'novembar', 'decembar'], - STANDALONEMONTHS: ['januar', 'februar', 'mart', 'april', 'maj', 'juni', - 'juli', 'avgust', 'septembar', 'oktobar', 'novembar', 'decembar'], - SHORTMONTHS: ['jan', 'feb', 'mar', 'apr', 'maj', 'jun', 'jul', 'avg', 'sep', - 'okt', 'nov', 'dec'], - STANDALONESHORTMONTHS: ['jan', 'feb', 'mar', 'apr', 'maj', 'jun', 'jul', - 'avg', 'sep', 'okt', 'nov', 'dec'], - WEEKDAYS: ['nedjelja', 'ponedjeljak', 'utorak', 'srijeda', 'četvrtak', - 'petak', 'subota'], - STANDALONEWEEKDAYS: ['nedjelja', 'ponedjeljak', 'utorak', 'srijeda', - 'četvrtak', 'petak', 'subota'], - SHORTWEEKDAYS: ['ned', 'pon', 'uto', 'sri', 'čet', 'pet', 'sub'], - STANDALONESHORTWEEKDAYS: ['ned', 'pon', 'uto', 'sri', 'čet', 'pet', 'sub'], - NARROWWEEKDAYS: ['1', '2', '3', '4', '5', '6', '7'], - STANDALONENARROWWEEKDAYS: ['1', '2', '3', '4', '5', '6', '7'], - SHORTQUARTERS: ['K1', 'K2', 'K3', 'K4'], - QUARTERS: ['Prvi kvartal', 'Drugi kvartal', 'Treći kvartal', - 'Četvrti kvartal'], - AMPMS: ['pre podne', 'popodne'], - DATEFORMATS: ['EEEE, dd. MMMM y.', 'dd. MMMM y.', 'dd.MM.y.', 'dd.MM.yy.'], +goog.i18n.DateTimeSymbols_bs_Cyrl = { + ERAS: ['п. н. е.', 'н. е.'], + ERANAMES: ['Пре нове ере', 'Нове ере'], + NARROWMONTHS: ['ј', 'ф', 'м', 'а', 'м', 'ј', 'ј', 'а', 'с', 'о', 'н', 'д'], + STANDALONENARROWMONTHS: ['ј', 'ф', 'м', 'а', 'м', 'ј', 'ј', 'а', 'с', 'о', 'н', 'д'], + MONTHS: ['јануар', 'фебруар', 'март', 'април', 'мај', 'јуни', 'јули', 'август', 'септембар', 'октобар', 'новембар', 'децембар'], + STANDALONEMONTHS: ['јануар', 'фебруар', 'март', 'април', 'мај', 'јуни', 'јули', 'август', 'септембар', 'октобар', 'новембар', 'децембар'], + SHORTMONTHS: ['јан', 'феб', 'мар', 'апр', 'мај', 'јун', 'јул', 'авг', 'сеп', 'окт', 'нов', 'дец'], + STANDALONESHORTMONTHS: ['јан', 'феб', 'мар', 'апр', 'мај', 'јун', 'јул', 'авг', 'сеп', 'окт', 'нов', 'дец'], + WEEKDAYS: ['недеља', 'понедељак', 'уторак', 'сриједа', 'четвртак', 'петак', 'субота'], + STANDALONEWEEKDAYS: ['недеља', 'понедељак', 'уторак', 'сриједа', 'четвртак', 'петак', 'субота'], + SHORTWEEKDAYS: ['нед', 'пон', 'уто', 'сри', 'чет', 'пет', 'суб'], + STANDALONESHORTWEEKDAYS: ['нед', 'пон', 'уто', 'сри', 'чет', 'пет', 'суб'], + NARROWWEEKDAYS: ['н', 'п', 'у', 'с', 'ч', 'п', 'с'], + STANDALONENARROWWEEKDAYS: ['н', 'п', 'у', 'с', 'ч', 'п', 'с'], + SHORTQUARTERS: ['К1', 'К2', 'К3', 'К4'], + QUARTERS: ['Прво тромесечје', 'Друго тромесечје', 'Треће тромесечје', 'Четврто тромесечје'], + AMPMS: ['пре подне', 'поподне'], + DATEFORMATS: ['EEEE, dd. MMMM y.', 'dd. MMMM y.', 'dd.MM.y.', 'd.M.yy.'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -2450,53 +1957,29 @@ goog.i18n.DateTimeSymbols_bs = { /** - * Date/time formatting symbols for locale bs_BA. - */ -goog.i18n.DateTimeSymbols_bs_BA = goog.i18n.DateTimeSymbols_bs; - - -/** - * Date/time formatting symbols for locale byn. + * Date/time formatting symbols for locale bs_Cyrl_BA. */ -goog.i18n.DateTimeSymbols_byn = { - ERAS: ['ይጅ', 'ኣድ'], - ERANAMES: ['ይጅ', 'ኣድ'], - NARROWMONTHS: ['ል', 'ካ', 'ክ', 'ፋ', 'ክ', 'ም', 'ኰ', 'ማ', 'ያ', - 'መ', 'ም', 'ተ'], - STANDALONENARROWMONTHS: ['ል', 'ካ', 'ክ', 'ፋ', 'ክ', 'ም', 'ኰ', - 'ማ', 'ያ', 'መ', 'ም', 'ተ'], - MONTHS: ['ልደትሪ', 'ካብኽብቲ', 'ክብላ', 'ፋጅኺሪ', - 'ክቢቅሪ', 'ምኪኤል ትጟኒሪ', 'ኰርኩ', - 'ማርያም ትሪ', 'ያኸኒ መሳቅለሪ', 'መተሉ', - 'ምኪኤል መሽወሪ', 'ተሕሳስሪ'], - STANDALONEMONTHS: ['ልደትሪ', 'ካብኽብቲ', 'ክብላ', - 'ፋጅኺሪ', 'ክቢቅሪ', 'ምኪኤል ትጟኒሪ', 'ኰርኩ', - 'ማርያም ትሪ', 'ያኸኒ መሳቅለሪ', 'መተሉ', - 'ምኪኤል መሽወሪ', 'ተሕሳስሪ'], - SHORTMONTHS: ['ልደት', 'ካብኽ', 'ክብላ', 'ፋጅኺ', 'ክቢቅ', - 'ም/ት', 'ኰር', 'ማርያ', 'ያኸኒ', 'መተሉ', 'ም/ም', - 'ተሕሳ'], - STANDALONESHORTMONTHS: ['ልደት', 'ካብኽ', 'ክብላ', 'ፋጅኺ', - 'ክቢቅ', 'ም/ት', 'ኰር', 'ማርያ', 'ያኸኒ', 'መተሉ', - 'ም/ም', 'ተሕሳ'], - WEEKDAYS: ['ሰንበር ቅዳዅ', 'ሰኑ', 'ሰሊጝ', - 'ለጓ ወሪ ለብዋ', 'ኣምድ', 'ኣርብ', - 'ሰንበር ሽጓዅ'], - STANDALONEWEEKDAYS: ['ሰንበር ቅዳዅ', 'ሰኑ', 'ሰሊጝ', - 'ለጓ ወሪ ለብዋ', 'ኣምድ', 'ኣርብ', - 'ሰንበር ሽጓዅ'], - SHORTWEEKDAYS: ['ሰ/ቅ', 'ሰኑ', 'ሰሊጝ', 'ለጓ', 'ኣምድ', - 'ኣርብ', 'ሰ/ሽ'], - STANDALONESHORTWEEKDAYS: ['ሰ/ቅ', 'ሰኑ', 'ሰሊጝ', 'ለጓ', - 'ኣምድ', 'ኣርብ', 'ሰ/ሽ'], - NARROWWEEKDAYS: ['ሰ', 'ሰ', 'ሰ', 'ለ', 'ኣ', 'ኣ', 'ሰ'], - STANDALONENARROWWEEKDAYS: ['ሰ', 'ሰ', 'ሰ', 'ለ', 'ኣ', 'ኣ', 'ሰ'], - SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - QUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - AMPMS: ['ፋዱስ ጃብ', 'ፋዱስ ደምቢ'], - DATEFORMATS: ['EEEE፡ dd MMMM ግርጋ y G', 'dd MMMM y', 'dd-MMM-y', - 'dd/MM/yy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], +goog.i18n.DateTimeSymbols_bs_Cyrl_BA = { + ERAS: ['п. н. е.', 'н. е.'], + ERANAMES: ['Пре нове ере', 'Нове ере'], + NARROWMONTHS: ['ј', 'ф', 'м', 'а', 'м', 'ј', 'ј', 'а', 'с', 'о', 'н', 'д'], + STANDALONENARROWMONTHS: ['ј', 'ф', 'м', 'а', 'м', 'ј', 'ј', 'а', 'с', 'о', 'н', 'д'], + MONTHS: ['јануар', 'фебруар', 'март', 'април', 'мај', 'јуни', 'јули', 'август', 'септембар', 'октобар', 'новембар', 'децембар'], + STANDALONEMONTHS: ['јануар', 'фебруар', 'март', 'април', 'мај', 'јуни', 'јули', 'август', 'септембар', 'октобар', 'новембар', 'децембар'], + SHORTMONTHS: ['јан', 'феб', 'мар', 'апр', 'мај', 'јун', 'јул', 'авг', 'сеп', 'окт', 'нов', 'дец'], + STANDALONESHORTMONTHS: ['јан', 'феб', 'мар', 'апр', 'мај', 'јун', 'јул', 'авг', 'сеп', 'окт', 'нов', 'дец'], + WEEKDAYS: ['недеља', 'понедељак', 'уторак', 'сриједа', 'четвртак', 'петак', 'субота'], + STANDALONEWEEKDAYS: ['недеља', 'понедељак', 'уторак', 'сриједа', 'четвртак', 'петак', 'субота'], + SHORTWEEKDAYS: ['нед', 'пон', 'уто', 'сри', 'чет', 'пет', 'суб'], + STANDALONESHORTWEEKDAYS: ['нед', 'пон', 'уто', 'сри', 'чет', 'пет', 'суб'], + NARROWWEEKDAYS: ['н', 'п', 'у', 'с', 'ч', 'п', 'с'], + STANDALONENARROWWEEKDAYS: ['н', 'п', 'у', 'с', 'ч', 'п', 'с'], + SHORTQUARTERS: ['К1', 'К2', 'К3', 'К4'], + QUARTERS: ['Прво тромесечје', 'Друго тромесечје', 'Треће тромесечје', 'Четврто тромесечје'], + AMPMS: ['пре подне', 'поподне'], + DATEFORMATS: ['EEEE, dd. MMMM y.', 'dd. MMMM y.', 'dd.MM.y.', 'd.M.yy.'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -2504,50 +1987,77 @@ goog.i18n.DateTimeSymbols_byn = { /** - * Date/time formatting symbols for locale byn_ER. + * Date/time formatting symbols for locale bs_Latn. + */ +goog.i18n.DateTimeSymbols_bs_Latn = goog.i18n.DateTimeSymbols_bs; + + +/** + * Date/time formatting symbols for locale bs_Latn_BA. + */ +goog.i18n.DateTimeSymbols_bs_Latn_BA = goog.i18n.DateTimeSymbols_bs; + + +/** + * Date/time formatting symbols for locale ca_AD. */ -goog.i18n.DateTimeSymbols_byn_ER = goog.i18n.DateTimeSymbols_byn; +goog.i18n.DateTimeSymbols_ca_AD = goog.i18n.DateTimeSymbols_ca; /** * Date/time formatting symbols for locale ca_ES. */ -goog.i18n.DateTimeSymbols_ca_ES = { - ERAS: ['aC', 'dC'], - ERANAMES: ['abans de Crist', 'després de Crist'], - NARROWMONTHS: ['G', 'F', 'M', 'A', 'M', 'J', 'G', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['g', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', - 'n', 'd'], - MONTHS: ['de gener', 'de febrer', 'de març', 'd’abril', 'de maig', - 'de juny', 'de juliol', 'd’agost', 'de setembre', 'd’octubre', - 'de novembre', 'de desembre'], - STANDALONEMONTHS: ['gener', 'febrer', 'març', 'abril', 'maig', 'juny', - 'juliol', 'agost', 'setembre', 'octubre', 'novembre', 'desembre'], - SHORTMONTHS: ['de gen.', 'de febr.', 'de març', 'd’abr.', 'de maig', - 'de juny', 'de jul.', 'd’ag.', 'de set.', 'd’oct.', 'de nov.', - 'de des.'], - STANDALONESHORTMONTHS: ['gen.', 'febr.', 'març', 'abr.', 'maig', 'juny', - 'jul.', 'ag.', 'set.', 'oct.', 'nov.', 'des.'], - WEEKDAYS: ['diumenge', 'dilluns', 'dimarts', 'dimecres', 'dijous', - 'divendres', 'dissabte'], - STANDALONEWEEKDAYS: ['Diumenge', 'Dilluns', 'Dimarts', 'Dimecres', 'Dijous', - 'Divendres', 'Dissabte'], - SHORTWEEKDAYS: ['dg.', 'dl.', 'dt.', 'dc.', 'dj.', 'dv.', 'ds.'], - STANDALONESHORTWEEKDAYS: ['dg', 'dl', 'dt', 'dc', 'dj', 'dv', 'ds'], - NARROWWEEKDAYS: ['G', 'l', 'T', 'C', 'J', 'V', 'S'], - STANDALONENARROWWEEKDAYS: ['g', 'l', 't', 'c', 'j', 'v', 's'], - SHORTQUARTERS: ['1T', '2T', '3T', '4T'], - QUARTERS: ['1r trimestre', '2n trimestre', '3r trimestre', '4t trimestre'], - AMPMS: ['a.m.', 'p.m.'], - DATEFORMATS: ['EEEE d MMMM \'de\' y', 'd MMMM \'de\' y', 'dd/MM/yyyy', - 'dd/MM/yy'], - TIMEFORMATS: ['H:mm:ss zzzz', 'H:mm:ss z', 'H:mm:ss', 'H:mm'], +goog.i18n.DateTimeSymbols_ca_ES = goog.i18n.DateTimeSymbols_ca; + + +/** + * Date/time formatting symbols for locale ca_FR. + */ +goog.i18n.DateTimeSymbols_ca_FR = goog.i18n.DateTimeSymbols_ca; + + +/** + * Date/time formatting symbols for locale ca_IT. + */ +goog.i18n.DateTimeSymbols_ca_IT = goog.i18n.DateTimeSymbols_ca; + + +/** + * Date/time formatting symbols for locale ce. + */ +goog.i18n.DateTimeSymbols_ce = { + ERAS: ['BCE', 'CE'], + ERANAMES: ['BCE', 'CE'], + NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + MONTHS: ['январь', 'февраль', 'март', 'апрель', 'май', 'июнь', 'июль', 'август', 'сентябрь', 'октябрь', 'ноябрь', 'декабрь'], + STANDALONEMONTHS: ['январь', 'февраль', 'март', 'апрель', 'май', 'июнь', 'июль', 'август', 'сентябрь', 'октябрь', 'ноябрь', 'декабрь'], + SHORTMONTHS: ['янв', 'фев', 'мар', 'апр', 'май', 'июн', 'июл', 'авг', 'сен', 'окт', 'ноя', 'дек'], + STANDALONESHORTMONTHS: ['янв', 'фев', 'мар', 'апр', 'май', 'июн', 'июл', 'авг', 'сен', 'окт', 'ноя', 'дек'], + WEEKDAYS: ['кӀиранан де', 'оршотан де', 'шинарин де', 'кхаарин де', 'еарин де', 'пӀераскан де', 'шот де'], + STANDALONEWEEKDAYS: ['кӀиранан де', 'оршотан де', 'шинарин де', 'кхаарин де', 'еарин де', 'пӀераскан де', 'шот де'], + SHORTWEEKDAYS: ['кӀиранан де', 'оршотан де', 'шинарин де', 'кхаарин де', 'еарин де', 'пӀераскан де', 'шот де'], + STANDALONESHORTWEEKDAYS: ['кӀиранан де', 'оршотан де', 'шинарин де', 'кхаарин де', 'еарин де', 'пӀераскан де', 'шот де'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['y MMMM d, EEEE', 'y MMMM d', 'y MMM d', 'y-MM-dd'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 3 + FIRSTWEEKCUTOFFDAY: 6 }; +/** + * Date/time formatting symbols for locale ce_RU. + */ +goog.i18n.DateTimeSymbols_ce_RU = goog.i18n.DateTimeSymbols_ce; + + /** * Date/time formatting symbols for locale cgg. */ @@ -2555,22 +2065,13 @@ goog.i18n.DateTimeSymbols_cgg = { ERAS: ['BC', 'AD'], ERANAMES: ['Kurisito Atakaijire', 'Kurisito Yaijire'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['Okwokubanza', 'Okwakabiri', 'Okwakashatu', 'Okwakana', - 'Okwakataana', 'Okwamukaaga', 'Okwamushanju', 'Okwamunaana', 'Okwamwenda', - 'Okwaikumi', 'Okwaikumi na kumwe', 'Okwaikumi na ibiri'], - STANDALONEMONTHS: ['Okwokubanza', 'Okwakabiri', 'Okwakashatu', 'Okwakana', - 'Okwakataana', 'Okwamukaaga', 'Okwamushanju', 'Okwamunaana', 'Okwamwenda', - 'Okwaikumi', 'Okwaikumi na kumwe', 'Okwaikumi na ibiri'], - SHORTMONTHS: ['KBZ', 'KBR', 'KST', 'KKN', 'KTN', 'KMK', 'KMS', 'KMN', 'KMW', - 'KKM', 'KNK', 'KNB'], - STANDALONESHORTMONTHS: ['KBZ', 'KBR', 'KST', 'KKN', 'KTN', 'KMK', 'KMS', - 'KMN', 'KMW', 'KKM', 'KNK', 'KNB'], - WEEKDAYS: ['Sande', 'Orwokubanza', 'Orwakabiri', 'Orwakashatu', 'Orwakana', - 'Orwakataano', 'Orwamukaaga'], - STANDALONEWEEKDAYS: ['Sande', 'Orwokubanza', 'Orwakabiri', 'Orwakashatu', - 'Orwakana', 'Orwakataano', 'Orwamukaaga'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['Okwokubanza', 'Okwakabiri', 'Okwakashatu', 'Okwakana', 'Okwakataana', 'Okwamukaaga', 'Okwamushanju', 'Okwamunaana', 'Okwamwenda', 'Okwaikumi', 'Okwaikumi na kumwe', 'Okwaikumi na ibiri'], + STANDALONEMONTHS: ['Okwokubanza', 'Okwakabiri', 'Okwakashatu', 'Okwakana', 'Okwakataana', 'Okwamukaaga', 'Okwamushanju', 'Okwamunaana', 'Okwamwenda', 'Okwaikumi', 'Okwaikumi na kumwe', 'Okwaikumi na ibiri'], + SHORTMONTHS: ['KBZ', 'KBR', 'KST', 'KKN', 'KTN', 'KMK', 'KMS', 'KMN', 'KMW', 'KKM', 'KNK', 'KNB'], + STANDALONESHORTMONTHS: ['KBZ', 'KBR', 'KST', 'KKN', 'KTN', 'KMK', 'KMS', 'KMN', 'KMW', 'KKM', 'KNK', 'KNB'], + WEEKDAYS: ['Sande', 'Orwokubanza', 'Orwakabiri', 'Orwakashatu', 'Orwakana', 'Orwakataano', 'Orwamukaaga'], + STANDALONEWEEKDAYS: ['Sande', 'Orwokubanza', 'Orwakabiri', 'Orwakashatu', 'Orwakana', 'Orwakataano', 'Orwamukaaga'], SHORTWEEKDAYS: ['SAN', 'ORK', 'OKB', 'OKS', 'OKN', 'OKT', 'OMK'], STANDALONESHORTWEEKDAYS: ['SAN', 'ORK', 'OKB', 'OKS', 'OKN', 'OKT', 'OMK'], NARROWWEEKDAYS: ['S', 'K', 'R', 'S', 'N', 'T', 'M'], @@ -2578,8 +2079,9 @@ goog.i18n.DateTimeSymbols_cgg = { SHORTQUARTERS: ['K1', 'K2', 'K3', 'K4'], QUARTERS: ['KWOTA 1', 'KWOTA 2', 'KWOTA 3', 'KWOTA 4'], AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yyyy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -2595,45 +2097,7 @@ goog.i18n.DateTimeSymbols_cgg_UG = goog.i18n.DateTimeSymbols_cgg; /** * Date/time formatting symbols for locale chr_US. */ -goog.i18n.DateTimeSymbols_chr_US = { - ERAS: ['ᎤᏓᎷᎸ', 'ᎤᎶᏐᏅ'], - ERANAMES: ['Ꮟ ᏥᏌ ᎾᏕᎲᏍᎬᎾ', - 'ᎠᎩᏃᎮᎵᏓᏍᏗᏱ ᎠᏕᏘᏱᏍᎬ ᏱᎰᏩ ᏧᏓᏂᎸᎢᏍᏗ'], - NARROWMONTHS: ['Ꭴ', 'Ꭷ', 'Ꭰ', 'Ꭷ', 'Ꭰ', 'Ꮥ', 'Ꭻ', 'Ꭶ', 'Ꮪ', - 'Ꮪ', 'Ꮕ', 'Ꭴ'], - STANDALONENARROWMONTHS: ['Ꭴ', 'Ꭷ', 'Ꭰ', 'Ꭷ', 'Ꭰ', 'Ꮥ', 'Ꭻ', - 'Ꭶ', 'Ꮪ', 'Ꮪ', 'Ꮕ', 'Ꭴ'], - MONTHS: ['ᎤᏃᎸᏔᏅ', 'ᎧᎦᎵ', 'ᎠᏅᏱ', 'ᎧᏬᏂ', - 'ᎠᏂᏍᎬᏘ', 'ᏕᎭᎷᏱ', 'ᎫᏰᏉᏂ', 'ᎦᎶᏂ', - 'ᏚᎵᏍᏗ', 'ᏚᏂᏅᏗ', 'ᏅᏓᏕᏆ', 'ᎤᏍᎩᏱ'], - STANDALONEMONTHS: ['ᎤᏃᎸᏔᏅ', 'ᎧᎦᎵ', 'ᎠᏅᏱ', 'ᎧᏬᏂ', - 'ᎠᏂᏍᎬᏘ', 'ᏕᎭᎷᏱ', 'ᎫᏰᏉᏂ', 'ᎦᎶᏂ', - 'ᏚᎵᏍᏗ', 'ᏚᏂᏅᏗ', 'ᏅᏓᏕᏆ', 'ᎤᏍᎩᏱ'], - SHORTMONTHS: ['ᎤᏃ', 'ᎧᎦ', 'ᎠᏅ', 'ᎧᏬ', 'ᎠᏂ', 'ᏕᎭ', - 'ᎫᏰ', 'ᎦᎶ', 'ᏚᎵ', 'ᏚᏂ', 'ᏅᏓ', 'ᎤᏍ'], - STANDALONESHORTMONTHS: ['ᎤᏃ', 'ᎧᎦ', 'ᎠᏅ', 'ᎧᏬ', 'ᎠᏂ', - 'ᏕᎭ', 'ᎫᏰ', 'ᎦᎶ', 'ᏚᎵ', 'ᏚᏂ', 'ᏅᏓ', 'ᎤᏍ'], - WEEKDAYS: ['ᎤᎾᏙᏓᏆᏍᎬ', 'ᎤᎾᏙᏓᏉᏅᎯ', - 'ᏔᎵᏁᎢᎦ', 'ᏦᎢᏁᎢᎦ', 'ᏅᎩᏁᎢᎦ', - 'ᏧᎾᎩᎶᏍᏗ', 'ᎤᎾᏙᏓᏈᏕᎾ'], - STANDALONEWEEKDAYS: ['ᎤᎾᏙᏓᏆᏍᎬ', 'ᎤᎾᏙᏓᏉᏅᎯ', - 'ᏔᎵᏁᎢᎦ', 'ᏦᎢᏁᎢᎦ', 'ᏅᎩᏁᎢᎦ', - 'ᏧᎾᎩᎶᏍᏗ', 'ᎤᎾᏙᏓᏈᏕᎾ'], - SHORTWEEKDAYS: ['ᏆᏍᎬ', 'ᏉᏅᎯ', 'ᏔᎵᏁ', 'ᏦᎢᏁ', - 'ᏅᎩᏁ', 'ᏧᎾᎩ', 'ᏈᏕᎾ'], - STANDALONESHORTWEEKDAYS: ['ᏆᏍᎬ', 'ᏉᏅᎯ', 'ᏔᎵᏁ', 'ᏦᎢᏁ', - 'ᏅᎩᏁ', 'ᏧᎾᎩ', 'ᏈᏕᎾ'], - NARROWWEEKDAYS: ['Ꮖ', 'Ꮙ', 'Ꮤ', 'Ꮶ', 'Ꮕ', 'Ꮷ', 'Ꭴ'], - STANDALONENARROWWEEKDAYS: ['Ꮖ', 'Ꮙ', 'Ꮤ', 'Ꮶ', 'Ꮕ', 'Ꮷ', 'Ꭴ'], - SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - QUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - AMPMS: ['ᏌᎾᎴ', 'ᏒᎯᏱᎢᏗᏢ'], - DATEFORMATS: ['EEEE, MMMM d, y', 'MMMM d, y', 'MMM d, y', 'M/d/yy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], - FIRSTDAYOFWEEK: 6, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 5 -}; +goog.i18n.DateTimeSymbols_chr_US = goog.i18n.DateTimeSymbols_chr; /** @@ -2641,69 +2105,32 @@ goog.i18n.DateTimeSymbols_chr_US = { */ goog.i18n.DateTimeSymbols_ckb = { ZERODIGIT: 0x0660, - ERAS: ['پێش زاییین', 'ز'], + ERAS: ['پێش زایین', 'زایینی'], ERANAMES: ['پێش زایین', 'زایینی'], - NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', 'D'], - STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', - '11', 'D'], - MONTHS: ['کانوونی دووەم', 'شوبات', 'ئازار', - 'نیسان', 'ئایار', 'حوزەیران', 'تەمووز', 'ئاب', - 'ئەیلوول', 'تشرینی یەکەم', 'تشرینی دووەم', - 'کانونی یەکەم'], - STANDALONEMONTHS: ['کانوونی دووەم', 'شوبات', 'ئازار', - 'نیسان', 'ئایار', 'حوزەیران', 'تەمووز', 'ئاب', - 'ئەیلوول', 'تشرینی یەکەم', 'تشرینی دووەم', - 'کانونی یەکەم'], - SHORTMONTHS: ['کانوونی دووەم', 'شوبات', 'ئازار', - 'نیسان', 'ئایار', 'حوزەیران', 'تەمووز', 'ئاب', - 'ئەیلوول', 'تشرینی یەکەم', 'تشرینی دووەم', - 'کانونی یەکەم'], - STANDALONESHORTMONTHS: ['کانوونی دووەم', 'شوبات', - 'ئازار', 'نیسان', 'ئایار', 'حوزەیران', - 'تەمووز', 'ئاب', 'ئەیلوول', 'تشرینی یەکەم', - 'تشرینی دووەم', 'کانونی یەکەم'], - WEEKDAYS: ['یەکشەممە', 'دووشەممە', 'سێشەممە', - 'چوارشەممە', 'پێنجشەممە', 'ھەینی', 'شەممە'], - STANDALONEWEEKDAYS: ['یەکشەممە', 'دووشەممە', 'سێشەممە', - 'چوارشەممە', 'پێنجشەممە', 'ھەینی', 'شەممە'], - SHORTWEEKDAYS: ['یەکشەممە', 'دووشەممە', 'سێشەممە', - 'چوارشەممە', 'پێنجشەممە', 'ھەینی', 'شەممە'], - STANDALONESHORTWEEKDAYS: ['یەکشەممە', 'دووشەممە', - 'سێشەممە', 'چوارشەممە', 'پێنجشەممە', - 'ھەینی', 'شەممە'], + NARROWMONTHS: ['ک', 'ش', 'ئ', 'ن', 'ئ', 'ح', 'ت', 'ئ', 'ئ', 'ت', 'ت', 'ک'], + STANDALONENARROWMONTHS: ['ک', 'ش', 'ئ', 'ن', 'ئ', 'ح', 'ت', 'ئ', 'ئ', 'ت', 'ت', 'ک'], + MONTHS: ['کانوونی دووەم', 'شوبات', 'ئازار', 'نیسان', 'ئایار', 'حوزەیران', 'تەمووز', 'ئاب', 'ئەیلوول', 'تشرینی یەکەم', 'تشرینی دووەم', 'کانونی یەکەم'], + STANDALONEMONTHS: ['کانوونی دووەم', 'شوبات', 'ئازار', 'نیسان', 'ئایار', 'حوزەیران', 'تەمووز', 'ئاب', 'ئەیلوول', 'تشرینی یەکەم', 'تشرینی دووەم', 'کانونی یەکەم'], + SHORTMONTHS: ['کانوونی دووەم', 'شوبات', 'ئازار', 'نیسان', 'ئایار', 'حوزەیران', 'تەمووز', 'ئاب', 'ئەیلوول', 'تشرینی یەکەم', 'تشرینی دووەم', 'کانونی یەکەم'], + STANDALONESHORTMONTHS: ['کانوونی دووەم', 'شوبات', 'ئازار', 'نیسان', 'ئایار', 'حوزەیران', 'تەمووز', 'ئاب', 'ئەیلوول', 'تشرینی یەکەم', 'تشرینی دووەم', 'کانونی یەکەم'], + WEEKDAYS: ['یەکشەممە', 'دووشەممە', 'سێشەممە', 'چوارشەممە', 'پێنجشەممە', 'ھەینی', 'شەممە'], + STANDALONEWEEKDAYS: ['یەکشەممە', 'دووشەممە', 'سێشەممە', 'چوارشەممە', 'پێنجشەممە', 'ھەینی', 'شەممە'], + SHORTWEEKDAYS: ['یەکشەممە', 'دووشەممە', 'سێشەممە', 'چوارشەممە', 'پێنجشەممە', 'ھەینی', 'شەممە'], + STANDALONESHORTWEEKDAYS: ['یەکشەممە', 'دووشەممە', 'سێشەممە', 'چوارشەممە', 'پێنجشەممە', 'ھەینی', 'شەممە'], NARROWWEEKDAYS: ['ی', 'د', 'س', 'چ', 'پ', 'ھ', 'ش'], STANDALONENARROWWEEKDAYS: ['ی', 'د', 'س', 'چ', 'پ', 'ھ', 'ش'], - SHORTQUARTERS: ['چارەکی یەکەم', 'چارەکی دووەم', - 'چارەکی سێەم', 'چارەکی چوارەم'], - QUARTERS: ['چارەکی یەکەم', 'چارەکی دووەم', - 'چارەکی سێەم', 'چارەکی چوارەم'], + SHORTQUARTERS: ['چ١', 'چ٢', 'چ٣', 'چ٤'], + QUARTERS: ['چارەکی یەکەم', 'چارەکی دووەم', 'چارەکی سێەم', 'چارەکی چوارەم'], AMPMS: ['ب.ن', 'د.ن'], - DATEFORMATS: ['EEEE, y MMMM dd', 'dی MMMMی y', 'y MMM d', 'yyyy-MM-dd'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATEFORMATS: ['y MMMM d, EEEE', 'dی MMMMی y', 'y MMM d', 'y-MM-dd'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 5, WEEKENDRANGE: [4, 5], FIRSTWEEKCUTOFFDAY: 4 }; -/** - * Date/time formatting symbols for locale ckb_Arab. - */ -goog.i18n.DateTimeSymbols_ckb_Arab = goog.i18n.DateTimeSymbols_ckb; - - -/** - * Date/time formatting symbols for locale ckb_Arab_IQ. - */ -goog.i18n.DateTimeSymbols_ckb_Arab_IQ = goog.i18n.DateTimeSymbols_ckb; - - -/** - * Date/time formatting symbols for locale ckb_Arab_IR. - */ -goog.i18n.DateTimeSymbols_ckb_Arab_IR = goog.i18n.DateTimeSymbols_ckb; - - /** * Date/time formatting symbols for locale ckb_IQ. */ @@ -2713,127 +2140,79 @@ goog.i18n.DateTimeSymbols_ckb_IQ = goog.i18n.DateTimeSymbols_ckb; /** * Date/time formatting symbols for locale ckb_IR. */ -goog.i18n.DateTimeSymbols_ckb_IR = goog.i18n.DateTimeSymbols_ckb; - - -/** - * Date/time formatting symbols for locale ckb_Latn. - */ -goog.i18n.DateTimeSymbols_ckb_Latn = goog.i18n.DateTimeSymbols_ckb; +goog.i18n.DateTimeSymbols_ckb_IR = { + ZERODIGIT: 0x0660, + ERAS: ['پێش زایین', 'زایینی'], + ERANAMES: ['پێش زایین', 'زایینی'], + NARROWMONTHS: ['ک', 'ش', 'ئ', 'ن', 'ئ', 'ح', 'ت', 'ئ', 'ئ', 'ت', 'ت', 'ک'], + STANDALONENARROWMONTHS: ['ک', 'ش', 'ئ', 'ن', 'ئ', 'ح', 'ت', 'ئ', 'ئ', 'ت', 'ت', 'ک'], + MONTHS: ['کانوونی دووەم', 'شوبات', 'ئازار', 'نیسان', 'ئایار', 'حوزەیران', 'تەمووز', 'ئاب', 'ئەیلوول', 'تشرینی یەکەم', 'تشرینی دووەم', 'کانونی یەکەم'], + STANDALONEMONTHS: ['کانوونی دووەم', 'شوبات', 'ئازار', 'نیسان', 'ئایار', 'حوزەیران', 'تەمووز', 'ئاب', 'ئەیلوول', 'تشرینی یەکەم', 'تشرینی دووەم', 'کانونی یەکەم'], + SHORTMONTHS: ['کانوونی دووەم', 'شوبات', 'ئازار', 'نیسان', 'ئایار', 'حوزەیران', 'تەمووز', 'ئاب', 'ئەیلوول', 'تشرینی یەکەم', 'تشرینی دووەم', 'کانونی یەکەم'], + STANDALONESHORTMONTHS: ['کانوونی دووەم', 'شوبات', 'ئازار', 'نیسان', 'ئایار', 'حوزەیران', 'تەمووز', 'ئاب', 'ئەیلوول', 'تشرینی یەکەم', 'تشرینی دووەم', 'کانونی یەکەم'], + WEEKDAYS: ['یەکشەممە', 'دووشەممە', 'سێشەممە', 'چوارشەممە', 'پێنجشەممە', 'ھەینی', 'شەممە'], + STANDALONEWEEKDAYS: ['یەکشەممە', 'دووشەممە', 'سێشەممە', 'چوارشەممە', 'پێنجشەممە', 'ھەینی', 'شەممە'], + SHORTWEEKDAYS: ['یەکشەممە', 'دووشەممە', 'سێشەممە', 'چوارشەممە', 'پێنجشەممە', 'ھەینی', 'شەممە'], + STANDALONESHORTWEEKDAYS: ['یەکشەممە', 'دووشەممە', 'سێشەممە', 'چوارشەممە', 'پێنجشەممە', 'ھەینی', 'شەممە'], + NARROWWEEKDAYS: ['ی', 'د', 'س', 'چ', 'پ', 'ھ', 'ش'], + STANDALONENARROWWEEKDAYS: ['ی', 'د', 'س', 'چ', 'پ', 'ھ', 'ش'], + SHORTQUARTERS: ['چ١', 'چ٢', 'چ٣', 'چ٤'], + QUARTERS: ['چارەکی یەکەم', 'چارەکی دووەم', 'چارەکی سێەم', 'چارەکی چوارەم'], + AMPMS: ['ب.ن', 'د.ن'], + DATEFORMATS: ['y MMMM d, EEEE', 'dی MMMMی y', 'y MMM d', 'y-MM-dd'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 5, + WEEKENDRANGE: [4, 4], + FIRSTWEEKCUTOFFDAY: 4 +}; /** - * Date/time formatting symbols for locale ckb_Latn_IQ. + * Date/time formatting symbols for locale cs_CZ. */ -goog.i18n.DateTimeSymbols_ckb_Latn_IQ = goog.i18n.DateTimeSymbols_ckb; +goog.i18n.DateTimeSymbols_cs_CZ = goog.i18n.DateTimeSymbols_cs; /** - * Date/time formatting symbols for locale cs_CZ. + * Date/time formatting symbols for locale cy_GB. */ -goog.i18n.DateTimeSymbols_cs_CZ = { - ERAS: ['př. n. l.', 'n. l.'], - ERANAMES: ['př. n. l.', 'n. l.'], - NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], - STANDALONENARROWMONTHS: ['l', 'ú', 'b', 'd', 'k', 'č', 'č', 's', 'z', 'ř', - 'l', 'p'], - MONTHS: ['ledna', 'února', 'března', 'dubna', 'května', 'června', - 'července', 'srpna', 'září', 'října', 'listopadu', 'prosince'], - STANDALONEMONTHS: ['leden', 'únor', 'březen', 'duben', 'květen', 'červen', - 'červenec', 'srpen', 'září', 'říjen', 'listopad', 'prosinec'], - SHORTMONTHS: ['Led', 'Úno', 'Bře', 'Dub', 'Kvě', 'Čer', 'Čvc', 'Srp', - 'Zář', 'Říj', 'Lis', 'Pro'], - STANDALONESHORTMONTHS: ['1.', '2.', '3.', '4.', '5.', '6.', '7.', '8.', '9.', - '10.', '11.', '12.'], - WEEKDAYS: ['neděle', 'pondělí', 'úterý', 'středa', 'čtvrtek', 'pátek', - 'sobota'], - STANDALONEWEEKDAYS: ['neděle', 'pondělí', 'úterý', 'středa', 'čtvrtek', - 'pátek', 'sobota'], - SHORTWEEKDAYS: ['ne', 'po', 'út', 'st', 'čt', 'pá', 'so'], - STANDALONESHORTWEEKDAYS: ['ne', 'po', 'út', 'st', 'čt', 'pá', 'so'], - NARROWWEEKDAYS: ['N', 'P', 'Ú', 'S', 'Č', 'P', 'S'], - STANDALONENARROWWEEKDAYS: ['N', 'P', 'Ú', 'S', 'Č', 'P', 'S'], - SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - QUARTERS: ['1. čtvrtletí', '2. čtvrtletí', '3. čtvrtletí', - '4. čtvrtletí'], - AMPMS: ['dop.', 'odp.'], - DATEFORMATS: ['EEEE, d. MMMM y', 'd. MMMM y', 'd. M. yyyy', 'dd.MM.yy'], - TIMEFORMATS: ['H:mm:ss zzzz', 'H:mm:ss z', 'H:mm:ss', 'H:mm'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 3 -}; +goog.i18n.DateTimeSymbols_cy_GB = goog.i18n.DateTimeSymbols_cy; /** - * Date/time formatting symbols for locale cy_GB. + * Date/time formatting symbols for locale da_DK. */ -goog.i18n.DateTimeSymbols_cy_GB = { - ERAS: ['CC', 'OC'], - ERANAMES: ['Cyn Crist', 'Oed Crist'], - NARROWMONTHS: ['I', 'C', 'M', 'E', 'M', 'M', 'G', 'A', 'M', 'H', 'T', 'R'], - STANDALONENARROWMONTHS: ['I', 'C', 'M', 'E', 'M', 'M', 'G', 'A', 'M', 'H', - 'T', 'R'], - MONTHS: ['Ionawr', 'Chwefror', 'Mawrth', 'Ebrill', 'Mai', 'Mehefin', - 'Gorffenaf', 'Awst', 'Medi', 'Hydref', 'Tachwedd', 'Rhagfyr'], - STANDALONEMONTHS: ['Ionawr', 'Chwefror', 'Mawrth', 'Ebrill', 'Mai', 'Mehefin', - 'Gorffennaf', 'Awst', 'Medi', 'Hydref', 'Tachwedd', 'Rhagfyr'], - SHORTMONTHS: ['Ion', 'Chwef', 'Mawrth', 'Ebrill', 'Mai', 'Meh', 'Gorff', - 'Awst', 'Medi', 'Hyd', 'Tach', 'Rhag'], - STANDALONESHORTMONTHS: ['Ion', 'Chwe', 'Maw', 'Ebr', 'Mai', 'Meh', 'Gor', - 'Awst', 'Medi', 'Hyd', 'Tach', 'Rhag'], - WEEKDAYS: ['Dydd Sul', 'Dydd Llun', 'Dydd Mawrth', 'Dydd Mercher', 'Dydd Iau', - 'Dydd Gwener', 'Dydd Sadwrn'], - STANDALONEWEEKDAYS: ['Dydd Sul', 'Dydd Llun', 'Dydd Mawrth', 'Dydd Mercher', - 'Dydd Iau', 'Dydd Gwener', 'Dydd Sadwrn'], - SHORTWEEKDAYS: ['Sul', 'Llun', 'Maw', 'Mer', 'Iau', 'Gwen', 'Sad'], - STANDALONESHORTWEEKDAYS: ['Sul', 'Llun', 'Maw', 'Mer', 'Iau', 'Gwe', 'Sad'], - NARROWWEEKDAYS: ['S', 'L', 'M', 'M', 'I', 'G', 'S'], - STANDALONENARROWWEEKDAYS: ['S', 'L', 'M', 'M', 'I', 'G', 'S'], - SHORTQUARTERS: ['Ch1', 'Ch2', 'Ch3', 'Ch4'], - QUARTERS: ['Chwarter 1af', '2il chwarter', '3ydd chwarter', '4ydd chwarter'], - AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yyyy'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 3 -}; +goog.i18n.DateTimeSymbols_da_DK = goog.i18n.DateTimeSymbols_da; /** - * Date/time formatting symbols for locale da_DK. + * Date/time formatting symbols for locale da_GL. */ -goog.i18n.DateTimeSymbols_da_DK = { +goog.i18n.DateTimeSymbols_da_GL = { ERAS: ['f.Kr.', 'e.Kr.'], ERANAMES: ['f.Kr.', 'e.Kr.'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['januar', 'februar', 'marts', 'april', 'maj', 'juni', 'juli', - 'august', 'september', 'oktober', 'november', 'december'], - STANDALONEMONTHS: ['januar', 'februar', 'marts', 'april', 'maj', 'juni', - 'juli', 'august', 'september', 'oktober', 'november', 'december'], - SHORTMONTHS: ['jan.', 'feb.', 'mar.', 'apr.', 'maj', 'jun.', 'jul.', 'aug.', - 'sep.', 'okt.', 'nov.', 'dec.'], - STANDALONESHORTMONTHS: ['jan', 'feb', 'mar', 'apr', 'maj', 'jun', 'jul', - 'aug', 'sep', 'okt', 'nov', 'dec'], - WEEKDAYS: ['søndag', 'mandag', 'tirsdag', 'onsdag', 'torsdag', 'fredag', - 'lørdag'], - STANDALONEWEEKDAYS: ['søndag', 'mandag', 'tirsdag', 'onsdag', 'torsdag', - 'fredag', 'lørdag'], - SHORTWEEKDAYS: ['søn', 'man', 'tir', 'ons', 'tor', 'fre', 'lør'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['januar', 'februar', 'marts', 'april', 'maj', 'juni', 'juli', 'august', 'september', 'oktober', 'november', 'december'], + STANDALONEMONTHS: ['januar', 'februar', 'marts', 'april', 'maj', 'juni', 'juli', 'august', 'september', 'oktober', 'november', 'december'], + SHORTMONTHS: ['jan.', 'feb.', 'mar.', 'apr.', 'maj', 'jun.', 'jul.', 'aug.', 'sep.', 'okt.', 'nov.', 'dec.'], + STANDALONESHORTMONTHS: ['jan.', 'feb.', 'mar.', 'apr.', 'maj', 'jun.', 'jul.', 'aug.', 'sep.', 'okt.', 'nov.', 'dec.'], + WEEKDAYS: ['søndag', 'mandag', 'tirsdag', 'onsdag', 'torsdag', 'fredag', 'lørdag'], + STANDALONEWEEKDAYS: ['søndag', 'mandag', 'tirsdag', 'onsdag', 'torsdag', 'fredag', 'lørdag'], + SHORTWEEKDAYS: ['søn.', 'man.', 'tir.', 'ons.', 'tor.', 'fre.', 'lør.'], STANDALONESHORTWEEKDAYS: ['søn', 'man', 'tir', 'ons', 'tor', 'fre', 'lør'], NARROWWEEKDAYS: ['S', 'M', 'T', 'O', 'T', 'F', 'L'], STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'O', 'T', 'F', 'L'], - SHORTQUARTERS: ['K1', 'K2', 'K3', 'K4'], + SHORTQUARTERS: ['1. kvt.', '2. kvt.', '3. kvt.', '4. kvt.'], QUARTERS: ['1. kvartal', '2. kvartal', '3. kvartal', '4. kvartal'], - AMPMS: ['f.m.', 'e.m.'], - DATEFORMATS: ['EEEE \'den\' d. MMMM y', 'd. MMM y', 'dd/MM/yyyy', 'dd/MM/yy'], - TIMEFORMATS: ['HH.mm.ss zzzz', 'HH.mm.ss z', 'HH.mm.ss', 'HH.mm'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE \'den\' d. MMMM y', 'd. MMMM y', 'd. MMM y', 'dd/MM/y'], + TIMEFORMATS: ['h.mm.ss a zzzz', 'h.mm.ss a z', 'h.mm.ss a', 'h.mm a'], + DATETIMEFORMATS: ['{1} \'kl\'. {0}', '{1} \'kl\'. {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 3 + FIRSTWEEKCUTOFFDAY: 6 }; @@ -2844,37 +2223,26 @@ goog.i18n.DateTimeSymbols_dav = { ERAS: ['KK', 'BK'], ERANAMES: ['Kabla ya Kristo', 'Baada ya Kristo'], NARROWMONTHS: ['I', 'K', 'K', 'K', 'K', 'K', 'M', 'W', 'I', 'I', 'I', 'I'], - STANDALONENARROWMONTHS: ['I', 'K', 'K', 'K', 'K', 'K', 'M', 'W', 'I', 'I', - 'I', 'I'], - MONTHS: ['Mori ghwa imbiri', 'Mori ghwa kawi', 'Mori ghwa kadadu', - 'Mori ghwa kana', 'Mori ghwa kasanu', 'Mori ghwa karandadu', - 'Mori ghwa mfungade', 'Mori ghwa wunyanya', 'Mori ghwa ikenda', - 'Mori ghwa ikumi', 'Mori ghwa ikumi na imweri', 'Mori ghwa ikumi na iwi'], - STANDALONEMONTHS: ['Mori ghwa imbiri', 'Mori ghwa kawi', 'Mori ghwa kadadu', - 'Mori ghwa kana', 'Mori ghwa kasanu', 'Mori ghwa karandadu', - 'Mori ghwa mfungade', 'Mori ghwa wunyanya', 'Mori ghwa ikenda', - 'Mori ghwa ikumi', 'Mori ghwa ikumi na imweri', 'Mori ghwa ikumi na iwi'], - SHORTMONTHS: ['Imb', 'Kaw', 'Kad', 'Kan', 'Kas', 'Kar', 'Mfu', 'Wun', 'Ike', - 'Iku', 'Imw', 'Iwi'], - STANDALONESHORTMONTHS: ['Imb', 'Kaw', 'Kad', 'Kan', 'Kas', 'Kar', 'Mfu', - 'Wun', 'Ike', 'Iku', 'Imw', 'Iwi'], - WEEKDAYS: ['Ituku ja jumwa', 'Kuramuka jimweri', 'Kuramuka kawi', - 'Kuramuka kadadu', 'Kuramuka kana', 'Kuramuka kasanu', 'Kifula nguwo'], - STANDALONEWEEKDAYS: ['Ituku ja jumwa', 'Kuramuka jimweri', 'Kuramuka kawi', - 'Kuramuka kadadu', 'Kuramuka kana', 'Kuramuka kasanu', 'Kifula nguwo'], + STANDALONENARROWMONTHS: ['I', 'K', 'K', 'K', 'K', 'K', 'M', 'W', 'I', 'I', 'I', 'I'], + MONTHS: ['Mori ghwa imbiri', 'Mori ghwa kawi', 'Mori ghwa kadadu', 'Mori ghwa kana', 'Mori ghwa kasanu', 'Mori ghwa karandadu', 'Mori ghwa mfungade', 'Mori ghwa wunyanya', 'Mori ghwa ikenda', 'Mori ghwa ikumi', 'Mori ghwa ikumi na imweri', 'Mori ghwa ikumi na iwi'], + STANDALONEMONTHS: ['Mori ghwa imbiri', 'Mori ghwa kawi', 'Mori ghwa kadadu', 'Mori ghwa kana', 'Mori ghwa kasanu', 'Mori ghwa karandadu', 'Mori ghwa mfungade', 'Mori ghwa wunyanya', 'Mori ghwa ikenda', 'Mori ghwa ikumi', 'Mori ghwa ikumi na imweri', 'Mori ghwa ikumi na iwi'], + SHORTMONTHS: ['Imb', 'Kaw', 'Kad', 'Kan', 'Kas', 'Kar', 'Mfu', 'Wun', 'Ike', 'Iku', 'Imw', 'Iwi'], + STANDALONESHORTMONTHS: ['Imb', 'Kaw', 'Kad', 'Kan', 'Kas', 'Kar', 'Mfu', 'Wun', 'Ike', 'Iku', 'Imw', 'Iwi'], + WEEKDAYS: ['Ituku ja jumwa', 'Kuramuka jimweri', 'Kuramuka kawi', 'Kuramuka kadadu', 'Kuramuka kana', 'Kuramuka kasanu', 'Kifula nguwo'], + STANDALONEWEEKDAYS: ['Ituku ja jumwa', 'Kuramuka jimweri', 'Kuramuka kawi', 'Kuramuka kadadu', 'Kuramuka kana', 'Kuramuka kasanu', 'Kifula nguwo'], SHORTWEEKDAYS: ['Jum', 'Jim', 'Kaw', 'Kad', 'Kan', 'Kas', 'Ngu'], STANDALONESHORTWEEKDAYS: ['Jum', 'Jim', 'Kaw', 'Kad', 'Kan', 'Kas', 'Ngu'], NARROWWEEKDAYS: ['J', 'J', 'K', 'K', 'K', 'K', 'N'], STANDALONENARROWWEEKDAYS: ['J', 'J', 'K', 'K', 'K', 'K', 'N'], SHORTQUARTERS: ['K1', 'K2', 'K3', 'K4'], - QUARTERS: ['Kimu cha imbiri', 'Kimu cha kawi', 'Kimu cha kadadu', - 'Kimu cha kana'], + QUARTERS: ['Kimu cha imbiri', 'Kimu cha kawi', 'Kimu cha kadadu', 'Kimu cha kana'], AMPMS: ['Luma lwa K', 'luma lwa p'], - DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yyyy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], - FIRSTDAYOFWEEK: 0, + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 6, WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 6 + FIRSTWEEKCUTOFFDAY: 5 }; @@ -2887,60 +2255,29 @@ goog.i18n.DateTimeSymbols_dav_KE = goog.i18n.DateTimeSymbols_dav; /** * Date/time formatting symbols for locale de_BE. */ -goog.i18n.DateTimeSymbols_de_BE = { - ERAS: ['v. Chr.', 'n. Chr.'], - ERANAMES: ['v. Chr.', 'n. Chr.'], - NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', - 'August', 'September', 'Oktober', 'November', 'Dezember'], - STANDALONEMONTHS: ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', - 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'], - SHORTMONTHS: ['Jan', 'Feb', 'Mär', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', - 'Okt', 'Nov', 'Dez'], - STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mär', 'Apr', 'Mai', 'Jun', 'Jul', - 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'], - WEEKDAYS: ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', - 'Freitag', 'Samstag'], - STANDALONEWEEKDAYS: ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', - 'Donnerstag', 'Freitag', 'Samstag'], - SHORTWEEKDAYS: ['So.', 'Mo.', 'Di.', 'Mi.', 'Do.', 'Fr.', 'Sa.'], - STANDALONESHORTWEEKDAYS: ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'], - NARROWWEEKDAYS: ['S', 'M', 'D', 'M', 'D', 'F', 'S'], - STANDALONENARROWWEEKDAYS: ['S', 'M', 'D', 'M', 'D', 'F', 'S'], - SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - QUARTERS: ['1. Quartal', '2. Quartal', '3. Quartal', '4. Quartal'], - AMPMS: ['vorm.', 'nachm.'], - DATEFORMATS: ['EEEE, d. MMMM y', 'd. MMMM y', 'dd.MM.yyyy', 'dd.MM.yy'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 3 -}; +goog.i18n.DateTimeSymbols_de_BE = goog.i18n.DateTimeSymbols_de; /** * Date/time formatting symbols for locale de_DE. */ -goog.i18n.DateTimeSymbols_de_DE = { +goog.i18n.DateTimeSymbols_de_DE = goog.i18n.DateTimeSymbols_de; + + +/** + * Date/time formatting symbols for locale de_IT. + */ +goog.i18n.DateTimeSymbols_de_IT = { ERAS: ['v. Chr.', 'n. Chr.'], ERANAMES: ['v. Chr.', 'n. Chr.'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', - 'August', 'September', 'Oktober', 'November', 'Dezember'], - STANDALONEMONTHS: ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', - 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'], - SHORTMONTHS: ['Jan', 'Feb', 'Mär', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', - 'Okt', 'Nov', 'Dez'], - STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mär', 'Apr', 'Mai', 'Jun', 'Jul', - 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'], - WEEKDAYS: ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', - 'Freitag', 'Samstag'], - STANDALONEWEEKDAYS: ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', - 'Donnerstag', 'Freitag', 'Samstag'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['Jänner', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'], + STANDALONEMONTHS: ['Jänner', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'], + SHORTMONTHS: ['Jän.', 'Feb.', 'März', 'Apr.', 'Mai', 'Juni', 'Juli', 'Aug.', 'Sep.', 'Okt.', 'Nov.', 'Dez.'], + STANDALONESHORTMONTHS: ['Jän', 'Feb', 'Mär', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'], + WEEKDAYS: ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag'], + STANDALONEWEEKDAYS: ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag'], SHORTWEEKDAYS: ['So.', 'Mo.', 'Di.', 'Mi.', 'Do.', 'Fr.', 'Sa.'], STANDALONESHORTWEEKDAYS: ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'], NARROWWEEKDAYS: ['S', 'M', 'D', 'M', 'D', 'F', 'S'], @@ -2948,8 +2285,9 @@ goog.i18n.DateTimeSymbols_de_DE = { SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], QUARTERS: ['1. Quartal', '2. Quartal', '3. Quartal', '4. Quartal'], AMPMS: ['vorm.', 'nachm.'], - DATEFORMATS: ['EEEE, d. MMMM y', 'd. MMMM y', 'dd.MM.yyyy', 'dd.MM.yy'], + DATEFORMATS: ['EEEE, d. MMMM y', 'd. MMMM y', 'dd.MM.y', 'dd.MM.yy'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'um\' {0}', '{1} \'um\' {0}', '{1}, {0}', '{1}, {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 3 @@ -2959,73 +2297,13 @@ goog.i18n.DateTimeSymbols_de_DE = { /** * Date/time formatting symbols for locale de_LI. */ -goog.i18n.DateTimeSymbols_de_LI = { - ERAS: ['v. Chr.', 'n. Chr.'], - ERANAMES: ['v. Chr.', 'n. Chr.'], - NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', - 'August', 'September', 'Oktober', 'November', 'Dezember'], - STANDALONEMONTHS: ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', - 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'], - SHORTMONTHS: ['Jan', 'Feb', 'Mär', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', - 'Okt', 'Nov', 'Dez'], - STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mär', 'Apr', 'Mai', 'Jun', 'Jul', - 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'], - WEEKDAYS: ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', - 'Freitag', 'Samstag'], - STANDALONEWEEKDAYS: ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', - 'Donnerstag', 'Freitag', 'Samstag'], - SHORTWEEKDAYS: ['So.', 'Mo.', 'Di.', 'Mi.', 'Do.', 'Fr.', 'Sa.'], - STANDALONESHORTWEEKDAYS: ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'], - NARROWWEEKDAYS: ['S', 'M', 'D', 'M', 'D', 'F', 'S'], - STANDALONENARROWWEEKDAYS: ['S', 'M', 'D', 'M', 'D', 'F', 'S'], - SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - QUARTERS: ['1. Quartal', '2. Quartal', '3. Quartal', '4. Quartal'], - AMPMS: ['vorm.', 'nachm.'], - DATEFORMATS: ['EEEE, d. MMMM y', 'd. MMMM y', 'dd.MM.yyyy', 'dd.MM.yy'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 3 -}; +goog.i18n.DateTimeSymbols_de_LI = goog.i18n.DateTimeSymbols_de; /** * Date/time formatting symbols for locale de_LU. */ -goog.i18n.DateTimeSymbols_de_LU = { - ERAS: ['v. Chr.', 'n. Chr.'], - ERANAMES: ['v. Chr.', 'n. Chr.'], - NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', - 'August', 'September', 'Oktober', 'November', 'Dezember'], - STANDALONEMONTHS: ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', - 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'], - SHORTMONTHS: ['Jan', 'Feb', 'Mär', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', - 'Okt', 'Nov', 'Dez'], - STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mär', 'Apr', 'Mai', 'Jun', 'Jul', - 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'], - WEEKDAYS: ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', - 'Freitag', 'Samstag'], - STANDALONEWEEKDAYS: ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', - 'Donnerstag', 'Freitag', 'Samstag'], - SHORTWEEKDAYS: ['So.', 'Mo.', 'Di.', 'Mi.', 'Do.', 'Fr.', 'Sa.'], - STANDALONESHORTWEEKDAYS: ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'], - NARROWWEEKDAYS: ['S', 'M', 'D', 'M', 'D', 'F', 'S'], - STANDALONENARROWWEEKDAYS: ['S', 'M', 'D', 'M', 'D', 'F', 'S'], - SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - QUARTERS: ['1. Quartal', '2. Quartal', '3. Quartal', '4. Quartal'], - AMPMS: ['vorm.', 'nachm.'], - DATEFORMATS: ['EEEE, d. MMMM y', 'd. MMMM y', 'dd.MM.yyyy', 'dd.MM.yy'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 3 -}; +goog.i18n.DateTimeSymbols_de_LU = goog.i18n.DateTimeSymbols_de; /** @@ -3035,21 +2313,13 @@ goog.i18n.DateTimeSymbols_dje = { ERAS: ['IJ', 'IZ'], ERANAMES: ['Isaa jine', 'Isaa zamanoo'], NARROWMONTHS: ['Ž', 'F', 'M', 'A', 'M', 'Ž', 'Ž', 'U', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['Ž', 'F', 'M', 'A', 'M', 'Ž', 'Ž', 'U', 'S', 'O', - 'N', 'D'], - MONTHS: ['Žanwiye', 'Feewiriye', 'Marsi', 'Awiril', 'Me', 'Žuweŋ', - 'Žuyye', 'Ut', 'Sektanbur', 'Oktoobur', 'Noowanbur', 'Deesanbur'], - STANDALONEMONTHS: ['Žanwiye', 'Feewiriye', 'Marsi', 'Awiril', 'Me', - 'Žuweŋ', 'Žuyye', 'Ut', 'Sektanbur', 'Oktoobur', 'Noowanbur', - 'Deesanbur'], - SHORTMONTHS: ['Žan', 'Fee', 'Mar', 'Awi', 'Me', 'Žuw', 'Žuy', 'Ut', 'Sek', - 'Okt', 'Noo', 'Dee'], - STANDALONESHORTMONTHS: ['Žan', 'Fee', 'Mar', 'Awi', 'Me', 'Žuw', 'Žuy', - 'Ut', 'Sek', 'Okt', 'Noo', 'Dee'], - WEEKDAYS: ['Alhadi', 'Atinni', 'Atalaata', 'Alarba', 'Alhamisi', 'Alzuma', - 'Asibti'], - STANDALONEWEEKDAYS: ['Alhadi', 'Atinni', 'Atalaata', 'Alarba', 'Alhamisi', - 'Alzuma', 'Asibti'], + STANDALONENARROWMONTHS: ['Ž', 'F', 'M', 'A', 'M', 'Ž', 'Ž', 'U', 'S', 'O', 'N', 'D'], + MONTHS: ['Žanwiye', 'Feewiriye', 'Marsi', 'Awiril', 'Me', 'Žuweŋ', 'Žuyye', 'Ut', 'Sektanbur', 'Oktoobur', 'Noowanbur', 'Deesanbur'], + STANDALONEMONTHS: ['Žanwiye', 'Feewiriye', 'Marsi', 'Awiril', 'Me', 'Žuweŋ', 'Žuyye', 'Ut', 'Sektanbur', 'Oktoobur', 'Noowanbur', 'Deesanbur'], + SHORTMONTHS: ['Žan', 'Fee', 'Mar', 'Awi', 'Me', 'Žuw', 'Žuy', 'Ut', 'Sek', 'Okt', 'Noo', 'Dee'], + STANDALONESHORTMONTHS: ['Žan', 'Fee', 'Mar', 'Awi', 'Me', 'Žuw', 'Žuy', 'Ut', 'Sek', 'Okt', 'Noo', 'Dee'], + WEEKDAYS: ['Alhadi', 'Atinni', 'Atalaata', 'Alarba', 'Alhamisi', 'Alzuma', 'Asibti'], + STANDALONEWEEKDAYS: ['Alhadi', 'Atinni', 'Atalaata', 'Alarba', 'Alhamisi', 'Alzuma', 'Asibti'], SHORTWEEKDAYS: ['Alh', 'Ati', 'Ata', 'Ala', 'Alm', 'Alz', 'Asi'], STANDALONESHORTWEEKDAYS: ['Alh', 'Ati', 'Ata', 'Ala', 'Alm', 'Alz', 'Asi'], NARROWWEEKDAYS: ['H', 'T', 'T', 'L', 'M', 'Z', 'S'], @@ -3057,8 +2327,9 @@ goog.i18n.DateTimeSymbols_dje = { SHORTQUARTERS: ['A1', 'A2', 'A3', 'A4'], QUARTERS: ['Arrubu 1', 'Arrubu 2', 'Arrubu 3', 'Arrubu 4'], AMPMS: ['Subbaahi', 'Zaarikay b'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM, y', 'd/M/yyyy'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM, y', 'd/M/y'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -3072,40 +2343,66 @@ goog.i18n.DateTimeSymbols_dje_NE = goog.i18n.DateTimeSymbols_dje; /** - * Date/time formatting symbols for locale dua. + * Date/time formatting symbols for locale dsb. */ -goog.i18n.DateTimeSymbols_dua = { - ERAS: ['ɓ.Ys', 'mb.Ys'], - ERANAMES: ['ɓoso ɓwá yáɓe lá', 'mbúsa kwédi a Yés'], - NARROWMONTHS: ['d', 'ŋ', 's', 'd', 'e', 'e', 'm', 'd', 'n', 'm', 't', 'e'], - STANDALONENARROWMONTHS: ['d', 'ŋ', 's', 'd', 'e', 'e', 'm', 'd', 'n', 'm', - 't', 'e'], - MONTHS: ['dimɔ́di', 'ŋgɔndɛ', 'sɔŋɛ', 'diɓáɓá', 'emiasele', - 'esɔpɛsɔpɛ', 'madiɓɛ́díɓɛ́', 'diŋgindi', 'nyɛtɛki', - 'mayésɛ́', 'tiníní', 'eláŋgɛ́'], - STANDALONEMONTHS: ['dimɔ́di', 'ŋgɔndɛ', 'sɔŋɛ', 'diɓáɓá', - 'emiasele', 'esɔpɛsɔpɛ', 'madiɓɛ́díɓɛ́', 'diŋgindi', - 'nyɛtɛki', 'mayésɛ́', 'tiníní', 'eláŋgɛ́'], - SHORTMONTHS: ['di', 'ŋgɔn', 'sɔŋ', 'diɓ', 'emi', 'esɔ', 'mad', 'diŋ', - 'nyɛt', 'may', 'tin', 'elá'], - STANDALONESHORTMONTHS: ['di', 'ŋgɔn', 'sɔŋ', 'diɓ', 'emi', 'esɔ', 'mad', - 'diŋ', 'nyɛt', 'may', 'tin', 'elá'], - WEEKDAYS: ['éti', 'mɔ́sú', 'kwasú', 'mukɔ́sú', 'ŋgisú', - 'ɗónɛsú', 'esaɓasú'], - STANDALONEWEEKDAYS: ['éti', 'mɔ́sú', 'kwasú', 'mukɔ́sú', 'ŋgisú', - 'ɗónɛsú', 'esaɓasú'], - SHORTWEEKDAYS: ['ét', 'mɔ́s', 'kwa', 'muk', 'ŋgi', 'ɗón', 'esa'], - STANDALONESHORTWEEKDAYS: ['ét', 'mɔ́s', 'kwa', 'muk', 'ŋgi', 'ɗón', - 'esa'], - NARROWWEEKDAYS: ['e', 'm', 'k', 'm', 'ŋ', 'ɗ', 'e'], - STANDALONENARROWWEEKDAYS: ['e', 'm', 'k', 'm', 'ŋ', 'ɗ', 'e'], - SHORTQUARTERS: ['ndu1', 'ndu2', 'ndu3', 'ndu4'], - QUARTERS: ['ndúmbū nyá ɓosó', 'ndúmbū ní lóndɛ́ íɓaá', - 'ndúmbū ní lóndɛ́ ílálo', 'ndúmbū ní lóndɛ́ ínɛ́y'], - AMPMS: ['idiɓa', 'ebyámu'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'd/M/yyyy'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 0, +goog.i18n.DateTimeSymbols_dsb = { + ERAS: ['pś.Chr.n.', 'pó Chr.n.'], + ERANAMES: ['pśed Kristusowym naroźenim', 'pó Kristusowem naroźenju'], + NARROWMONTHS: ['j', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', 'n', 'd'], + STANDALONENARROWMONTHS: ['j', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', 'n', 'd'], + MONTHS: ['januara', 'februara', 'měrca', 'apryla', 'maja', 'junija', 'julija', 'awgusta', 'septembra', 'oktobra', 'nowembra', 'decembra'], + STANDALONEMONTHS: ['januar', 'februar', 'měrc', 'apryl', 'maj', 'junij', 'julij', 'awgust', 'september', 'oktober', 'nowember', 'december'], + SHORTMONTHS: ['jan.', 'feb.', 'měr.', 'apr.', 'maj.', 'jun.', 'jul.', 'awg.', 'sep.', 'okt.', 'now.', 'dec.'], + STANDALONESHORTMONTHS: ['jan', 'feb', 'měr', 'apr', 'maj', 'jun', 'jul', 'awg', 'sep', 'okt', 'now', 'dec'], + WEEKDAYS: ['njeźela', 'pónjeźele', 'wałtora', 'srjoda', 'stwórtk', 'pětk', 'sobota'], + STANDALONEWEEKDAYS: ['njeźela', 'pónjeźele', 'wałtora', 'srjoda', 'stwórtk', 'pětk', 'sobota'], + SHORTWEEKDAYS: ['nje', 'pón', 'wał', 'srj', 'stw', 'pět', 'sob'], + STANDALONESHORTWEEKDAYS: ['nje', 'pón', 'wał', 'srj', 'stw', 'pět', 'sob'], + NARROWWEEKDAYS: ['n', 'p', 'w', 's', 's', 'p', 's'], + STANDALONENARROWWEEKDAYS: ['n', 'p', 'w', 's', 's', 'p', 's'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1. kwartal', '2. kwartal', '3. kwartal', '4. kwartal'], + AMPMS: ['dopołdnja', 'wótpołdnja'], + DATEFORMATS: ['EEEE, d. MMMM y', 'd. MMMM y', 'd.M.y', 'd.M.yy'], + TIMEFORMATS: ['H:mm:ss zzzz', 'H:mm:ss z', 'H:mm:ss', 'H:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 3 +}; + + +/** + * Date/time formatting symbols for locale dsb_DE. + */ +goog.i18n.DateTimeSymbols_dsb_DE = goog.i18n.DateTimeSymbols_dsb; + + +/** + * Date/time formatting symbols for locale dua. + */ +goog.i18n.DateTimeSymbols_dua = { + ERAS: ['ɓ.Ys', 'mb.Ys'], + ERANAMES: ['ɓoso ɓwá yáɓe lá', 'mbúsa kwédi a Yés'], + NARROWMONTHS: ['d', 'ŋ', 's', 'd', 'e', 'e', 'm', 'd', 'n', 'm', 't', 'e'], + STANDALONENARROWMONTHS: ['d', 'ŋ', 's', 'd', 'e', 'e', 'm', 'd', 'n', 'm', 't', 'e'], + MONTHS: ['dimɔ́di', 'ŋgɔndɛ', 'sɔŋɛ', 'diɓáɓá', 'emiasele', 'esɔpɛsɔpɛ', 'madiɓɛ́díɓɛ́', 'diŋgindi', 'nyɛtɛki', 'mayésɛ́', 'tiníní', 'eláŋgɛ́'], + STANDALONEMONTHS: ['dimɔ́di', 'ŋgɔndɛ', 'sɔŋɛ', 'diɓáɓá', 'emiasele', 'esɔpɛsɔpɛ', 'madiɓɛ́díɓɛ́', 'diŋgindi', 'nyɛtɛki', 'mayésɛ́', 'tiníní', 'eláŋgɛ́'], + SHORTMONTHS: ['di', 'ŋgɔn', 'sɔŋ', 'diɓ', 'emi', 'esɔ', 'mad', 'diŋ', 'nyɛt', 'may', 'tin', 'elá'], + STANDALONESHORTMONTHS: ['di', 'ŋgɔn', 'sɔŋ', 'diɓ', 'emi', 'esɔ', 'mad', 'diŋ', 'nyɛt', 'may', 'tin', 'elá'], + WEEKDAYS: ['éti', 'mɔ́sú', 'kwasú', 'mukɔ́sú', 'ŋgisú', 'ɗónɛsú', 'esaɓasú'], + STANDALONEWEEKDAYS: ['éti', 'mɔ́sú', 'kwasú', 'mukɔ́sú', 'ŋgisú', 'ɗónɛsú', 'esaɓasú'], + SHORTWEEKDAYS: ['ét', 'mɔ́s', 'kwa', 'muk', 'ŋgi', 'ɗón', 'esa'], + STANDALONESHORTWEEKDAYS: ['ét', 'mɔ́s', 'kwa', 'muk', 'ŋgi', 'ɗón', 'esa'], + NARROWWEEKDAYS: ['e', 'm', 'k', 'm', 'ŋ', 'ɗ', 'e'], + STANDALONENARROWWEEKDAYS: ['e', 'm', 'k', 'm', 'ŋ', 'ɗ', 'e'], + SHORTQUARTERS: ['ndu1', 'ndu2', 'ndu3', 'ndu4'], + QUARTERS: ['ndúmbū nyá ɓosó', 'ndúmbū ní lóndɛ́ íɓaá', 'ndúmbū ní lóndɛ́ ílálo', 'ndúmbū ní lóndɛ́ ínɛ́y'], + AMPMS: ['idiɓa', 'ebyámu'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'd/M/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 }; @@ -3124,20 +2421,13 @@ goog.i18n.DateTimeSymbols_dyo = { ERAS: ['ArY', 'AtY'], ERANAMES: ['Ariŋuu Yeesu', 'Atooŋe Yeesu'], NARROWMONTHS: ['S', 'F', 'M', 'A', 'M', 'S', 'S', 'U', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['S', 'F', 'M', 'A', 'M', 'S', 'S', 'U', 'S', 'O', - 'N', 'D'], - MONTHS: ['Sanvie', 'Fébirie', 'Mars', 'Aburil', 'Mee', 'Sueŋ', 'Súuyee', - 'Ut', 'Settembar', 'Oktobar', 'Novembar', 'Disambar'], - STANDALONEMONTHS: ['Sanvie', 'Fébirie', 'Mars', 'Aburil', 'Mee', 'Sueŋ', - 'Súuyee', 'Ut', 'Settembar', 'Oktobar', 'Novembar', 'Disambar'], - SHORTMONTHS: ['Sa', 'Fe', 'Ma', 'Ab', 'Me', 'Su', 'Sú', 'Ut', 'Se', 'Ok', - 'No', 'De'], - STANDALONESHORTMONTHS: ['Sa', 'Fe', 'Ma', 'Ab', 'Me', 'Su', 'Sú', 'Ut', 'Se', - 'Ok', 'No', 'De'], - WEEKDAYS: ['Dimas', 'Teneŋ', 'Talata', 'Alarbay', 'Aramisay', 'Arjuma', - 'Sibiti'], - STANDALONEWEEKDAYS: ['Dimas', 'Teneŋ', 'Talata', 'Alarbay', 'Aramisay', - 'Arjuma', 'Sibiti'], + STANDALONENARROWMONTHS: ['S', 'F', 'M', 'A', 'M', 'S', 'S', 'U', 'S', 'O', 'N', 'D'], + MONTHS: ['Sanvie', 'Fébirie', 'Mars', 'Aburil', 'Mee', 'Sueŋ', 'Súuyee', 'Ut', 'Settembar', 'Oktobar', 'Novembar', 'Disambar'], + STANDALONEMONTHS: ['Sanvie', 'Fébirie', 'Mars', 'Aburil', 'Mee', 'Sueŋ', 'Súuyee', 'Ut', 'Settembar', 'Oktobar', 'Novembar', 'Disambar'], + SHORTMONTHS: ['Sa', 'Fe', 'Ma', 'Ab', 'Me', 'Su', 'Sú', 'Ut', 'Se', 'Ok', 'No', 'De'], + STANDALONESHORTMONTHS: ['Sa', 'Fe', 'Ma', 'Ab', 'Me', 'Su', 'Sú', 'Ut', 'Se', 'Ok', 'No', 'De'], + WEEKDAYS: ['Dimas', 'Teneŋ', 'Talata', 'Alarbay', 'Aramisay', 'Arjuma', 'Sibiti'], + STANDALONEWEEKDAYS: ['Dimas', 'Teneŋ', 'Talata', 'Alarbay', 'Aramisay', 'Arjuma', 'Sibiti'], SHORTWEEKDAYS: ['Dim', 'Ten', 'Tal', 'Ala', 'Ara', 'Arj', 'Sib'], STANDALONESHORTWEEKDAYS: ['Dim', 'Ten', 'Tal', 'Ala', 'Ara', 'Arj', 'Sib'], NARROWWEEKDAYS: ['D', 'T', 'T', 'A', 'A', 'A', 'S'], @@ -3145,8 +2435,9 @@ goog.i18n.DateTimeSymbols_dyo = { SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], QUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'd/M/yyyy'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'd/M/y'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -3163,72 +2454,27 @@ goog.i18n.DateTimeSymbols_dyo_SN = goog.i18n.DateTimeSymbols_dyo; * Date/time formatting symbols for locale dz. */ goog.i18n.DateTimeSymbols_dz = { + ZERODIGIT: 0x0F20, ERAS: ['BCE', 'CE'], ERANAMES: ['BCE', 'CE'], - NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], - STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', - '11', '12'], - MONTHS: ['སྤྱི་ཟླཝ་དངཔ་', - 'སྤྱི་ཟླཝ་གཉིས་པ་', - 'སྤྱི་ཟླཝ་གསུམ་པ་', - 'སྤྱི་ཟླཝ་བཞི་པ་', - 'སྤྱི་ཟླཝ་ལྔ་པ་', - 'སྤྱི་ཟླཝ་དྲུག་པ་', - 'སྤྱི་ཟླཝ་བདུན་པ་', - 'སྤྱི་ཟླཝ་བརྒྱད་པ་', - 'སྤྱི་ཟླཝ་དགུ་པ་', - 'སྤྱི་ཟླཝ་བཅུ་པ་', - 'སྤྱི་ཟླཝ་བཅུ་གཅིག་པ་', - 'སྤྱི་ཟླཝ་བཅུ་གཉིས་པ་'], - STANDALONEMONTHS: ['སྤྱི་ཟླཝ་དངཔ་', - 'སྤྱི་ཟླཝ་གཉིས་པ་', - 'སྤྱི་ཟླཝ་གསུམ་པ་', - 'སྤྱི་ཟླཝ་བཞི་པ་', - 'སྤྱི་ཟླཝ་ལྔ་པ་', - 'སྤྱི་ཟླཝ་དྲུག་པ་', - 'སྤྱི་ཟླཝ་བདུན་པ་', - 'སྤྱི་ཟླཝ་བརྒྱད་པ་', - 'སྤྱི་ཟླཝ་དགུ་པ་', - 'སྤྱི་ཟླཝ་བཅུ་པ་', - 'སྤྱི་ཟླཝ་བཅུ་གཅིག་པ་', - 'སྤྱི་ཟླཝ་བཅུ་གཉིས་པ་'], - SHORTMONTHS: ['ཟླ་ ༡', 'ཟླ་ ༢', 'ཟླ་ ༣', - 'ཟླ་ ༤', 'ཟླ་ ༥', 'ཟླ་ ༦', 'ཟླ་ ༧', - 'ཟླ་ ༨', 'ཟླ་ ༩', 'ཟླ་ ༡༠', 'ཟླ་ ༡༡', - 'ཟླ་ ༡༢'], - STANDALONESHORTMONTHS: ['ཟླ་ ༡', 'ཟླ་ ༢', 'ཟླ་ ༣', - 'ཟླ་ ༤', 'ཟླ་ ༥', 'ཟླ་ ༦', 'ཟླ་ ༧', - 'ཟླ་ ༨', 'ཟླ་ ༩', 'ཟླ་ ༡༠', 'ཟླ་ ༡༡', - 'ཟླ་ ༡༢'], - WEEKDAYS: ['གཟའ་ཟླ་བ་', - 'གཟའ་མིག་དམར་', 'གཟའ་ལྷག་པ་', - 'གཟའ་ཕུར་བུ་', 'གཟའ་པ་སངས་', - 'གཟའ་སྤེན་པ་', 'གཟའ་ཉི་མ་'], - STANDALONEWEEKDAYS: ['གཟའ་ཟླ་བ་', - 'གཟའ་མིག་དམར་', 'གཟའ་ལྷག་པ་', - 'གཟའ་ཕུར་བུ་', 'གཟའ་པ་སངས་', - 'གཟའ་སྤེན་པ་', 'གཟའ་ཉི་མ་'], - SHORTWEEKDAYS: ['ཟླ་', 'མིར་', 'ལྷག་', 'ཕུར་', - 'སངས་', 'སྤེན་', 'ཉི་'], - STANDALONESHORTWEEKDAYS: ['ཟླ་', 'མིར་', 'ལྷག་', - 'ཕུར་', 'སངས་', 'སྤེན་', 'ཉི་'], - NARROWWEEKDAYS: ['1', '2', '3', '4', '5', '6', '7'], - STANDALONENARROWWEEKDAYS: ['1', '2', '3', '4', '5', '6', '7'], - SHORTQUARTERS: ['བཞི་དཔྱ་༡', 'བཞི་དཔྱ་༢', - 'བཞི་དཔྱ་༣', 'བཞི་དཔྱ་༤'], - QUARTERS: ['བཞི་དཔྱ་དང་པ་', - 'བཞི་དཔྱ་གཉིས་པ་', - 'བཞི་དཔྱ་གསུམ་པ་', - 'བཞི་དཔྱ་བཞི་པ་'], + NARROWMONTHS: ['༡', '༢', '༣', '4', '༥', '༦', '༧', '༨', '9', '༡༠', '༡༡', '༡༢'], + STANDALONENARROWMONTHS: ['༡', '༢', '༣', '༤', '༥', '༦', '༧', '༨', '༩', '༡༠', '༡༡', '༡༢'], + MONTHS: ['ཟླ་དངཔ་', 'ཟླ་གཉིས་པ་', 'ཟླ་གསུམ་པ་', 'ཟླ་བཞི་པ་', 'ཟླ་ལྔ་པ་', 'ཟླ་དྲུག་པ', 'ཟླ་བདུན་པ་', 'ཟླ་བརྒྱད་པ་', 'ཟླ་དགུ་པ་', 'ཟླ་བཅུ་པ་', 'ཟླ་བཅུ་གཅིག་པ་', 'ཟླ་བཅུ་གཉིས་པ་'], + STANDALONEMONTHS: ['སྤྱི་ཟླ་དངཔ་', 'སྤྱི་ཟླ་གཉིས་པ་', 'སྤྱི་ཟླ་གསུམ་པ་', 'སྤྱི་ཟླ་བཞི་པ', 'སྤྱི་ཟླ་ལྔ་པ་', 'སྤྱི་ཟླ་དྲུག་པ', 'སྤྱི་ཟླ་བདུན་པ་', 'སྤྱི་ཟླ་བརྒྱད་པ་', 'སྤྱི་ཟླ་དགུ་པ་', 'སྤྱི་ཟླ་བཅུ་པ་', 'སྤྱི་ཟླ་བཅུ་གཅིག་པ་', 'སྤྱི་ཟླ་བཅུ་གཉིས་པ་'], + SHORTMONTHS: ['༡', '༢', '༣', '༤', '༥', '༦', '༧', '༨', '༩', '༡༠', '༡༡', '12'], + STANDALONESHORTMONTHS: ['ཟླ་༡', 'ཟླ་༢', 'ཟླ་༣', 'ཟླ་༤', 'ཟླ་༥', 'ཟླ་༦', 'ཟླ་༧', 'ཟླ་༨', 'ཟླ་༩', 'ཟླ་༡༠', 'ཟླ་༡༡', 'ཟླ་༡༢'], + WEEKDAYS: ['གཟའ་ཟླ་བ་', 'གཟའ་མིག་དམར་', 'གཟའ་ལྷག་པ་', 'གཟའ་ཕུར་བུ་', 'གཟའ་པ་སངས་', 'གཟའ་སྤེན་པ་', 'གཟའ་ཉི་མ་'], + STANDALONEWEEKDAYS: ['གཟའ་ཟླ་བ་', 'གཟའ་མིག་དམར་', 'གཟའ་ལྷག་པ་', 'གཟའ་ཕུར་བུ་', 'གཟའ་པ་སངས་', 'གཟའ་སྤེན་པ་', 'གཟའ་ཉི་མ་'], + SHORTWEEKDAYS: ['ཟླ་', 'མིར་', 'ལྷག་', 'ཕུར་', 'སངས་', 'སྤེན་', 'ཉི་'], + STANDALONESHORTWEEKDAYS: ['ཟླ་', 'མིར་', 'ལྷག་', 'ཕུར་', 'སངས་', 'སྤེན་', 'ཉི་'], + NARROWWEEKDAYS: ['ཟླ', 'མིར', 'ལྷག', 'ཕུར', 'སངྶ', 'སྤེན', 'ཉི'], + STANDALONENARROWWEEKDAYS: ['ཟླ', 'མིར', 'ལྷག', 'ཕུར', 'སངྶ', 'སྤེན', 'ཉི'], + SHORTQUARTERS: ['བཞི་དཔྱ་༡', 'བཞི་དཔྱ་༢', 'བཞི་དཔྱ་༣', 'བཞི་དཔྱ་༤'], + QUARTERS: ['བཞི་དཔྱ་དང་པ་', 'བཞི་དཔྱ་གཉིས་པ་', 'བཞི་དཔྱ་གསུམ་པ་', 'བཞི་དཔྱ་བཞི་པ་'], AMPMS: ['སྔ་ཆ་', 'ཕྱི་ཆ་'], - DATEFORMATS: ['སྤྱི་ལོ་y ཟླ་ MMMM ཚེས་ dd', - 'སྤྱི་ལོ་y ཟླ་ MMMM ཚེས་ dd', - 'སྤྱི་ལོ་y ཟླ་ MMM ཚེས་ dd', 'yyyy-MM-dd'], - TIMEFORMATS: [ - 'ཆུ་ཚོད་ h སྐར་མ་ mm སྐར་ཆཱ་ ss a zzzz', - 'ཆུ་ཚོད་ h སྐར་མ་ mm སྐར་ཆཱ་ ss a z', - 'ཆུ་ཚོད་h:mm:ss a', - 'ཆུ་ཚོད་ h སྐར་མ་ mm a'], + DATEFORMATS: ['EEEE, སྤྱི་ལོ་y MMMM ཚེས་dd', 'སྤྱི་ལོ་y MMMM ཚེས་ dd', 'སྤྱི་ལོ་y ཟླ་MMM ཚེས་dd', 'y-MM-dd'], + TIMEFORMATS: ['ཆུ་ཚོད་ h སྐར་མ་ mm:ss a zzzz', 'ཆུ་ཚོད་ h སྐར་མ་ mm:ss a z', 'ཆུ་ཚོད་h:mm:ss a', 'ཆུ་ཚོད་ h སྐར་མ་ mm a'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 6, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 5 @@ -3248,39 +2494,26 @@ goog.i18n.DateTimeSymbols_ebu = { ERAS: ['MK', 'TK'], ERANAMES: ['Mbere ya Kristo', 'Thutha wa Kristo'], NARROWMONTHS: ['M', 'K', 'K', 'K', 'G', 'G', 'M', 'K', 'K', 'I', 'I', 'I'], - STANDALONENARROWMONTHS: ['M', 'K', 'K', 'K', 'G', 'G', 'M', 'K', 'K', 'I', - 'I', 'I'], - MONTHS: ['Mweri wa mbere', 'Mweri wa kaĩri', 'Mweri wa kathatũ', - 'Mweri wa kana', 'Mweri wa gatano', 'Mweri wa gatantatũ', - 'Mweri wa mũgwanja', 'Mweri wa kanana', 'Mweri wa kenda', - 'Mweri wa ikũmi', 'Mweri wa ikũmi na ũmwe', - 'Mweri wa ikũmi na Kaĩrĩ'], - STANDALONEMONTHS: ['Mweri wa mbere', 'Mweri wa kaĩri', 'Mweri wa kathatũ', - 'Mweri wa kana', 'Mweri wa gatano', 'Mweri wa gatantatũ', - 'Mweri wa mũgwanja', 'Mweri wa kanana', 'Mweri wa kenda', - 'Mweri wa ikũmi', 'Mweri wa ikũmi na ũmwe', - 'Mweri wa ikũmi na Kaĩrĩ'], - SHORTMONTHS: ['Mbe', 'Kai', 'Kat', 'Kan', 'Gat', 'Gan', 'Mug', 'Knn', 'Ken', - 'Iku', 'Imw', 'Igi'], - STANDALONESHORTMONTHS: ['Mbe', 'Kai', 'Kat', 'Kan', 'Gat', 'Gan', 'Mug', - 'Knn', 'Ken', 'Iku', 'Imw', 'Igi'], - WEEKDAYS: ['Kiumia', 'Njumatatu', 'Njumaine', 'Njumatano', 'Aramithi', - 'Njumaa', 'NJumamothii'], - STANDALONEWEEKDAYS: ['Kiumia', 'Njumatatu', 'Njumaine', 'Njumatano', - 'Aramithi', 'Njumaa', 'NJumamothii'], + STANDALONENARROWMONTHS: ['M', 'K', 'K', 'K', 'G', 'G', 'M', 'K', 'K', 'I', 'I', 'I'], + MONTHS: ['Mweri wa mbere', 'Mweri wa kaĩri', 'Mweri wa kathatũ', 'Mweri wa kana', 'Mweri wa gatano', 'Mweri wa gatantatũ', 'Mweri wa mũgwanja', 'Mweri wa kanana', 'Mweri wa kenda', 'Mweri wa ikũmi', 'Mweri wa ikũmi na ũmwe', 'Mweri wa ikũmi na Kaĩrĩ'], + STANDALONEMONTHS: ['Mweri wa mbere', 'Mweri wa kaĩri', 'Mweri wa kathatũ', 'Mweri wa kana', 'Mweri wa gatano', 'Mweri wa gatantatũ', 'Mweri wa mũgwanja', 'Mweri wa kanana', 'Mweri wa kenda', 'Mweri wa ikũmi', 'Mweri wa ikũmi na ũmwe', 'Mweri wa ikũmi na Kaĩrĩ'], + SHORTMONTHS: ['Mbe', 'Kai', 'Kat', 'Kan', 'Gat', 'Gan', 'Mug', 'Knn', 'Ken', 'Iku', 'Imw', 'Igi'], + STANDALONESHORTMONTHS: ['Mbe', 'Kai', 'Kat', 'Kan', 'Gat', 'Gan', 'Mug', 'Knn', 'Ken', 'Iku', 'Imw', 'Igi'], + WEEKDAYS: ['Kiumia', 'Njumatatu', 'Njumaine', 'Njumatano', 'Aramithi', 'Njumaa', 'NJumamothii'], + STANDALONEWEEKDAYS: ['Kiumia', 'Njumatatu', 'Njumaine', 'Njumatano', 'Aramithi', 'Njumaa', 'NJumamothii'], SHORTWEEKDAYS: ['Kma', 'Tat', 'Ine', 'Tan', 'Arm', 'Maa', 'NMM'], STANDALONESHORTWEEKDAYS: ['Kma', 'Tat', 'Ine', 'Tan', 'Arm', 'Maa', 'NMM'], NARROWWEEKDAYS: ['K', 'N', 'N', 'N', 'A', 'M', 'N'], STANDALONENARROWWEEKDAYS: ['K', 'N', 'N', 'N', 'A', 'M', 'N'], SHORTQUARTERS: ['K1', 'K2', 'K3', 'K4'], - QUARTERS: ['Kuota ya mbere', 'Kuota ya Kaĩrĩ', 'Kuota ya kathatu', - 'Kuota ya kana'], + QUARTERS: ['Kuota ya mbere', 'Kuota ya Kaĩrĩ', 'Kuota ya kathatu', 'Kuota ya kana'], AMPMS: ['KI', 'UT'], - DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yyyy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], - FIRSTDAYOFWEEK: 0, + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 6, WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 6 + FIRSTWEEKCUTOFFDAY: 5 }; @@ -3297,30 +2530,23 @@ goog.i18n.DateTimeSymbols_ee = { ERAS: ['hY', 'Yŋ'], ERANAMES: ['Hafi Yesu Va Do ŋgɔ', 'Yesu Ŋɔli'], NARROWMONTHS: ['d', 'd', 't', 'a', 'd', 'm', 's', 'd', 'a', 'k', 'a', 'd'], - STANDALONENARROWMONTHS: ['d', 'd', 't', 'a', 'd', 'm', 's', 'd', 'a', 'k', - 'a', 'd'], - MONTHS: ['dzove', 'dzodze', 'tedoxe', 'afɔfĩe', 'dama', 'masa', 'siamlɔm', - 'deasiamime', 'anyɔnyɔ', 'kele', 'adeɛmekpɔxe', 'dzome'], - STANDALONEMONTHS: ['dzove', 'dzodze', 'tedoxe', 'afɔfĩe', 'dama', 'masa', - 'siamlɔm', 'deasiamime', 'anyɔnyɔ', 'kele', 'adeɛmekpɔxe', 'dzome'], - SHORTMONTHS: ['dzv', 'dzd', 'ted', 'afɔ', 'dam', 'mas', 'sia', 'dea', 'any', - 'kel', 'ade', 'dzm'], - STANDALONESHORTMONTHS: ['dzv', 'dzd', 'ted', 'afɔ', 'dam', 'mas', 'sia', - 'dea', 'any', 'kel', 'ade', 'dzm'], - WEEKDAYS: ['kɔsiɖa', 'dzoɖa', 'blaɖa', 'kuɖa', 'yawoɖa', 'fiɖa', - 'memleɖa'], - STANDALONEWEEKDAYS: ['kɔsiɖa', 'dzoɖa', 'blaɖa', 'kuɖa', 'yawoɖa', - 'fiɖa', 'memleɖa'], + STANDALONENARROWMONTHS: ['d', 'd', 't', 'a', 'd', 'm', 's', 'd', 'a', 'k', 'a', 'd'], + MONTHS: ['dzove', 'dzodze', 'tedoxe', 'afɔfĩe', 'dama', 'masa', 'siamlɔm', 'deasiamime', 'anyɔnyɔ', 'kele', 'adeɛmekpɔxe', 'dzome'], + STANDALONEMONTHS: ['dzove', 'dzodze', 'tedoxe', 'afɔfĩe', 'dama', 'masa', 'siamlɔm', 'deasiamime', 'anyɔnyɔ', 'kele', 'adeɛmekpɔxe', 'dzome'], + SHORTMONTHS: ['dzv', 'dzd', 'ted', 'afɔ', 'dam', 'mas', 'sia', 'dea', 'any', 'kel', 'ade', 'dzm'], + STANDALONESHORTMONTHS: ['dzv', 'dzd', 'ted', 'afɔ', 'dam', 'mas', 'sia', 'dea', 'any', 'kel', 'ade', 'dzm'], + WEEKDAYS: ['kɔsiɖa', 'dzoɖa', 'blaɖa', 'kuɖa', 'yawoɖa', 'fiɖa', 'memleɖa'], + STANDALONEWEEKDAYS: ['kɔsiɖa', 'dzoɖa', 'blaɖa', 'kuɖa', 'yawoɖa', 'fiɖa', 'memleɖa'], SHORTWEEKDAYS: ['kɔs', 'dzo', 'bla', 'kuɖ', 'yaw', 'fiɖ', 'mem'], STANDALONESHORTWEEKDAYS: ['kɔs', 'dzo', 'bla', 'kuɖ', 'yaw', 'fiɖ', 'mem'], NARROWWEEKDAYS: ['k', 'd', 'b', 'k', 'y', 'f', 'm'], STANDALONENARROWWEEKDAYS: ['k', 'd', 'b', 'k', 'y', 'f', 'm'], - SHORTQUARTERS: ['q1', 'q2', 'q3', 'q4'], - QUARTERS: ['memama ene ƒe akpa gbãtɔ', 'memama ene ƒe akpa evelia', - 'memama ene ƒe akpa etɔ̃lia', 'memama ene ƒe akpa enelia'], + SHORTQUARTERS: ['k1', 'k2', 'k3', 'k4'], + QUARTERS: ['kɔta gbãtɔ', 'kɔta evelia', 'kɔta etɔ̃lia', 'kɔta enelia'], AMPMS: ['ŋdi', 'ɣetrɔ'], - DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yyyy'], - TIMEFORMATS: ['a h:mm:ss zzzz', 'a h:mm:ss z', 'a h:mm:ss', 'a h:mm'], + DATEFORMATS: ['EEEE, MMMM d \'lia\' y', 'MMMM d \'lia\' y', 'MMM d \'lia\', y', 'M/d/yy'], + TIMEFORMATS: ['a \'ga\' h:mm:ss zzzz', 'a \'ga\' h:mm:ss z', 'a \'ga\' h:mm:ss', 'a \'ga\' h:mm'], + DATETIMEFORMATS: ['{0} {1}', '{0} {1}', '{0} {1}', '{0} {1}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -3336,7 +2562,31 @@ goog.i18n.DateTimeSymbols_ee_GH = goog.i18n.DateTimeSymbols_ee; /** * Date/time formatting symbols for locale ee_TG. */ -goog.i18n.DateTimeSymbols_ee_TG = goog.i18n.DateTimeSymbols_ee; +goog.i18n.DateTimeSymbols_ee_TG = { + ERAS: ['hY', 'Yŋ'], + ERANAMES: ['Hafi Yesu Va Do ŋgɔ', 'Yesu Ŋɔli'], + NARROWMONTHS: ['d', 'd', 't', 'a', 'd', 'm', 's', 'd', 'a', 'k', 'a', 'd'], + STANDALONENARROWMONTHS: ['d', 'd', 't', 'a', 'd', 'm', 's', 'd', 'a', 'k', 'a', 'd'], + MONTHS: ['dzove', 'dzodze', 'tedoxe', 'afɔfĩe', 'dama', 'masa', 'siamlɔm', 'deasiamime', 'anyɔnyɔ', 'kele', 'adeɛmekpɔxe', 'dzome'], + STANDALONEMONTHS: ['dzove', 'dzodze', 'tedoxe', 'afɔfĩe', 'dama', 'masa', 'siamlɔm', 'deasiamime', 'anyɔnyɔ', 'kele', 'adeɛmekpɔxe', 'dzome'], + SHORTMONTHS: ['dzv', 'dzd', 'ted', 'afɔ', 'dam', 'mas', 'sia', 'dea', 'any', 'kel', 'ade', 'dzm'], + STANDALONESHORTMONTHS: ['dzv', 'dzd', 'ted', 'afɔ', 'dam', 'mas', 'sia', 'dea', 'any', 'kel', 'ade', 'dzm'], + WEEKDAYS: ['kɔsiɖa', 'dzoɖa', 'blaɖa', 'kuɖa', 'yawoɖa', 'fiɖa', 'memleɖa'], + STANDALONEWEEKDAYS: ['kɔsiɖa', 'dzoɖa', 'blaɖa', 'kuɖa', 'yawoɖa', 'fiɖa', 'memleɖa'], + SHORTWEEKDAYS: ['kɔs', 'dzo', 'bla', 'kuɖ', 'yaw', 'fiɖ', 'mem'], + STANDALONESHORTWEEKDAYS: ['kɔs', 'dzo', 'bla', 'kuɖ', 'yaw', 'fiɖ', 'mem'], + NARROWWEEKDAYS: ['k', 'd', 'b', 'k', 'y', 'f', 'm'], + STANDALONENARROWWEEKDAYS: ['k', 'd', 'b', 'k', 'y', 'f', 'm'], + SHORTQUARTERS: ['k1', 'k2', 'k3', 'k4'], + QUARTERS: ['kɔta gbãtɔ', 'kɔta evelia', 'kɔta etɔ̃lia', 'kɔta enelia'], + AMPMS: ['ŋdi', 'ɣetrɔ'], + DATEFORMATS: ['EEEE, MMMM d \'lia\' y', 'MMMM d \'lia\' y', 'MMM d \'lia\', y', 'M/d/yy'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{0} {1}', '{0} {1}', '{0} {1}', '{0} {1}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; /** @@ -3344,39 +2594,25 @@ goog.i18n.DateTimeSymbols_ee_TG = goog.i18n.DateTimeSymbols_ee; */ goog.i18n.DateTimeSymbols_el_CY = { ERAS: ['π.Χ.', 'μ.Χ.'], - ERANAMES: ['π.Χ.', 'μ.Χ.'], - NARROWMONTHS: ['Ι', 'Φ', 'Μ', 'Α', 'Μ', 'Ι', 'Ι', 'Α', 'Σ', 'Ο', - 'Ν', 'Δ'], - STANDALONENARROWMONTHS: ['Ι', 'Φ', 'Μ', 'Α', 'Μ', 'Ι', 'Ι', 'Α', 'Σ', - 'Ο', 'Ν', 'Δ'], - MONTHS: ['Ιανουαρίου', 'Φεβρουαρίου', 'Μαρτίου', - 'Απριλίου', 'Μαΐου', 'Ιουνίου', 'Ιουλίου', - 'Αυγούστου', 'Σεπτεμβρίου', 'Οκτωβρίου', - 'Νοεμβρίου', 'Δεκεμβρίου'], - STANDALONEMONTHS: ['Ιανουάριος', 'Φεβρουάριος', - 'Μάρτιος', 'Απρίλιος', 'Μάιος', 'Ιούνιος', - 'Ιούλιος', 'Αύγουστος', 'Σεπτέμβριος', - 'Οκτώβριος', 'Νοέμβριος', 'Δεκέμβριος'], - SHORTMONTHS: ['Ιαν', 'Φεβ', 'Μαρ', 'Απρ', 'Μαϊ', 'Ιουν', - 'Ιουλ', 'Αυγ', 'Σεπ', 'Οκτ', 'Νοε', 'Δεκ'], - STANDALONESHORTMONTHS: ['Ιαν', 'Φεβ', 'Μάρ', 'Απρ', 'Μάι', - 'Ιούν', 'Ιούλ', 'Αυγ', 'Σεπ', 'Οκτ', 'Νοέ', 'Δεκ'], - WEEKDAYS: ['Κυριακή', 'Δευτέρα', 'Τρίτη', 'Τετάρτη', - 'Πέμπτη', 'Παρασκευή', 'Σάββατο'], - STANDALONEWEEKDAYS: ['Κυριακή', 'Δευτέρα', 'Τρίτη', - 'Τετάρτη', 'Πέμπτη', 'Παρασκευή', 'Σάββατο'], - SHORTWEEKDAYS: ['Κυρ', 'Δευ', 'Τρι', 'Τετ', 'Πεμ', 'Παρ', - 'Σαβ'], - STANDALONESHORTWEEKDAYS: ['Κυρ', 'Δευ', 'Τρί', 'Τετ', 'Πέμ', - 'Παρ', 'Σάβ'], + ERANAMES: ['προ Χριστού', 'μετά Χριστόν'], + NARROWMONTHS: ['Ι', 'Φ', 'Μ', 'Α', 'Μ', 'Ι', 'Ι', 'Α', 'Σ', 'Ο', 'Ν', 'Δ'], + STANDALONENARROWMONTHS: ['Ι', 'Φ', 'Μ', 'Α', 'Μ', 'Ι', 'Ι', 'Α', 'Σ', 'Ο', 'Ν', 'Δ'], + MONTHS: ['Ιανουαρίου', 'Φεβρουαρίου', 'Μαρτίου', 'Απριλίου', 'Μαΐου', 'Ιουνίου', 'Ιουλίου', 'Αυγούστου', 'Σεπτεμβρίου', 'Οκτωβρίου', 'Νοεμβρίου', 'Δεκεμβρίου'], + STANDALONEMONTHS: ['Ιανουάριος', 'Φεβρουάριος', 'Μάρτιος', 'Απρίλιος', 'Μάιος', 'Ιούνιος', 'Ιούλιος', 'Αύγουστος', 'Σεπτέμβριος', 'Οκτώβριος', 'Νοέμβριος', 'Δεκέμβριος'], + SHORTMONTHS: ['Ιαν', 'Φεβ', 'Μαρ', 'Απρ', 'Μαΐ', 'Ιουν', 'Ιουλ', 'Αυγ', 'Σεπ', 'Οκτ', 'Νοε', 'Δεκ'], + STANDALONESHORTMONTHS: ['Ιαν', 'Φεβ', 'Μάρ', 'Απρ', 'Μάι', 'Ιούν', 'Ιούλ', 'Αύγ', 'Σεπ', 'Οκτ', 'Νοέ', 'Δεκ'], + WEEKDAYS: ['Κυριακή', 'Δευτέρα', 'Τρίτη', 'Τετάρτη', 'Πέμπτη', 'Παρασκευή', 'Σάββατο'], + STANDALONEWEEKDAYS: ['Κυριακή', 'Δευτέρα', 'Τρίτη', 'Τετάρτη', 'Πέμπτη', 'Παρασκευή', 'Σάββατο'], + SHORTWEEKDAYS: ['Κυρ', 'Δευ', 'Τρί', 'Τετ', 'Πέμ', 'Παρ', 'Σάβ'], + STANDALONESHORTWEEKDAYS: ['Κυρ', 'Δευ', 'Τρί', 'Τετ', 'Πέμ', 'Παρ', 'Σάβ'], NARROWWEEKDAYS: ['Κ', 'Δ', 'Τ', 'Τ', 'Π', 'Π', 'Σ'], STANDALONENARROWWEEKDAYS: ['Κ', 'Δ', 'Τ', 'Τ', 'Π', 'Π', 'Σ'], SHORTQUARTERS: ['Τ1', 'Τ2', 'Τ3', 'Τ4'], - QUARTERS: ['1ο τρίμηνο', '2ο τρίμηνο', '3ο τρίμηνο', - '4ο τρίμηνο'], + QUARTERS: ['1ο τρίμηνο', '2ο τρίμηνο', '3ο τρίμηνο', '4ο τρίμηνο'], AMPMS: ['π.μ.', 'μ.μ.'], DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'd/M/yy'], TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} - {0}', '{1} - {0}', '{1}, {0}', '{1}, {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -3386,68 +2622,23 @@ goog.i18n.DateTimeSymbols_el_CY = { /** * Date/time formatting symbols for locale el_GR. */ -goog.i18n.DateTimeSymbols_el_GR = { - ERAS: ['π.Χ.', 'μ.Χ.'], - ERANAMES: ['π.Χ.', 'μ.Χ.'], - NARROWMONTHS: ['Ι', 'Φ', 'Μ', 'Α', 'Μ', 'Ι', 'Ι', 'Α', 'Σ', 'Ο', - 'Ν', 'Δ'], - STANDALONENARROWMONTHS: ['Ι', 'Φ', 'Μ', 'Α', 'Μ', 'Ι', 'Ι', 'Α', 'Σ', - 'Ο', 'Ν', 'Δ'], - MONTHS: ['Ιανουαρίου', 'Φεβρουαρίου', 'Μαρτίου', - 'Απριλίου', 'Μαΐου', 'Ιουνίου', 'Ιουλίου', - 'Αυγούστου', 'Σεπτεμβρίου', 'Οκτωβρίου', - 'Νοεμβρίου', 'Δεκεμβρίου'], - STANDALONEMONTHS: ['Ιανουάριος', 'Φεβρουάριος', - 'Μάρτιος', 'Απρίλιος', 'Μάιος', 'Ιούνιος', - 'Ιούλιος', 'Αύγουστος', 'Σεπτέμβριος', - 'Οκτώβριος', 'Νοέμβριος', 'Δεκέμβριος'], - SHORTMONTHS: ['Ιαν', 'Φεβ', 'Μαρ', 'Απρ', 'Μαϊ', 'Ιουν', - 'Ιουλ', 'Αυγ', 'Σεπ', 'Οκτ', 'Νοε', 'Δεκ'], - STANDALONESHORTMONTHS: ['Ιαν', 'Φεβ', 'Μάρ', 'Απρ', 'Μάι', - 'Ιούν', 'Ιούλ', 'Αυγ', 'Σεπ', 'Οκτ', 'Νοέ', 'Δεκ'], - WEEKDAYS: ['Κυριακή', 'Δευτέρα', 'Τρίτη', 'Τετάρτη', - 'Πέμπτη', 'Παρασκευή', 'Σάββατο'], - STANDALONEWEEKDAYS: ['Κυριακή', 'Δευτέρα', 'Τρίτη', - 'Τετάρτη', 'Πέμπτη', 'Παρασκευή', 'Σάββατο'], - SHORTWEEKDAYS: ['Κυρ', 'Δευ', 'Τρι', 'Τετ', 'Πεμ', 'Παρ', - 'Σαβ'], - STANDALONESHORTWEEKDAYS: ['Κυρ', 'Δευ', 'Τρί', 'Τετ', 'Πέμ', - 'Παρ', 'Σάβ'], - NARROWWEEKDAYS: ['Κ', 'Δ', 'Τ', 'Τ', 'Π', 'Π', 'Σ'], - STANDALONENARROWWEEKDAYS: ['Κ', 'Δ', 'Τ', 'Τ', 'Π', 'Π', 'Σ'], - SHORTQUARTERS: ['Τ1', 'Τ2', 'Τ3', 'Τ4'], - QUARTERS: ['1ο τρίμηνο', '2ο τρίμηνο', '3ο τρίμηνο', - '4ο τρίμηνο'], - AMPMS: ['π.μ.', 'μ.μ.'], - DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'd/M/yy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 3 -}; +goog.i18n.DateTimeSymbols_el_GR = goog.i18n.DateTimeSymbols_el; /** - * Date/time formatting symbols for locale en_AS. + * Date/time formatting symbols for locale en_001. */ -goog.i18n.DateTimeSymbols_en_AS = { +goog.i18n.DateTimeSymbols_en_001 = { ERAS: ['BC', 'AD'], ERANAMES: ['Before Christ', 'Anno Domini'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', - 'August', 'September', 'October', 'November', 'December'], - STANDALONEMONTHS: ['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'], - STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', - 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], - WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', - 'Saturday'], - STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', - 'Friday', 'Saturday'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], @@ -3455,35 +2646,29 @@ goog.i18n.DateTimeSymbols_en_AS = { SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE, MMMM d, y', 'MMMM d, y', 'MMM d, y', 'M/d/yy'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], - FIRSTDAYOFWEEK: 6, + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 5 + FIRSTWEEKCUTOFFDAY: 6 }; /** - * Date/time formatting symbols for locale en_BB. + * Date/time formatting symbols for locale en_150. */ -goog.i18n.DateTimeSymbols_en_BB = { +goog.i18n.DateTimeSymbols_en_150 = { ERAS: ['BC', 'AD'], ERANAMES: ['Before Christ', 'Anno Domini'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', - 'August', 'September', 'October', 'November', 'December'], - STANDALONEMONTHS: ['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'], - STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', - 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], - WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', - 'Saturday'], - STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', - 'Friday', 'Saturday'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], @@ -3491,8 +2676,9 @@ goog.i18n.DateTimeSymbols_en_BB = { SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE, MMMM d, y', 'MMMM d, y', 'MMM d, y', 'M/d/yy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -3500,26 +2686,19 @@ goog.i18n.DateTimeSymbols_en_BB = { /** - * Date/time formatting symbols for locale en_BE. + * Date/time formatting symbols for locale en_AG. */ -goog.i18n.DateTimeSymbols_en_BE = { +goog.i18n.DateTimeSymbols_en_AG = { ERAS: ['BC', 'AD'], ERANAMES: ['Before Christ', 'Anno Domini'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', - 'August', 'September', 'October', 'November', 'December'], - STANDALONEMONTHS: ['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'], - STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', - 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], - WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', - 'Saturday'], - STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', - 'Friday', 'Saturday'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], @@ -3527,36 +2706,29 @@ goog.i18n.DateTimeSymbols_en_BE = { SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMM y', 'dd MMM y', 'dd/MM/yy'], - TIMEFORMATS: ['HH \'h\' mm \'min\' ss \'s\' zzzz', 'HH:mm:ss z', 'HH:mm:ss', - 'HH:mm'], - FIRSTDAYOFWEEK: 0, + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 6, WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 3 + FIRSTWEEKCUTOFFDAY: 5 }; /** - * Date/time formatting symbols for locale en_BM. + * Date/time formatting symbols for locale en_AI. */ -goog.i18n.DateTimeSymbols_en_BM = { +goog.i18n.DateTimeSymbols_en_AI = { ERAS: ['BC', 'AD'], ERANAMES: ['Before Christ', 'Anno Domini'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', - 'August', 'September', 'October', 'November', 'December'], - STANDALONEMONTHS: ['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'], - STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', - 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], - WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', - 'Saturday'], - STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', - 'Friday', 'Saturday'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], @@ -3564,8 +2736,9 @@ goog.i18n.DateTimeSymbols_en_BM = { SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE, MMMM d, y', 'MMMM d, y', 'MMM d, y', 'M/d/yy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -3573,26 +2746,25 @@ goog.i18n.DateTimeSymbols_en_BM = { /** - * Date/time formatting symbols for locale en_BW. + * Date/time formatting symbols for locale en_AS. */ -goog.i18n.DateTimeSymbols_en_BW = { +goog.i18n.DateTimeSymbols_en_AS = goog.i18n.DateTimeSymbols_en; + + +/** + * Date/time formatting symbols for locale en_AT. + */ +goog.i18n.DateTimeSymbols_en_AT = { ERAS: ['BC', 'AD'], ERANAMES: ['Before Christ', 'Anno Domini'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', - 'August', 'September', 'October', 'November', 'December'], - STANDALONEMONTHS: ['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'], - STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', - 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], - WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', - 'Saturday'], - STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', - 'Friday', 'Saturday'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], @@ -3600,35 +2772,29 @@ goog.i18n.DateTimeSymbols_en_BW = { SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE dd MMMM y', 'dd MMMM y', 'MMM d, y', 'dd/MM/yy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], - FIRSTDAYOFWEEK: 6, + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 5 + FIRSTWEEKCUTOFFDAY: 3 }; /** - * Date/time formatting symbols for locale en_BZ. + * Date/time formatting symbols for locale en_BB. */ -goog.i18n.DateTimeSymbols_en_BZ = { +goog.i18n.DateTimeSymbols_en_BB = { ERAS: ['BC', 'AD'], ERANAMES: ['Before Christ', 'Anno Domini'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', - 'August', 'September', 'October', 'November', 'December'], - STANDALONEMONTHS: ['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'], - STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', - 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], - WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', - 'Saturday'], - STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', - 'Friday', 'Saturday'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], @@ -3636,35 +2802,29 @@ goog.i18n.DateTimeSymbols_en_BZ = { SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], AMPMS: ['AM', 'PM'], - DATEFORMATS: ['dd MMMM y', 'dd MMMM y', 'dd-MMM-y', 'dd/MM/yy'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 6, + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 5 + FIRSTWEEKCUTOFFDAY: 6 }; /** - * Date/time formatting symbols for locale en_CA. + * Date/time formatting symbols for locale en_BE. */ -goog.i18n.DateTimeSymbols_en_CA = { +goog.i18n.DateTimeSymbols_en_BE = { ERAS: ['BC', 'AD'], ERANAMES: ['Before Christ', 'Anno Domini'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', - 'August', 'September', 'October', 'November', 'December'], - STANDALONEMONTHS: ['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'], - STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', - 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], - WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', - 'Saturday'], - STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', - 'Friday', 'Saturday'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], @@ -3672,99 +2832,29 @@ goog.i18n.DateTimeSymbols_en_CA = { SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE, d MMMM, y', 'd MMMM, y', 'yyyy-MM-dd', 'yy-MM-dd'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], - FIRSTDAYOFWEEK: 6, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 5 -}; - - -/** - * Date/time formatting symbols for locale en_Dsrt. - */ -goog.i18n.DateTimeSymbols_en_Dsrt = { - ERAS: ['𐐒𐐗', '𐐈𐐔'], - ERANAMES: ['𐐒𐐲𐑁𐐬𐑉 𐐗𐑉𐐴𐑅𐐻', - '𐐈𐑌𐐬 𐐔𐐱𐑋𐐮𐑌𐐨'], - NARROWMONTHS: ['𐐖', '𐐙', '𐐣', '𐐁', '𐐣', '𐐖', '𐐖', '𐐂', - '𐐝', '𐐉', '𐐤', '𐐔'], - STANDALONENARROWMONTHS: ['𐐖', '𐐙', '𐐣', '𐐁', '𐐣', '𐐖', - '𐐖', '𐐂', '𐐝', '𐐉', '𐐤', '𐐔'], - MONTHS: ['𐐖𐐰𐑌𐐷𐐭𐐯𐑉𐐨', - '𐐙𐐯𐐺𐑉𐐭𐐯𐑉𐐨', '𐐣𐐪𐑉𐐽', - '𐐁𐐹𐑉𐐮𐑊', '𐐣𐐩', '𐐖𐐭𐑌', '𐐖𐐭𐑊𐐴', - '𐐂𐑀𐐲𐑅𐐻', '𐐝𐐯𐐹𐐻𐐯𐑋𐐺𐐲𐑉', - '𐐉𐐿𐐻𐐬𐐺𐐲𐑉', '𐐤𐐬𐑂𐐯𐑋𐐺𐐲𐑉', - '𐐔𐐨𐑅𐐯𐑋𐐺𐐲𐑉'], - STANDALONEMONTHS: ['𐐖𐐰𐑌𐐷𐐭𐐯𐑉𐐨', - '𐐙𐐯𐐺𐑉𐐭𐐯𐑉𐐨', '𐐣𐐪𐑉𐐽', - '𐐁𐐹𐑉𐐮𐑊', '𐐣𐐩', '𐐖𐐭𐑌', '𐐖𐐭𐑊𐐴', - '𐐂𐑀𐐲𐑅𐐻', '𐐝𐐯𐐹𐐻𐐯𐑋𐐺𐐲𐑉', - '𐐉𐐿𐐻𐐬𐐺𐐲𐑉', '𐐤𐐬𐑂𐐯𐑋𐐺𐐲𐑉', - '𐐔𐐨𐑅𐐯𐑋𐐺𐐲𐑉'], - SHORTMONTHS: ['𐐖𐐰𐑌', '𐐙𐐯𐐺', '𐐣𐐪𐑉', '𐐁𐐹𐑉', - '𐐣𐐩', '𐐖𐐭𐑌', '𐐖𐐭𐑊', '𐐂𐑀', '𐐝𐐯𐐹', - '𐐉𐐿𐐻', '𐐤𐐬𐑂', '𐐔𐐨𐑅'], - STANDALONESHORTMONTHS: ['𐐖𐐰𐑌', '𐐙𐐯𐐺', '𐐣𐐪𐑉', - '𐐁𐐹𐑉', '𐐣𐐩', '𐐖𐐭𐑌', '𐐖𐐭𐑊', '𐐂𐑀', - '𐐝𐐯𐐹', '𐐉𐐿𐐻', '𐐤𐐬𐑂', '𐐔𐐨𐑅'], - WEEKDAYS: ['𐐝𐐲𐑌𐐼𐐩', '𐐣𐐲𐑌𐐼𐐩', - '𐐓𐐭𐑆𐐼𐐩', '𐐎𐐯𐑌𐑆𐐼𐐩', - '𐐛𐐲𐑉𐑆𐐼𐐩', '𐐙𐑉𐐴𐐼𐐩', - '𐐝𐐰𐐻𐐲𐑉𐐼𐐩'], - STANDALONEWEEKDAYS: ['𐐝𐐲𐑌𐐼𐐩', '𐐣𐐲𐑌𐐼𐐩', - '𐐓𐐭𐑆𐐼𐐩', '𐐎𐐯𐑌𐑆𐐼𐐩', - '𐐛𐐲𐑉𐑆𐐼𐐩', '𐐙𐑉𐐴𐐼𐐩', - '𐐝𐐰𐐻𐐲𐑉𐐼𐐩'], - SHORTWEEKDAYS: ['𐐝𐐲𐑌', '𐐣𐐲𐑌', '𐐓𐐭𐑆', - '𐐎𐐯𐑌', '𐐛𐐲𐑉', '𐐙𐑉𐐴', '𐐝𐐰𐐻'], - STANDALONESHORTWEEKDAYS: ['𐐝𐐲𐑌', '𐐣𐐲𐑌', '𐐓𐐭𐑆', - '𐐎𐐯𐑌', '𐐛𐐲𐑉', '𐐙𐑉𐐴', '𐐝𐐰𐐻'], - NARROWWEEKDAYS: ['𐐝', '𐐣', '𐐓', '𐐎', '𐐛', '𐐙', '𐐝'], - STANDALONENARROWWEEKDAYS: ['𐐝', '𐐣', '𐐓', '𐐎', '𐐛', '𐐙', - '𐐝'], - SHORTQUARTERS: ['𐐗1', '𐐗2', '𐐗3', '𐐗4'], - QUARTERS: ['1𐑅𐐻 𐐿𐐶𐐪𐑉𐐻𐐲𐑉', - '2𐑌𐐼 𐐿𐐶𐐪𐑉𐐻𐐲𐑉', - '3𐑉𐐼 𐐿𐐶𐐪𐑉𐐻𐐲𐑉', - '4𐑉𐑃 𐐿𐐶𐐪𐑉𐐻𐐲𐑉'], - AMPMS: ['𐐈𐐣', '𐐑𐐣'], - DATEFORMATS: ['EEEE, MMMM d, y', 'MMMM d, y', 'MMM d, y', 'M/d/yy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'dd MMM y', 'dd/MM/yy'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 6 + FIRSTWEEKCUTOFFDAY: 3 }; /** - * Date/time formatting symbols for locale en_Dsrt_US. + * Date/time formatting symbols for locale en_BI. */ -goog.i18n.DateTimeSymbols_en_Dsrt_US = goog.i18n.DateTimeSymbols_en_Dsrt; - - -/** - * Date/time formatting symbols for locale en_GU. - */ -goog.i18n.DateTimeSymbols_en_GU = { +goog.i18n.DateTimeSymbols_en_BI = { ERAS: ['BC', 'AD'], ERANAMES: ['Before Christ', 'Anno Domini'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', - 'August', 'September', 'October', 'November', 'December'], - STANDALONEMONTHS: ['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'], - STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', - 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], - WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', - 'Saturday'], - STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', - 'Friday', 'Saturday'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], @@ -3774,33 +2864,27 @@ goog.i18n.DateTimeSymbols_en_GU = { AMPMS: ['AM', 'PM'], DATEFORMATS: ['EEEE, MMMM d, y', 'MMMM d, y', 'MMM d, y', 'M/d/yy'], TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], - FIRSTDAYOFWEEK: 6, + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 5 + FIRSTWEEKCUTOFFDAY: 6 }; /** - * Date/time formatting symbols for locale en_GY. + * Date/time formatting symbols for locale en_BM. */ -goog.i18n.DateTimeSymbols_en_GY = { +goog.i18n.DateTimeSymbols_en_BM = { ERAS: ['BC', 'AD'], ERANAMES: ['Before Christ', 'Anno Domini'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', - 'August', 'September', 'October', 'November', 'December'], - STANDALONEMONTHS: ['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'], - STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', - 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], - WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', - 'Saturday'], - STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', - 'Friday', 'Saturday'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], @@ -3808,8 +2892,9 @@ goog.i18n.DateTimeSymbols_en_GY = { SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE, MMMM d, y', 'MMMM d, y', 'MMM d, y', 'M/d/yy'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -3817,26 +2902,19 @@ goog.i18n.DateTimeSymbols_en_GY = { /** - * Date/time formatting symbols for locale en_HK. + * Date/time formatting symbols for locale en_BS. */ -goog.i18n.DateTimeSymbols_en_HK = { +goog.i18n.DateTimeSymbols_en_BS = { ERAS: ['BC', 'AD'], ERANAMES: ['Before Christ', 'Anno Domini'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', - 'August', 'September', 'October', 'November', 'December'], - STANDALONEMONTHS: ['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'], - STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', - 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], - WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', - 'Saturday'], - STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', - 'Friday', 'Saturday'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], @@ -3844,8 +2922,9 @@ goog.i18n.DateTimeSymbols_en_HK = { SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE, d MMMM, y', 'd MMMM, y', 'd MMM, y', 'd/M/yy'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], FIRSTDAYOFWEEK: 6, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 5 @@ -3853,26 +2932,19 @@ goog.i18n.DateTimeSymbols_en_HK = { /** - * Date/time formatting symbols for locale en_JM. + * Date/time formatting symbols for locale en_BW. */ -goog.i18n.DateTimeSymbols_en_JM = { +goog.i18n.DateTimeSymbols_en_BW = { ERAS: ['BC', 'AD'], ERANAMES: ['Before Christ', 'Anno Domini'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', - 'August', 'September', 'October', 'November', 'December'], - STANDALONEMONTHS: ['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'], - STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', - 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], - WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', - 'Saturday'], - STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', - 'Friday', 'Saturday'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], @@ -3880,8 +2952,9 @@ goog.i18n.DateTimeSymbols_en_JM = { SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE, MMMM d, y', 'MMMM d, y', 'MMM d, y', 'd/M/yy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATEFORMATS: ['EEEE, dd MMMM y', 'dd MMMM y', 'dd MMM y', 'dd/MM/yy'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], FIRSTDAYOFWEEK: 6, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 5 @@ -3889,26 +2962,19 @@ goog.i18n.DateTimeSymbols_en_JM = { /** - * Date/time formatting symbols for locale en_MH. + * Date/time formatting symbols for locale en_BZ. */ -goog.i18n.DateTimeSymbols_en_MH = { +goog.i18n.DateTimeSymbols_en_BZ = { ERAS: ['BC', 'AD'], ERANAMES: ['Before Christ', 'Anno Domini'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', - 'August', 'September', 'October', 'November', 'December'], - STANDALONEMONTHS: ['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'], - STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', - 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], - WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', - 'Saturday'], - STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', - 'Friday', 'Saturday'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], @@ -3916,8 +2982,9 @@ goog.i18n.DateTimeSymbols_en_MH = { SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE, MMMM d, y', 'MMMM d, y', 'MMM d, y', 'M/d/yy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATEFORMATS: ['EEEE, dd MMMM y', 'dd MMMM y', 'dd-MMM-y', 'dd/MM/yy'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], FIRSTDAYOFWEEK: 6, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 5 @@ -3925,26 +2992,19 @@ goog.i18n.DateTimeSymbols_en_MH = { /** - * Date/time formatting symbols for locale en_MP. + * Date/time formatting symbols for locale en_CC. */ -goog.i18n.DateTimeSymbols_en_MP = { +goog.i18n.DateTimeSymbols_en_CC = { ERAS: ['BC', 'AD'], ERANAMES: ['Before Christ', 'Anno Domini'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', - 'August', 'September', 'October', 'November', 'December'], - STANDALONEMONTHS: ['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'], - STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', - 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], - WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', - 'Saturday'], - STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', - 'Friday', 'Saturday'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], @@ -3952,8 +3012,9 @@ goog.i18n.DateTimeSymbols_en_MP = { SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE, MMMM d, y', 'MMMM d, y', 'MMM d, y', 'M/d/yy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -3961,26 +3022,19 @@ goog.i18n.DateTimeSymbols_en_MP = { /** - * Date/time formatting symbols for locale en_MT. + * Date/time formatting symbols for locale en_CH. */ -goog.i18n.DateTimeSymbols_en_MT = { +goog.i18n.DateTimeSymbols_en_CH = { ERAS: ['BC', 'AD'], ERANAMES: ['Before Christ', 'Anno Domini'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', - 'August', 'September', 'October', 'November', 'December'], - STANDALONEMONTHS: ['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'], - STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', - 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], - WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', - 'Saturday'], - STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', - 'Friday', 'Saturday'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], @@ -3988,35 +3042,29 @@ goog.i18n.DateTimeSymbols_en_MT = { SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE, d MMMM y', 'dd MMMM y', 'dd MMM y', 'dd/MM/yyyy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], - FIRSTDAYOFWEEK: 6, + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 5 + FIRSTWEEKCUTOFFDAY: 3 }; /** - * Date/time formatting symbols for locale en_MU. + * Date/time formatting symbols for locale en_CK. */ -goog.i18n.DateTimeSymbols_en_MU = { +goog.i18n.DateTimeSymbols_en_CK = { ERAS: ['BC', 'AD'], ERANAMES: ['Before Christ', 'Anno Domini'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', - 'August', 'September', 'October', 'November', 'December'], - STANDALONEMONTHS: ['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'], - STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', - 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], - WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', - 'Saturday'], - STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', - 'Friday', 'Saturday'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], @@ -4024,8 +3072,9 @@ goog.i18n.DateTimeSymbols_en_MU = { SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE, MMMM d, y', 'MMMM d, y', 'MMM d, y', 'M/d/yy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -4033,26 +3082,19 @@ goog.i18n.DateTimeSymbols_en_MU = { /** - * Date/time formatting symbols for locale en_NA. + * Date/time formatting symbols for locale en_CM. */ -goog.i18n.DateTimeSymbols_en_NA = { +goog.i18n.DateTimeSymbols_en_CM = { ERAS: ['BC', 'AD'], ERANAMES: ['Before Christ', 'Anno Domini'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', - 'August', 'September', 'October', 'November', 'December'], - STANDALONEMONTHS: ['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'], - STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', - 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], - WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', - 'Saturday'], - STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', - 'Friday', 'Saturday'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], @@ -4060,8 +3102,9 @@ goog.i18n.DateTimeSymbols_en_NA = { SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE, MMMM d, y', 'MMMM d, y', 'MMM d, y', 'M/d/yy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -4069,26 +3112,19 @@ goog.i18n.DateTimeSymbols_en_NA = { /** - * Date/time formatting symbols for locale en_NZ. + * Date/time formatting symbols for locale en_CX. */ -goog.i18n.DateTimeSymbols_en_NZ = { +goog.i18n.DateTimeSymbols_en_CX = { ERAS: ['BC', 'AD'], ERANAMES: ['Before Christ', 'Anno Domini'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', - 'August', 'September', 'October', 'November', 'December'], - STANDALONEMONTHS: ['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'], - STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', - 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], - WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', - 'Saturday'], - STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', - 'Friday', 'Saturday'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], @@ -4096,35 +3132,29 @@ goog.i18n.DateTimeSymbols_en_NZ = { SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd/MM/yyyy', 'd/MM/yy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], - FIRSTDAYOFWEEK: 6, + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 5 + FIRSTWEEKCUTOFFDAY: 6 }; /** - * Date/time formatting symbols for locale en_PH. + * Date/time formatting symbols for locale en_CY. */ -goog.i18n.DateTimeSymbols_en_PH = { +goog.i18n.DateTimeSymbols_en_CY = { ERAS: ['BC', 'AD'], ERANAMES: ['Before Christ', 'Anno Domini'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', - 'August', 'September', 'October', 'November', 'December'], - STANDALONEMONTHS: ['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'], - STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', - 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], - WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', - 'Saturday'], - STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', - 'Friday', 'Saturday'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], @@ -4132,35 +3162,29 @@ goog.i18n.DateTimeSymbols_en_PH = { SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE, MMMM d, y', 'MMMM d, y', 'MMM d, y', 'M/d/yy'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], - FIRSTDAYOFWEEK: 6, + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 5 + FIRSTWEEKCUTOFFDAY: 6 }; /** - * Date/time formatting symbols for locale en_PK. + * Date/time formatting symbols for locale en_DE. */ -goog.i18n.DateTimeSymbols_en_PK = { +goog.i18n.DateTimeSymbols_en_DE = { ERAS: ['BC', 'AD'], ERANAMES: ['Before Christ', 'Anno Domini'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', - 'August', 'September', 'October', 'November', 'December'], - STANDALONEMONTHS: ['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'], - STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', - 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], - WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', - 'Saturday'], - STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', - 'Friday', 'Saturday'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], @@ -4168,35 +3192,29 @@ goog.i18n.DateTimeSymbols_en_PK = { SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'dd-MMM-y', 'dd/MM/yy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], - FIRSTDAYOFWEEK: 6, + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 5 + FIRSTWEEKCUTOFFDAY: 3 }; /** - * Date/time formatting symbols for locale en_TT. + * Date/time formatting symbols for locale en_DG. */ -goog.i18n.DateTimeSymbols_en_TT = { +goog.i18n.DateTimeSymbols_en_DG = { ERAS: ['BC', 'AD'], ERANAMES: ['Before Christ', 'Anno Domini'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', - 'August', 'September', 'October', 'November', 'December'], - STANDALONEMONTHS: ['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'], - STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', - 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], - WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', - 'Saturday'], - STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', - 'Friday', 'Saturday'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], @@ -4204,35 +3222,29 @@ goog.i18n.DateTimeSymbols_en_TT = { SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE, MMMM d, y', 'MMMM d, y', 'MMM d, y', 'M/d/yy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], - FIRSTDAYOFWEEK: 6, + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 5 + FIRSTWEEKCUTOFFDAY: 6 }; /** - * Date/time formatting symbols for locale en_UM. + * Date/time formatting symbols for locale en_DK. */ -goog.i18n.DateTimeSymbols_en_UM = { +goog.i18n.DateTimeSymbols_en_DK = { ERAS: ['BC', 'AD'], ERANAMES: ['Before Christ', 'Anno Domini'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', - 'August', 'September', 'October', 'November', 'December'], - STANDALONEMONTHS: ['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'], - STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', - 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], - WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', - 'Saturday'], - STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', - 'Friday', 'Saturday'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], @@ -4240,35 +3252,29 @@ goog.i18n.DateTimeSymbols_en_UM = { SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE, MMMM d, y', 'MMMM d, y', 'MMM d, y', 'M/d/yy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], - FIRSTDAYOFWEEK: 6, + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH.mm.ss zzzz', 'HH.mm.ss z', 'HH.mm.ss', 'HH.mm'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 5 + FIRSTWEEKCUTOFFDAY: 3 }; /** - * Date/time formatting symbols for locale en_VI. + * Date/time formatting symbols for locale en_DM. */ -goog.i18n.DateTimeSymbols_en_VI = { +goog.i18n.DateTimeSymbols_en_DM = { ERAS: ['BC', 'AD'], ERANAMES: ['Before Christ', 'Anno Domini'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', - 'August', 'September', 'October', 'November', 'December'], - STANDALONEMONTHS: ['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'], - STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', - 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], - WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', - 'Saturday'], - STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', - 'Friday', 'Saturday'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], @@ -4276,8 +3282,9 @@ goog.i18n.DateTimeSymbols_en_VI = { SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE, MMMM d, y', 'MMMM d, y', 'MMM d, y', 'M/d/yy'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], FIRSTDAYOFWEEK: 6, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 5 @@ -4285,26 +3292,19 @@ goog.i18n.DateTimeSymbols_en_VI = { /** - * Date/time formatting symbols for locale en_ZW. + * Date/time formatting symbols for locale en_ER. */ -goog.i18n.DateTimeSymbols_en_ZW = { +goog.i18n.DateTimeSymbols_en_ER = { ERAS: ['BC', 'AD'], ERANAMES: ['Before Christ', 'Anno Domini'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', - 'August', 'September', 'October', 'November', 'December'], - STANDALONEMONTHS: ['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'], - STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', - 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], - WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', - 'Saturday'], - STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', - 'Friday', 'Saturday'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], @@ -4312,47 +3312,9 @@ goog.i18n.DateTimeSymbols_en_ZW = { SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE dd MMMM y', 'dd MMMM y', 'dd MMM,y', 'd/M/yyyy'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], - FIRSTDAYOFWEEK: 6, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 5 -}; - - -/** - * Date/time formatting symbols for locale eo. - */ -goog.i18n.DateTimeSymbols_eo = { - ERAS: ['aK', 'pK'], - ERANAMES: ['aK', 'pK'], - NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], - STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', - '11', '12'], - MONTHS: ['januaro', 'februaro', 'marto', 'aprilo', 'majo', 'junio', 'julio', - 'aŭgusto', 'septembro', 'oktobro', 'novembro', 'decembro'], - STANDALONEMONTHS: ['januaro', 'februaro', 'marto', 'aprilo', 'majo', 'junio', - 'julio', 'aŭgusto', 'septembro', 'oktobro', 'novembro', 'decembro'], - SHORTMONTHS: ['jan', 'feb', 'mar', 'apr', 'maj', 'jun', 'jul', 'aŭg', 'sep', - 'okt', 'nov', 'dec'], - STANDALONESHORTMONTHS: ['jan', 'feb', 'mar', 'apr', 'maj', 'jun', 'jul', - 'aŭg', 'sep', 'okt', 'nov', 'dec'], - WEEKDAYS: ['dimanĉo', 'lundo', 'mardo', 'merkredo', 'ĵaŭdo', 'vendredo', - 'sabato'], - STANDALONEWEEKDAYS: ['dimanĉo', 'lundo', 'mardo', 'merkredo', 'ĵaŭdo', - 'vendredo', 'sabato'], - SHORTWEEKDAYS: ['di', 'lu', 'ma', 'me', 'ĵa', 've', 'sa'], - STANDALONESHORTWEEKDAYS: ['di', 'lu', 'ma', 'me', 'ĵa', 've', 'sa'], - NARROWWEEKDAYS: ['1', '2', '3', '4', '5', '6', '7'], - STANDALONENARROWWEEKDAYS: ['1', '2', '3', '4', '5', '6', '7'], - SHORTQUARTERS: ['K1', 'K2', 'K3', 'K4'], - QUARTERS: ['1a kvaronjaro', '2a kvaronjaro', '3a kvaronjaro', - '4a kvaronjaro'], - AMPMS: ['atm', 'ptm'], - DATEFORMATS: ['EEEE, d-\'a\' \'de\' MMMM y', 'y-MMMM-dd', 'y-MMM-dd', - 'yy-MM-dd'], - TIMEFORMATS: ['H-\'a\' \'horo\' \'kaj\' m:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', - 'HH:mm'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -4360,40 +3322,2138 @@ goog.i18n.DateTimeSymbols_eo = { /** - * Date/time formatting symbols for locale es_AR. + * Date/time formatting symbols for locale en_FI. */ -goog.i18n.DateTimeSymbols_es_AR = { - ERAS: ['a.C.', 'd.C.'], - ERANAMES: ['antes de Cristo', 'anno Dómini'], - NARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', - 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], - STANDALONEMONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', - 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], - SHORTMONTHS: ['ene', 'feb', 'mar', 'abr', 'may', 'jun', 'jul', 'ago', 'sep', - 'oct', 'nov', 'dic'], - STANDALONESHORTMONTHS: ['ene', 'feb', 'mar', 'abr', 'mayo', 'jun', 'jul', - 'ago', 'sep', 'oct', 'nov', 'dic'], - WEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', - 'sábado'], - STANDALONEWEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', - 'viernes', 'sábado'], - SHORTWEEKDAYS: ['dom', 'lun', 'mar', 'mié', 'jue', 'vie', 'sáb'], - STANDALONESHORTWEEKDAYS: ['dom', 'lun', 'mar', 'mié', 'jue', 'vie', 'sáb'], - NARROWWEEKDAYS: ['D', 'L', 'M', 'X', 'J', 'V', 'S'], - STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'X', 'J', 'V', 'S'], - SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], - QUARTERS: ['1er trimestre', '2º trimestre', '3er trimestre', - '4º trimestre'], - AMPMS: ['a.m.', 'p.m.'], - DATEFORMATS: ['EEEE, d \'de\' MMMM \'de\' y', 'd \'de\' MMMM \'de\' y', - 'dd/MM/yyyy', 'dd/MM/yy'], - TIMEFORMATS: ['HH\'h\'\'\'mm:ss zzzz', 'H:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 6, +goog.i18n.DateTimeSymbols_en_FI = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['H.mm.ss zzzz', 'H.mm.ss z', 'H.mm.ss', 'H.mm'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 5 + FIRSTWEEKCUTOFFDAY: 3 +}; + + +/** + * Date/time formatting symbols for locale en_FJ. + */ +goog.i18n.DateTimeSymbols_en_FJ = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 3 +}; + + +/** + * Date/time formatting symbols for locale en_FK. + */ +goog.i18n.DateTimeSymbols_en_FK = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale en_FM. + */ +goog.i18n.DateTimeSymbols_en_FM = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale en_GD. + */ +goog.i18n.DateTimeSymbols_en_GD = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale en_GG. + */ +goog.i18n.DateTimeSymbols_en_GG = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 3 +}; + + +/** + * Date/time formatting symbols for locale en_GH. + */ +goog.i18n.DateTimeSymbols_en_GH = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale en_GI. + */ +goog.i18n.DateTimeSymbols_en_GI = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 3 +}; + + +/** + * Date/time formatting symbols for locale en_GM. + */ +goog.i18n.DateTimeSymbols_en_GM = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale en_GU. + */ +goog.i18n.DateTimeSymbols_en_GU = goog.i18n.DateTimeSymbols_en; + + +/** + * Date/time formatting symbols for locale en_GY. + */ +goog.i18n.DateTimeSymbols_en_GY = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale en_HK. + */ +goog.i18n.DateTimeSymbols_en_HK = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'd/M/y'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 6, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 5 +}; + + +/** + * Date/time formatting symbols for locale en_IL. + */ +goog.i18n.DateTimeSymbols_en_IL = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['H:mm:ss zzzz', 'H:mm:ss z', 'H:mm:ss', 'H:mm'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 6, + WEEKENDRANGE: [4, 5], + FIRSTWEEKCUTOFFDAY: 5 +}; + + +/** + * Date/time formatting symbols for locale en_IM. + */ +goog.i18n.DateTimeSymbols_en_IM = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 3 +}; + + +/** + * Date/time formatting symbols for locale en_IO. + */ +goog.i18n.DateTimeSymbols_en_IO = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale en_JE. + */ +goog.i18n.DateTimeSymbols_en_JE = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 3 +}; + + +/** + * Date/time formatting symbols for locale en_JM. + */ +goog.i18n.DateTimeSymbols_en_JM = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 6, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 5 +}; + + +/** + * Date/time formatting symbols for locale en_KE. + */ +goog.i18n.DateTimeSymbols_en_KE = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 6, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 5 +}; + + +/** + * Date/time formatting symbols for locale en_KI. + */ +goog.i18n.DateTimeSymbols_en_KI = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale en_KN. + */ +goog.i18n.DateTimeSymbols_en_KN = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale en_KY. + */ +goog.i18n.DateTimeSymbols_en_KY = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale en_LC. + */ +goog.i18n.DateTimeSymbols_en_LC = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale en_LR. + */ +goog.i18n.DateTimeSymbols_en_LR = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale en_LS. + */ +goog.i18n.DateTimeSymbols_en_LS = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale en_MG. + */ +goog.i18n.DateTimeSymbols_en_MG = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale en_MH. + */ +goog.i18n.DateTimeSymbols_en_MH = goog.i18n.DateTimeSymbols_en; + + +/** + * Date/time formatting symbols for locale en_MO. + */ +goog.i18n.DateTimeSymbols_en_MO = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 6, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 5 +}; + + +/** + * Date/time formatting symbols for locale en_MP. + */ +goog.i18n.DateTimeSymbols_en_MP = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, MMMM d, y', 'MMMM d, y', 'MMM d, y', 'M/d/yy'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale en_MS. + */ +goog.i18n.DateTimeSymbols_en_MS = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale en_MT. + */ +goog.i18n.DateTimeSymbols_en_MT = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM y', 'dd MMMM y', 'dd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 6, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 5 +}; + + +/** + * Date/time formatting symbols for locale en_MU. + */ +goog.i18n.DateTimeSymbols_en_MU = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale en_MW. + */ +goog.i18n.DateTimeSymbols_en_MW = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale en_MY. + */ +goog.i18n.DateTimeSymbols_en_MY = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale en_NA. + */ +goog.i18n.DateTimeSymbols_en_NA = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale en_NF. + */ +goog.i18n.DateTimeSymbols_en_NF = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale en_NG. + */ +goog.i18n.DateTimeSymbols_en_NG = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale en_NL. + */ +goog.i18n.DateTimeSymbols_en_NL = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 3 +}; + + +/** + * Date/time formatting symbols for locale en_NR. + */ +goog.i18n.DateTimeSymbols_en_NR = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale en_NU. + */ +goog.i18n.DateTimeSymbols_en_NU = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale en_NZ. + */ +goog.i18n.DateTimeSymbols_en_NZ = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd/MM/y', 'd/MM/yy'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 6, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 5 +}; + + +/** + * Date/time formatting symbols for locale en_PG. + */ +goog.i18n.DateTimeSymbols_en_PG = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale en_PH. + */ +goog.i18n.DateTimeSymbols_en_PH = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 6, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 5 +}; + + +/** + * Date/time formatting symbols for locale en_PK. + */ +goog.i18n.DateTimeSymbols_en_PK = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'dd-MMM-y', 'dd/MM/y'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 6, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 5 +}; + + +/** + * Date/time formatting symbols for locale en_PN. + */ +goog.i18n.DateTimeSymbols_en_PN = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale en_PR. + */ +goog.i18n.DateTimeSymbols_en_PR = goog.i18n.DateTimeSymbols_en; + + +/** + * Date/time formatting symbols for locale en_PW. + */ +goog.i18n.DateTimeSymbols_en_PW = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale en_RW. + */ +goog.i18n.DateTimeSymbols_en_RW = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale en_SB. + */ +goog.i18n.DateTimeSymbols_en_SB = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale en_SC. + */ +goog.i18n.DateTimeSymbols_en_SC = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale en_SD. + */ +goog.i18n.DateTimeSymbols_en_SD = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 5, + WEEKENDRANGE: [4, 5], + FIRSTWEEKCUTOFFDAY: 4 +}; + + +/** + * Date/time formatting symbols for locale en_SE. + */ +goog.i18n.DateTimeSymbols_en_SE = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'y-MM-dd'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 3 +}; + + +/** + * Date/time formatting symbols for locale en_SH. + */ +goog.i18n.DateTimeSymbols_en_SH = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale en_SI. + */ +goog.i18n.DateTimeSymbols_en_SI = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale en_SL. + */ +goog.i18n.DateTimeSymbols_en_SL = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale en_SS. + */ +goog.i18n.DateTimeSymbols_en_SS = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale en_SX. + */ +goog.i18n.DateTimeSymbols_en_SX = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale en_SZ. + */ +goog.i18n.DateTimeSymbols_en_SZ = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale en_TC. + */ +goog.i18n.DateTimeSymbols_en_TC = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale en_TK. + */ +goog.i18n.DateTimeSymbols_en_TK = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale en_TO. + */ +goog.i18n.DateTimeSymbols_en_TO = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale en_TT. + */ +goog.i18n.DateTimeSymbols_en_TT = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 6, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 5 +}; + + +/** + * Date/time formatting symbols for locale en_TV. + */ +goog.i18n.DateTimeSymbols_en_TV = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale en_TZ. + */ +goog.i18n.DateTimeSymbols_en_TZ = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale en_UG. + */ +goog.i18n.DateTimeSymbols_en_UG = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale en_UM. + */ +goog.i18n.DateTimeSymbols_en_UM = goog.i18n.DateTimeSymbols_en; + + +/** + * Date/time formatting symbols for locale en_US_POSIX. + */ +goog.i18n.DateTimeSymbols_en_US_POSIX = goog.i18n.DateTimeSymbols_en; + + +/** + * Date/time formatting symbols for locale en_VC. + */ +goog.i18n.DateTimeSymbols_en_VC = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale en_VG. + */ +goog.i18n.DateTimeSymbols_en_VG = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale en_VI. + */ +goog.i18n.DateTimeSymbols_en_VI = goog.i18n.DateTimeSymbols_en; + + +/** + * Date/time formatting symbols for locale en_VU. + */ +goog.i18n.DateTimeSymbols_en_VU = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale en_WS. + */ +goog.i18n.DateTimeSymbols_en_WS = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 6, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 5 +}; + + +/** + * Date/time formatting symbols for locale en_XA. + */ +goog.i18n.DateTimeSymbols_en_XA = { + ERAS: ['[ƁÇ one]', '[ÅÐ one]'], + ERANAMES: ['[Ɓéƒöŕé Çĥŕîšţ one two]', '[Åññö Ðöɱîñî one two]'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['[Ĵåñûåŕý one]', '[Ƒéƀŕûåŕý one]', '[Ṁåŕçĥ one]', '[Åþŕîļ one]', '[Ṁåý one]', '[Ĵûñé one]', '[Ĵûļý one]', '[Åûĝûšţ one]', '[Šéþţéɱƀéŕ one two]', '[Öçţöƀéŕ one]', '[Ñöṽéɱƀéŕ one]', '[Ðéçéɱƀéŕ one]'], + STANDALONEMONTHS: ['[Ĵåñûåŕý one]', '[Ƒéƀŕûåŕý one]', '[Ṁåŕçĥ one]', '[Åþŕîļ one]', '[Ṁåý one]', '[Ĵûñé one]', '[Ĵûļý one]', '[Åûĝûšţ one]', '[Šéþţéɱƀéŕ one two]', '[Öçţöƀéŕ one]', '[Ñöṽéɱƀéŕ one]', '[Ðéçéɱƀéŕ one]'], + SHORTMONTHS: ['[Ĵåñ one]', '[Ƒéƀ one]', '[Ṁåŕ one]', '[Åþŕ one]', '[Ṁåý one]', '[Ĵûñ one]', '[Ĵûļ one]', '[Åûĝ one]', '[Šéþ one]', '[Öçţ one]', '[Ñöṽ one]', '[Ðéç one]'], + STANDALONESHORTMONTHS: ['[Ĵåñ one]', '[Ƒéƀ one]', '[Ṁåŕ one]', '[Åþŕ one]', '[Ṁåý one]', '[Ĵûñ one]', '[Ĵûļ one]', '[Åûĝ one]', '[Šéþ one]', '[Öçţ one]', '[Ñöṽ one]', '[Ðéç one]'], + WEEKDAYS: ['[Šûñðåý one]', '[Ṁöñðåý one]', '[Ţûéšðåý one]', '[Ŵéðñéšðåý one two]', '[Ţĥûŕšðåý one]', '[Ƒŕîðåý one]', '[Šåţûŕðåý one]'], + STANDALONEWEEKDAYS: ['[Šûñðåý one]', '[Ṁöñðåý one]', '[Ţûéšðåý one]', '[Ŵéðñéšðåý one two]', '[Ţĥûŕšðåý one]', '[Ƒŕîðåý one]', '[Šåţûŕðåý one]'], + SHORTWEEKDAYS: ['[Šûñ one]', '[Ṁöñ one]', '[Ţûé one]', '[Ŵéð one]', '[Ţĥû one]', '[Ƒŕî one]', '[Šåţ one]'], + STANDALONESHORTWEEKDAYS: ['[Šûñ one]', '[Ṁöñ one]', '[Ţûé one]', '[Ŵéð one]', '[Ţĥû one]', '[Ƒŕî one]', '[Šåţ one]'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['[Ǫ① one]', '[Ǫ② one]', '[Ǫ③ one]', '[Ǫ④ one]'], + QUARTERS: ['[①šţ ǫûåŕţéŕ one two]', '[②ñð ǫûåŕţéŕ one two]', '[③ŕð ǫûåŕţéŕ one two]', '[④ţĥ ǫûåŕţéŕ one two]'], + AMPMS: ['[ÅṀ one]', '[ÞṀ one]'], + DATEFORMATS: ['[EEEE, MMMM d, y]', '[MMMM d, y]', '[MMM d, y]', '[M/d/yy]'], + TIMEFORMATS: ['[h:mm:ss a zzzz]', '[h:mm:ss a z]', '[h:mm:ss a]', '[h:mm a]'], + DATETIMEFORMATS: ['[{1} \'åţ\' {0} \'one\']', '[{1} \'åţ\' {0} \'one\']', '[{1}, {0}]', '[{1}, {0}]'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale en_ZM. + */ +goog.i18n.DateTimeSymbols_en_ZM = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale en_ZW. + */ +goog.i18n.DateTimeSymbols_en_ZW = { + ERAS: ['BC', 'AD'], + ERANAMES: ['Before Christ', 'Anno Domini'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + STANDALONEMONTHS: ['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'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, dd MMMM y', 'dd MMMM y', 'dd MMM,y', 'd/M/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 6, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 5 +}; + + +/** + * Date/time formatting symbols for locale eo. + */ +goog.i18n.DateTimeSymbols_eo = { + ERAS: ['aK', 'pK'], + ERANAMES: ['aK', 'pK'], + NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + MONTHS: ['januaro', 'februaro', 'marto', 'aprilo', 'majo', 'junio', 'julio', 'aŭgusto', 'septembro', 'oktobro', 'novembro', 'decembro'], + STANDALONEMONTHS: ['januaro', 'februaro', 'marto', 'aprilo', 'majo', 'junio', 'julio', 'aŭgusto', 'septembro', 'oktobro', 'novembro', 'decembro'], + SHORTMONTHS: ['jan', 'feb', 'mar', 'apr', 'maj', 'jun', 'jul', 'aŭg', 'sep', 'okt', 'nov', 'dec'], + STANDALONESHORTMONTHS: ['jan', 'feb', 'mar', 'apr', 'maj', 'jun', 'jul', 'aŭg', 'sep', 'okt', 'nov', 'dec'], + WEEKDAYS: ['dimanĉo', 'lundo', 'mardo', 'merkredo', 'ĵaŭdo', 'vendredo', 'sabato'], + STANDALONEWEEKDAYS: ['dimanĉo', 'lundo', 'mardo', 'merkredo', 'ĵaŭdo', 'vendredo', 'sabato'], + SHORTWEEKDAYS: ['di', 'lu', 'ma', 'me', 'ĵa', 've', 'sa'], + STANDALONESHORTWEEKDAYS: ['di', 'lu', 'ma', 'me', 'ĵa', 've', 'sa'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + AMPMS: ['atm', 'ptm'], + DATEFORMATS: ['EEEE, d-\'a\' \'de\' MMMM y', 'y-MMMM-dd', 'y-MMM-dd', 'yy-MM-dd'], + TIMEFORMATS: ['H-\'a\' \'horo\' \'kaj\' m:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale es_AR. + */ +goog.i18n.DateTimeSymbols_es_AR = { + ERAS: ['a. C.', 'd. C.'], + ERANAMES: ['antes de Cristo', 'después de Cristo'], + NARROWMONTHS: ['e', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', 'n', 'd'], + STANDALONENARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], + STANDALONEMONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], + SHORTMONTHS: ['ene.', 'feb.', 'mar.', 'abr.', 'may.', 'jun.', 'jul.', 'ago.', 'sep.', 'oct.', 'nov.', 'dic.'], + STANDALONESHORTMONTHS: ['ene.', 'feb.', 'mar.', 'abr.', 'may.', 'jun.', 'jul.', 'ago.', 'sep.', 'oct.', 'nov.', 'dic.'], + WEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'], + STANDALONEWEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'], + SHORTWEEKDAYS: ['dom.', 'lun.', 'mar.', 'mié.', 'jue.', 'vie.', 'sáb.'], + STANDALONESHORTWEEKDAYS: ['dom.', 'lun.', 'mar.', 'mié.', 'jue.', 'vie.', 'sáb.'], + NARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], + STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], + SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], + QUARTERS: ['1.er trimestre', '2.º trimestre', '3.er trimestre', '4.º trimestre'], + AMPMS: ['a. m.', 'p. m.'], + DATEFORMATS: ['EEEE, d \'de\' MMMM \'de\' y', 'd \'de\' MMMM \'de\' y', 'd MMM y', 'd/M/yy'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1}, {0}', '{1}, {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 6, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 5 }; @@ -4401,72 +5461,116 @@ goog.i18n.DateTimeSymbols_es_AR = { * Date/time formatting symbols for locale es_BO. */ goog.i18n.DateTimeSymbols_es_BO = { - ERAS: ['a.C.', 'd.C.'], - ERANAMES: ['antes de Cristo', 'anno Dómini'], + ERAS: ['a. C.', 'd. C.'], + ERANAMES: ['antes de Cristo', 'después de Cristo'], NARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', - 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], - STANDALONEMONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', - 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], - SHORTMONTHS: ['ene', 'feb', 'mar', 'abr', 'may', 'jun', 'jul', 'ago', 'sep', - 'oct', 'nov', 'dic'], - STANDALONESHORTMONTHS: ['ene', 'feb', 'mar', 'abr', 'mayo', 'jun', 'jul', - 'ago', 'sep', 'oct', 'nov', 'dic'], - WEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', - 'sábado'], - STANDALONEWEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', - 'viernes', 'sábado'], - SHORTWEEKDAYS: ['dom', 'lun', 'mar', 'mié', 'jue', 'vie', 'sáb'], - STANDALONESHORTWEEKDAYS: ['dom', 'lun', 'mar', 'mié', 'jue', 'vie', 'sáb'], - NARROWWEEKDAYS: ['D', 'L', 'M', 'X', 'J', 'V', 'S'], - STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'X', 'J', 'V', 'S'], + STANDALONENARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], + STANDALONEMONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], + SHORTMONTHS: ['ene.', 'feb.', 'mar.', 'abr.', 'may.', 'jun.', 'jul.', 'ago.', 'sep.', 'oct.', 'nov.', 'dic.'], + STANDALONESHORTMONTHS: ['ene.', 'feb.', 'mar.', 'abr.', 'may.', 'jun.', 'jul.', 'ago.', 'sep.', 'oct.', 'nov.', 'dic.'], + WEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'], + STANDALONEWEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'], + SHORTWEEKDAYS: ['dom.', 'lun.', 'mar.', 'mié.', 'jue.', 'vie.', 'sáb.'], + STANDALONESHORTWEEKDAYS: ['dom.', 'lun.', 'mar.', 'mié.', 'jue.', 'vie.', 'sáb.'], + NARROWWEEKDAYS: ['d', 'l', 'm', 'm', 'j', 'v', 's'], + STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], - QUARTERS: ['1er trimestre', '2º trimestre', '3er trimestre', - '4º trimestre'], - AMPMS: ['a.m.', 'p.m.'], - DATEFORMATS: ['EEEE, d \'de\' MMMM \'de\' y', 'd \'de\' MMMM \'de\' y', - 'dd/MM/yyyy', 'dd/MM/yy'], + QUARTERS: ['1.er trimestre', '2.º trimestre', '3.er trimestre', '4.º trimestre'], + AMPMS: ['a. m.', 'p. m.'], + DATEFORMATS: ['EEEE, d \'de\' MMMM \'de\' y', 'd \'de\' MMMM \'de\' y', 'd MMM \'de\' y', 'd/M/yy'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1}, {0}', '{1}, {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 }; +/** + * Date/time formatting symbols for locale es_BR. + */ +goog.i18n.DateTimeSymbols_es_BR = { + ERAS: ['a. C.', 'd. C.'], + ERANAMES: ['antes de Cristo', 'después de Cristo'], + NARROWMONTHS: ['e', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', 'n', 'd'], + STANDALONENARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], + STANDALONEMONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], + SHORTMONTHS: ['ene.', 'feb.', 'mar.', 'abr.', 'may.', 'jun.', 'jul.', 'ago.', 'sep.', 'oct.', 'nov.', 'dic.'], + STANDALONESHORTMONTHS: ['ene.', 'feb.', 'mar.', 'abr.', 'may.', 'jun.', 'jul.', 'ago.', 'sep.', 'oct.', 'nov.', 'dic.'], + WEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'], + STANDALONEWEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'], + SHORTWEEKDAYS: ['dom.', 'lun.', 'mar.', 'mié.', 'jue.', 'vie.', 'sáb.'], + STANDALONESHORTWEEKDAYS: ['dom.', 'lun.', 'mar.', 'mié.', 'jue.', 'vie.', 'sáb.'], + NARROWWEEKDAYS: ['d', 'l', 'm', 'm', 'j', 'v', 's'], + STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], + SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], + QUARTERS: ['1.er trimestre', '2.º trimestre', '3.er trimestre', '4.º trimestre'], + AMPMS: ['a.m.', 'p.m.'], + DATEFORMATS: ['EEEE, d \'de\' MMMM \'de\' y', 'd \'de\' MMMM \'de\' y', 'd MMM y', 'd/M/yy'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1}, {0}', '{1}, {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 6, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 5 +}; + + +/** + * Date/time formatting symbols for locale es_BZ. + */ +goog.i18n.DateTimeSymbols_es_BZ = { + ERAS: ['a. C.', 'd. C.'], + ERANAMES: ['antes de Cristo', 'después de Cristo'], + NARROWMONTHS: ['e', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', 'n', 'd'], + STANDALONENARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], + STANDALONEMONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], + SHORTMONTHS: ['ene.', 'feb.', 'mar.', 'abr.', 'may.', 'jun.', 'jul.', 'ago.', 'sep.', 'oct.', 'nov.', 'dic.'], + STANDALONESHORTMONTHS: ['ene.', 'feb.', 'mar.', 'abr.', 'may.', 'jun.', 'jul.', 'ago.', 'sep.', 'oct.', 'nov.', 'dic.'], + WEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'], + STANDALONEWEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'], + SHORTWEEKDAYS: ['dom.', 'lun.', 'mar.', 'mié.', 'jue.', 'vie.', 'sáb.'], + STANDALONESHORTWEEKDAYS: ['dom.', 'lun.', 'mar.', 'mié.', 'jue.', 'vie.', 'sáb.'], + NARROWWEEKDAYS: ['d', 'l', 'm', 'm', 'j', 'v', 's'], + STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], + SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], + QUARTERS: ['1.er trimestre', '2.º trimestre', '3.er trimestre', '4.º trimestre'], + AMPMS: ['a.m.', 'p.m.'], + DATEFORMATS: ['EEEE, d \'de\' MMMM \'de\' y', 'd \'de\' MMMM \'de\' y', 'd MMM y', 'd/M/yy'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1}, {0}', '{1}, {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 6, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 5 +}; + + /** * Date/time formatting symbols for locale es_CL. */ goog.i18n.DateTimeSymbols_es_CL = { - ERAS: ['a.C.', 'd.C.'], - ERANAMES: ['antes de Cristo', 'anno Dómini'], - NARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', - 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], - STANDALONEMONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', - 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], - SHORTMONTHS: ['ene', 'feb', 'mar', 'abr', 'may', 'jun', 'jul', 'ago', 'sep', - 'oct', 'nov', 'dic'], - STANDALONESHORTMONTHS: ['ene', 'feb', 'mar', 'abr', 'mayo', 'jun', 'jul', - 'ago', 'sep', 'oct', 'nov', 'dic'], - WEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', - 'sábado'], - STANDALONEWEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', - 'viernes', 'sábado'], - SHORTWEEKDAYS: ['dom', 'lun', 'mar', 'mié', 'jue', 'vie', 'sáb'], - STANDALONESHORTWEEKDAYS: ['dom', 'lun', 'mar', 'mié', 'jue', 'vie', 'sáb'], - NARROWWEEKDAYS: ['D', 'L', 'M', 'X', 'J', 'V', 'S'], - STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'X', 'J', 'V', 'S'], + ERAS: ['a. C.', 'd. C.'], + ERANAMES: ['antes de Cristo', 'después de Cristo'], + NARROWMONTHS: ['e', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', 'n', 'd'], + STANDALONENARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], + STANDALONEMONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], + SHORTMONTHS: ['ene.', 'feb.', 'mar.', 'abr.', 'may.', 'jun.', 'jul.', 'ago.', 'sep.', 'oct.', 'nov.', 'dic.'], + STANDALONESHORTMONTHS: ['ene.', 'feb.', 'mar.', 'abr.', 'may.', 'jun.', 'jul.', 'ago.', 'sept.', 'oct.', 'nov.', 'dic.'], + WEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'], + STANDALONEWEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'], + SHORTWEEKDAYS: ['dom.', 'lun.', 'mar.', 'mié.', 'jue.', 'vie.', 'sáb.'], + STANDALONESHORTWEEKDAYS: ['dom.', 'lun.', 'mar.', 'mié.', 'jue.', 'vie.', 'sáb.'], + NARROWWEEKDAYS: ['d', 'l', 'm', 'm', 'j', 'v', 's'], + STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], - QUARTERS: ['1er trimestre', '2º trimestre', '3er trimestre', - '4º trimestre'], - AMPMS: ['a.m.', 'p.m.'], - DATEFORMATS: ['EEEE, d \'de\' MMMM \'de\' y', 'd \'de\' MMMM \'de\' y', - 'dd-MM-yyyy', 'dd-MM-yy'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'H:mm:ss z', 'H:mm:ss', 'H:mm'], + QUARTERS: ['1.er trimestre', '2.º trimestre', '3.er trimestre', '4.º trimestre'], + AMPMS: ['a. m.', 'p. m.'], + DATEFORMATS: ['EEEE, d \'de\' MMMM \'de\' y', 'd \'de\' MMMM \'de\' y', 'dd-MM-y', 'dd-MM-yy'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1}, {0}', '{1}, {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -4477,34 +5581,26 @@ goog.i18n.DateTimeSymbols_es_CL = { * Date/time formatting symbols for locale es_CO. */ goog.i18n.DateTimeSymbols_es_CO = { - ERAS: ['a.C.', 'd.C.'], - ERANAMES: ['antes de Cristo', 'anno Dómini'], - NARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', - 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], - STANDALONEMONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', - 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], - SHORTMONTHS: ['ene', 'feb', 'mar', 'abr', 'may', 'jun', 'jul', 'ago', 'sep', - 'oct', 'nov', 'dic'], - STANDALONESHORTMONTHS: ['ene', 'feb', 'mar', 'abr', 'mayo', 'jun', 'jul', - 'ago', 'sep', 'oct', 'nov', 'dic'], - WEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', - 'sábado'], - STANDALONEWEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', - 'viernes', 'sábado'], - SHORTWEEKDAYS: ['dom', 'lun', 'mar', 'mié', 'jue', 'vie', 'sáb'], - STANDALONESHORTWEEKDAYS: ['dom', 'lun', 'mar', 'mié', 'jue', 'vie', 'sáb'], - NARROWWEEKDAYS: ['D', 'L', 'M', 'X', 'J', 'V', 'S'], - STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'X', 'J', 'V', 'S'], + ERAS: ['a. C.', 'd. C.'], + ERANAMES: ['antes de Cristo', 'después de Cristo'], + NARROWMONTHS: ['e', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', 'n', 'd'], + STANDALONENARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], + STANDALONEMONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], + SHORTMONTHS: ['ene.', 'feb.', 'mar.', 'abr.', 'may.', 'jun.', 'jul.', 'ago.', 'sep.', 'oct.', 'nov.', 'dic.'], + STANDALONESHORTMONTHS: ['ene.', 'feb.', 'mar.', 'abr.', 'may.', 'jun.', 'jul.', 'ago.', 'sept.', 'oct.', 'nov.', 'dic.'], + WEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'], + STANDALONEWEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'], + SHORTWEEKDAYS: ['dom.', 'lun.', 'mar.', 'mié.', 'jue.', 'vie.', 'sáb.'], + STANDALONESHORTWEEKDAYS: ['dom.', 'lun.', 'mar.', 'mié.', 'jue.', 'vie.', 'sáb.'], + NARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], + STANDALONENARROWWEEKDAYS: ['d', 'l', 'm', 'm', 'j', 'v', 's'], SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], - QUARTERS: ['1er trimestre', '2º trimestre', '3er trimestre', - '4º trimestre'], - AMPMS: ['a.m.', 'p.m.'], - DATEFORMATS: ['EEEE, d \'de\' MMMM \'de\' y', 'd \'de\' MMMM \'de\' y', - 'd/MM/yyyy', 'd/MM/yy'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'H:mm:ss z', 'H:mm:ss', 'H:mm'], + QUARTERS: ['1.er trimestre', '2.º trimestre', '3.er trimestre', '4.º trimestre'], + AMPMS: ['a. m.', 'p. m.'], + DATEFORMATS: ['EEEE, d \'de\' MMMM \'de\' y', 'd \'de\' MMMM \'de\' y', 'd/MM/y', 'd/MM/yy'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1}, {0}', '{1}, {0}', '{1}, {0}', '{1}, {0}'], FIRSTDAYOFWEEK: 6, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 5 @@ -4515,34 +5611,26 @@ goog.i18n.DateTimeSymbols_es_CO = { * Date/time formatting symbols for locale es_CR. */ goog.i18n.DateTimeSymbols_es_CR = { - ERAS: ['a.C.', 'd.C.'], - ERANAMES: ['antes de Cristo', 'anno Dómini'], - NARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', - 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], - STANDALONEMONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', - 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], - SHORTMONTHS: ['ene', 'feb', 'mar', 'abr', 'may', 'jun', 'jul', 'ago', 'sep', - 'oct', 'nov', 'dic'], - STANDALONESHORTMONTHS: ['ene', 'feb', 'mar', 'abr', 'mayo', 'jun', 'jul', - 'ago', 'sep', 'oct', 'nov', 'dic'], - WEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', - 'sábado'], - STANDALONEWEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', - 'viernes', 'sábado'], - SHORTWEEKDAYS: ['dom', 'lun', 'mar', 'mié', 'jue', 'vie', 'sáb'], - STANDALONESHORTWEEKDAYS: ['dom', 'lun', 'mar', 'mié', 'jue', 'vie', 'sáb'], - NARROWWEEKDAYS: ['D', 'L', 'M', 'X', 'J', 'V', 'S'], - STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'X', 'J', 'V', 'S'], + ERAS: ['a. C.', 'd. C.'], + ERANAMES: ['antes de Cristo', 'después de Cristo'], + NARROWMONTHS: ['e', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', 'n', 'd'], + STANDALONENARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], + STANDALONEMONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], + SHORTMONTHS: ['ene.', 'feb.', 'mar.', 'abr.', 'may.', 'jun.', 'jul.', 'ago.', 'sep.', 'oct.', 'nov.', 'dic.'], + STANDALONESHORTMONTHS: ['ene.', 'feb.', 'mar.', 'abr.', 'may.', 'jun.', 'jul.', 'ago.', 'sep.', 'oct.', 'nov.', 'dic.'], + WEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'], + STANDALONEWEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'], + SHORTWEEKDAYS: ['dom.', 'lun.', 'mar.', 'mié.', 'jue.', 'vie.', 'sáb.'], + STANDALONESHORTWEEKDAYS: ['dom.', 'lun.', 'mar.', 'mié.', 'jue.', 'vie.', 'sáb.'], + NARROWWEEKDAYS: ['d', 'l', 'm', 'm', 'j', 'v', 's'], + STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], - QUARTERS: ['1er trimestre', '2º trimestre', '3er trimestre', - '4º trimestre'], - AMPMS: ['a.m.', 'p.m.'], - DATEFORMATS: ['EEEE, d \'de\' MMMM \'de\' y', 'd \'de\' MMMM \'de\' y', - 'dd/MM/yyyy', 'dd/MM/yy'], + QUARTERS: ['1.er trimestre', '2.º trimestre', '3.er trimestre', '4.º trimestre'], + AMPMS: ['a. m.', 'p. m.'], + DATEFORMATS: ['EEEE, d \'de\' MMMM \'de\' y', 'd \'de\' MMMM \'de\' y', 'd MMM y', 'd/M/yy'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1}, {0}', '{1}, {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -4550,37 +5638,59 @@ goog.i18n.DateTimeSymbols_es_CR = { /** - * Date/time formatting symbols for locale es_DO. + * Date/time formatting symbols for locale es_CU. */ -goog.i18n.DateTimeSymbols_es_DO = { - ERAS: ['a.C.', 'd.C.'], - ERANAMES: ['antes de Cristo', 'anno Dómini'], - NARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', - 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], - STANDALONEMONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', - 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], - SHORTMONTHS: ['ene', 'feb', 'mar', 'abr', 'may', 'jun', 'jul', 'ago', 'sep', - 'oct', 'nov', 'dic'], - STANDALONESHORTMONTHS: ['ene', 'feb', 'mar', 'abr', 'mayo', 'jun', 'jul', - 'ago', 'sep', 'oct', 'nov', 'dic'], - WEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', - 'sábado'], - STANDALONEWEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', - 'viernes', 'sábado'], - SHORTWEEKDAYS: ['dom', 'lun', 'mar', 'mié', 'jue', 'vie', 'sáb'], - STANDALONESHORTWEEKDAYS: ['dom', 'lun', 'mar', 'mié', 'jue', 'vie', 'sáb'], - NARROWWEEKDAYS: ['D', 'L', 'M', 'X', 'J', 'V', 'S'], - STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'X', 'J', 'V', 'S'], +goog.i18n.DateTimeSymbols_es_CU = { + ERAS: ['a. C.', 'd. C.'], + ERANAMES: ['antes de Cristo', 'después de Cristo'], + NARROWMONTHS: ['e', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', 'n', 'd'], + STANDALONENARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], + STANDALONEMONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], + SHORTMONTHS: ['ene.', 'feb.', 'mar.', 'abr.', 'may.', 'jun.', 'jul.', 'ago.', 'sep.', 'oct.', 'nov.', 'dic.'], + STANDALONESHORTMONTHS: ['ene.', 'feb.', 'mar.', 'abr.', 'may.', 'jun.', 'jul.', 'ago.', 'sep.', 'oct.', 'nov.', 'dic.'], + WEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'], + STANDALONEWEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'], + SHORTWEEKDAYS: ['dom.', 'lun.', 'mar.', 'mié.', 'jue.', 'vie.', 'sáb.'], + STANDALONESHORTWEEKDAYS: ['dom.', 'lun.', 'mar.', 'mié.', 'jue.', 'vie.', 'sáb.'], + NARROWWEEKDAYS: ['d', 'l', 'm', 'm', 'j', 'v', 's'], + STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], - QUARTERS: ['1er trimestre', '2º trimestre', '3er trimestre', - '4º trimestre'], + QUARTERS: ['1.er trimestre', '2.º trimestre', '3.er trimestre', '4.º trimestre'], AMPMS: ['a.m.', 'p.m.'], - DATEFORMATS: ['EEEE, d \'de\' MMMM \'de\' y', 'd \'de\' MMMM \'de\' y', - 'dd/MM/yyyy', 'dd/MM/yy'], + DATEFORMATS: ['EEEE, d \'de\' MMMM \'de\' y', 'd \'de\' MMMM \'de\' y', 'd MMM y', 'd/M/yy'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1}, {0}', '{1}, {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale es_DO. + */ +goog.i18n.DateTimeSymbols_es_DO = { + ERAS: ['a. C.', 'd. C.'], + ERANAMES: ['antes de Cristo', 'después de Cristo'], + NARROWMONTHS: ['e', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', 'n', 'd'], + STANDALONENARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], + STANDALONEMONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], + SHORTMONTHS: ['ene.', 'feb.', 'mar.', 'abr.', 'may.', 'jun.', 'jul.', 'ago.', 'sep.', 'oct.', 'nov.', 'dic.'], + STANDALONESHORTMONTHS: ['ene.', 'feb.', 'mar.', 'abr.', 'may.', 'jun.', 'jul.', 'ago.', 'sep.', 'oct.', 'nov.', 'dic.'], + WEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'], + STANDALONEWEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'], + SHORTWEEKDAYS: ['dom.', 'lun.', 'mar.', 'mié.', 'jue.', 'vie.', 'sáb.'], + STANDALONESHORTWEEKDAYS: ['dom.', 'lun.', 'mar.', 'mié.', 'jue.', 'vie.', 'sáb.'], + NARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], + STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1.er trimestre', '2.º trimestre', '3.er trimestre', '4.º trimestre'], + AMPMS: ['a. m.', 'p. m.'], + DATEFORMATS: ['EEEE, d \'de\' MMMM \'de\' y', 'd \'de\' MMMM \'de\' y', 'd MMM y', 'd/M/yy'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1}, {0}', '{1}, {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 6, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 5 @@ -4588,37 +5698,29 @@ goog.i18n.DateTimeSymbols_es_DO = { /** - * Date/time formatting symbols for locale es_EC. + * Date/time formatting symbols for locale es_EA. */ -goog.i18n.DateTimeSymbols_es_EC = { - ERAS: ['a.C.', 'd.C.'], - ERANAMES: ['antes de Cristo', 'anno Dómini'], +goog.i18n.DateTimeSymbols_es_EA = { + ERAS: ['a. C.', 'd. C.'], + ERANAMES: ['antes de Cristo', 'después de Cristo'], NARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', - 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], - STANDALONEMONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', - 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], - SHORTMONTHS: ['ene', 'feb', 'mar', 'abr', 'may', 'jun', 'jul', 'ago', 'sep', - 'oct', 'nov', 'dic'], - STANDALONESHORTMONTHS: ['ene', 'feb', 'mar', 'abr', 'mayo', 'jun', 'jul', - 'ago', 'sep', 'oct', 'nov', 'dic'], - WEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', - 'sábado'], - STANDALONEWEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', - 'viernes', 'sábado'], - SHORTWEEKDAYS: ['dom', 'lun', 'mar', 'mié', 'jue', 'vie', 'sáb'], - STANDALONESHORTWEEKDAYS: ['dom', 'lun', 'mar', 'mié', 'jue', 'vie', 'sáb'], + STANDALONENARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], + STANDALONEMONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], + SHORTMONTHS: ['ene.', 'feb.', 'mar.', 'abr.', 'may.', 'jun.', 'jul.', 'ago.', 'sept.', 'oct.', 'nov.', 'dic.'], + STANDALONESHORTMONTHS: ['ene.', 'feb.', 'mar.', 'abr.', 'may.', 'jun.', 'jul.', 'ago.', 'sept.', 'oct.', 'nov.', 'dic.'], + WEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'], + STANDALONEWEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'], + SHORTWEEKDAYS: ['dom.', 'lun.', 'mar.', 'mié.', 'jue.', 'vie.', 'sáb.'], + STANDALONESHORTWEEKDAYS: ['dom.', 'lun.', 'mar.', 'mié.', 'jue.', 'vie.', 'sáb.'], NARROWWEEKDAYS: ['D', 'L', 'M', 'X', 'J', 'V', 'S'], STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'X', 'J', 'V', 'S'], SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], - QUARTERS: ['1er trimestre', '2º trimestre', '3er trimestre', - '4º trimestre'], - AMPMS: ['a.m.', 'p.m.'], - DATEFORMATS: ['EEEE, d \'de\' MMMM \'de\' y', 'd \'de\' MMMM \'de\' y', - 'dd/MM/yyyy', 'dd/MM/yy'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'H:mm:ss z', 'H:mm:ss', 'H:mm'], + QUARTERS: ['1.er trimestre', '2.º trimestre', '3.er trimestre', '4.º trimestre'], + AMPMS: ['a. m.', 'p. m.'], + DATEFORMATS: ['EEEE, d \'de\' MMMM \'de\' y', 'd \'de\' MMMM \'de\' y', 'd MMM y', 'd/M/yy'], + TIMEFORMATS: ['H:mm:ss (zzzz)', 'H:mm:ss z', 'H:mm:ss', 'H:mm'], + DATETIMEFORMATS: ['{1}, {0}', '{1}, {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -4626,40 +5728,32 @@ goog.i18n.DateTimeSymbols_es_EC = { /** - * Date/time formatting symbols for locale es_ES. + * Date/time formatting symbols for locale es_EC. */ -goog.i18n.DateTimeSymbols_es_ES = { - ERAS: ['a.C.', 'd.C.'], - ERANAMES: ['antes de Cristo', 'anno Dómini'], - NARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', - 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], - STANDALONEMONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', - 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], - SHORTMONTHS: ['ene', 'feb', 'mar', 'abr', 'may', 'jun', 'jul', 'ago', 'sep', - 'oct', 'nov', 'dic'], - STANDALONESHORTMONTHS: ['ene', 'feb', 'mar', 'abr', 'mayo', 'jun', 'jul', - 'ago', 'sep', 'oct', 'nov', 'dic'], - WEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', - 'sábado'], - STANDALONEWEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', - 'viernes', 'sábado'], - SHORTWEEKDAYS: ['dom', 'lun', 'mar', 'mié', 'jue', 'vie', 'sáb'], - STANDALONESHORTWEEKDAYS: ['dom', 'lun', 'mar', 'mié', 'jue', 'vie', 'sáb'], - NARROWWEEKDAYS: ['D', 'L', 'M', 'X', 'J', 'V', 'S'], - STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'X', 'J', 'V', 'S'], +goog.i18n.DateTimeSymbols_es_EC = { + ERAS: ['a. C.', 'd. C.'], + ERANAMES: ['antes de Cristo', 'después de Cristo'], + NARROWMONTHS: ['e', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', 'n', 'd'], + STANDALONENARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], + STANDALONEMONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], + SHORTMONTHS: ['ene.', 'feb.', 'mar.', 'abr.', 'may.', 'jun.', 'jul.', 'ago.', 'sep.', 'oct.', 'nov.', 'dic.'], + STANDALONESHORTMONTHS: ['ene.', 'feb.', 'mar.', 'abr.', 'may.', 'jun.', 'jul.', 'ago.', 'sep.', 'oct.', 'nov.', 'dic.'], + WEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'], + STANDALONEWEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'], + SHORTWEEKDAYS: ['dom.', 'lun.', 'mar.', 'mié.', 'jue.', 'vie.', 'sáb.'], + STANDALONESHORTWEEKDAYS: ['dom.', 'lun.', 'mar.', 'mié.', 'jue.', 'vie.', 'sáb.'], + NARROWWEEKDAYS: ['d', 'l', 'm', 'm', 'j', 'v', 's'], + STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], - QUARTERS: ['1er trimestre', '2º trimestre', '3er trimestre', - '4º trimestre'], - AMPMS: ['a.m.', 'p.m.'], - DATEFORMATS: ['EEEE, d \'de\' MMMM \'de\' y', 'd \'de\' MMMM \'de\' y', - 'dd/MM/yyyy', 'dd/MM/yy'], + QUARTERS: ['1.er trimestre', '2.º trimestre', '3.er trimestre', '4.º trimestre'], + AMPMS: ['a. m.', 'p. m.'], + DATEFORMATS: ['EEEE, d \'de\' MMMM \'de\' y', 'd \'de\' MMMM \'de\' y', 'd MMM y', 'd/M/yy'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1}, {0}', '{1}, {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 3 + FIRSTWEEKCUTOFFDAY: 6 }; @@ -4667,34 +5761,26 @@ goog.i18n.DateTimeSymbols_es_ES = { * Date/time formatting symbols for locale es_GQ. */ goog.i18n.DateTimeSymbols_es_GQ = { - ERAS: ['a.C.', 'd.C.'], - ERANAMES: ['antes de Cristo', 'anno Dómini'], + ERAS: ['a. C.', 'd. C.'], + ERANAMES: ['antes de Cristo', 'después de Cristo'], NARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', - 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], - STANDALONEMONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', - 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], - SHORTMONTHS: ['ene', 'feb', 'mar', 'abr', 'may', 'jun', 'jul', 'ago', 'sep', - 'oct', 'nov', 'dic'], - STANDALONESHORTMONTHS: ['ene', 'feb', 'mar', 'abr', 'mayo', 'jun', 'jul', - 'ago', 'sep', 'oct', 'nov', 'dic'], - WEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', - 'sábado'], - STANDALONEWEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', - 'viernes', 'sábado'], - SHORTWEEKDAYS: ['dom', 'lun', 'mar', 'mié', 'jue', 'vie', 'sáb'], - STANDALONESHORTWEEKDAYS: ['dom', 'lun', 'mar', 'mié', 'jue', 'vie', 'sáb'], + STANDALONENARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], + STANDALONEMONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], + SHORTMONTHS: ['ene.', 'feb.', 'mar.', 'abr.', 'may.', 'jun.', 'jul.', 'ago.', 'sept.', 'oct.', 'nov.', 'dic.'], + STANDALONESHORTMONTHS: ['ene.', 'feb.', 'mar.', 'abr.', 'may.', 'jun.', 'jul.', 'ago.', 'sept.', 'oct.', 'nov.', 'dic.'], + WEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'], + STANDALONEWEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'], + SHORTWEEKDAYS: ['dom.', 'lun.', 'mar.', 'mié.', 'jue.', 'vie.', 'sáb.'], + STANDALONESHORTWEEKDAYS: ['dom.', 'lun.', 'mar.', 'mié.', 'jue.', 'vie.', 'sáb.'], NARROWWEEKDAYS: ['D', 'L', 'M', 'X', 'J', 'V', 'S'], STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'X', 'J', 'V', 'S'], SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], - QUARTERS: ['1er trimestre', '2º trimestre', '3er trimestre', - '4º trimestre'], - AMPMS: ['a.m.', 'p.m.'], - DATEFORMATS: ['EEEE, d \'de\' MMMM \'de\' y', 'd \'de\' MMMM \'de\' y', - 'dd/MM/yyyy', 'dd/MM/yy'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + QUARTERS: ['1.er trimestre', '2.º trimestre', '3.er trimestre', '4.º trimestre'], + AMPMS: ['a. m.', 'p. m.'], + DATEFORMATS: ['EEEE, d \'de\' MMMM \'de\' y', 'd \'de\' MMMM \'de\' y', 'd MMM y', 'd/M/yy'], + TIMEFORMATS: ['H:mm:ss (zzzz)', 'H:mm:ss z', 'H:mm:ss', 'H:mm'], + DATETIMEFORMATS: ['{1}, {0}', '{1}, {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -4705,34 +5791,26 @@ goog.i18n.DateTimeSymbols_es_GQ = { * Date/time formatting symbols for locale es_GT. */ goog.i18n.DateTimeSymbols_es_GT = { - ERAS: ['a.C.', 'd.C.'], - ERANAMES: ['antes de Cristo', 'anno Dómini'], - NARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', - 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], - STANDALONEMONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', - 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], - SHORTMONTHS: ['ene', 'feb', 'mar', 'abr', 'may', 'jun', 'jul', 'ago', 'sep', - 'oct', 'nov', 'dic'], - STANDALONESHORTMONTHS: ['ene', 'feb', 'mar', 'abr', 'mayo', 'jun', 'jul', - 'ago', 'sep', 'oct', 'nov', 'dic'], - WEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', - 'sábado'], - STANDALONEWEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', - 'viernes', 'sábado'], - SHORTWEEKDAYS: ['dom', 'lun', 'mar', 'mié', 'jue', 'vie', 'sáb'], - STANDALONESHORTWEEKDAYS: ['dom', 'lun', 'mar', 'mié', 'jue', 'vie', 'sáb'], - NARROWWEEKDAYS: ['D', 'L', 'M', 'X', 'J', 'V', 'S'], - STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'X', 'J', 'V', 'S'], + ERAS: ['a. C.', 'd. C.'], + ERANAMES: ['antes de Cristo', 'después de Cristo'], + NARROWMONTHS: ['e', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', 'n', 'd'], + STANDALONENARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], + STANDALONEMONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], + SHORTMONTHS: ['ene.', 'feb.', 'mar.', 'abr.', 'may.', 'jun.', 'jul.', 'ago.', 'sep.', 'oct.', 'nov.', 'dic.'], + STANDALONESHORTMONTHS: ['ene.', 'feb.', 'mar.', 'abr.', 'may.', 'jun.', 'jul.', 'ago.', 'sep.', 'oct.', 'nov.', 'dic.'], + WEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'], + STANDALONEWEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'], + SHORTWEEKDAYS: ['dom.', 'lun.', 'mar.', 'mié.', 'jue.', 'vie.', 'sáb.'], + STANDALONESHORTWEEKDAYS: ['dom.', 'lun.', 'mar.', 'mié.', 'jue.', 'vie.', 'sáb.'], + NARROWWEEKDAYS: ['d', 'l', 'm', 'm', 'j', 'v', 's'], + STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], - QUARTERS: ['1er trimestre', '2º trimestre', '3er trimestre', - '4º trimestre'], - AMPMS: ['a.m.', 'p.m.'], - DATEFORMATS: ['EEEE, d \'de\' MMMM \'de\' y', 'd \'de\' MMMM \'de\' y', - 'd/MM/yyyy', 'd/MM/yy'], + QUARTERS: ['1.er trimestre', '2.º trimestre', '3.er trimestre', '4.º trimestre'], + AMPMS: ['a. m.', 'p. m.'], + DATEFORMATS: ['EEEE, d \'de\' MMMM \'de\' y', 'd \'de\' MMMM \'de\' y', 'd/MM/y', 'd/MM/yy'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1}, {0}', '{1}, {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 6, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 5 @@ -4743,34 +5821,26 @@ goog.i18n.DateTimeSymbols_es_GT = { * Date/time formatting symbols for locale es_HN. */ goog.i18n.DateTimeSymbols_es_HN = { - ERAS: ['a.C.', 'd.C.'], - ERANAMES: ['antes de Cristo', 'anno Dómini'], - NARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', - 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], - STANDALONEMONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', - 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], - SHORTMONTHS: ['ene', 'feb', 'mar', 'abr', 'may', 'jun', 'jul', 'ago', 'sep', - 'oct', 'nov', 'dic'], - STANDALONESHORTMONTHS: ['ene', 'feb', 'mar', 'abr', 'mayo', 'jun', 'jul', - 'ago', 'sep', 'oct', 'nov', 'dic'], - WEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', - 'sábado'], - STANDALONEWEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', - 'viernes', 'sábado'], - SHORTWEEKDAYS: ['dom', 'lun', 'mar', 'mié', 'jue', 'vie', 'sáb'], - STANDALONESHORTWEEKDAYS: ['dom', 'lun', 'mar', 'mié', 'jue', 'vie', 'sáb'], - NARROWWEEKDAYS: ['D', 'L', 'M', 'X', 'J', 'V', 'S'], - STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'X', 'J', 'V', 'S'], + ERAS: ['a. C.', 'd. C.'], + ERANAMES: ['antes de Cristo', 'después de Cristo'], + NARROWMONTHS: ['e', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', 'n', 'd'], + STANDALONENARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], + STANDALONEMONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], + SHORTMONTHS: ['ene.', 'feb.', 'mar.', 'abr.', 'may.', 'jun.', 'jul.', 'ago.', 'sep.', 'oct.', 'nov.', 'dic.'], + STANDALONESHORTMONTHS: ['ene.', 'feb.', 'mar.', 'abr.', 'may.', 'jun.', 'jul.', 'ago.', 'sep.', 'oct.', 'nov.', 'dic.'], + WEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'], + STANDALONEWEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'], + SHORTWEEKDAYS: ['dom.', 'lun.', 'mar.', 'mié.', 'jue.', 'vie.', 'sáb.'], + STANDALONESHORTWEEKDAYS: ['dom.', 'lun.', 'mar.', 'mié.', 'jue.', 'vie.', 'sáb.'], + NARROWWEEKDAYS: ['d', 'l', 'm', 'm', 'j', 'v', 's'], + STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], - QUARTERS: ['1er trimestre', '2º trimestre', '3er trimestre', - '4º trimestre'], - AMPMS: ['a.m.', 'p.m.'], - DATEFORMATS: ['EEEE dd \'de\' MMMM \'de\' y', 'dd \'de\' MMMM \'de\' y', - 'dd/MM/yyyy', 'dd/MM/yy'], + QUARTERS: ['1.er trimestre', '2.º trimestre', '3.er trimestre', '4.º trimestre'], + AMPMS: ['a. m.', 'p. m.'], + DATEFORMATS: ['EEEE dd \'de\' MMMM \'de\' y', 'dd \'de\' MMMM \'de\' y', 'd MMM y', 'd/M/yy'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1}, {0}', '{1}, {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 6, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 5 @@ -4778,40 +5848,32 @@ goog.i18n.DateTimeSymbols_es_HN = { /** - * Date/time formatting symbols for locale es_MX. + * Date/time formatting symbols for locale es_IC. */ -goog.i18n.DateTimeSymbols_es_MX = { - ERAS: ['a.C.', 'd.C.'], - ERANAMES: ['antes de Cristo', 'anno Dómini'], +goog.i18n.DateTimeSymbols_es_IC = { + ERAS: ['a. C.', 'd. C.'], + ERANAMES: ['antes de Cristo', 'después de Cristo'], NARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', - 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], - STANDALONEMONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', - 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], - SHORTMONTHS: ['ene', 'feb', 'mar', 'abr', 'may', 'jun', 'jul', 'ago', 'sep', - 'oct', 'nov', 'dic'], - STANDALONESHORTMONTHS: ['ene', 'feb', 'mar', 'abr', 'mayo', 'jun', 'jul', - 'ago', 'sep', 'oct', 'nov', 'dic'], - WEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', - 'sábado'], - STANDALONEWEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', - 'viernes', 'sábado'], - SHORTWEEKDAYS: ['dom', 'lun', 'mar', 'mié', 'jue', 'vie', 'sáb'], - STANDALONESHORTWEEKDAYS: ['dom', 'lun', 'mar', 'mié', 'jue', 'vie', 'sáb'], + STANDALONENARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], + STANDALONEMONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], + SHORTMONTHS: ['ene.', 'feb.', 'mar.', 'abr.', 'may.', 'jun.', 'jul.', 'ago.', 'sept.', 'oct.', 'nov.', 'dic.'], + STANDALONESHORTMONTHS: ['ene.', 'feb.', 'mar.', 'abr.', 'may.', 'jun.', 'jul.', 'ago.', 'sept.', 'oct.', 'nov.', 'dic.'], + WEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'], + STANDALONEWEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'], + SHORTWEEKDAYS: ['dom.', 'lun.', 'mar.', 'mié.', 'jue.', 'vie.', 'sáb.'], + STANDALONESHORTWEEKDAYS: ['dom.', 'lun.', 'mar.', 'mié.', 'jue.', 'vie.', 'sáb.'], NARROWWEEKDAYS: ['D', 'L', 'M', 'X', 'J', 'V', 'S'], STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'X', 'J', 'V', 'S'], SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], - QUARTERS: ['1er trimestre', '2º trimestre', '3er trimestre', - '4º trimestre'], - AMPMS: ['a.m.', 'p.m.'], - DATEFORMATS: ['EEEE, d \'de\' MMMM \'de\' y', 'd \'de\' MMMM \'de\' y', - 'dd/MM/yyyy', 'dd/MM/yy'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 6, + QUARTERS: ['1.er trimestre', '2.º trimestre', '3.er trimestre', '4.º trimestre'], + AMPMS: ['a. m.', 'p. m.'], + DATEFORMATS: ['EEEE, d \'de\' MMMM \'de\' y', 'd \'de\' MMMM \'de\' y', 'd MMM y', 'd/M/yy'], + TIMEFORMATS: ['H:mm:ss (zzzz)', 'H:mm:ss z', 'H:mm:ss', 'H:mm'], + DATETIMEFORMATS: ['{1}, {0}', '{1}, {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 5 + FIRSTWEEKCUTOFFDAY: 6 }; @@ -4819,34 +5881,26 @@ goog.i18n.DateTimeSymbols_es_MX = { * Date/time formatting symbols for locale es_NI. */ goog.i18n.DateTimeSymbols_es_NI = { - ERAS: ['a.C.', 'd.C.'], - ERANAMES: ['antes de Cristo', 'anno Dómini'], - NARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', - 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], - STANDALONEMONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', - 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], - SHORTMONTHS: ['ene', 'feb', 'mar', 'abr', 'may', 'jun', 'jul', 'ago', 'sep', - 'oct', 'nov', 'dic'], - STANDALONESHORTMONTHS: ['ene', 'feb', 'mar', 'abr', 'mayo', 'jun', 'jul', - 'ago', 'sep', 'oct', 'nov', 'dic'], - WEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', - 'sábado'], - STANDALONEWEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', - 'viernes', 'sábado'], - SHORTWEEKDAYS: ['dom', 'lun', 'mar', 'mié', 'jue', 'vie', 'sáb'], - STANDALONESHORTWEEKDAYS: ['dom', 'lun', 'mar', 'mié', 'jue', 'vie', 'sáb'], - NARROWWEEKDAYS: ['D', 'L', 'M', 'X', 'J', 'V', 'S'], - STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'X', 'J', 'V', 'S'], + ERAS: ['a. C.', 'd. C.'], + ERANAMES: ['antes de Cristo', 'después de Cristo'], + NARROWMONTHS: ['e', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', 'n', 'd'], + STANDALONENARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], + STANDALONEMONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], + SHORTMONTHS: ['ene.', 'feb.', 'mar.', 'abr.', 'may.', 'jun.', 'jul.', 'ago.', 'sep.', 'oct.', 'nov.', 'dic.'], + STANDALONESHORTMONTHS: ['ene.', 'feb.', 'mar.', 'abr.', 'may.', 'jun.', 'jul.', 'ago.', 'sep.', 'oct.', 'nov.', 'dic.'], + WEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'], + STANDALONEWEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'], + SHORTWEEKDAYS: ['dom.', 'lun.', 'mar.', 'mié.', 'jue.', 'vie.', 'sáb.'], + STANDALONESHORTWEEKDAYS: ['dom.', 'lun.', 'mar.', 'mié.', 'jue.', 'vie.', 'sáb.'], + NARROWWEEKDAYS: ['d', 'l', 'm', 'm', 'j', 'v', 's'], + STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], - QUARTERS: ['1er trimestre', '2º trimestre', '3er trimestre', - '4º trimestre'], - AMPMS: ['a.m.', 'p.m.'], - DATEFORMATS: ['EEEE, d \'de\' MMMM \'de\' y', 'd \'de\' MMMM \'de\' y', - 'dd/MM/yyyy', 'dd/MM/yy'], + QUARTERS: ['1.er trimestre', '2.º trimestre', '3.er trimestre', '4.º trimestre'], + AMPMS: ['a. m.', 'p. m.'], + DATEFORMATS: ['EEEE, d \'de\' MMMM \'de\' y', 'd \'de\' MMMM \'de\' y', 'd MMM y', 'd/M/yy'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1}, {0}', '{1}, {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 6, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 5 @@ -4857,34 +5911,26 @@ goog.i18n.DateTimeSymbols_es_NI = { * Date/time formatting symbols for locale es_PA. */ goog.i18n.DateTimeSymbols_es_PA = { - ERAS: ['a.C.', 'd.C.'], - ERANAMES: ['antes de Cristo', 'anno Dómini'], + ERAS: ['a. C.', 'd. C.'], + ERANAMES: ['antes de Cristo', 'después de Cristo'], NARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', - 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], - STANDALONEMONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', - 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], - SHORTMONTHS: ['ene', 'feb', 'mar', 'abr', 'may', 'jun', 'jul', 'ago', 'sep', - 'oct', 'nov', 'dic'], - STANDALONESHORTMONTHS: ['ene', 'feb', 'mar', 'abr', 'mayo', 'jun', 'jul', - 'ago', 'sep', 'oct', 'nov', 'dic'], - WEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', - 'sábado'], - STANDALONEWEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', - 'viernes', 'sábado'], - SHORTWEEKDAYS: ['dom', 'lun', 'mar', 'mié', 'jue', 'vie', 'sáb'], - STANDALONESHORTWEEKDAYS: ['dom', 'lun', 'mar', 'mié', 'jue', 'vie', 'sáb'], - NARROWWEEKDAYS: ['D', 'L', 'M', 'X', 'J', 'V', 'S'], - STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'X', 'J', 'V', 'S'], + STANDALONENARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], + STANDALONEMONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], + SHORTMONTHS: ['ene.', 'feb.', 'mar.', 'abr.', 'may.', 'jun.', 'jul.', 'ago.', 'sep.', 'oct.', 'nov.', 'dic.'], + STANDALONESHORTMONTHS: ['ene.', 'feb.', 'mar.', 'abr.', 'may.', 'jun.', 'jul.', 'ago.', 'sep.', 'oct.', 'nov.', 'dic.'], + WEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'], + STANDALONEWEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'], + SHORTWEEKDAYS: ['dom.', 'lun.', 'mar.', 'mié.', 'jue.', 'vie.', 'sáb.'], + STANDALONESHORTWEEKDAYS: ['dom.', 'lun.', 'mar.', 'mié.', 'jue.', 'vie.', 'sáb.'], + NARROWWEEKDAYS: ['d', 'l', 'm', 'm', 'j', 'v', 's'], + STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], - QUARTERS: ['1er trimestre', '2º trimestre', '3er trimestre', - '4º trimestre'], - AMPMS: ['a.m.', 'p.m.'], - DATEFORMATS: ['EEEE, d \'de\' MMMM \'de\' y', 'd \'de\' MMMM \'de\' y', - 'MM/dd/yyyy', 'MM/dd/yy'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + QUARTERS: ['1er. trimestre', '2do. trimestre', '3er. trimestre', '4.º trimestre'], + AMPMS: ['a. m.', 'p. m.'], + DATEFORMATS: ['EEEE, d \'de\' MMMM \'de\' y', 'd \'de\' MMMM \'de\' y', 'MM/dd/y', 'MM/dd/yy'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1}, {0}', '{1}, {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 6, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 5 @@ -4895,34 +5941,56 @@ goog.i18n.DateTimeSymbols_es_PA = { * Date/time formatting symbols for locale es_PE. */ goog.i18n.DateTimeSymbols_es_PE = { - ERAS: ['a.C.', 'd.C.'], - ERANAMES: ['antes de Cristo', 'anno Dómini'], + ERAS: ['a. C.', 'd. C.'], + ERANAMES: ['antes de Cristo', 'después de Cristo'], + NARROWMONTHS: ['e', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', 'n', 'd'], + STANDALONENARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'setiembre', 'octubre', 'noviembre', 'diciembre'], + STANDALONEMONTHS: ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Setiembre', 'Octubre', 'Noviembre', 'Diciembre'], + SHORTMONTHS: ['ene.', 'feb.', 'mar.', 'abr.', 'may.', 'jun.', 'jul.', 'ago.', 'set.', 'oct.', 'nov.', 'dic.'], + STANDALONESHORTMONTHS: ['Ene.', 'Feb.', 'Mar.', 'Abr.', 'May.', 'Jun.', 'Jul.', 'Ago.', 'Set.', 'Oct.', 'Nov.', 'Dic.'], + WEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'], + STANDALONEWEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'], + SHORTWEEKDAYS: ['dom.', 'lun.', 'mar.', 'mié.', 'jue.', 'vie.', 'sáb.'], + STANDALONESHORTWEEKDAYS: ['dom.', 'lun.', 'mar.', 'mié.', 'jue.', 'vie.', 'sáb.'], + NARROWWEEKDAYS: ['d', 'l', 'm', 'm', 'j', 'v', 's'], + STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], + SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], + QUARTERS: ['1.er trimestre', '2.º trimestre', '3.er trimestre', '4.º trimestre'], + AMPMS: ['a. m.', 'p. m.'], + DATEFORMATS: ['EEEE, d \'de\' MMMM \'de\' y', 'd \'de\' MMMM \'de\' y', 'd MMM y', 'd/MM/yy'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1}, {0}', '{1}, {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 6, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 5 +}; + + +/** + * Date/time formatting symbols for locale es_PH. + */ +goog.i18n.DateTimeSymbols_es_PH = { + ERAS: ['a. C.', 'd. C.'], + ERANAMES: ['antes de Cristo', 'después de Cristo'], NARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', - 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], - STANDALONEMONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', - 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], - SHORTMONTHS: ['ene', 'feb', 'mar', 'abr', 'may', 'jun', 'jul', 'ago', 'sep', - 'oct', 'nov', 'dic'], - STANDALONESHORTMONTHS: ['ene', 'feb', 'mar', 'abr', 'mayo', 'jun', 'jul', - 'ago', 'sep', 'oct', 'nov', 'dic'], - WEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', - 'sábado'], - STANDALONEWEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', - 'viernes', 'sábado'], - SHORTWEEKDAYS: ['dom', 'lun', 'mar', 'mié', 'jue', 'vie', 'sáb'], - STANDALONESHORTWEEKDAYS: ['dom', 'lun', 'mar', 'mié', 'jue', 'vie', 'sáb'], + STANDALONENARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], + STANDALONEMONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], + SHORTMONTHS: ['ene.', 'feb.', 'mar.', 'abr.', 'may.', 'jun.', 'jul.', 'ago.', 'sept.', 'oct.', 'nov.', 'dic.'], + STANDALONESHORTMONTHS: ['ene.', 'feb.', 'mar.', 'abr.', 'may.', 'jun.', 'jul.', 'ago.', 'sept.', 'oct.', 'nov.', 'dic.'], + WEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'], + STANDALONEWEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'], + SHORTWEEKDAYS: ['dom.', 'lun.', 'mar.', 'mié.', 'jue.', 'vie.', 'sáb.'], + STANDALONESHORTWEEKDAYS: ['dom.', 'lun.', 'mar.', 'mié.', 'jue.', 'vie.', 'sáb.'], NARROWWEEKDAYS: ['D', 'L', 'M', 'X', 'J', 'V', 'S'], STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'X', 'J', 'V', 'S'], SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], - QUARTERS: ['1er trimestre', '2º trimestre', '3er trimestre', - '4º trimestre'], - AMPMS: ['a.m.', 'p.m.'], - DATEFORMATS: ['EEEE, d \'de\' MMMM \'de\' y', 'd \'de\' MMMM \'de\' y', - 'dd/MM/yyyy', 'd/MM/yy'], - TIMEFORMATS: ['HH\'H\'mm\'\'ss\'\' zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + QUARTERS: ['1.er trimestre', '2.º trimestre', '3.er trimestre', '4.º trimestre'], + AMPMS: ['a. m.', 'p. m.'], + DATEFORMATS: ['EEEE, d \'de\' MMMM \'de\' y', 'd \'de\' MMMM \'de\' y', 'd MMM y', 'd/M/yy'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1}, {0}', '{1}, {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 6, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 5 @@ -4933,34 +6001,26 @@ goog.i18n.DateTimeSymbols_es_PE = { * Date/time formatting symbols for locale es_PR. */ goog.i18n.DateTimeSymbols_es_PR = { - ERAS: ['a.C.', 'd.C.'], - ERANAMES: ['antes de Cristo', 'anno Dómini'], - NARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', - 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], - STANDALONEMONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', - 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], - SHORTMONTHS: ['ene', 'feb', 'mar', 'abr', 'may', 'jun', 'jul', 'ago', 'sep', - 'oct', 'nov', 'dic'], - STANDALONESHORTMONTHS: ['ene', 'feb', 'mar', 'abr', 'mayo', 'jun', 'jul', - 'ago', 'sep', 'oct', 'nov', 'dic'], - WEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', - 'sábado'], - STANDALONEWEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', - 'viernes', 'sábado'], - SHORTWEEKDAYS: ['dom', 'lun', 'mar', 'mié', 'jue', 'vie', 'sáb'], - STANDALONESHORTWEEKDAYS: ['dom', 'lun', 'mar', 'mié', 'jue', 'vie', 'sáb'], - NARROWWEEKDAYS: ['D', 'L', 'M', 'X', 'J', 'V', 'S'], - STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'X', 'J', 'V', 'S'], + ERAS: ['a. C.', 'd. C.'], + ERANAMES: ['antes de Cristo', 'después de Cristo'], + NARROWMONTHS: ['e', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', 'n', 'd'], + STANDALONENARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], + STANDALONEMONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], + SHORTMONTHS: ['ene.', 'feb.', 'mar.', 'abr.', 'may.', 'jun.', 'jul.', 'ago.', 'sep.', 'oct.', 'nov.', 'dic.'], + STANDALONESHORTMONTHS: ['ene.', 'feb.', 'mar.', 'abr.', 'may.', 'jun.', 'jul.', 'ago.', 'sep.', 'oct.', 'nov.', 'dic.'], + WEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'], + STANDALONEWEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'], + SHORTWEEKDAYS: ['dom.', 'lun.', 'mar.', 'mié.', 'jue.', 'vie.', 'sáb.'], + STANDALONESHORTWEEKDAYS: ['dom.', 'lun.', 'mar.', 'mié.', 'jue.', 'vie.', 'sáb.'], + NARROWWEEKDAYS: ['d', 'l', 'm', 'm', 'j', 'v', 's'], + STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], - QUARTERS: ['1er trimestre', '2º trimestre', '3er trimestre', - '4º trimestre'], - AMPMS: ['a.m.', 'p.m.'], - DATEFORMATS: ['EEEE, d \'de\' MMMM \'de\' y', 'd \'de\' MMMM \'de\' y', - 'MM/dd/yyyy', 'MM/dd/yy'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + QUARTERS: ['1.er trimestre', '2.º trimestre', '3.er trimestre', '4.º trimestre'], + AMPMS: ['a. m.', 'p. m.'], + DATEFORMATS: ['EEEE, d \'de\' MMMM \'de\' y', 'd \'de\' MMMM \'de\' y', 'MM/dd/y', 'MM/dd/yy'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1}, {0}', '{1}, {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 6, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 5 @@ -4971,34 +6031,26 @@ goog.i18n.DateTimeSymbols_es_PR = { * Date/time formatting symbols for locale es_PY. */ goog.i18n.DateTimeSymbols_es_PY = { - ERAS: ['a.C.', 'd.C.'], - ERANAMES: ['antes de Cristo', 'anno Dómini'], - NARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', - 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], - STANDALONEMONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', - 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], - SHORTMONTHS: ['ene', 'feb', 'mar', 'abr', 'may', 'jun', 'jul', 'ago', 'sep', - 'oct', 'nov', 'dic'], - STANDALONESHORTMONTHS: ['ene', 'feb', 'mar', 'abr', 'mayo', 'jun', 'jul', - 'ago', 'sep', 'oct', 'nov', 'dic'], - WEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', - 'sábado'], - STANDALONEWEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', - 'viernes', 'sábado'], - SHORTWEEKDAYS: ['dom', 'lun', 'mar', 'mié', 'jue', 'vie', 'sáb'], - STANDALONESHORTWEEKDAYS: ['dom', 'lun', 'mar', 'mié', 'jue', 'vie', 'sáb'], - NARROWWEEKDAYS: ['D', 'L', 'M', 'X', 'J', 'V', 'S'], - STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'X', 'J', 'V', 'S'], + ERAS: ['a. C.', 'd. C.'], + ERANAMES: ['antes de Cristo', 'después de Cristo'], + NARROWMONTHS: ['e', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', 'n', 'd'], + STANDALONENARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], + STANDALONEMONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], + SHORTMONTHS: ['ene.', 'feb.', 'mar.', 'abr.', 'may.', 'jun.', 'jul.', 'ago.', 'sept.', 'oct.', 'nov.', 'dic.'], + STANDALONESHORTMONTHS: ['ene.', 'feb.', 'mar.', 'abr.', 'may.', 'jun.', 'jul.', 'ago.', 'sept.', 'oct.', 'nov.', 'dic.'], + WEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'], + STANDALONEWEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'], + SHORTWEEKDAYS: ['dom.', 'lun.', 'mar.', 'mié.', 'jue.', 'vie.', 'sáb.'], + STANDALONESHORTWEEKDAYS: ['dom.', 'lun.', 'mar.', 'mié.', 'jue.', 'vie.', 'sáb.'], + NARROWWEEKDAYS: ['d', 'l', 'm', 'm', 'j', 'v', 's'], + STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], - QUARTERS: ['1er trimestre', '2º trimestre', '3er trimestre', - '4º trimestre'], - AMPMS: ['a.m.', 'p.m.'], - DATEFORMATS: ['EEEE, d \'de\' MMMM \'de\' y', 'd \'de\' MMMM \'de\' y', - 'dd/MM/yyyy', 'dd/MM/yy'], + QUARTERS: ['1.er trimestre', '2.º trimestre', '3.er trimestre', '4.º trimestre'], + AMPMS: ['a. m.', 'p. m.'], + DATEFORMATS: ['EEEE, d \'de\' MMMM \'de\' y', 'd \'de\' MMMM \'de\' y', 'd MMM y', 'd/M/yy'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1}, {0}', '{1}, {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 6, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 5 @@ -5009,72 +6061,26 @@ goog.i18n.DateTimeSymbols_es_PY = { * Date/time formatting symbols for locale es_SV. */ goog.i18n.DateTimeSymbols_es_SV = { - ERAS: ['a.C.', 'd.C.'], - ERANAMES: ['antes de Cristo', 'anno Dómini'], - NARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', - 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], - STANDALONEMONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', - 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], - SHORTMONTHS: ['ene', 'feb', 'mar', 'abr', 'may', 'jun', 'jul', 'ago', 'sep', - 'oct', 'nov', 'dic'], - STANDALONESHORTMONTHS: ['ene', 'feb', 'mar', 'abr', 'mayo', 'jun', 'jul', - 'ago', 'sep', 'oct', 'nov', 'dic'], - WEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', - 'sábado'], - STANDALONEWEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', - 'viernes', 'sábado'], - SHORTWEEKDAYS: ['dom', 'lun', 'mar', 'mié', 'jue', 'vie', 'sáb'], - STANDALONESHORTWEEKDAYS: ['dom', 'lun', 'mar', 'mié', 'jue', 'vie', 'sáb'], - NARROWWEEKDAYS: ['D', 'L', 'M', 'X', 'J', 'V', 'S'], - STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'X', 'J', 'V', 'S'], + ERAS: ['a. C.', 'd. C.'], + ERANAMES: ['antes de Cristo', 'después de Cristo'], + NARROWMONTHS: ['e', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', 'n', 'd'], + STANDALONENARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], + STANDALONEMONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], + SHORTMONTHS: ['ene.', 'feb.', 'mar.', 'abr.', 'may.', 'jun.', 'jul.', 'ago.', 'sep.', 'oct.', 'nov.', 'dic.'], + STANDALONESHORTMONTHS: ['ene.', 'feb.', 'mar.', 'abr.', 'may.', 'jun.', 'jul.', 'ago.', 'sep.', 'oct.', 'nov.', 'dic.'], + WEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'], + STANDALONEWEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'], + SHORTWEEKDAYS: ['dom.', 'lun.', 'mar.', 'mié.', 'jue.', 'vie.', 'sáb.'], + STANDALONESHORTWEEKDAYS: ['dom.', 'lun.', 'mar.', 'mié.', 'jue.', 'vie.', 'sáb.'], + NARROWWEEKDAYS: ['d', 'l', 'm', 'm', 'j', 'v', 's'], + STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], - QUARTERS: ['1er trimestre', '2º trimestre', '3er trimestre', - '4º trimestre'], - AMPMS: ['a.m.', 'p.m.'], - DATEFORMATS: ['EEEE, d \'de\' MMMM \'de\' y', 'd \'de\' MMMM \'de\' y', - 'dd/MM/yyyy', 'dd/MM/yy'], + QUARTERS: ['1.er trimestre', '2.º trimestre', '3.er trimestre', '4.º trimestre'], + AMPMS: ['a. m.', 'p. m.'], + DATEFORMATS: ['EEEE, d \'de\' MMMM \'de\' y', 'd \'de\' MMMM \'de\' y', 'd MMM y', 'd/M/yy'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 6, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 5 -}; - - -/** - * Date/time formatting symbols for locale es_US. - */ -goog.i18n.DateTimeSymbols_es_US = { - ERAS: ['a.C.', 'd.C.'], - ERANAMES: ['antes de Cristo', 'anno Dómini'], - NARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', - 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], - STANDALONEMONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', - 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], - SHORTMONTHS: ['ene', 'feb', 'mar', 'abr', 'may', 'jun', 'jul', 'ago', 'sep', - 'oct', 'nov', 'dic'], - STANDALONESHORTMONTHS: ['ene', 'feb', 'mar', 'abr', 'mayo', 'jun', 'jul', - 'ago', 'sep', 'oct', 'nov', 'dic'], - WEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', - 'sábado'], - STANDALONEWEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', - 'viernes', 'sábado'], - SHORTWEEKDAYS: ['dom', 'lun', 'mar', 'mié', 'jue', 'vie', 'sáb'], - STANDALONESHORTWEEKDAYS: ['dom', 'lun', 'mar', 'mié', 'jue', 'vie', 'sáb'], - NARROWWEEKDAYS: ['D', 'L', 'M', 'X', 'J', 'V', 'S'], - STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'X', 'J', 'V', 'S'], - SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], - QUARTERS: ['1er trimestre', '2º trimestre', '3er trimestre', - '4º trimestre'], - AMPMS: ['a.m.', 'p.m.'], - DATEFORMATS: ['EEEE, d \'de\' MMMM \'de\' y', 'd \'de\' MMMM \'de\' y', - 'MMM d, y', 'M/d/yy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1}, {0}', '{1}, {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 6, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 5 @@ -5085,34 +6091,26 @@ goog.i18n.DateTimeSymbols_es_US = { * Date/time formatting symbols for locale es_UY. */ goog.i18n.DateTimeSymbols_es_UY = { - ERAS: ['a.C.', 'd.C.'], - ERANAMES: ['antes de Cristo', 'anno Dómini'], - NARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', - 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], - STANDALONEMONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', - 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], - SHORTMONTHS: ['ene', 'feb', 'mar', 'abr', 'may', 'jun', 'jul', 'ago', 'sep', - 'oct', 'nov', 'dic'], - STANDALONESHORTMONTHS: ['ene', 'feb', 'mar', 'abr', 'mayo', 'jun', 'jul', - 'ago', 'sep', 'oct', 'nov', 'dic'], - WEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', - 'sábado'], - STANDALONEWEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', - 'viernes', 'sábado'], - SHORTWEEKDAYS: ['dom', 'lun', 'mar', 'mié', 'jue', 'vie', 'sáb'], - STANDALONESHORTWEEKDAYS: ['dom', 'lun', 'mar', 'mié', 'jue', 'vie', 'sáb'], - NARROWWEEKDAYS: ['D', 'L', 'M', 'X', 'J', 'V', 'S'], - STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'X', 'J', 'V', 'S'], + ERAS: ['a. C.', 'd. C.'], + ERANAMES: ['antes de Cristo', 'después de Cristo'], + NARROWMONTHS: ['e', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', 'n', 'd'], + STANDALONENARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'setiembre', 'octubre', 'noviembre', 'diciembre'], + STANDALONEMONTHS: ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Setiembre', 'Octubre', 'Noviembre', 'Diciembre'], + SHORTMONTHS: ['ene.', 'feb.', 'mar.', 'abr.', 'may.', 'jun.', 'jul.', 'ago.', 'set.', 'oct.', 'nov.', 'dic.'], + STANDALONESHORTMONTHS: ['Ene.', 'Feb.', 'Mar.', 'Abr.', 'May.', 'Jun.', 'Jul.', 'Ago.', 'Set.', 'Oct.', 'Nov.', 'Dic.'], + WEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'], + STANDALONEWEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'], + SHORTWEEKDAYS: ['dom.', 'lun.', 'mar.', 'mié.', 'jue.', 'vie.', 'sáb.'], + STANDALONESHORTWEEKDAYS: ['dom.', 'lun.', 'mar.', 'mié.', 'jue.', 'vie.', 'sáb.'], + NARROWWEEKDAYS: ['d', 'l', 'm', 'm', 'j', 'v', 's'], + STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], - QUARTERS: ['1er trimestre', '2º trimestre', '3er trimestre', - '4º trimestre'], - AMPMS: ['a.m.', 'p.m.'], - DATEFORMATS: ['EEEE, d \'de\' MMMM \'de\' y', 'd \'de\' MMMM \'de\' y', - 'dd/MM/yyyy', 'dd/MM/yy'], + QUARTERS: ['1.er trimestre', '2.º trimestre', '3.er trimestre', '4.º trimestre'], + AMPMS: ['a. m.', 'p. m.'], + DATEFORMATS: ['EEEE, d \'de\' MMMM \'de\' y', 'd \'de\' MMMM \'de\' y', 'd MMM y', 'd/M/yy'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1}, {0}', '{1}, {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -5123,34 +6121,26 @@ goog.i18n.DateTimeSymbols_es_UY = { * Date/time formatting symbols for locale es_VE. */ goog.i18n.DateTimeSymbols_es_VE = { - ERAS: ['a.C.', 'd.C.'], - ERANAMES: ['antes de Cristo', 'anno Dómini'], + ERAS: ['a. C.', 'd. C.'], + ERANAMES: ['antes de Cristo', 'después de Cristo'], NARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', - 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], - STANDALONEMONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', - 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], - SHORTMONTHS: ['ene', 'feb', 'mar', 'abr', 'may', 'jun', 'jul', 'ago', 'sep', - 'oct', 'nov', 'dic'], - STANDALONESHORTMONTHS: ['ene', 'feb', 'mar', 'abr', 'mayo', 'jun', 'jul', - 'ago', 'sep', 'oct', 'nov', 'dic'], - WEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', - 'sábado'], - STANDALONEWEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', - 'viernes', 'sábado'], - SHORTWEEKDAYS: ['dom', 'lun', 'mar', 'mié', 'jue', 'vie', 'sáb'], - STANDALONESHORTWEEKDAYS: ['dom', 'lun', 'mar', 'mié', 'jue', 'vie', 'sáb'], - NARROWWEEKDAYS: ['D', 'L', 'M', 'X', 'J', 'V', 'S'], - STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'X', 'J', 'V', 'S'], + STANDALONENARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], + STANDALONEMONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], + SHORTMONTHS: ['ene.', 'feb.', 'mar.', 'abr.', 'may.', 'jun.', 'jul.', 'ago.', 'sept.', 'oct.', 'nov.', 'dic.'], + STANDALONESHORTMONTHS: ['ene.', 'feb.', 'mar.', 'abr.', 'may.', 'jun.', 'jul.', 'ago.', 'sept.', 'oct.', 'nov.', 'dic.'], + WEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'], + STANDALONEWEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'], + SHORTWEEKDAYS: ['dom.', 'lun.', 'mar.', 'mié.', 'jue.', 'vie.', 'sáb.'], + STANDALONESHORTWEEKDAYS: ['dom.', 'lun.', 'mar.', 'mié.', 'jue.', 'vie.', 'sáb.'], + NARROWWEEKDAYS: ['d', 'l', 'm', 'm', 'j', 'v', 's'], + STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], - QUARTERS: ['1er trimestre', '2º trimestre', '3er trimestre', - '4º trimestre'], - AMPMS: ['a.m.', 'p.m.'], - DATEFORMATS: ['EEEE, d \'de\' MMMM \'de\' y', 'd \'de\' MMMM \'de\' y', - 'dd/MM/yyyy', 'dd/MM/yy'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + QUARTERS: ['1er trimestre', '2do trimestre', '3er trimestre', '4to trimestre'], + AMPMS: ['a. m.', 'p. m.'], + DATEFORMATS: ['EEEE, d \'de\' MMMM \'de\' y', 'd \'de\' MMMM \'de\' y', 'd MMM y', 'd/M/yy'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1}, {0}', '{1}, {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 6, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 5 @@ -5160,75 +6150,13 @@ goog.i18n.DateTimeSymbols_es_VE = { /** * Date/time formatting symbols for locale et_EE. */ -goog.i18n.DateTimeSymbols_et_EE = { - ERAS: ['e.m.a.', 'm.a.j.'], - ERANAMES: ['enne meie aega', 'meie aja järgi'], - NARROWMONTHS: ['J', 'V', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'V', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['jaanuar', 'veebruar', 'märts', 'aprill', 'mai', 'juuni', 'juuli', - 'august', 'september', 'oktoober', 'november', 'detsember'], - STANDALONEMONTHS: ['jaanuar', 'veebruar', 'märts', 'aprill', 'mai', 'juuni', - 'juuli', 'august', 'september', 'oktoober', 'november', 'detsember'], - SHORTMONTHS: ['jaan', 'veebr', 'märts', 'apr', 'mai', 'juuni', 'juuli', - 'aug', 'sept', 'okt', 'nov', 'dets'], - STANDALONESHORTMONTHS: ['jaan', 'veebr', 'märts', 'apr', 'mai', 'juuni', - 'juuli', 'aug', 'sept', 'okt', 'nov', 'dets'], - WEEKDAYS: ['pühapäev', 'esmaspäev', 'teisipäev', 'kolmapäev', - 'neljapäev', 'reede', 'laupäev'], - STANDALONEWEEKDAYS: ['pühapäev', 'esmaspäev', 'teisipäev', 'kolmapäev', - 'neljapäev', 'reede', 'laupäev'], - SHORTWEEKDAYS: ['P', 'E', 'T', 'K', 'N', 'R', 'L'], - STANDALONESHORTWEEKDAYS: ['P', 'E', 'T', 'K', 'N', 'R', 'L'], - NARROWWEEKDAYS: ['P', 'E', 'T', 'K', 'N', 'R', 'L'], - STANDALONENARROWWEEKDAYS: ['P', 'E', 'T', 'K', 'N', 'R', 'L'], - SHORTQUARTERS: ['K1', 'K2', 'K3', 'K4'], - QUARTERS: ['1. kvartal', '2. kvartal', '3. kvartal', '4. kvartal'], - AMPMS: ['enne keskpäeva', 'pärast keskpäeva'], - DATEFORMATS: ['EEEE, d. MMMM y', 'd. MMMM y', 'dd.MM.yyyy', 'dd.MM.yy'], - TIMEFORMATS: ['H:mm.ss zzzz', 'H:mm.ss z', 'H:mm.ss', 'H:mm'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 3 -}; +goog.i18n.DateTimeSymbols_et_EE = goog.i18n.DateTimeSymbols_et; /** * Date/time formatting symbols for locale eu_ES. */ -goog.i18n.DateTimeSymbols_eu_ES = { - ERAS: ['K.a.', 'K.o.'], - ERANAMES: ['K.a.', 'K.o.'], - NARROWMONTHS: ['U', 'O', 'M', 'A', 'M', 'E', 'U', 'A', 'I', 'U', 'A', 'A'], - STANDALONENARROWMONTHS: ['U', 'O', 'M', 'A', 'M', 'E', 'U', 'A', 'I', 'U', - 'A', 'A'], - MONTHS: ['urtarrila', 'otsaila', 'martxoa', 'apirila', 'maiatza', 'ekaina', - 'uztaila', 'abuztua', 'iraila', 'urria', 'azaroa', 'abendua'], - STANDALONEMONTHS: ['urtarrila', 'otsaila', 'martxoa', 'apirila', 'maiatza', - 'ekaina', 'uztaila', 'abuztua', 'iraila', 'urria', 'azaroa', 'abendua'], - SHORTMONTHS: ['urt', 'ots', 'mar', 'api', 'mai', 'eka', 'uzt', 'abu', 'ira', - 'urr', 'aza', 'abe'], - STANDALONESHORTMONTHS: ['urt', 'ots', 'mar', 'api', 'mai', 'eka', 'uzt', - 'abu', 'ira', 'urr', 'aza', 'abe'], - WEEKDAYS: ['igandea', 'astelehena', 'asteartea', 'asteazkena', 'osteguna', - 'ostirala', 'larunbata'], - STANDALONEWEEKDAYS: ['igandea', 'astelehena', 'asteartea', 'asteazkena', - 'osteguna', 'ostirala', 'larunbata'], - SHORTWEEKDAYS: ['ig', 'al', 'as', 'az', 'og', 'or', 'lr'], - STANDALONESHORTWEEKDAYS: ['ig', 'al', 'as', 'az', 'og', 'or', 'lr'], - NARROWWEEKDAYS: ['I', 'M', 'A', 'A', 'A', 'O', 'I'], - STANDALONENARROWWEEKDAYS: ['I', 'M', 'A', 'L', 'A', 'O', 'I'], - SHORTQUARTERS: ['1Hh', '2Hh', '3Hh', '4Hh'], - QUARTERS: ['1. hiruhilekoa', '2. hiruhilekoa', '3. hiruhilekoa', - '4. hiruhilekoa'], - AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE, y\'eko\' MMMM\'ren\' dd\'a\'', - 'y\'eko\' MMM\'ren\' dd\'a\'', 'y MMM d', 'yyyy-MM-dd'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 3 -}; +goog.i18n.DateTimeSymbols_eu_ES = goog.i18n.DateTimeSymbols_eu; /** @@ -5238,37 +6166,23 @@ goog.i18n.DateTimeSymbols_ewo = { ERAS: ['oyk', 'ayk'], ERANAMES: ['osúsúa Yésus kiri', 'ámvus Yésus Kirís'], NARROWMONTHS: ['o', 'b', 'l', 'n', 't', 's', 'z', 'm', 'e', 'a', 'd', 'b'], - STANDALONENARROWMONTHS: ['o', 'b', 'l', 'n', 't', 's', 'z', 'm', 'e', 'a', - 'd', 'b'], - MONTHS: ['ngɔn osú', 'ngɔn bɛ̌', 'ngɔn lála', 'ngɔn nyina', - 'ngɔn tána', 'ngɔn samǝna', 'ngɔn zamgbála', 'ngɔn mwom', - 'ngɔn ebulú', 'ngɔn awóm', 'ngɔn awóm ai dziá', - 'ngɔn awóm ai bɛ̌'], - STANDALONEMONTHS: ['ngɔn osú', 'ngɔn bɛ̌', 'ngɔn lála', 'ngɔn nyina', - 'ngɔn tána', 'ngɔn samǝna', 'ngɔn zamgbála', 'ngɔn mwom', - 'ngɔn ebulú', 'ngɔn awóm', 'ngɔn awóm ai dziá', - 'ngɔn awóm ai bɛ̌'], - SHORTMONTHS: ['ngo', 'ngb', 'ngl', 'ngn', 'ngt', 'ngs', 'ngz', 'ngm', 'nge', - 'nga', 'ngad', 'ngab'], - STANDALONESHORTMONTHS: ['ngo', 'ngb', 'ngl', 'ngn', 'ngt', 'ngs', 'ngz', - 'ngm', 'nge', 'nga', 'ngad', 'ngab'], - WEEKDAYS: ['sɔ́ndɔ', 'mɔ́ndi', 'sɔ́ndɔ mǝlú mǝ́bɛ̌', - 'sɔ́ndɔ mǝlú mǝ́lɛ́', 'sɔ́ndɔ mǝlú mǝ́nyi', 'fúladé', - 'séradé'], - STANDALONEWEEKDAYS: ['sɔ́ndɔ', 'mɔ́ndi', 'sɔ́ndɔ mǝlú mǝ́bɛ̌', - 'sɔ́ndɔ mǝlú mǝ́lɛ́', 'sɔ́ndɔ mǝlú mǝ́nyi', 'fúladé', - 'séradé'], + STANDALONENARROWMONTHS: ['o', 'b', 'l', 'n', 't', 's', 'z', 'm', 'e', 'a', 'd', 'b'], + MONTHS: ['ngɔn osú', 'ngɔn bɛ̌', 'ngɔn lála', 'ngɔn nyina', 'ngɔn tána', 'ngɔn saməna', 'ngɔn zamgbála', 'ngɔn mwom', 'ngɔn ebulú', 'ngɔn awóm', 'ngɔn awóm ai dziá', 'ngɔn awóm ai bɛ̌'], + STANDALONEMONTHS: ['ngɔn osú', 'ngɔn bɛ̌', 'ngɔn lála', 'ngɔn nyina', 'ngɔn tána', 'ngɔn saməna', 'ngɔn zamgbála', 'ngɔn mwom', 'ngɔn ebulú', 'ngɔn awóm', 'ngɔn awóm ai dziá', 'ngɔn awóm ai bɛ̌'], + SHORTMONTHS: ['ngo', 'ngb', 'ngl', 'ngn', 'ngt', 'ngs', 'ngz', 'ngm', 'nge', 'nga', 'ngad', 'ngab'], + STANDALONESHORTMONTHS: ['ngo', 'ngb', 'ngl', 'ngn', 'ngt', 'ngs', 'ngz', 'ngm', 'nge', 'nga', 'ngad', 'ngab'], + WEEKDAYS: ['sɔ́ndɔ', 'mɔ́ndi', 'sɔ́ndɔ məlú mə́bɛ̌', 'sɔ́ndɔ məlú mə́lɛ́', 'sɔ́ndɔ məlú mə́nyi', 'fúladé', 'séradé'], + STANDALONEWEEKDAYS: ['sɔ́ndɔ', 'mɔ́ndi', 'sɔ́ndɔ məlú mə́bɛ̌', 'sɔ́ndɔ məlú mə́lɛ́', 'sɔ́ndɔ məlú mə́nyi', 'fúladé', 'séradé'], SHORTWEEKDAYS: ['sɔ́n', 'mɔ́n', 'smb', 'sml', 'smn', 'fúl', 'sér'], - STANDALONESHORTWEEKDAYS: ['sɔ́n', 'mɔ́n', 'smb', 'sml', 'smn', 'fúl', - 'sér'], + STANDALONESHORTWEEKDAYS: ['sɔ́n', 'mɔ́n', 'smb', 'sml', 'smn', 'fúl', 'sér'], NARROWWEEKDAYS: ['s', 'm', 's', 's', 's', 'f', 's'], STANDALONENARROWWEEKDAYS: ['s', 'm', 's', 's', 's', 'f', 's'], SHORTQUARTERS: ['nno', 'nnb', 'nnl', 'nnny'], - QUARTERS: ['nsámbá ngɔn asú', 'nsámbá ngɔn bɛ̌', - 'nsámbá ngɔn lála', 'nsámbá ngɔn nyina'], - AMPMS: ['kíkíríg', 'ngǝgógǝle'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'd/M/yyyy'], + QUARTERS: ['nsámbá ngɔn asú', 'nsámbá ngɔn bɛ̌', 'nsámbá ngɔn lála', 'nsámbá ngɔn nyina'], + AMPMS: ['kíkíríg', 'ngəgógəle'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'd/M/y'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -5288,38 +6202,24 @@ goog.i18n.DateTimeSymbols_fa_AF = { ZERODIGIT: 0x06F0, ERAS: ['ق.م.', 'م.'], ERANAMES: ['قبل از میلاد', 'میلادی'], - NARROWMONTHS: ['ژ', 'ف', 'م', 'آ', 'م', 'ژ', 'ژ', 'ا', 'س', 'ا', - 'ن', 'د'], - STANDALONENARROWMONTHS: ['ج', 'ف', 'م', 'ا', 'م', 'ج', 'ج', 'ا', 'س', - 'ا', 'ن', 'د'], - MONTHS: ['جنوری', 'فبروری', 'مارچ', 'اپریل', 'می', - 'جون', 'جولای', 'اگست', 'سپتمبر', 'اکتوبر', - 'نومبر', 'دسمبر'], - STANDALONEMONTHS: ['ژانویه', 'فوریه', 'مارس', 'آوریل', - 'مه', 'ژوئن', 'ژوئیه', 'اوت', 'سپتامبر', - 'اکتبر', 'نوامبر', 'دسامبر'], - SHORTMONTHS: ['جنو', 'فوریهٔ', 'مارس', 'آوریل', 'مـی', - 'ژوئن', 'جول', 'اوت', 'سپتامبر', 'اکتبر', - 'نوامبر', 'دسم'], - STANDALONESHORTMONTHS: ['ژانویه', 'فوریه', 'مارس', - 'آوریل', 'مه', 'ژوئن', 'ژوئیه', 'اوت', - 'سپتامبر', 'اکتبر', 'نوامبر', 'دسامبر'], - WEEKDAYS: ['یکشنبه', 'دوشنبه', 'سه‌شنبه', - 'چهارشنبه', 'پنجشنبه', 'جمعه', 'شنبه'], - STANDALONEWEEKDAYS: ['یکشنبه', 'دوشنبه', 'سه‌شنبه', - 'چهارشنبه', 'پنجشنبه', 'جمعه', 'شنبه'], - SHORTWEEKDAYS: ['یکشنبه', 'دوشنبه', 'سه‌شنبه', - 'چهارشنبه', 'پنجشنبه', 'جمعه', 'شنبه'], - STANDALONESHORTWEEKDAYS: ['یکشنبه', 'دوشنبه', 'سه‌شنبه', - 'چهارشنبه', 'پنجشنبه', 'جمعه', 'شنبه'], + NARROWMONTHS: ['ج', 'ف', 'م', 'ا', 'م', 'ج', 'ج', 'ا', 'س', 'ا', 'ن', 'د'], + STANDALONENARROWMONTHS: ['ج', 'ف', 'م', 'ا', 'م', 'ج', 'ج', 'ا', 'س', 'ا', 'ن', 'د'], + MONTHS: ['جنوری', 'فبروری', 'مارچ', 'اپریل', 'می', 'جون', 'جولای', 'اگست', 'سپتمبر', 'اکتوبر', 'نومبر', 'دسمبر'], + STANDALONEMONTHS: ['جنوری', 'فبروری', 'مارچ', 'اپریل', 'می', 'جون', 'جولای', 'اگست', 'سپتمبر', 'اکتوبر', 'نومبر', 'دسمبر'], + SHORTMONTHS: ['جنو', 'فبروری', 'مارچ', 'اپریل', 'می', 'جون', 'جول', 'اگست', 'سپتمبر', 'اکتوبر', 'نومبر', 'دسم'], + STANDALONESHORTMONTHS: ['جنوری', 'فبروری', 'مارچ', 'اپریل', 'می', 'جون', 'جولای', 'اگست', 'سپتمبر', 'اکتوبر', 'نومبر', 'دسمبر'], + WEEKDAYS: ['یکشنبه', 'دوشنبه', 'سه‌شنبه', 'چهارشنبه', 'پنجشنبه', 'جمعه', 'شنبه'], + STANDALONEWEEKDAYS: ['یکشنبه', 'دوشنبه', 'سه‌شنبه', 'چهارشنبه', 'پنجشنبه', 'جمعه', 'شنبه'], + SHORTWEEKDAYS: ['یکشنبه', 'دوشنبه', 'سه‌شنبه', 'چهارشنبه', 'پنجشنبه', 'جمعه', 'شنبه'], + STANDALONESHORTWEEKDAYS: ['یکشنبه', 'دوشنبه', 'سه‌شنبه', 'چهارشنبه', 'پنجشنبه', 'جمعه', 'شنبه'], NARROWWEEKDAYS: ['ی', 'د', 'س', 'چ', 'پ', 'ج', 'ش'], STANDALONENARROWWEEKDAYS: ['ی', 'د', 'س', 'چ', 'پ', 'ج', 'ش'], - SHORTQUARTERS: ['س‌م۱', 'س‌م۲', 'س‌م۳', 'س‌م۴'], - QUARTERS: ['سه‌ماههٔ اول', 'سه‌ماههٔ دوم', - 'سه‌ماههٔ سوم', 'سه‌ماههٔ چهارم'], + SHORTQUARTERS: ['ر۱', 'ر۲', 'ر۳', 'ر۴'], + QUARTERS: ['ربع اول', 'ربع دوم', 'ربع سوم', 'ربع چهارم'], AMPMS: ['قبل‌ازظهر', 'بعدازظهر'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'yyyy/M/d'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'y/M/d'], TIMEFORMATS: ['H:mm:ss (zzzz)', 'H:mm:ss (z)', 'H:mm:ss', 'H:mm'], + DATETIMEFORMATS: ['{1}، ساعت {0}', '{1}، ساعت {0}', '{1}،‏ {0}', '{1}،‏ {0}'], FIRSTDAYOFWEEK: 5, WEEKENDRANGE: [3, 4], FIRSTWEEKCUTOFFDAY: 4 @@ -5329,46 +6229,7 @@ goog.i18n.DateTimeSymbols_fa_AF = { /** * Date/time formatting symbols for locale fa_IR. */ -goog.i18n.DateTimeSymbols_fa_IR = { - ZERODIGIT: 0x06F0, - ERAS: ['ق.م.', 'م.'], - ERANAMES: ['قبل از میلاد', 'میلادی'], - NARROWMONTHS: ['ژ', 'ف', 'م', 'آ', 'م', 'ژ', 'ژ', 'ا', 'س', 'ا', - 'ن', 'د'], - STANDALONENARROWMONTHS: ['ژ', 'ف', 'م', 'آ', 'م', 'ژ', 'ژ', 'ا', 'س', - 'ا', 'ن', 'د'], - MONTHS: ['ژانویهٔ', 'فوریهٔ', 'مارس', 'آوریل', 'مهٔ', - 'ژوئن', 'ژوئیهٔ', 'اوت', 'سپتامبر', 'اکتبر', - 'نوامبر', 'دسامبر'], - STANDALONEMONTHS: ['ژانویه', 'فوریه', 'مارس', 'آوریل', - 'مه', 'ژوئن', 'ژوئیه', 'اوت', 'سپتامبر', - 'اکتبر', 'نوامبر', 'دسامبر'], - SHORTMONTHS: ['ژانویهٔ', 'فوریهٔ', 'مارس', 'آوریل', - 'مهٔ', 'ژوئن', 'ژوئیهٔ', 'اوت', 'سپتامبر', - 'اکتبر', 'نوامبر', 'دسامبر'], - STANDALONESHORTMONTHS: ['ژانویه', 'فوریه', 'مارس', - 'آوریل', 'مه', 'ژوئن', 'ژوئیه', 'اوت', - 'سپتامبر', 'اکتبر', 'نوامبر', 'دسامبر'], - WEEKDAYS: ['یکشنبه', 'دوشنبه', 'سه‌شنبه', - 'چهارشنبه', 'پنجشنبه', 'جمعه', 'شنبه'], - STANDALONEWEEKDAYS: ['یکشنبه', 'دوشنبه', 'سه‌شنبه', - 'چهارشنبه', 'پنجشنبه', 'جمعه', 'شنبه'], - SHORTWEEKDAYS: ['یکشنبه', 'دوشنبه', 'سه‌شنبه', - 'چهارشنبه', 'پنجشنبه', 'جمعه', 'شنبه'], - STANDALONESHORTWEEKDAYS: ['یکشنبه', 'دوشنبه', 'سه‌شنبه', - 'چهارشنبه', 'پنجشنبه', 'جمعه', 'شنبه'], - NARROWWEEKDAYS: ['ی', 'د', 'س', 'چ', 'پ', 'ج', 'ش'], - STANDALONENARROWWEEKDAYS: ['ی', 'د', 'س', 'چ', 'پ', 'ج', 'ش'], - SHORTQUARTERS: ['س‌م۱', 'س‌م۲', 'س‌م۳', 'س‌م۴'], - QUARTERS: ['سه‌ماههٔ اول', 'سه‌ماههٔ دوم', - 'سه‌ماههٔ سوم', 'سه‌ماههٔ چهارم'], - AMPMS: ['قبل‌ازظهر', 'بعدازظهر'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'yyyy/M/d'], - TIMEFORMATS: ['H:mm:ss (zzzz)', 'H:mm:ss (z)', 'H:mm:ss', 'H:mm'], - FIRSTDAYOFWEEK: 5, - WEEKENDRANGE: [3, 4], - FIRSTWEEKCUTOFFDAY: 4 -}; +goog.i18n.DateTimeSymbols_fa_IR = goog.i18n.DateTimeSymbols_fa; /** @@ -5378,20 +6239,13 @@ goog.i18n.DateTimeSymbols_ff = { ERAS: ['H-I', 'C-I'], ERANAMES: ['Hade Iisa', 'Caggal Iisa'], NARROWMONTHS: ['s', 'c', 'm', 's', 'd', 'k', 'm', 'j', 's', 'y', 'j', 'b'], - STANDALONENARROWMONTHS: ['s', 'c', 'm', 's', 'd', 'k', 'm', 'j', 's', 'y', - 'j', 'b'], - MONTHS: ['siilo', 'colte', 'mbooy', 'seeɗto', 'duujal', 'korse', 'morso', - 'juko', 'siilto', 'yarkomaa', 'jolal', 'bowte'], - STANDALONEMONTHS: ['siilo', 'colte', 'mbooy', 'seeɗto', 'duujal', 'korse', - 'morso', 'juko', 'siilto', 'yarkomaa', 'jolal', 'bowte'], - SHORTMONTHS: ['sii', 'col', 'mbo', 'see', 'duu', 'kor', 'mor', 'juk', 'slt', - 'yar', 'jol', 'bow'], - STANDALONESHORTMONTHS: ['sii', 'col', 'mbo', 'see', 'duu', 'kor', 'mor', - 'juk', 'slt', 'yar', 'jol', 'bow'], - WEEKDAYS: ['dewo', 'aaɓnde', 'mawbaare', 'njeslaare', 'naasaande', 'mawnde', - 'hoore-biir'], - STANDALONEWEEKDAYS: ['dewo', 'aaɓnde', 'mawbaare', 'njeslaare', 'naasaande', - 'mawnde', 'hoore-biir'], + STANDALONENARROWMONTHS: ['s', 'c', 'm', 's', 'd', 'k', 'm', 'j', 's', 'y', 'j', 'b'], + MONTHS: ['siilo', 'colte', 'mbooy', 'seeɗto', 'duujal', 'korse', 'morso', 'juko', 'siilto', 'yarkomaa', 'jolal', 'bowte'], + STANDALONEMONTHS: ['siilo', 'colte', 'mbooy', 'seeɗto', 'duujal', 'korse', 'morso', 'juko', 'siilto', 'yarkomaa', 'jolal', 'bowte'], + SHORTMONTHS: ['sii', 'col', 'mbo', 'see', 'duu', 'kor', 'mor', 'juk', 'slt', 'yar', 'jol', 'bow'], + STANDALONESHORTMONTHS: ['sii', 'col', 'mbo', 'see', 'duu', 'kor', 'mor', 'juk', 'slt', 'yar', 'jol', 'bow'], + WEEKDAYS: ['dewo', 'aaɓnde', 'mawbaare', 'njeslaare', 'naasaande', 'mawnde', 'hoore-biir'], + STANDALONEWEEKDAYS: ['dewo', 'aaɓnde', 'mawbaare', 'njeslaare', 'naasaande', 'mawnde', 'hoore-biir'], SHORTWEEKDAYS: ['dew', 'aaɓ', 'maw', 'nje', 'naa', 'mwd', 'hbi'], STANDALONESHORTWEEKDAYS: ['dew', 'aaɓ', 'maw', 'nje', 'naa', 'mwd', 'hbi'], NARROWWEEKDAYS: ['d', 'a', 'm', 'n', 'n', 'm', 'h'], @@ -5399,8 +6253,9 @@ goog.i18n.DateTimeSymbols_ff = { SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], QUARTERS: ['Termes 1', 'Termes 2', 'Termes 3', 'Termes 4'], AMPMS: ['subaka', 'kikiiɗe'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM, y', 'd/M/yyyy'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM, y', 'd/M/y'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -5408,86 +6263,63 @@ goog.i18n.DateTimeSymbols_ff = { /** - * Date/time formatting symbols for locale ff_SN. + * Date/time formatting symbols for locale ff_CM. */ -goog.i18n.DateTimeSymbols_ff_SN = goog.i18n.DateTimeSymbols_ff; +goog.i18n.DateTimeSymbols_ff_CM = goog.i18n.DateTimeSymbols_ff; /** - * Date/time formatting symbols for locale fi_FI. + * Date/time formatting symbols for locale ff_GN. */ -goog.i18n.DateTimeSymbols_fi_FI = { - ERAS: ['eKr.', 'jKr.'], - ERANAMES: ['ennen Kristuksen syntymää', 'jälkeen Kristuksen syntymän'], - NARROWMONTHS: ['T', 'H', 'M', 'H', 'T', 'K', 'H', 'E', 'S', 'L', 'M', 'J'], - STANDALONENARROWMONTHS: ['T', 'H', 'M', 'H', 'T', 'K', 'H', 'E', 'S', 'L', - 'M', 'J'], - MONTHS: ['tammikuuta', 'helmikuuta', 'maaliskuuta', 'huhtikuuta', - 'toukokuuta', 'kesäkuuta', 'heinäkuuta', 'elokuuta', 'syyskuuta', - 'lokakuuta', 'marraskuuta', 'joulukuuta'], - STANDALONEMONTHS: ['tammikuu', 'helmikuu', 'maaliskuu', 'huhtikuu', - 'toukokuu', 'kesäkuu', 'heinäkuu', 'elokuu', 'syyskuu', 'lokakuu', - 'marraskuu', 'joulukuu'], - SHORTMONTHS: ['tammikuuta', 'helmikuuta', 'maaliskuuta', 'huhtikuuta', - 'toukokuuta', 'kesäkuuta', 'heinäkuuta', 'elokuuta', 'syyskuuta', - 'lokakuuta', 'marraskuuta', 'joulukuuta'], - STANDALONESHORTMONTHS: ['tammi', 'helmi', 'maalis', 'huhti', 'touko', 'kesä', - 'heinä', 'elo', 'syys', 'loka', 'marras', 'joulu'], - WEEKDAYS: ['sunnuntaina', 'maanantaina', 'tiistaina', 'keskiviikkona', - 'torstaina', 'perjantaina', 'lauantaina'], - STANDALONEWEEKDAYS: ['sunnuntai', 'maanantai', 'tiistai', 'keskiviikko', - 'torstai', 'perjantai', 'lauantai'], - SHORTWEEKDAYS: ['su', 'ma', 'ti', 'ke', 'to', 'pe', 'la'], - STANDALONESHORTWEEKDAYS: ['su', 'ma', 'ti', 'ke', 'to', 'pe', 'la'], - NARROWWEEKDAYS: ['S', 'M', 'T', 'K', 'T', 'P', 'L'], - STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'K', 'T', 'P', 'L'], - SHORTQUARTERS: ['1. nelj.', '2. nelj.', '3. nelj.', '4. nelj.'], - QUARTERS: ['1. neljännes', '2. neljännes', '3. neljännes', - '4. neljännes'], - AMPMS: ['ap.', 'ip.'], - DATEFORMATS: ['cccc, d. MMMM y', 'd. MMMM y', 'd.M.yyyy', 'd.M.yyyy'], - TIMEFORMATS: ['H.mm.ss zzzz', 'H.mm.ss z', 'H.mm.ss', 'H.mm'], +goog.i18n.DateTimeSymbols_ff_GN = goog.i18n.DateTimeSymbols_ff; + + +/** + * Date/time formatting symbols for locale ff_MR. + */ +goog.i18n.DateTimeSymbols_ff_MR = { + ERAS: ['H-I', 'C-I'], + ERANAMES: ['Hade Iisa', 'Caggal Iisa'], + NARROWMONTHS: ['s', 'c', 'm', 's', 'd', 'k', 'm', 'j', 's', 'y', 'j', 'b'], + STANDALONENARROWMONTHS: ['s', 'c', 'm', 's', 'd', 'k', 'm', 'j', 's', 'y', 'j', 'b'], + MONTHS: ['siilo', 'colte', 'mbooy', 'seeɗto', 'duujal', 'korse', 'morso', 'juko', 'siilto', 'yarkomaa', 'jolal', 'bowte'], + STANDALONEMONTHS: ['siilo', 'colte', 'mbooy', 'seeɗto', 'duujal', 'korse', 'morso', 'juko', 'siilto', 'yarkomaa', 'jolal', 'bowte'], + SHORTMONTHS: ['sii', 'col', 'mbo', 'see', 'duu', 'kor', 'mor', 'juk', 'slt', 'yar', 'jol', 'bow'], + STANDALONESHORTMONTHS: ['sii', 'col', 'mbo', 'see', 'duu', 'kor', 'mor', 'juk', 'slt', 'yar', 'jol', 'bow'], + WEEKDAYS: ['dewo', 'aaɓnde', 'mawbaare', 'njeslaare', 'naasaande', 'mawnde', 'hoore-biir'], + STANDALONEWEEKDAYS: ['dewo', 'aaɓnde', 'mawbaare', 'njeslaare', 'naasaande', 'mawnde', 'hoore-biir'], + SHORTWEEKDAYS: ['dew', 'aaɓ', 'maw', 'nje', 'naa', 'mwd', 'hbi'], + STANDALONESHORTWEEKDAYS: ['dew', 'aaɓ', 'maw', 'nje', 'naa', 'mwd', 'hbi'], + NARROWWEEKDAYS: ['d', 'a', 'm', 'n', 'n', 'm', 'h'], + STANDALONENARROWWEEKDAYS: ['d', 'a', 'm', 'n', 'n', 'm', 'h'], + SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], + QUARTERS: ['Termes 1', 'Termes 2', 'Termes 3', 'Termes 4'], + AMPMS: ['subaka', 'kikiiɗe'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM, y', 'd/M/y'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 3 + FIRSTWEEKCUTOFFDAY: 6 }; +/** + * Date/time formatting symbols for locale ff_SN. + */ +goog.i18n.DateTimeSymbols_ff_SN = goog.i18n.DateTimeSymbols_ff; + + +/** + * Date/time formatting symbols for locale fi_FI. + */ +goog.i18n.DateTimeSymbols_fi_FI = goog.i18n.DateTimeSymbols_fi; + + /** * Date/time formatting symbols for locale fil_PH. */ -goog.i18n.DateTimeSymbols_fil_PH = { - ERAS: ['BC', 'AD'], - ERANAMES: ['BC', 'AD'], - NARROWMONTHS: ['E', 'P', 'M', 'A', 'M', 'H', 'H', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['E', 'P', 'M', 'A', 'M', 'H', 'H', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['Enero', 'Pebrero', 'Marso', 'Abril', 'Mayo', 'Hunyo', 'Hulyo', - 'Agosto', 'Setyembre', 'Oktubre', 'Nobyembre', 'Disyembre'], - STANDALONEMONTHS: ['Enero', 'Pebrero', 'Marso', 'Abril', 'Mayo', 'Hunyo', - 'Hulyo', 'Agosto', 'Setyembre', 'Oktubre', 'Nobyembre', 'Disyembre'], - SHORTMONTHS: ['Ene', 'Peb', 'Mar', 'Abr', 'May', 'Hun', 'Hul', 'Ago', 'Set', - 'Okt', 'Nob', 'Dis'], - STANDALONESHORTMONTHS: ['Ene', 'Peb', 'Mar', 'Abr', 'May', 'Hun', 'Hul', - 'Ago', 'Set', 'Okt', 'Nob', 'Dis'], - WEEKDAYS: ['Linggo', 'Lunes', 'Martes', 'Miyerkules', 'Huwebes', 'Biyernes', - 'Sabado'], - STANDALONEWEEKDAYS: ['Linggo', 'Lunes', 'Martes', 'Miyerkules', 'Huwebes', - 'Biyernes', 'Sabado'], - SHORTWEEKDAYS: ['Lin', 'Lun', 'Mar', 'Mye', 'Huw', 'Bye', 'Sab'], - STANDALONESHORTWEEKDAYS: ['Lin', 'Lun', 'Mar', 'Miy', 'Huw', 'Biy', 'Sab'], - NARROWWEEKDAYS: ['L', 'L', 'M', 'M', 'H', 'B', 'S'], - STANDALONENARROWWEEKDAYS: ['L', 'L', 'M', 'M', 'H', 'B', 'S'], - SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - QUARTERS: ['ika-1 sangkapat', 'ika-2 sangkapat', 'ika-3 quarter', - 'ika-4 na quarter'], - AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE, MMMM dd y', 'MMMM d, y', 'MMM d, y', 'M/d/yy'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 6, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 5 -}; +goog.i18n.DateTimeSymbols_fil_PH = goog.i18n.DateTimeSymbols_fil; /** @@ -5495,38 +6327,37 @@ goog.i18n.DateTimeSymbols_fil_PH = { */ goog.i18n.DateTimeSymbols_fo = { ERAS: ['f.Kr.', 'e.Kr.'], - ERANAMES: ['fyrir Krist', 'eftir Krist'], - NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['januar', 'februar', 'mars', 'apríl', 'mai', 'juni', 'juli', - 'august', 'september', 'oktober', 'november', 'desember'], - STANDALONEMONTHS: ['januar', 'februar', 'mars', 'apríl', 'mai', 'juni', - 'juli', 'august', 'september', 'oktober', 'november', 'desember'], - SHORTMONTHS: ['jan', 'feb', 'mar', 'apr', 'mai', 'jun', 'jul', 'aug', 'sep', - 'okt', 'nov', 'des'], - STANDALONESHORTMONTHS: ['jan', 'feb', 'mar', 'apr', 'mai', 'jun', 'jul', - 'aug', 'sep', 'okt', 'nov', 'des'], - WEEKDAYS: ['sunnudagur', 'mánadagur', 'týsdagur', 'mikudagur', 'hósdagur', - 'fríggjadagur', 'leygardagur'], - STANDALONEWEEKDAYS: ['sunnudagur', 'mánadagur', 'týsdagur', 'mikudagur', - 'hósdagur', 'fríggjadagur', 'leygardagur'], - SHORTWEEKDAYS: ['sun', 'mán', 'týs', 'mik', 'hós', 'frí', 'ley'], - STANDALONESHORTWEEKDAYS: ['sun', 'mán', 'týs', 'mik', 'hós', 'frí', - 'ley'], + ERANAMES: ['fyri Krist', 'eftir Krist'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['januar', 'februar', 'mars', 'apríl', 'mai', 'juni', 'juli', 'august', 'september', 'oktober', 'november', 'desember'], + STANDALONEMONTHS: ['januar', 'februar', 'mars', 'apríl', 'mai', 'juni', 'juli', 'august', 'september', 'oktober', 'november', 'desember'], + SHORTMONTHS: ['jan.', 'feb.', 'mar.', 'apr.', 'mai', 'jun.', 'jul.', 'aug.', 'sep.', 'okt.', 'nov.', 'des.'], + STANDALONESHORTMONTHS: ['jan', 'feb', 'mar', 'apr', 'mai', 'jun', 'jul', 'aug', 'sep', 'okt', 'nov', 'des'], + WEEKDAYS: ['sunnudagur', 'mánadagur', 'týsdagur', 'mikudagur', 'hósdagur', 'fríggjadagur', 'leygardagur'], + STANDALONEWEEKDAYS: ['sunnudagur', 'mánadagur', 'týsdagur', 'mikudagur', 'hósdagur', 'fríggjadagur', 'leygardagur'], + SHORTWEEKDAYS: ['sun.', 'mán.', 'týs.', 'mik.', 'hós.', 'frí.', 'ley.'], + STANDALONESHORTWEEKDAYS: ['sun', 'mán', 'týs', 'mik', 'hós', 'frí', 'ley'], NARROWWEEKDAYS: ['S', 'M', 'T', 'M', 'H', 'F', 'L'], STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'M', 'H', 'F', 'L'], - SHORTQUARTERS: ['K1', 'K2', 'K3', 'K4'], - QUARTERS: ['1. kvartal', '2. kvartal', '3. kvartal', '4. kvartal'], - AMPMS: ['um fyrrapartur', 'um seinnapartur'], - DATEFORMATS: ['EEEE dd MMMM y', 'd. MMM y', 'dd-MM-yyyy', 'dd-MM-yy'], + SHORTQUARTERS: ['1. ársfj.', '2. ársfj.', '3. ársfj.', '4. ársfj.'], + QUARTERS: ['1. ársfjórðingur', '2. ársfjórðingur', '3. ársfjórðingur', '4. ársfjórðingur'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d. MMMM y', 'd. MMMM y', 'dd.MM.y', 'dd.MM.yy'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'kl\'. {0}', '{1} \'kl\'. {0}', '{1}, {0}', '{1}, {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 3 }; +/** + * Date/time formatting symbols for locale fo_DK. + */ +goog.i18n.DateTimeSymbols_fo_DK = goog.i18n.DateTimeSymbols_fo; + + /** * Date/time formatting symbols for locale fo_FO. */ @@ -5540,31 +6371,23 @@ goog.i18n.DateTimeSymbols_fr_BE = { ERAS: ['av. J.-C.', 'ap. J.-C.'], ERANAMES: ['avant Jésus-Christ', 'après Jésus-Christ'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', - 'août', 'septembre', 'octobre', 'novembre', 'décembre'], - STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', - 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], - SHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', - 'août', 'sept.', 'oct.', 'nov.', 'déc.'], - STANDALONESHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', - 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], - WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', - 'samedi'], - STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', - 'vendredi', 'samedi'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + SHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + STANDALONESHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], + STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], SHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], - STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', - 'sam.'], + STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], NARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], QUARTERS: ['1er trimestre', '2e trimestre', '3e trimestre', '4e trimestre'], AMPMS: ['AM', 'PM'], DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'd/MM/yy'], - TIMEFORMATS: ['H \'h\' mm \'min\' ss \'s\' zzzz', 'HH:mm:ss z', 'HH:mm:ss', - 'HH:mm'], + TIMEFORMATS: ['H \'h\' mm \'min\' ss \'s\' zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'à\' {0}', '{1} \'à\' {0}', '{1} \'à\' {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 3 @@ -5578,30 +6401,23 @@ goog.i18n.DateTimeSymbols_fr_BF = { ERAS: ['av. J.-C.', 'ap. J.-C.'], ERANAMES: ['avant Jésus-Christ', 'après Jésus-Christ'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', - 'août', 'septembre', 'octobre', 'novembre', 'décembre'], - STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', - 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], - SHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', - 'août', 'sept.', 'oct.', 'nov.', 'déc.'], - STANDALONESHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', - 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], - WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', - 'samedi'], - STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', - 'vendredi', 'samedi'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + SHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + STANDALONESHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], + STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], SHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], - STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', - 'sam.'], + STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], NARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], QUARTERS: ['1er trimestre', '2e trimestre', '3e trimestre', '4e trimestre'], AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yy'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'à\' {0}', '{1} \'à\' {0}', '{1} \'à\' {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -5611,34 +6427,237 @@ goog.i18n.DateTimeSymbols_fr_BF = { /** * Date/time formatting symbols for locale fr_BI. */ -goog.i18n.DateTimeSymbols_fr_BI = { +goog.i18n.DateTimeSymbols_fr_BI = { + ERAS: ['av. J.-C.', 'ap. J.-C.'], + ERANAMES: ['avant Jésus-Christ', 'après Jésus-Christ'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + SHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + STANDALONESHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], + STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], + SHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], + STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], + NARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], + STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], + SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], + QUARTERS: ['1er trimestre', '2e trimestre', '3e trimestre', '4e trimestre'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'à\' {0}', '{1} \'à\' {0}', '{1} \'à\' {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale fr_BJ. + */ +goog.i18n.DateTimeSymbols_fr_BJ = { + ERAS: ['av. J.-C.', 'ap. J.-C.'], + ERANAMES: ['avant Jésus-Christ', 'après Jésus-Christ'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + SHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + STANDALONESHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], + STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], + SHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], + STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], + NARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], + STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], + SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], + QUARTERS: ['1er trimestre', '2e trimestre', '3e trimestre', '4e trimestre'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'à\' {0}', '{1} \'à\' {0}', '{1} \'à\' {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale fr_BL. + */ +goog.i18n.DateTimeSymbols_fr_BL = { + ERAS: ['av. J.-C.', 'ap. J.-C.'], + ERANAMES: ['avant Jésus-Christ', 'après Jésus-Christ'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + SHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + STANDALONESHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], + STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], + SHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], + STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], + NARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], + STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], + SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], + QUARTERS: ['1er trimestre', '2e trimestre', '3e trimestre', '4e trimestre'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'à\' {0}', '{1} \'à\' {0}', '{1} \'à\' {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale fr_CD. + */ +goog.i18n.DateTimeSymbols_fr_CD = { + ERAS: ['av. J.-C.', 'ap. J.-C.'], + ERANAMES: ['avant Jésus-Christ', 'après Jésus-Christ'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + SHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + STANDALONESHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], + STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], + SHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], + STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], + NARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], + STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], + SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], + QUARTERS: ['1er trimestre', '2e trimestre', '3e trimestre', '4e trimestre'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'à\' {0}', '{1} \'à\' {0}', '{1} \'à\' {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale fr_CF. + */ +goog.i18n.DateTimeSymbols_fr_CF = { + ERAS: ['av. J.-C.', 'ap. J.-C.'], + ERANAMES: ['avant Jésus-Christ', 'après Jésus-Christ'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + SHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + STANDALONESHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], + STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], + SHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], + STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], + NARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], + STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], + SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], + QUARTERS: ['1er trimestre', '2e trimestre', '3e trimestre', '4e trimestre'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'à\' {0}', '{1} \'à\' {0}', '{1} \'à\' {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale fr_CG. + */ +goog.i18n.DateTimeSymbols_fr_CG = { + ERAS: ['av. J.-C.', 'ap. J.-C.'], + ERANAMES: ['avant Jésus-Christ', 'après Jésus-Christ'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + SHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + STANDALONESHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], + STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], + SHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], + STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], + NARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], + STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], + SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], + QUARTERS: ['1er trimestre', '2e trimestre', '3e trimestre', '4e trimestre'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'à\' {0}', '{1} \'à\' {0}', '{1} \'à\' {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale fr_CH. + */ +goog.i18n.DateTimeSymbols_fr_CH = { + ERAS: ['av. J.-C.', 'ap. J.-C.'], + ERANAMES: ['avant Jésus-Christ', 'après Jésus-Christ'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + SHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + STANDALONESHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], + STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], + SHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], + STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], + NARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], + STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], + SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], + QUARTERS: ['1er trimestre', '2e trimestre', '3e trimestre', '4e trimestre'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd.MM.yy'], + TIMEFORMATS: ['HH.mm:ss \'h\' zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'à\' {0}', '{1} \'à\' {0}', '{1} \'à\' {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 3 +}; + + +/** + * Date/time formatting symbols for locale fr_CI. + */ +goog.i18n.DateTimeSymbols_fr_CI = { ERAS: ['av. J.-C.', 'ap. J.-C.'], ERANAMES: ['avant Jésus-Christ', 'après Jésus-Christ'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', - 'août', 'septembre', 'octobre', 'novembre', 'décembre'], - STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', - 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], - SHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', - 'août', 'sept.', 'oct.', 'nov.', 'déc.'], - STANDALONESHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', - 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], - WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', - 'samedi'], - STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', - 'vendredi', 'samedi'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + SHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + STANDALONESHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], + STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], SHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], - STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', - 'sam.'], + STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], NARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], QUARTERS: ['1er trimestre', '2e trimestre', '3e trimestre', '4e trimestre'], AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yy'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'à\' {0}', '{1} \'à\' {0}', '{1} \'à\' {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -5646,36 +6665,29 @@ goog.i18n.DateTimeSymbols_fr_BI = { /** - * Date/time formatting symbols for locale fr_BJ. + * Date/time formatting symbols for locale fr_CM. */ -goog.i18n.DateTimeSymbols_fr_BJ = { +goog.i18n.DateTimeSymbols_fr_CM = { ERAS: ['av. J.-C.', 'ap. J.-C.'], ERANAMES: ['avant Jésus-Christ', 'après Jésus-Christ'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', - 'août', 'septembre', 'octobre', 'novembre', 'décembre'], - STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', - 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], - SHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', - 'août', 'sept.', 'oct.', 'nov.', 'déc.'], - STANDALONESHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', - 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], - WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', - 'samedi'], - STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', - 'vendredi', 'samedi'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + SHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + STANDALONESHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], + STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], SHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], - STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', - 'sam.'], + STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], NARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], QUARTERS: ['1er trimestre', '2e trimestre', '3e trimestre', '4e trimestre'], - AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yy'], + AMPMS: ['matin', 'soir'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'à\' {0}', '{1} \'à\' {0}', '{1} \'à\' {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -5683,110 +6695,95 @@ goog.i18n.DateTimeSymbols_fr_BJ = { /** - * Date/time formatting symbols for locale fr_BL. + * Date/time formatting symbols for locale fr_DJ. */ -goog.i18n.DateTimeSymbols_fr_BL = { +goog.i18n.DateTimeSymbols_fr_DJ = { ERAS: ['av. J.-C.', 'ap. J.-C.'], ERANAMES: ['avant Jésus-Christ', 'après Jésus-Christ'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', - 'août', 'septembre', 'octobre', 'novembre', 'décembre'], - STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', - 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], - SHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', - 'août', 'sept.', 'oct.', 'nov.', 'déc.'], - STANDALONESHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', - 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], - WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', - 'samedi'], - STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', - 'vendredi', 'samedi'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + SHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + STANDALONESHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], + STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], SHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], - STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', - 'sam.'], + STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], NARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], QUARTERS: ['1er trimestre', '2e trimestre', '3e trimestre', '4e trimestre'], AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yy'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 0, + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} \'à\' {0}', '{1} \'à\' {0}', '{1} \'à\' {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 5, WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 6 + FIRSTWEEKCUTOFFDAY: 4 }; /** - * Date/time formatting symbols for locale fr_CD. + * Date/time formatting symbols for locale fr_DZ. */ -goog.i18n.DateTimeSymbols_fr_CD = { +goog.i18n.DateTimeSymbols_fr_DZ = { ERAS: ['av. J.-C.', 'ap. J.-C.'], ERANAMES: ['avant Jésus-Christ', 'après Jésus-Christ'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', - 'août', 'septembre', 'octobre', 'novembre', 'décembre'], - STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', - 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], - SHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', - 'août', 'sept.', 'oct.', 'nov.', 'déc.'], - STANDALONESHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', - 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], - WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', - 'samedi'], - STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', - 'vendredi', 'samedi'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + SHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + STANDALONESHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], + STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], SHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], - STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', - 'sam.'], + STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], NARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], QUARTERS: ['1er trimestre', '2e trimestre', '3e trimestre', '4e trimestre'], AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yy'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 6 + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} \'à\' {0}', '{1} \'à\' {0}', '{1} \'à\' {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 5, + WEEKENDRANGE: [4, 5], + FIRSTWEEKCUTOFFDAY: 4 }; /** - * Date/time formatting symbols for locale fr_CF. + * Date/time formatting symbols for locale fr_FR. */ -goog.i18n.DateTimeSymbols_fr_CF = { +goog.i18n.DateTimeSymbols_fr_FR = goog.i18n.DateTimeSymbols_fr; + + +/** + * Date/time formatting symbols for locale fr_GA. + */ +goog.i18n.DateTimeSymbols_fr_GA = { ERAS: ['av. J.-C.', 'ap. J.-C.'], ERANAMES: ['avant Jésus-Christ', 'après Jésus-Christ'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', - 'août', 'septembre', 'octobre', 'novembre', 'décembre'], - STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', - 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], - SHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', - 'août', 'sept.', 'oct.', 'nov.', 'déc.'], - STANDALONESHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', - 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], - WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', - 'samedi'], - STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', - 'vendredi', 'samedi'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + SHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + STANDALONESHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], + STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], SHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], - STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', - 'sam.'], + STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], NARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], QUARTERS: ['1er trimestre', '2e trimestre', '3e trimestre', '4e trimestre'], AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yy'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'à\' {0}', '{1} \'à\' {0}', '{1} \'à\' {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -5794,36 +6791,35 @@ goog.i18n.DateTimeSymbols_fr_CF = { /** - * Date/time formatting symbols for locale fr_CG. + * Date/time formatting symbols for locale fr_GF. */ -goog.i18n.DateTimeSymbols_fr_CG = { +goog.i18n.DateTimeSymbols_fr_GF = goog.i18n.DateTimeSymbols_fr; + + +/** + * Date/time formatting symbols for locale fr_GN. + */ +goog.i18n.DateTimeSymbols_fr_GN = { ERAS: ['av. J.-C.', 'ap. J.-C.'], ERANAMES: ['avant Jésus-Christ', 'après Jésus-Christ'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', - 'août', 'septembre', 'octobre', 'novembre', 'décembre'], - STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', - 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], - SHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', - 'août', 'sept.', 'oct.', 'nov.', 'déc.'], - STANDALONESHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', - 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], - WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', - 'samedi'], - STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', - 'vendredi', 'samedi'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + SHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + STANDALONESHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], + STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], SHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], - STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', - 'sam.'], + STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], NARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], QUARTERS: ['1er trimestre', '2e trimestre', '3e trimestre', '4e trimestre'], AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yy'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'à\' {0}', '{1} \'à\' {0}', '{1} \'à\' {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -5831,73 +6827,65 @@ goog.i18n.DateTimeSymbols_fr_CG = { /** - * Date/time formatting symbols for locale fr_CH. + * Date/time formatting symbols for locale fr_GP. */ -goog.i18n.DateTimeSymbols_fr_CH = { +goog.i18n.DateTimeSymbols_fr_GP = goog.i18n.DateTimeSymbols_fr; + + +/** + * Date/time formatting symbols for locale fr_GQ. + */ +goog.i18n.DateTimeSymbols_fr_GQ = { ERAS: ['av. J.-C.', 'ap. J.-C.'], ERANAMES: ['avant Jésus-Christ', 'après Jésus-Christ'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', - 'août', 'septembre', 'octobre', 'novembre', 'décembre'], - STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', - 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], - SHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', - 'août', 'sept.', 'oct.', 'nov.', 'déc.'], - STANDALONESHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', - 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], - WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', - 'samedi'], - STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', - 'vendredi', 'samedi'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + SHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + STANDALONESHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], + STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], SHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], - STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', - 'sam.'], + STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], NARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], QUARTERS: ['1er trimestre', '2e trimestre', '3e trimestre', '4e trimestre'], AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd.MM.yy'], - TIMEFORMATS: ['HH.mm:ss \'h\' zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'à\' {0}', '{1} \'à\' {0}', '{1} \'à\' {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 3 + FIRSTWEEKCUTOFFDAY: 6 }; /** - * Date/time formatting symbols for locale fr_CI. + * Date/time formatting symbols for locale fr_HT. */ -goog.i18n.DateTimeSymbols_fr_CI = { +goog.i18n.DateTimeSymbols_fr_HT = { ERAS: ['av. J.-C.', 'ap. J.-C.'], ERANAMES: ['avant Jésus-Christ', 'après Jésus-Christ'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', - 'août', 'septembre', 'octobre', 'novembre', 'décembre'], - STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', - 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], - SHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', - 'août', 'sept.', 'oct.', 'nov.', 'déc.'], - STANDALONESHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', - 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], - WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', - 'samedi'], - STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', - 'vendredi', 'samedi'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + SHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + STANDALONESHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], + STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], SHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], - STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', - 'sam.'], + STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], NARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], QUARTERS: ['1er trimestre', '2e trimestre', '3e trimestre', '4e trimestre'], AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yy'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'à\' {0}', '{1} \'à\' {0}', '{1} \'à\' {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -5905,36 +6893,29 @@ goog.i18n.DateTimeSymbols_fr_CI = { /** - * Date/time formatting symbols for locale fr_CM. + * Date/time formatting symbols for locale fr_KM. */ -goog.i18n.DateTimeSymbols_fr_CM = { +goog.i18n.DateTimeSymbols_fr_KM = { ERAS: ['av. J.-C.', 'ap. J.-C.'], ERANAMES: ['avant Jésus-Christ', 'après Jésus-Christ'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', - 'août', 'septembre', 'octobre', 'novembre', 'décembre'], - STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', - 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], - SHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', - 'août', 'sept.', 'oct.', 'nov.', 'déc.'], - STANDALONESHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', - 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], - WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', - 'samedi'], - STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', - 'vendredi', 'samedi'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + SHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + STANDALONESHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], + STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], SHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], - STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', - 'sam.'], + STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], NARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], QUARTERS: ['1er trimestre', '2e trimestre', '3e trimestre', '4e trimestre'], AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yy'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'à\' {0}', '{1} \'à\' {0}', '{1} \'à\' {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -5942,110 +6923,71 @@ goog.i18n.DateTimeSymbols_fr_CM = { /** - * Date/time formatting symbols for locale fr_DJ. + * Date/time formatting symbols for locale fr_LU. */ -goog.i18n.DateTimeSymbols_fr_DJ = { +goog.i18n.DateTimeSymbols_fr_LU = goog.i18n.DateTimeSymbols_fr; + + +/** + * Date/time formatting symbols for locale fr_MA. + */ +goog.i18n.DateTimeSymbols_fr_MA = { ERAS: ['av. J.-C.', 'ap. J.-C.'], ERANAMES: ['avant Jésus-Christ', 'après Jésus-Christ'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', - 'août', 'septembre', 'octobre', 'novembre', 'décembre'], - STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', - 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], - SHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', - 'août', 'sept.', 'oct.', 'nov.', 'déc.'], - STANDALONESHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', - 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], - WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', - 'samedi'], - STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', - 'vendredi', 'samedi'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + SHORTMONTHS: ['jan.', 'fév.', 'mar.', 'avr.', 'mai', 'jui.', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + STANDALONESHORTMONTHS: ['jan.', 'fév.', 'mar.', 'avr.', 'mai', 'jui.', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], + STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], SHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], - STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', - 'sam.'], + STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], NARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], QUARTERS: ['1er trimestre', '2e trimestre', '3e trimestre', '4e trimestre'], - AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yy'], + AMPMS: ['a.m.', 'p.m.'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'à\' {0}', '{1} \'à\' {0}', '{1} \'à\' {0}', '{1} {0}'], FIRSTDAYOFWEEK: 5, - WEEKENDRANGE: [5, 6], + WEEKENDRANGE: [4, 5], FIRSTWEEKCUTOFFDAY: 4 }; /** - * Date/time formatting symbols for locale fr_FR. + * Date/time formatting symbols for locale fr_MC. */ -goog.i18n.DateTimeSymbols_fr_FR = { - ERAS: ['av. J.-C.', 'ap. J.-C.'], - ERANAMES: ['avant Jésus-Christ', 'après Jésus-Christ'], - NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', - 'août', 'septembre', 'octobre', 'novembre', 'décembre'], - STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', - 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], - SHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', - 'août', 'sept.', 'oct.', 'nov.', 'déc.'], - STANDALONESHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', - 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], - WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', - 'samedi'], - STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', - 'vendredi', 'samedi'], - SHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], - STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', - 'sam.'], - NARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], - STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], - SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], - QUARTERS: ['1er trimestre', '2e trimestre', '3e trimestre', '4e trimestre'], - AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yy'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 3 -}; +goog.i18n.DateTimeSymbols_fr_MC = goog.i18n.DateTimeSymbols_fr; /** - * Date/time formatting symbols for locale fr_GA. + * Date/time formatting symbols for locale fr_MF. */ -goog.i18n.DateTimeSymbols_fr_GA = { +goog.i18n.DateTimeSymbols_fr_MF = { ERAS: ['av. J.-C.', 'ap. J.-C.'], ERANAMES: ['avant Jésus-Christ', 'après Jésus-Christ'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', - 'août', 'septembre', 'octobre', 'novembre', 'décembre'], - STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', - 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], - SHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', - 'août', 'sept.', 'oct.', 'nov.', 'déc.'], - STANDALONESHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', - 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], - WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', - 'samedi'], - STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', - 'vendredi', 'samedi'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + SHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + STANDALONESHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], + STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], SHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], - STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', - 'sam.'], + STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], NARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], QUARTERS: ['1er trimestre', '2e trimestre', '3e trimestre', '4e trimestre'], AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yy'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'à\' {0}', '{1} \'à\' {0}', '{1} \'à\' {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -6053,73 +6995,59 @@ goog.i18n.DateTimeSymbols_fr_GA = { /** - * Date/time formatting symbols for locale fr_GF. + * Date/time formatting symbols for locale fr_MG. */ -goog.i18n.DateTimeSymbols_fr_GF = { +goog.i18n.DateTimeSymbols_fr_MG = { ERAS: ['av. J.-C.', 'ap. J.-C.'], ERANAMES: ['avant Jésus-Christ', 'après Jésus-Christ'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', - 'août', 'septembre', 'octobre', 'novembre', 'décembre'], - STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', - 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], - SHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', - 'août', 'sept.', 'oct.', 'nov.', 'déc.'], - STANDALONESHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', - 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], - WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', - 'samedi'], - STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', - 'vendredi', 'samedi'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + SHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + STANDALONESHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], + STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], SHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], - STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', - 'sam.'], + STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], NARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], QUARTERS: ['1er trimestre', '2e trimestre', '3e trimestre', '4e trimestre'], AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yy'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'à\' {0}', '{1} \'à\' {0}', '{1} \'à\' {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 3 + FIRSTWEEKCUTOFFDAY: 6 }; /** - * Date/time formatting symbols for locale fr_GN. + * Date/time formatting symbols for locale fr_ML. */ -goog.i18n.DateTimeSymbols_fr_GN = { +goog.i18n.DateTimeSymbols_fr_ML = { ERAS: ['av. J.-C.', 'ap. J.-C.'], ERANAMES: ['avant Jésus-Christ', 'après Jésus-Christ'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', - 'août', 'septembre', 'octobre', 'novembre', 'décembre'], - STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', - 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], - SHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', - 'août', 'sept.', 'oct.', 'nov.', 'déc.'], - STANDALONESHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', - 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], - WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', - 'samedi'], - STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', - 'vendredi', 'samedi'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + SHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + STANDALONESHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], + STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], SHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], - STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', - 'sam.'], + STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], NARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], - QUARTERS: ['1er trimestre', '2e trimestre', '3e trimestre', '4e trimestre'], + QUARTERS: ['le 1er trimestre', 'le 2ème trimestre', 'le 3ème trimestre', 'le 4ème trimestre'], AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yy'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'à\' {0}', '{1} \'à\' {0}', '{1}, {0}', '{1}, {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -6127,73 +7055,65 @@ goog.i18n.DateTimeSymbols_fr_GN = { /** - * Date/time formatting symbols for locale fr_GP. + * Date/time formatting symbols for locale fr_MQ. + */ +goog.i18n.DateTimeSymbols_fr_MQ = goog.i18n.DateTimeSymbols_fr; + + +/** + * Date/time formatting symbols for locale fr_MR. */ -goog.i18n.DateTimeSymbols_fr_GP = { +goog.i18n.DateTimeSymbols_fr_MR = { ERAS: ['av. J.-C.', 'ap. J.-C.'], ERANAMES: ['avant Jésus-Christ', 'après Jésus-Christ'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', - 'août', 'septembre', 'octobre', 'novembre', 'décembre'], - STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', - 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], - SHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', - 'août', 'sept.', 'oct.', 'nov.', 'déc.'], - STANDALONESHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', - 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], - WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', - 'samedi'], - STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', - 'vendredi', 'samedi'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + SHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + STANDALONESHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], + STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], SHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], - STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', - 'sam.'], + STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], NARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], QUARTERS: ['1er trimestre', '2e trimestre', '3e trimestre', '4e trimestre'], AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yy'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} \'à\' {0}', '{1} \'à\' {0}', '{1} \'à\' {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 3 + FIRSTWEEKCUTOFFDAY: 6 }; /** - * Date/time formatting symbols for locale fr_GQ. + * Date/time formatting symbols for locale fr_MU. */ -goog.i18n.DateTimeSymbols_fr_GQ = { +goog.i18n.DateTimeSymbols_fr_MU = { ERAS: ['av. J.-C.', 'ap. J.-C.'], ERANAMES: ['avant Jésus-Christ', 'après Jésus-Christ'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', - 'août', 'septembre', 'octobre', 'novembre', 'décembre'], - STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', - 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], - SHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', - 'août', 'sept.', 'oct.', 'nov.', 'déc.'], - STANDALONESHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', - 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], - WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', - 'samedi'], - STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', - 'vendredi', 'samedi'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + SHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + STANDALONESHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], + STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], SHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], - STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', - 'sam.'], + STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], NARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], QUARTERS: ['1er trimestre', '2e trimestre', '3e trimestre', '4e trimestre'], AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yy'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'à\' {0}', '{1} \'à\' {0}', '{1} \'à\' {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -6201,36 +7121,29 @@ goog.i18n.DateTimeSymbols_fr_GQ = { /** - * Date/time formatting symbols for locale fr_KM. + * Date/time formatting symbols for locale fr_NC. */ -goog.i18n.DateTimeSymbols_fr_KM = { +goog.i18n.DateTimeSymbols_fr_NC = { ERAS: ['av. J.-C.', 'ap. J.-C.'], ERANAMES: ['avant Jésus-Christ', 'après Jésus-Christ'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', - 'août', 'septembre', 'octobre', 'novembre', 'décembre'], - STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', - 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], - SHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', - 'août', 'sept.', 'oct.', 'nov.', 'déc.'], - STANDALONESHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', - 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], - WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', - 'samedi'], - STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', - 'vendredi', 'samedi'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + SHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + STANDALONESHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], + STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], SHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], - STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', - 'sam.'], + STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], NARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], QUARTERS: ['1er trimestre', '2e trimestre', '3e trimestre', '4e trimestre'], AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yy'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'à\' {0}', '{1} \'à\' {0}', '{1} \'à\' {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -6238,110 +7151,89 @@ goog.i18n.DateTimeSymbols_fr_KM = { /** - * Date/time formatting symbols for locale fr_LU. + * Date/time formatting symbols for locale fr_NE. */ -goog.i18n.DateTimeSymbols_fr_LU = { +goog.i18n.DateTimeSymbols_fr_NE = { ERAS: ['av. J.-C.', 'ap. J.-C.'], ERANAMES: ['avant Jésus-Christ', 'après Jésus-Christ'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', - 'août', 'septembre', 'octobre', 'novembre', 'décembre'], - STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', - 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], - SHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', - 'août', 'sept.', 'oct.', 'nov.', 'déc.'], - STANDALONESHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', - 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], - WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', - 'samedi'], - STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', - 'vendredi', 'samedi'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + SHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + STANDALONESHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], + STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], SHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], - STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', - 'sam.'], + STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], NARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], QUARTERS: ['1er trimestre', '2e trimestre', '3e trimestre', '4e trimestre'], AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yy'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'à\' {0}', '{1} \'à\' {0}', '{1} \'à\' {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 3 + FIRSTWEEKCUTOFFDAY: 6 }; /** - * Date/time formatting symbols for locale fr_MC. + * Date/time formatting symbols for locale fr_PF. */ -goog.i18n.DateTimeSymbols_fr_MC = { +goog.i18n.DateTimeSymbols_fr_PF = { ERAS: ['av. J.-C.', 'ap. J.-C.'], ERANAMES: ['avant Jésus-Christ', 'après Jésus-Christ'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', - 'août', 'septembre', 'octobre', 'novembre', 'décembre'], - STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', - 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], - SHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', - 'août', 'sept.', 'oct.', 'nov.', 'déc.'], - STANDALONESHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', - 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], - WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', - 'samedi'], - STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', - 'vendredi', 'samedi'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + SHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + STANDALONESHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], + STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], SHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], - STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', - 'sam.'], + STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], NARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], QUARTERS: ['1er trimestre', '2e trimestre', '3e trimestre', '4e trimestre'], AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yy'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'à\' {0}', '{1} \'à\' {0}', '{1} \'à\' {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 3 + FIRSTWEEKCUTOFFDAY: 6 }; /** - * Date/time formatting symbols for locale fr_MF. + * Date/time formatting symbols for locale fr_PM. */ -goog.i18n.DateTimeSymbols_fr_MF = { +goog.i18n.DateTimeSymbols_fr_PM = { ERAS: ['av. J.-C.', 'ap. J.-C.'], ERANAMES: ['avant Jésus-Christ', 'après Jésus-Christ'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', - 'août', 'septembre', 'octobre', 'novembre', 'décembre'], - STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', - 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], - SHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', - 'août', 'sept.', 'oct.', 'nov.', 'déc.'], - STANDALONESHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', - 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], - WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', - 'samedi'], - STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', - 'vendredi', 'samedi'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + SHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + STANDALONESHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], + STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], SHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], - STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', - 'sam.'], + STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], NARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], QUARTERS: ['1er trimestre', '2e trimestre', '3e trimestre', '4e trimestre'], AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yy'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'à\' {0}', '{1} \'à\' {0}', '{1} \'à\' {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -6349,36 +7241,35 @@ goog.i18n.DateTimeSymbols_fr_MF = { /** - * Date/time formatting symbols for locale fr_MG. + * Date/time formatting symbols for locale fr_RE. */ -goog.i18n.DateTimeSymbols_fr_MG = { +goog.i18n.DateTimeSymbols_fr_RE = goog.i18n.DateTimeSymbols_fr; + + +/** + * Date/time formatting symbols for locale fr_RW. + */ +goog.i18n.DateTimeSymbols_fr_RW = { ERAS: ['av. J.-C.', 'ap. J.-C.'], ERANAMES: ['avant Jésus-Christ', 'après Jésus-Christ'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', - 'août', 'septembre', 'octobre', 'novembre', 'décembre'], - STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', - 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], - SHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', - 'août', 'sept.', 'oct.', 'nov.', 'déc.'], - STANDALONESHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', - 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], - WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', - 'samedi'], - STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', - 'vendredi', 'samedi'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + SHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + STANDALONESHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], + STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], SHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], - STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', - 'sam.'], + STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], NARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], QUARTERS: ['1er trimestre', '2e trimestre', '3e trimestre', '4e trimestre'], AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yy'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'à\' {0}', '{1} \'à\' {0}', '{1} \'à\' {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -6386,36 +7277,29 @@ goog.i18n.DateTimeSymbols_fr_MG = { /** - * Date/time formatting symbols for locale fr_ML. + * Date/time formatting symbols for locale fr_SC. */ -goog.i18n.DateTimeSymbols_fr_ML = { +goog.i18n.DateTimeSymbols_fr_SC = { ERAS: ['av. J.-C.', 'ap. J.-C.'], ERANAMES: ['avant Jésus-Christ', 'après Jésus-Christ'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', - 'août', 'septembre', 'octobre', 'novembre', 'décembre'], - STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', - 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], - SHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', - 'août', 'sept.', 'oct.', 'nov.', 'déc.'], - STANDALONESHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', - 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], - WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', - 'samedi'], - STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', - 'vendredi', 'samedi'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + SHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + STANDALONESHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], + STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], SHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], - STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', - 'sam.'], + STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], NARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], QUARTERS: ['1er trimestre', '2e trimestre', '3e trimestre', '4e trimestre'], AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yy'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'à\' {0}', '{1} \'à\' {0}', '{1} \'à\' {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -6423,147 +7307,119 @@ goog.i18n.DateTimeSymbols_fr_ML = { /** - * Date/time formatting symbols for locale fr_MQ. + * Date/time formatting symbols for locale fr_SN. */ -goog.i18n.DateTimeSymbols_fr_MQ = { +goog.i18n.DateTimeSymbols_fr_SN = { ERAS: ['av. J.-C.', 'ap. J.-C.'], ERANAMES: ['avant Jésus-Christ', 'après Jésus-Christ'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', - 'août', 'septembre', 'octobre', 'novembre', 'décembre'], - STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', - 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], - SHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', - 'août', 'sept.', 'oct.', 'nov.', 'déc.'], - STANDALONESHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', - 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], - WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', - 'samedi'], - STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', - 'vendredi', 'samedi'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + SHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + STANDALONESHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], + STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], SHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], - STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', - 'sam.'], + STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], NARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], QUARTERS: ['1er trimestre', '2e trimestre', '3e trimestre', '4e trimestre'], AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yy'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'à\' {0}', '{1} \'à\' {0}', '{1} \'à\' {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 3 + FIRSTWEEKCUTOFFDAY: 6 }; /** - * Date/time formatting symbols for locale fr_NE. + * Date/time formatting symbols for locale fr_SY. */ -goog.i18n.DateTimeSymbols_fr_NE = { +goog.i18n.DateTimeSymbols_fr_SY = { ERAS: ['av. J.-C.', 'ap. J.-C.'], ERANAMES: ['avant Jésus-Christ', 'après Jésus-Christ'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', - 'août', 'septembre', 'octobre', 'novembre', 'décembre'], - STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', - 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], - SHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', - 'août', 'sept.', 'oct.', 'nov.', 'déc.'], - STANDALONESHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', - 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], - WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', - 'samedi'], - STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', - 'vendredi', 'samedi'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + SHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + STANDALONESHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], + STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], SHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], - STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', - 'sam.'], + STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], NARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], QUARTERS: ['1er trimestre', '2e trimestre', '3e trimestre', '4e trimestre'], AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yy'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 6 + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} \'à\' {0}', '{1} \'à\' {0}', '{1} \'à\' {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 5, + WEEKENDRANGE: [4, 5], + FIRSTWEEKCUTOFFDAY: 4 }; /** - * Date/time formatting symbols for locale fr_RE. + * Date/time formatting symbols for locale fr_TD. */ -goog.i18n.DateTimeSymbols_fr_RE = { +goog.i18n.DateTimeSymbols_fr_TD = { ERAS: ['av. J.-C.', 'ap. J.-C.'], ERANAMES: ['avant Jésus-Christ', 'après Jésus-Christ'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', - 'août', 'septembre', 'octobre', 'novembre', 'décembre'], - STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', - 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], - SHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', - 'août', 'sept.', 'oct.', 'nov.', 'déc.'], - STANDALONESHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', - 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], - WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', - 'samedi'], - STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', - 'vendredi', 'samedi'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + SHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + STANDALONESHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], + STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], SHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], - STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', - 'sam.'], + STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], NARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], QUARTERS: ['1er trimestre', '2e trimestre', '3e trimestre', '4e trimestre'], AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yy'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} \'à\' {0}', '{1} \'à\' {0}', '{1} \'à\' {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 3 + FIRSTWEEKCUTOFFDAY: 6 }; /** - * Date/time formatting symbols for locale fr_RW. + * Date/time formatting symbols for locale fr_TG. */ -goog.i18n.DateTimeSymbols_fr_RW = { +goog.i18n.DateTimeSymbols_fr_TG = { ERAS: ['av. J.-C.', 'ap. J.-C.'], ERANAMES: ['avant Jésus-Christ', 'après Jésus-Christ'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', - 'août', 'septembre', 'octobre', 'novembre', 'décembre'], - STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', - 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], - SHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', - 'août', 'sept.', 'oct.', 'nov.', 'déc.'], - STANDALONESHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', - 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], - WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', - 'samedi'], - STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', - 'vendredi', 'samedi'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + SHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + STANDALONESHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], + STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], SHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], - STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', - 'sam.'], + STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], NARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], QUARTERS: ['1er trimestre', '2e trimestre', '3e trimestre', '4e trimestre'], AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yy'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'à\' {0}', '{1} \'à\' {0}', '{1} \'à\' {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -6571,73 +7427,59 @@ goog.i18n.DateTimeSymbols_fr_RW = { /** - * Date/time formatting symbols for locale fr_SN. + * Date/time formatting symbols for locale fr_TN. */ -goog.i18n.DateTimeSymbols_fr_SN = { +goog.i18n.DateTimeSymbols_fr_TN = { ERAS: ['av. J.-C.', 'ap. J.-C.'], ERANAMES: ['avant Jésus-Christ', 'après Jésus-Christ'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', - 'août', 'septembre', 'octobre', 'novembre', 'décembre'], - STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', - 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], - SHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', - 'août', 'sept.', 'oct.', 'nov.', 'déc.'], - STANDALONESHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', - 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], - WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', - 'samedi'], - STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', - 'vendredi', 'samedi'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + SHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + STANDALONESHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], + STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], SHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], - STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', - 'sam.'], + STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], NARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], QUARTERS: ['1er trimestre', '2e trimestre', '3e trimestre', '4e trimestre'], AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yy'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 6 + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} \'à\' {0}', '{1} \'à\' {0}', '{1} \'à\' {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 6, + WEEKENDRANGE: [4, 5], + FIRSTWEEKCUTOFFDAY: 5 }; /** - * Date/time formatting symbols for locale fr_TD. + * Date/time formatting symbols for locale fr_VU. */ -goog.i18n.DateTimeSymbols_fr_TD = { +goog.i18n.DateTimeSymbols_fr_VU = { ERAS: ['av. J.-C.', 'ap. J.-C.'], ERANAMES: ['avant Jésus-Christ', 'après Jésus-Christ'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', - 'août', 'septembre', 'octobre', 'novembre', 'décembre'], - STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', - 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], - SHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', - 'août', 'sept.', 'oct.', 'nov.', 'déc.'], - STANDALONESHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', - 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], - WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', - 'samedi'], - STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', - 'vendredi', 'samedi'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + SHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + STANDALONESHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], + STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], SHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], - STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', - 'sam.'], + STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], NARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], QUARTERS: ['1er trimestre', '2e trimestre', '3e trimestre', '4e trimestre'], AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yy'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} \'à\' {0}', '{1} \'à\' {0}', '{1} \'à\' {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -6645,36 +7487,29 @@ goog.i18n.DateTimeSymbols_fr_TD = { /** - * Date/time formatting symbols for locale fr_TG. + * Date/time formatting symbols for locale fr_WF. */ -goog.i18n.DateTimeSymbols_fr_TG = { +goog.i18n.DateTimeSymbols_fr_WF = { ERAS: ['av. J.-C.', 'ap. J.-C.'], ERANAMES: ['avant Jésus-Christ', 'après Jésus-Christ'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', - 'août', 'septembre', 'octobre', 'novembre', 'décembre'], - STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', - 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], - SHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', - 'août', 'sept.', 'oct.', 'nov.', 'déc.'], - STANDALONESHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', - 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], - WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', - 'samedi'], - STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', - 'vendredi', 'samedi'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + SHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + STANDALONESHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], + STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], SHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], - STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', - 'sam.'], + STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], NARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], QUARTERS: ['1er trimestre', '2e trimestre', '3e trimestre', '4e trimestre'], AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yy'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'à\' {0}', '{1} \'à\' {0}', '{1} \'à\' {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -6688,30 +7523,23 @@ goog.i18n.DateTimeSymbols_fr_YT = { ERAS: ['av. J.-C.', 'ap. J.-C.'], ERANAMES: ['avant Jésus-Christ', 'après Jésus-Christ'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', - 'août', 'septembre', 'octobre', 'novembre', 'décembre'], - STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', - 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], - SHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', - 'août', 'sept.', 'oct.', 'nov.', 'déc.'], - STANDALONESHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', - 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], - WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', - 'samedi'], - STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', - 'vendredi', 'samedi'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + SHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + STANDALONESHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], + WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], + STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], SHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], - STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', - 'sam.'], + STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], NARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], QUARTERS: ['1er trimestre', '2e trimestre', '3e trimestre', '4e trimestre'], AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yy'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'à\' {0}', '{1} \'à\' {0}', '{1} \'à\' {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -6725,34 +7553,26 @@ goog.i18n.DateTimeSymbols_fur = { ERAS: ['pdC', 'ddC'], ERANAMES: ['pdC', 'ddC'], NARROWMONTHS: ['Z', 'F', 'M', 'A', 'M', 'J', 'L', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['Z', 'F', 'M', 'A', 'M', 'J', 'L', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['Zenâr', 'Fevrâr', 'Març', 'Avrîl', 'Mai', 'Jugn', 'Lui', - 'Avost', 'Setembar', 'Otubar', 'Novembar', 'Dicembar'], - STANDALONEMONTHS: ['Zenâr', 'Fevrâr', 'Març', 'Avrîl', 'Mai', 'Jugn', - 'Lui', 'Avost', 'Setembar', 'Otubar', 'Novembar', 'Dicembar'], - SHORTMONTHS: ['Zen', 'Fev', 'Mar', 'Avr', 'Mai', 'Jug', 'Lui', 'Avo', 'Set', - 'Otu', 'Nov', 'Dic'], - STANDALONESHORTMONTHS: ['Zen', 'Fev', 'Mar', 'Avr', 'Mai', 'Jug', 'Lui', - 'Avo', 'Set', 'Otu', 'Nov', 'Dic'], - WEEKDAYS: ['domenie', 'lunis', 'martars', 'miercus', 'joibe', 'vinars', - 'sabide'], - STANDALONEWEEKDAYS: ['domenie', 'lunis', 'martars', 'miercus', 'joibe', - 'vinars', 'sabide'], + STANDALONENARROWMONTHS: ['Z', 'F', 'M', 'A', 'M', 'J', 'L', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['Zenâr', 'Fevrâr', 'Març', 'Avrîl', 'Mai', 'Jugn', 'Lui', 'Avost', 'Setembar', 'Otubar', 'Novembar', 'Dicembar'], + STANDALONEMONTHS: ['Zenâr', 'Fevrâr', 'Març', 'Avrîl', 'Mai', 'Jugn', 'Lui', 'Avost', 'Setembar', 'Otubar', 'Novembar', 'Dicembar'], + SHORTMONTHS: ['Zen', 'Fev', 'Mar', 'Avr', 'Mai', 'Jug', 'Lui', 'Avo', 'Set', 'Otu', 'Nov', 'Dic'], + STANDALONESHORTMONTHS: ['Zen', 'Fev', 'Mar', 'Avr', 'Mai', 'Jug', 'Lui', 'Avo', 'Set', 'Otu', 'Nov', 'Dic'], + WEEKDAYS: ['domenie', 'lunis', 'martars', 'miercus', 'joibe', 'vinars', 'sabide'], + STANDALONEWEEKDAYS: ['domenie', 'lunis', 'martars', 'miercus', 'joibe', 'vinars', 'sabide'], SHORTWEEKDAYS: ['dom', 'lun', 'mar', 'mie', 'joi', 'vin', 'sab'], STANDALONESHORTWEEKDAYS: ['dom', 'lun', 'mar', 'mie', 'joi', 'vin', 'sab'], NARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], - QUARTERS: ['Prin trimestri', 'Secont trimestri', 'Tierç trimestri', - 'Cuart trimestri'], + QUARTERS: ['Prin trimestri', 'Secont trimestri', 'Tierç trimestri', 'Cuart trimestri'], AMPMS: ['a.', 'p.'], - DATEFORMATS: ['EEEE d \'di\' MMMM \'dal\' y', 'd \'di\' MMMM \'dal\' y', - 'dd/MM/yyyy', 'dd/MM/yy'], + DATEFORMATS: ['EEEE d \'di\' MMMM \'dal\' y', 'd \'di\' MMMM \'dal\' y', 'dd/MM/y', 'dd/MM/yy'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 6 + FIRSTWEEKCUTOFFDAY: 3 }; @@ -6763,44 +7583,41 @@ goog.i18n.DateTimeSymbols_fur_IT = goog.i18n.DateTimeSymbols_fur; /** - * Date/time formatting symbols for locale ga. + * Date/time formatting symbols for locale fy. */ -goog.i18n.DateTimeSymbols_ga = { - ERAS: ['RC', 'AD'], - ERANAMES: ['Roimh Chríost', 'Anno Domini'], - NARROWMONTHS: ['E', 'F', 'M', 'A', 'B', 'M', 'I', 'L', 'M', 'D', 'S', 'N'], - STANDALONENARROWMONTHS: ['E', 'F', 'M', 'A', 'B', 'M', 'I', 'L', 'M', 'D', - 'S', 'N'], - MONTHS: ['Eanáir', 'Feabhra', 'Márta', 'Aibreán', 'Bealtaine', 'Meitheamh', - 'Iúil', 'Lúnasa', 'Meán Fómhair', 'Deireadh Fómhair', 'Samhain', - 'Nollaig'], - STANDALONEMONTHS: ['Eanáir', 'Feabhra', 'Márta', 'Aibreán', 'Bealtaine', - 'Meitheamh', 'Iúil', 'Lúnasa', 'Meán Fómhair', 'Deireadh Fómhair', - 'Samhain', 'Nollaig'], - SHORTMONTHS: ['Ean', 'Feabh', 'Márta', 'Aib', 'Beal', 'Meith', 'Iúil', - 'Lún', 'MFómh', 'DFómh', 'Samh', 'Noll'], - STANDALONESHORTMONTHS: ['Ean', 'Feabh', 'Márta', 'Aib', 'Beal', 'Meith', - 'Iúil', 'Lún', 'MFómh', 'DFómh', 'Samh', 'Noll'], - WEEKDAYS: ['Dé Domhnaigh', 'Dé Luain', 'Dé Máirt', 'Dé Céadaoin', - 'Déardaoin', 'Dé hAoine', 'Dé Sathairn'], - STANDALONEWEEKDAYS: ['Dé Domhnaigh', 'Dé Luain', 'Dé Máirt', - 'Dé Céadaoin', 'Déardaoin', 'Dé hAoine', 'Dé Sathairn'], - SHORTWEEKDAYS: ['Domh', 'Luan', 'Máirt', 'Céad', 'Déar', 'Aoine', 'Sath'], - STANDALONESHORTWEEKDAYS: ['Domh', 'Luan', 'Máirt', 'Céad', 'Déar', 'Aoine', - 'Sath'], - NARROWWEEKDAYS: ['D', 'L', 'M', 'C', 'D', 'A', 'S'], - STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'C', 'D', 'A', 'S'], - SHORTQUARTERS: ['R1', 'R2', 'R3', 'R4'], - QUARTERS: ['1ú ráithe', '2ú ráithe', '3ú ráithe', '4ú ráithe'], - AMPMS: ['a.m.', 'p.m.'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yyyy'], +goog.i18n.DateTimeSymbols_fy = { + ERAS: ['f.Kr.', 'n.Kr.'], + ERANAMES: ['Foar Kristus', 'nei Kristus'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['Jannewaris', 'Febrewaris', 'Maart', 'April', 'Maaie', 'Juny', 'July', 'Augustus', 'Septimber', 'Oktober', 'Novimber', 'Desimber'], + STANDALONEMONTHS: ['Jannewaris', 'Febrewaris', 'Maart', 'April', 'Maaie', 'Juny', 'July', 'Augustus', 'Septimber', 'Oktober', 'Novimber', 'Desimber'], + SHORTMONTHS: ['Jan', 'Feb', 'Mrt', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Des'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mrt', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Des'], + WEEKDAYS: ['snein', 'moandei', 'tiisdei', 'woansdei', 'tongersdei', 'freed', 'sneon'], + STANDALONEWEEKDAYS: ['snein', 'moandei', 'tiisdei', 'woansdei', 'tongersdei', 'freed', 'sneon'], + SHORTWEEKDAYS: ['si', 'mo', 'ti', 'wo', 'to', 'fr', 'so'], + STANDALONESHORTWEEKDAYS: ['si', 'mo', 'ti', 'wo', 'to', 'fr', 'so'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['K1', 'K2', 'K3', 'K4'], + QUARTERS: ['1e fearnsjier', '2e fearnsjier', '3e fearnsjier', '4e fearnsjier'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd-MM-yy'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'om\' {0}', '{1} \'om\' {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 3 }; +/** + * Date/time formatting symbols for locale fy_NL. + */ +goog.i18n.DateTimeSymbols_fy_NL = goog.i18n.DateTimeSymbols_fy; + + /** * Date/time formatting symbols for locale ga_IE. */ @@ -6808,131 +7625,69 @@ goog.i18n.DateTimeSymbols_ga_IE = goog.i18n.DateTimeSymbols_ga; /** - * Date/time formatting symbols for locale gl_ES. + * Date/time formatting symbols for locale gd. */ -goog.i18n.DateTimeSymbols_gl_ES = { - ERAS: ['a.C.', 'd.C.'], - ERANAMES: ['antes de Cristo', 'despois de Cristo'], - NARROWMONTHS: ['X', 'F', 'M', 'A', 'M', 'X', 'X', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['X', 'F', 'M', 'A', 'M', 'X', 'X', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['Xaneiro', 'Febreiro', 'Marzo', 'Abril', 'Maio', 'Xuño', 'Xullo', - 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Decembro'], - STANDALONEMONTHS: ['Xaneiro', 'Febreiro', 'Marzo', 'Abril', 'Maio', 'Xuño', - 'Xullo', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Decembro'], - SHORTMONTHS: ['Xan', 'Feb', 'Mar', 'Abr', 'Mai', 'Xuñ', 'Xul', 'Ago', 'Set', - 'Out', 'Nov', 'Dec'], - STANDALONESHORTMONTHS: ['Xan', 'Feb', 'Mar', 'Abr', 'Mai', 'Xuñ', 'Xul', - 'Ago', 'Set', 'Out', 'Nov', 'Dec'], - WEEKDAYS: ['Domingo', 'Luns', 'Martes', 'Mércores', 'Xoves', 'Venres', - 'Sábado'], - STANDALONEWEEKDAYS: ['Domingo', 'Luns', 'Martes', 'Mércores', 'Xoves', - 'Venres', 'Sábado'], - SHORTWEEKDAYS: ['Dom', 'Lun', 'Mar', 'Mér', 'Xov', 'Ven', 'Sáb'], - STANDALONESHORTWEEKDAYS: ['Dom', 'Lun', 'Mar', 'Mér', 'Xov', 'Ven', 'Sáb'], - NARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'X', 'V', 'S'], - STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'X', 'V', 'S'], - SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], - QUARTERS: ['1o trimestre', '2o trimestre', '3o trimestre', '4o trimestre'], - AMPMS: ['a.m.', 'p.m.'], - DATEFORMATS: ['EEEE dd MMMM y', 'dd MMMM y', 'd MMM, y', 'dd/MM/yy'], +goog.i18n.DateTimeSymbols_gd = { + ERAS: ['RC', 'AD'], + ERANAMES: ['Ro Chrìosta', 'An dèidh Chrìosta'], + NARROWMONTHS: ['F', 'G', 'M', 'G', 'C', 'Ò', 'I', 'L', 'S', 'D', 'S', 'D'], + STANDALONENARROWMONTHS: ['F', 'G', 'M', 'G', 'C', 'Ò', 'I', 'L', 'S', 'D', 'S', 'D'], + MONTHS: ['dhen Fhaoilleach', 'dhen Ghearran', 'dhen Mhàrt', 'dhen Ghiblean', 'dhen Chèitean', 'dhen Ògmhios', 'dhen Iuchar', 'dhen Lùnastal', 'dhen t-Sultain', 'dhen Dàmhair', 'dhen t-Samhain', 'dhen Dùbhlachd'], + STANDALONEMONTHS: ['Am Faoilleach', 'An Gearran', 'Am Màrt', 'An Giblean', 'An Cèitean', 'An t-Ògmhios', 'An t-Iuchar', 'An Lùnastal', 'An t-Sultain', 'An Dàmhair', 'An t-Samhain', 'An Dùbhlachd'], + SHORTMONTHS: ['Faoi', 'Gearr', 'Màrt', 'Gibl', 'Cèit', 'Ògmh', 'Iuch', 'Lùna', 'Sult', 'Dàmh', 'Samh', 'Dùbh'], + STANDALONESHORTMONTHS: ['Faoi', 'Gearr', 'Màrt', 'Gibl', 'Cèit', 'Ògmh', 'Iuch', 'Lùna', 'Sult', 'Dàmh', 'Samh', 'Dùbh'], + WEEKDAYS: ['DiDòmhnaich', 'DiLuain', 'DiMàirt', 'DiCiadain', 'DiarDaoin', 'DihAoine', 'DiSathairne'], + STANDALONEWEEKDAYS: ['DiDòmhnaich', 'DiLuain', 'DiMàirt', 'DiCiadain', 'DiarDaoin', 'DihAoine', 'DiSathairne'], + SHORTWEEKDAYS: ['DiD', 'DiL', 'DiM', 'DiC', 'Dia', 'Dih', 'DiS'], + STANDALONESHORTWEEKDAYS: ['DiD', 'DiL', 'DiM', 'DiC', 'Dia', 'Dih', 'DiS'], + NARROWWEEKDAYS: ['D', 'L', 'M', 'C', 'A', 'H', 'S'], + STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'C', 'A', 'H', 'S'], + SHORTQUARTERS: ['C1', 'C2', 'C3', 'C4'], + QUARTERS: ['1d chairteal', '2na cairteal', '3s cairteal', '4mh cairteal'], + AMPMS: ['m', 'f'], + DATEFORMATS: ['EEEE, d\'mh\' MMMM y', 'd\'mh\' MMMM y', 'd MMM y', 'dd/MM/y'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 3 }; +/** + * Date/time formatting symbols for locale gd_GB. + */ +goog.i18n.DateTimeSymbols_gd_GB = goog.i18n.DateTimeSymbols_gd; + + +/** + * Date/time formatting symbols for locale gl_ES. + */ +goog.i18n.DateTimeSymbols_gl_ES = goog.i18n.DateTimeSymbols_gl; + + /** * Date/time formatting symbols for locale gsw_CH. */ -goog.i18n.DateTimeSymbols_gsw_CH = { - ERAS: ['v. Chr.', 'n. Chr.'], - ERANAMES: ['v. Chr.', 'n. Chr.'], - NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', - 'Auguscht', 'Septämber', 'Oktoober', 'Novämber', 'Dezämber'], - STANDALONEMONTHS: ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', - 'Juli', 'Auguscht', 'Septämber', 'Oktoober', 'Novämber', 'Dezämber'], - SHORTMONTHS: ['Jan', 'Feb', 'Mär', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', - 'Okt', 'Nov', 'Dez'], - STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mär', 'Apr', 'Mai', 'Jun', 'Jul', - 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'], - WEEKDAYS: ['Sunntig', 'Määntig', 'Ziischtig', 'Mittwuch', 'Dunschtig', - 'Friitig', 'Samschtig'], - STANDALONEWEEKDAYS: ['Sunntig', 'Määntig', 'Ziischtig', 'Mittwuch', - 'Dunschtig', 'Friitig', 'Samschtig'], - SHORTWEEKDAYS: ['Su.', 'Mä.', 'Zi.', 'Mi.', 'Du.', 'Fr.', 'Sa.'], - STANDALONESHORTWEEKDAYS: ['Su.', 'Mä.', 'Zi.', 'Mi.', 'Du.', 'Fr.', 'Sa.'], - NARROWWEEKDAYS: ['S', 'M', 'D', 'M', 'D', 'F', 'S'], - STANDALONENARROWWEEKDAYS: ['S', 'M', 'D', 'M', 'D', 'F', 'S'], - SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - QUARTERS: ['1. Quartal', '2. Quartal', '3. Quartal', '4. Quartal'], - AMPMS: ['vorm.', 'nam.'], - DATEFORMATS: ['EEEE, d. MMMM y', 'd. MMMM y', 'dd.MM.yyyy', 'dd.MM.yy'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 3 -}; +goog.i18n.DateTimeSymbols_gsw_CH = goog.i18n.DateTimeSymbols_gsw; + + +/** + * Date/time formatting symbols for locale gsw_FR. + */ +goog.i18n.DateTimeSymbols_gsw_FR = goog.i18n.DateTimeSymbols_gsw; + + +/** + * Date/time formatting symbols for locale gsw_LI. + */ +goog.i18n.DateTimeSymbols_gsw_LI = goog.i18n.DateTimeSymbols_gsw; /** * Date/time formatting symbols for locale gu_IN. */ -goog.i18n.DateTimeSymbols_gu_IN = { - ERAS: ['ઈલુના જન્મ પહેસાં', - 'ઇસવીસન'], - ERANAMES: ['ઈસવીસન પૂર્વે', 'ઇસવીસન'], - NARROWMONTHS: ['જા', 'ફે', 'મા', 'એ', 'મે', 'જૂ', - 'જુ', 'ઑ', 'સ', 'ઑ', 'ન', 'ડિ'], - STANDALONENARROWMONTHS: ['જા', 'ફે', 'મા', 'એ', 'મે', - 'જૂ', 'જુ', 'ઑ', 'સ', 'ઑ', 'ન', 'ડિ'], - MONTHS: ['જાન્યુઆરી', 'ફેબ્રુઆરી', - 'માર્ચ', 'એપ્રિલ', 'મે', 'જૂન', - 'જુલાઈ', 'ઑગસ્ટ', 'સપ્ટેમ્બર', - 'ઑક્ટોબર', 'નવેમ્બર', - 'ડિસેમ્બર'], - STANDALONEMONTHS: ['જાન્યુઆરી', - 'ફેબ્રુઆરી', 'માર્ચ', 'એપ્રિલ', - 'મે', 'જૂન', 'જુલાઈ', 'ઑગસ્ટ', - 'સપ્ટેમ્બર', 'ઑક્ટોબર', - 'નવેમ્બર', 'ડિસેમ્બર'], - SHORTMONTHS: ['જાન્યુ', 'ફેબ્રુ', 'માર્ચ', - 'એપ્રિલ', 'મે', 'જૂન', 'જુલાઈ', - 'ઑગસ્ટ', 'સપ્ટે', 'ઑક્ટો', 'નવે', - 'ડિસે'], - STANDALONESHORTMONTHS: ['જાન્યુ', 'ફેબ્રુ', - 'માર્ચ', 'એપ્રિલ', 'મે', 'જૂન', - 'જુલાઈ', 'ઑગસ્ટ', 'સપ્ટે', - 'ઑક્ટો', 'નવે', 'ડિસે'], - WEEKDAYS: ['રવિવાર', 'સોમવાર', - 'મંગળવાર', 'બુધવાર', 'ગુરુવાર', - 'શુક્રવાર', 'શનિવાર'], - STANDALONEWEEKDAYS: ['રવિવાર', 'સોમવાર', - 'મંગળવાર', 'બુધવાર', 'ગુરુવાર', - 'શુક્રવાર', 'શનિવાર'], - SHORTWEEKDAYS: ['રવિ', 'સોમ', 'મંગળ', 'બુધ', - 'ગુરુ', 'શુક્ર', 'શનિ'], - STANDALONESHORTWEEKDAYS: ['રવિ', 'સોમ', 'મંગળ', - 'બુધ', 'ગુરુ', 'શુક્ર', 'શનિ'], - NARROWWEEKDAYS: ['ર', 'સો', 'મં', 'બુ', 'ગુ', 'શુ', - 'શ'], - STANDALONENARROWWEEKDAYS: ['ર', 'સો', 'મં', 'બુ', 'ગુ', - 'શુ', 'શ'], - SHORTQUARTERS: ['પેહલા હંત 1', 'Q2', 'Q3', - 'ચૌતા હંત 4'], - QUARTERS: ['પેહલા હંત 1', 'ડૂસઋા હંત 2', - 'તીસઋા હંત 3', 'ચૌતા હંત 4'], - AMPMS: ['am', 'pm'], - DATEFORMATS: ['EEEE, d MMMM, y', 'd MMMM, y', 'd MMM, y', 'd-MM-yy'], - TIMEFORMATS: ['hh:mm:ss a zzzz', 'hh:mm:ss a z', 'hh:mm:ss a', 'hh:mm a'], - FIRSTDAYOFWEEK: 6, - WEEKENDRANGE: [6, 6], - FIRSTWEEKCUTOFFDAY: 5 -}; +goog.i18n.DateTimeSymbols_gu_IN = goog.i18n.DateTimeSymbols_gu; /** @@ -6942,33 +7697,26 @@ goog.i18n.DateTimeSymbols_guz = { ERAS: ['YA', 'YK'], ERANAMES: ['Yeso ataiborwa', 'Yeso kaiboirwe'], NARROWMONTHS: ['C', 'F', 'M', 'A', 'M', 'J', 'C', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['C', 'F', 'M', 'A', 'M', 'J', 'C', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['Chanuari', 'Feburari', 'Machi', 'Apiriri', 'Mei', 'Juni', 'Chulai', - 'Agosti', 'Septemba', 'Okitoba', 'Nobemba', 'Disemba'], - STANDALONEMONTHS: ['Chanuari', 'Feburari', 'Machi', 'Apiriri', 'Mei', 'Juni', - 'Chulai', 'Agosti', 'Septemba', 'Okitoba', 'Nobemba', 'Disemba'], - SHORTMONTHS: ['Can', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Cul', 'Agt', 'Sep', - 'Okt', 'Nob', 'Dis'], - STANDALONESHORTMONTHS: ['Can', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Cul', - 'Agt', 'Sep', 'Okt', 'Nob', 'Dis'], - WEEKDAYS: ['Chumapiri', 'Chumatato', 'Chumaine', 'Chumatano', 'Aramisi', - 'Ichuma', 'Esabato'], - STANDALONEWEEKDAYS: ['Chumapiri', 'Chumatato', 'Chumaine', 'Chumatano', - 'Aramisi', 'Ichuma', 'Esabato'], + STANDALONENARROWMONTHS: ['C', 'F', 'M', 'A', 'M', 'J', 'C', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['Chanuari', 'Feburari', 'Machi', 'Apiriri', 'Mei', 'Juni', 'Chulai', 'Agosti', 'Septemba', 'Okitoba', 'Nobemba', 'Disemba'], + STANDALONEMONTHS: ['Chanuari', 'Feburari', 'Machi', 'Apiriri', 'Mei', 'Juni', 'Chulai', 'Agosti', 'Septemba', 'Okitoba', 'Nobemba', 'Disemba'], + SHORTMONTHS: ['Can', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Cul', 'Agt', 'Sep', 'Okt', 'Nob', 'Dis'], + STANDALONESHORTMONTHS: ['Can', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Cul', 'Agt', 'Sep', 'Okt', 'Nob', 'Dis'], + WEEKDAYS: ['Chumapiri', 'Chumatato', 'Chumaine', 'Chumatano', 'Aramisi', 'Ichuma', 'Esabato'], + STANDALONEWEEKDAYS: ['Chumapiri', 'Chumatato', 'Chumaine', 'Chumatano', 'Aramisi', 'Ichuma', 'Esabato'], SHORTWEEKDAYS: ['Cpr', 'Ctt', 'Cmn', 'Cmt', 'Ars', 'Icm', 'Est'], STANDALONESHORTWEEKDAYS: ['Cpr', 'Ctt', 'Cmn', 'Cmt', 'Ars', 'Icm', 'Est'], NARROWWEEKDAYS: ['C', 'C', 'C', 'C', 'A', 'I', 'E'], STANDALONENARROWWEEKDAYS: ['C', 'C', 'C', 'C', 'A', 'I', 'E'], SHORTQUARTERS: ['E1', 'E2', 'E3', 'E4'], - QUARTERS: ['Erobo entang\'ani', 'Erobo yakabere', 'Erobo yagatato', - 'Erobo yakane'], - AMPMS: ['Ma/Mo', 'Mambia/Mog'], - DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yyyy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], - FIRSTDAYOFWEEK: 0, + QUARTERS: ['Erobo entang’ani', 'Erobo yakabere', 'Erobo yagatato', 'Erobo yakane'], + AMPMS: ['Mambia', 'Mog'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 6, WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 6 + FIRSTWEEKCUTOFFDAY: 5 }; @@ -6985,42 +7733,33 @@ goog.i18n.DateTimeSymbols_gv = { ERAS: ['RC', 'AD'], ERANAMES: ['RC', 'AD'], NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], - STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', - '11', '12'], - MONTHS: ['Jerrey-geuree', 'Toshiaght-arree', 'Mayrnt', 'Averil', 'Boaldyn', - 'Mean-souree', 'Jerrey-souree', 'Luanistyn', 'Mean-fouyir', - 'Jerrey-fouyir', 'Mee Houney', 'Mee ny Nollick'], - STANDALONEMONTHS: ['Jerrey-geuree', 'Toshiaght-arree', 'Mayrnt', 'Averil', - 'Boaldyn', 'Mean-souree', 'Jerrey-souree', 'Luanistyn', 'Mean-fouyir', - 'Jerrey-fouyir', 'Mee Houney', 'Mee ny Nollick'], - SHORTMONTHS: ['J-guer', 'T-arree', 'Mayrnt', 'Avrril', 'Boaldyn', 'M-souree', - 'J-souree', 'Luanistyn', 'M-fouyir', 'J-fouyir', 'M.Houney', 'M.Nollick'], - STANDALONESHORTMONTHS: ['J-guer', 'T-arree', 'Mayrnt', 'Avrril', 'Boaldyn', - 'M-souree', 'J-souree', 'Luanistyn', 'M-fouyir', 'J-fouyir', 'M.Houney', - 'M.Nollick'], - WEEKDAYS: ['Jedoonee', 'Jelhein', 'Jemayrt', 'Jercean', 'Jerdein', 'Jeheiney', - 'Jesarn'], - STANDALONEWEEKDAYS: ['Jedoonee', 'Jelhein', 'Jemayrt', 'Jercean', 'Jerdein', - 'Jeheiney', 'Jesarn'], + STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + MONTHS: ['Jerrey-geuree', 'Toshiaght-arree', 'Mayrnt', 'Averil', 'Boaldyn', 'Mean-souree', 'Jerrey-souree', 'Luanistyn', 'Mean-fouyir', 'Jerrey-fouyir', 'Mee Houney', 'Mee ny Nollick'], + STANDALONEMONTHS: ['Jerrey-geuree', 'Toshiaght-arree', 'Mayrnt', 'Averil', 'Boaldyn', 'Mean-souree', 'Jerrey-souree', 'Luanistyn', 'Mean-fouyir', 'Jerrey-fouyir', 'Mee Houney', 'Mee ny Nollick'], + SHORTMONTHS: ['J-guer', 'T-arree', 'Mayrnt', 'Avrril', 'Boaldyn', 'M-souree', 'J-souree', 'Luanistyn', 'M-fouyir', 'J-fouyir', 'M-Houney', 'M-Nollick'], + STANDALONESHORTMONTHS: ['J-guer', 'T-arree', 'Mayrnt', 'Avrril', 'Boaldyn', 'M-souree', 'J-souree', 'Luanistyn', 'M-fouyir', 'J-fouyir', 'M-Houney', 'M-Nollick'], + WEEKDAYS: ['Jedoonee', 'Jelhein', 'Jemayrt', 'Jercean', 'Jerdein', 'Jeheiney', 'Jesarn'], + STANDALONEWEEKDAYS: ['Jedoonee', 'Jelhein', 'Jemayrt', 'Jercean', 'Jerdein', 'Jeheiney', 'Jesarn'], SHORTWEEKDAYS: ['Jed', 'Jel', 'Jem', 'Jerc', 'Jerd', 'Jeh', 'Jes'], STANDALONESHORTWEEKDAYS: ['Jed', 'Jel', 'Jem', 'Jerc', 'Jerd', 'Jeh', 'Jes'], - NARROWWEEKDAYS: ['1', '2', '3', '4', '5', '6', '7'], - STANDALONENARROWWEEKDAYS: ['1', '2', '3', '4', '5', '6', '7'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], QUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], AMPMS: ['a.m.', 'p.m.'], - DATEFORMATS: ['EEEE dd MMMM y', 'dd MMMM y', 'MMM dd, y', 'dd/MM/yy'], + DATEFORMATS: ['y MMMM d, EEEE', 'y MMMM d', 'y MMM d', 'y-MM-dd'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 6 + FIRSTWEEKCUTOFFDAY: 3 }; /** - * Date/time formatting symbols for locale gv_GB. + * Date/time formatting symbols for locale gv_IM. */ -goog.i18n.DateTimeSymbols_gv_GB = goog.i18n.DateTimeSymbols_gv; +goog.i18n.DateTimeSymbols_gv_IM = goog.i18n.DateTimeSymbols_gv; /** @@ -7030,228 +7769,89 @@ goog.i18n.DateTimeSymbols_ha = { ERAS: ['KHAI', 'BHAI'], ERANAMES: ['Kafin haihuwar annab', 'Bayan haihuwar annab'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'Y', 'Y', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'Y', 'Y', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['Janairu', 'Faburairu', 'Maris', 'Afirilu', 'Mayu', 'Yuni', 'Yuli', - 'Agusta', 'Satumba', 'Oktoba', 'Nuwamba', 'Disamba'], - STANDALONEMONTHS: ['Janairu', 'Faburairu', 'Maris', 'Afirilu', 'Mayu', 'Yuni', - 'Yuli', 'Agusta', 'Satumba', 'Oktoba', 'Nuwamba', 'Disamba'], - SHORTMONTHS: ['Jan', 'Fab', 'Mar', 'Afi', 'May', 'Yun', 'Yul', 'Agu', 'Sat', - 'Okt', 'Nuw', 'Dis'], - STANDALONESHORTMONTHS: ['Jan', 'Fab', 'Mar', 'Afi', 'May', 'Yun', 'Yul', - 'Agu', 'Sat', 'Okt', 'Nuw', 'Dis'], - WEEKDAYS: ['Lahadi', 'Litinin', 'Talata', 'Laraba', 'Alhamis', 'Jumma\'a', - 'Asabar'], - STANDALONEWEEKDAYS: ['Lahadi', 'Litinin', 'Talata', 'Laraba', 'Alhamis', - 'Jumma\'a', 'Asabar'], - SHORTWEEKDAYS: ['Lh', 'Li', 'Ta', 'Lr', 'Al', 'Ju', 'As'], - STANDALONESHORTWEEKDAYS: ['Lh', 'Li', 'Ta', 'Lr', 'Al', 'Ju', 'As'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'Y', 'Y', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['Janairu', 'Faburairu', 'Maris', 'Afirilu', 'Mayu', 'Yuni', 'Yuli', 'Agusta', 'Satumba', 'Oktoba', 'Nuwamba', 'Disamba'], + STANDALONEMONTHS: ['Janairu', 'Faburairu', 'Maris', 'Afirilu', 'Mayu', 'Yuni', 'Yuli', 'Agusta', 'Satumba', 'Oktoba', 'Nuwamba', 'Disamba'], + SHORTMONTHS: ['Jan', 'Fab', 'Mar', 'Afi', 'May', 'Yun', 'Yul', 'Agu', 'Sat', 'Okt', 'Nuw', 'Dis'], + STANDALONESHORTMONTHS: ['Jan', 'Fab', 'Mar', 'Afi', 'May', 'Yun', 'Yul', 'Agu', 'Sat', 'Okt', 'Nuw', 'Dis'], + WEEKDAYS: ['Lahadi', 'Litinin', 'Talata', 'Laraba', 'Alhamis', 'Jummaʼa', 'Asabar'], + STANDALONEWEEKDAYS: ['Lahadi', 'Litinin', 'Talata', 'Laraba', 'Alhamis', 'Jummaʼa', 'Asabar'], + SHORTWEEKDAYS: ['Lah', 'Lit', 'Tal', 'Lar', 'Alh', 'Jum', 'Asa'], + STANDALONESHORTWEEKDAYS: ['Lah', 'Lit', 'Tal', 'Lar', 'Alh', 'Jum', 'Asa'], NARROWWEEKDAYS: ['L', 'L', 'T', 'L', 'A', 'J', 'A'], STANDALONENARROWWEEKDAYS: ['L', 'L', 'T', 'L', 'A', 'J', 'A'], SHORTQUARTERS: ['K1', 'K2', 'K3', 'K4'], - QUARTERS: ['Kwata na ɗaya', 'Kwata na biyu', 'Kwata na uku', - 'Kwata na huɗu'], + QUARTERS: ['Kwata na ɗaya', 'Kwata na biyu', 'Kwata na uku', 'Kwata na huɗu'], AMPMS: ['AM', 'PM'], DATEFORMATS: ['EEEE, d MMMM, y', 'd MMMM, y', 'd MMM, y', 'd/M/yy'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 -}; - - -/** - * Date/time formatting symbols for locale ha_Latn. - */ -goog.i18n.DateTimeSymbols_ha_Latn = goog.i18n.DateTimeSymbols_ha; +}; /** - * Date/time formatting symbols for locale ha_Latn_GH. + * Date/time formatting symbols for locale ha_GH. */ -goog.i18n.DateTimeSymbols_ha_Latn_GH = goog.i18n.DateTimeSymbols_ha; +goog.i18n.DateTimeSymbols_ha_GH = goog.i18n.DateTimeSymbols_ha; /** - * Date/time formatting symbols for locale ha_Latn_NE. + * Date/time formatting symbols for locale ha_NE. */ -goog.i18n.DateTimeSymbols_ha_Latn_NE = goog.i18n.DateTimeSymbols_ha; +goog.i18n.DateTimeSymbols_ha_NE = goog.i18n.DateTimeSymbols_ha; /** - * Date/time formatting symbols for locale ha_Latn_NG. + * Date/time formatting symbols for locale ha_NG. */ -goog.i18n.DateTimeSymbols_ha_Latn_NG = goog.i18n.DateTimeSymbols_ha; +goog.i18n.DateTimeSymbols_ha_NG = goog.i18n.DateTimeSymbols_ha; /** * Date/time formatting symbols for locale haw_US. */ -goog.i18n.DateTimeSymbols_haw_US = { - ERAS: ['BCE', 'CE'], - ERANAMES: ['BCE', 'CE'], - NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], - STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', - '11', '12'], - MONTHS: ['Ianuali', 'Pepeluali', 'Malaki', 'ʻApelila', 'Mei', 'Iune', - 'Iulai', 'ʻAukake', 'Kepakemapa', 'ʻOkakopa', 'Nowemapa', 'Kekemapa'], - STANDALONEMONTHS: ['Ianuali', 'Pepeluali', 'Malaki', 'ʻApelila', 'Mei', - 'Iune', 'Iulai', 'ʻAukake', 'Kepakemapa', 'ʻOkakopa', 'Nowemapa', - 'Kekemapa'], - SHORTMONTHS: ['Ian.', 'Pep.', 'Mal.', 'ʻAp.', 'Mei', 'Iun.', 'Iul.', 'ʻAu.', - 'Kep.', 'ʻOk.', 'Now.', 'Kek.'], - STANDALONESHORTMONTHS: ['Ian.', 'Pep.', 'Mal.', 'ʻAp.', 'Mei', 'Iun.', - 'Iul.', 'ʻAu.', 'Kep.', 'ʻOk.', 'Now.', 'Kek.'], - WEEKDAYS: ['Lāpule', 'Poʻakahi', 'Poʻalua', 'Poʻakolu', 'Poʻahā', - 'Poʻalima', 'Poʻaono'], - STANDALONEWEEKDAYS: ['Lāpule', 'Poʻakahi', 'Poʻalua', 'Poʻakolu', - 'Poʻahā', 'Poʻalima', 'Poʻaono'], - SHORTWEEKDAYS: ['LP', 'P1', 'P2', 'P3', 'P4', 'P5', 'P6'], - STANDALONESHORTWEEKDAYS: ['LP', 'P1', 'P2', 'P3', 'P4', 'P5', 'P6'], - NARROWWEEKDAYS: ['1', '2', '3', '4', '5', '6', '7'], - STANDALONENARROWWEEKDAYS: ['1', '2', '3', '4', '5', '6', '7'], - SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - QUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'd/M/yy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], - FIRSTDAYOFWEEK: 6, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 5 -}; +goog.i18n.DateTimeSymbols_haw_US = goog.i18n.DateTimeSymbols_haw; /** * Date/time formatting symbols for locale he_IL. */ -goog.i18n.DateTimeSymbols_he_IL = { - ERAS: ['לפנה״ס', 'לסה״נ'], - ERANAMES: ['לפני הספירה', 'לספירה'], - NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], - STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', - '11', '12'], - MONTHS: ['ינואר', 'פברואר', 'מרץ', 'אפריל', 'מאי', - 'יוני', 'יולי', 'אוגוסט', 'ספטמבר', 'אוקטובר', - 'נובמבר', 'דצמבר'], - STANDALONEMONTHS: ['ינואר', 'פברואר', 'מרץ', 'אפריל', - 'מאי', 'יוני', 'יולי', 'אוגוסט', 'ספטמבר', - 'אוקטובר', 'נובמבר', 'דצמבר'], - SHORTMONTHS: ['ינו', 'פבר', 'מרץ', 'אפר', 'מאי', 'יונ', - 'יול', 'אוג', 'ספט', 'אוק', 'נוב', 'דצמ'], - STANDALONESHORTMONTHS: ['ינו׳', 'פבר׳', 'מרץ', 'אפר׳', - 'מאי', 'יונ׳', 'יול׳', 'אוג׳', 'ספט׳', 'אוק׳', - 'נוב׳', 'דצמ׳'], - WEEKDAYS: ['יום ראשון', 'יום שני', 'יום שלישי', - 'יום רביעי', 'יום חמישי', 'יום שישי', - 'יום שבת'], - STANDALONEWEEKDAYS: ['יום ראשון', 'יום שני', - 'יום שלישי', 'יום רביעי', 'יום חמישי', - 'יום שישי', 'יום שבת'], - SHORTWEEKDAYS: ['יום א׳', 'יום ב׳', 'יום ג׳', 'יום ד׳', - 'יום ה׳', 'יום ו׳', 'שבת'], - STANDALONESHORTWEEKDAYS: ['יום א׳', 'יום ב׳', 'יום ג׳', - 'יום ד׳', 'יום ה׳', 'יום ו׳', 'שבת'], - NARROWWEEKDAYS: ['א', 'ב', 'ג', 'ד', 'ה', 'ו', 'ש'], - STANDALONENARROWWEEKDAYS: ['א', 'ב', 'ג', 'ד', 'ה', 'ו', 'ש'], - SHORTQUARTERS: ['רבעון 1', 'רבעון 2', 'רבעון 3', - 'רבעון 4'], - QUARTERS: ['רבעון 1', 'רבעון 2', 'רבעון 3', 'רבעון 4'], - AMPMS: ['לפנה״צ', 'אחה״צ'], - DATEFORMATS: ['EEEE, d בMMMM y', 'd בMMMM y', 'd בMMM yyyy', 'dd/MM/yy'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 6, - WEEKENDRANGE: [4, 5], - FIRSTWEEKCUTOFFDAY: 5 -}; +goog.i18n.DateTimeSymbols_he_IL = goog.i18n.DateTimeSymbols_he; /** * Date/time formatting symbols for locale hi_IN. */ -goog.i18n.DateTimeSymbols_hi_IN = { - ERAS: ['ईसापूर्व', 'सन'], - ERANAMES: ['ईसापूर्व', 'सन'], - NARROWMONTHS: ['ज', 'फ़', 'मा', 'अ', 'म', 'जू', 'जु', - 'अ', 'सि', 'अ', 'न', 'दि'], - STANDALONENARROWMONTHS: ['ज', 'फ़', 'मा', 'अ', 'म', 'जू', - 'जु', 'अ', 'सि', 'अ', 'न', 'दि'], - MONTHS: ['जनवरी', 'फरवरी', 'मार्च', - 'अप्रैल', 'मई', 'जून', 'जुलाई', - 'अगस्त', 'सितम्बर', 'अक्तूबर', - 'नवम्बर', 'दिसम्बर'], - STANDALONEMONTHS: ['जनवरी', 'फरवरी', 'मार्च', - 'अप्रैल', 'मई', 'जून', 'जुलाई', - 'अगस्त', 'सितम्बर', 'अक्तूबर', - 'नवम्बर', 'दिसम्बर'], - SHORTMONTHS: ['जनवरी', 'फरवरी', 'मार्च', - 'अप्रैल', 'मई', 'जून', 'जुलाई', - 'अगस्त', 'सितम्बर', 'अक्तूबर', - 'नवम्बर', 'दिसम्बर'], - STANDALONESHORTMONTHS: ['जनवरी', 'फरवरी', - 'मार्च', 'अप्रैल', 'मई', 'जून', - 'जुलाई', 'अगस्त', 'सितम्बर', - 'अक्तूबर', 'नवम्बर', 'दिसम्बर'], - WEEKDAYS: ['रविवार', 'सोमवार', - 'मंगलवार', 'बुधवार', - 'बृहस्पतिवार', 'शुक्रवार', - 'शनिवार'], - STANDALONEWEEKDAYS: ['रविवार', 'सोमवार', - 'मंगलवार', 'बुधवार', - 'बृहस्पतिवार', 'शुक्रवार', - 'शनिवार'], - SHORTWEEKDAYS: ['रवि.', 'सोम.', 'मंगल.', 'बुध.', - 'बृह.', 'शुक्र.', 'शनि.'], - STANDALONESHORTWEEKDAYS: ['रवि.', 'सोम.', 'मंगल.', - 'बुध.', 'बृह.', 'शुक्र.', 'शनि.'], - NARROWWEEKDAYS: ['र', 'सो', 'मं', 'बु', 'गु', 'शु', - 'श'], - STANDALONENARROWWEEKDAYS: ['र', 'सो', 'मं', 'बु', 'गु', - 'शु', 'श'], - SHORTQUARTERS: ['तिमाही', 'दूसरी तिमाही', - 'तीसरी तिमाही', 'चौथी तिमाही'], - QUARTERS: ['तिमाही', 'दूसरी तिमाही', - 'तीसरी तिमाही', 'चौथी तिमाही'], - AMPMS: ['am', 'pm'], - DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'dd-MM-yyyy', 'd-M-yy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], - FIRSTDAYOFWEEK: 6, - WEEKENDRANGE: [6, 6], - FIRSTWEEKCUTOFFDAY: 5 -}; +goog.i18n.DateTimeSymbols_hi_IN = goog.i18n.DateTimeSymbols_hi; /** - * Date/time formatting symbols for locale hr_HR. + * Date/time formatting symbols for locale hr_BA. */ -goog.i18n.DateTimeSymbols_hr_HR = { - ERAS: ['p. n. e.', 'A. D.'], - ERANAMES: ['Prije Krista', 'Poslije Krista'], - NARROWMONTHS: ['1.', '2.', '3.', '4.', '5.', '6.', '7.', '8.', '9.', '10.', - '11.', '12.'], - STANDALONENARROWMONTHS: ['1.', '2.', '3.', '4.', '5.', '6.', '7.', '8.', '9.', - '10.', '11.', '12.'], - MONTHS: ['siječnja', 'veljače', 'ožujka', 'travnja', 'svibnja', 'lipnja', - 'srpnja', 'kolovoza', 'rujna', 'listopada', 'studenoga', 'prosinca'], - STANDALONEMONTHS: ['siječanj', 'veljača', 'ožujak', 'travanj', 'svibanj', - 'lipanj', 'srpanj', 'kolovoz', 'rujan', 'listopad', 'studeni', - 'prosinac'], - SHORTMONTHS: ['sij', 'velj', 'ožu', 'tra', 'svi', 'lip', 'srp', 'kol', 'ruj', - 'lis', 'stu', 'pro'], - STANDALONESHORTMONTHS: ['sij', 'velj', 'ožu', 'tra', 'svi', 'lip', 'srp', - 'kol', 'ruj', 'lis', 'stu', 'pro'], - WEEKDAYS: ['nedjelja', 'ponedjeljak', 'utorak', 'srijeda', 'četvrtak', - 'petak', 'subota'], - STANDALONEWEEKDAYS: ['nedjelja', 'ponedjeljak', 'utorak', 'srijeda', - 'četvrtak', 'petak', 'subota'], +goog.i18n.DateTimeSymbols_hr_BA = { + ERAS: ['pr. Kr.', 'po. Kr.'], + ERANAMES: ['prije Krista', 'poslije Krista'], + NARROWMONTHS: ['1.', '2.', '3.', '4.', '5.', '6.', '7.', '8.', '9.', '10.', '11.', '12.'], + STANDALONENARROWMONTHS: ['1.', '2.', '3.', '4.', '5.', '6.', '7.', '8.', '9.', '10.', '11.', '12.'], + MONTHS: ['siječnja', 'veljače', 'ožujka', 'travnja', 'svibnja', 'lipnja', 'srpnja', 'kolovoza', 'rujna', 'listopada', 'studenoga', 'prosinca'], + STANDALONEMONTHS: ['siječanj', 'veljača', 'ožujak', 'travanj', 'svibanj', 'lipanj', 'srpanj', 'kolovoz', 'rujan', 'listopad', 'studeni', 'prosinac'], + SHORTMONTHS: ['sij', 'velj', 'ožu', 'tra', 'svi', 'lip', 'srp', 'kol', 'ruj', 'lis', 'stu', 'pro'], + STANDALONESHORTMONTHS: ['sij', 'velj', 'ožu', 'tra', 'svi', 'lip', 'srp', 'kol', 'ruj', 'lis', 'stu', 'pro'], + WEEKDAYS: ['nedjelja', 'ponedjeljak', 'utorak', 'srijeda', 'četvrtak', 'petak', 'subota'], + STANDALONEWEEKDAYS: ['nedjelja', 'ponedjeljak', 'utorak', 'srijeda', 'četvrtak', 'petak', 'subota'], SHORTWEEKDAYS: ['ned', 'pon', 'uto', 'sri', 'čet', 'pet', 'sub'], STANDALONESHORTWEEKDAYS: ['ned', 'pon', 'uto', 'sri', 'čet', 'pet', 'sub'], NARROWWEEKDAYS: ['N', 'P', 'U', 'S', 'Č', 'P', 'S'], - STANDALONENARROWWEEKDAYS: ['n', 'p', 'u', 's', 'č', 'p', 's'], - SHORTQUARTERS: ['1kv', '2kv', '3kv', '4kv'], + STANDALONENARROWWEEKDAYS: ['N', 'P', 'U', 'S', 'Č', 'P', 'S'], + SHORTQUARTERS: ['1. kv.', '2. kv.', '3. kv.', '4. kv.'], QUARTERS: ['1. kvartal', '2. kvartal', '3. kvartal', '4. kvartal'], AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE, d. MMMM y.', 'd. MMMM y.', 'd. M. y.', 'd.M.y.'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATEFORMATS: ['EEEE, d. MMMM y.', 'd. MMMM y.', 'd. MMM y.', 'd. M. yy.'], + TIMEFORMATS: ['HH:mm:ss (zzzz)', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'u\' {0}', '{1} \'u\' {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -7259,165 +7859,63 @@ goog.i18n.DateTimeSymbols_hr_HR = { /** - * Date/time formatting symbols for locale hu_HU. + * Date/time formatting symbols for locale hr_HR. */ -goog.i18n.DateTimeSymbols_hu_HU = { - ERAS: ['i. e.', 'i. sz.'], - ERANAMES: ['időszámításunk előtt', 'időszámításunk szerint'], - NARROWMONTHS: ['J', 'F', 'M', 'Á', 'M', 'J', 'J', 'Á', 'Sz', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'Á', 'M', 'J', 'J', 'A', 'Sz', 'O', - 'N', 'D'], - MONTHS: ['január', 'február', 'március', 'április', 'május', 'június', - 'július', 'augusztus', 'szeptember', 'október', 'november', 'december'], - STANDALONEMONTHS: ['január', 'február', 'március', 'április', 'május', - 'június', 'július', 'augusztus', 'szeptember', 'október', 'november', - 'december'], - SHORTMONTHS: ['jan.', 'febr.', 'márc.', 'ápr.', 'máj.', 'jún.', 'júl.', - 'aug.', 'szept.', 'okt.', 'nov.', 'dec.'], - STANDALONESHORTMONTHS: ['jan.', 'febr.', 'márc.', 'ápr.', 'máj.', 'jún.', - 'júl.', 'aug.', 'szept.', 'okt.', 'nov.', 'dec.'], - WEEKDAYS: ['vasárnap', 'hétfő', 'kedd', 'szerda', 'csütörtök', - 'péntek', 'szombat'], - STANDALONEWEEKDAYS: ['vasárnap', 'hétfő', 'kedd', 'szerda', 'csütörtök', - 'péntek', 'szombat'], - SHORTWEEKDAYS: ['V', 'H', 'K', 'Sze', 'Cs', 'P', 'Szo'], - STANDALONESHORTWEEKDAYS: ['V', 'H', 'K', 'Sze', 'Cs', 'P', 'Szo'], - NARROWWEEKDAYS: ['V', 'H', 'K', 'Sz', 'Cs', 'P', 'Sz'], - STANDALONENARROWWEEKDAYS: ['V', 'H', 'K', 'Sz', 'Cs', 'P', 'Sz'], - SHORTQUARTERS: ['N1', 'N2', 'N3', 'N4'], - QUARTERS: ['I. negyedév', 'II. negyedév', 'III. negyedév', - 'IV. negyedév'], - AMPMS: ['de.', 'du.'], - DATEFORMATS: ['y. MMMM d., EEEE', 'y. MMMM d.', 'yyyy.MM.dd.', 'yyyy.MM.dd.'], - TIMEFORMATS: ['H:mm:ss zzzz', 'H:mm:ss z', 'H:mm:ss', 'H:mm'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 6 -}; +goog.i18n.DateTimeSymbols_hr_HR = goog.i18n.DateTimeSymbols_hr; /** - * Date/time formatting symbols for locale hy. + * Date/time formatting symbols for locale hsb. */ -goog.i18n.DateTimeSymbols_hy = { - ERAS: ['Մ․Թ․Ա․', 'Մ․Թ․'], - ERANAMES: ['Մ․Թ․Ա․', 'Մ․Թ․'], - NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], - STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', - '11', '12'], - MONTHS: ['Հունվար', 'Փետրվար', 'Մարտ', 'Ապրիլ', - 'Մայիս', 'Հունիս', 'Հուլիս', 'Օգոստոս', - 'Սեպտեմբեր', 'Հոկտեմբեր', 'Նոյեմբեր', - 'Դեկտեմբեր'], - STANDALONEMONTHS: ['Հունվար', 'Փետրվար', 'Մարտ', - 'Ապրիլ', 'Մայիս', 'Հունիս', 'Հուլիս', - 'Օգոստոս', 'Սեպտեմբեր', 'Հոկտեմբեր', - 'Նոյեմբեր', 'Դեկտեմբեր'], - SHORTMONTHS: ['Հնվ', 'Փտվ', 'Մրտ', 'Ապր', 'Մյս', 'Հնս', - 'Հլս', 'Օգս', 'Սեպ', 'Հոկ', 'Նոյ', 'Դեկ'], - STANDALONESHORTMONTHS: ['Հնվ', 'Փտվ', 'Մրտ', 'Ապր', 'Մյս', - 'Հնս', 'Հլս', 'Օգս', 'Սեպ', 'Հոկ', 'Նոյ', 'Դեկ'], - WEEKDAYS: ['Կիրակի', 'Երկուշաբթի', 'Երեքշաբթի', - 'Չորեքշաբթի', 'Հինգշաբթի', 'Ուրբաթ', - 'Շաբաթ'], - STANDALONEWEEKDAYS: ['Կիրակի', 'Երկուշաբթի', - 'Երեքշաբթի', 'Չորեքշաբթի', 'Հինգշաբթի', - 'Ուրբաթ', 'Շաբաթ'], - SHORTWEEKDAYS: ['Կիր', 'Երկ', 'Երք', 'Չոր', 'Հնգ', 'Ուր', - 'Շաբ'], - STANDALONESHORTWEEKDAYS: ['Կիր', 'Երկ', 'Երք', 'Չոր', 'Հնգ', - 'Ուր', 'Շաբ'], - NARROWWEEKDAYS: ['1', '2', '3', '4', '5', '6', '7'], - STANDALONENARROWWEEKDAYS: ['1', '2', '3', '4', '5', '6', '7'], +goog.i18n.DateTimeSymbols_hsb = { + ERAS: ['př.Chr.n.', 'po Chr.n.'], + ERANAMES: ['před Chrystowym narodźenjom', 'po Chrystowym narodźenju'], + NARROWMONTHS: ['j', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', 'n', 'd'], + STANDALONENARROWMONTHS: ['j', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', 'n', 'd'], + MONTHS: ['januara', 'februara', 'měrca', 'apryla', 'meje', 'junija', 'julija', 'awgusta', 'septembra', 'oktobra', 'nowembra', 'decembra'], + STANDALONEMONTHS: ['januar', 'februar', 'měrc', 'apryl', 'meja', 'junij', 'julij', 'awgust', 'september', 'oktober', 'nowember', 'december'], + SHORTMONTHS: ['jan.', 'feb.', 'měr.', 'apr.', 'mej.', 'jun.', 'jul.', 'awg.', 'sep.', 'okt.', 'now.', 'dec.'], + STANDALONESHORTMONTHS: ['jan', 'feb', 'měr', 'apr', 'mej', 'jun', 'jul', 'awg', 'sep', 'okt', 'now', 'dec'], + WEEKDAYS: ['njedźela', 'póndźela', 'wutora', 'srjeda', 'štwórtk', 'pjatk', 'sobota'], + STANDALONEWEEKDAYS: ['njedźela', 'póndźela', 'wutora', 'srjeda', 'štwórtk', 'pjatk', 'sobota'], + SHORTWEEKDAYS: ['nje', 'pón', 'wut', 'srj', 'štw', 'pja', 'sob'], + STANDALONESHORTWEEKDAYS: ['nje', 'pón', 'wut', 'srj', 'štw', 'pja', 'sob'], + NARROWWEEKDAYS: ['n', 'p', 'w', 's', 'š', 'p', 's'], + STANDALONENARROWWEEKDAYS: ['n', 'p', 'w', 's', 'š', 'p', 's'], SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - QUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - AMPMS: ['Առ․', 'Կե․'], - DATEFORMATS: ['EEEE, MMMM d, y', 'MMMM dd, y', 'MMM d, y', 'MM/dd/yy'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + QUARTERS: ['1. kwartal', '2. kwartal', '3. kwartal', '4. kwartal'], + AMPMS: ['dopołdnja', 'popołdnju'], + DATEFORMATS: ['EEEE, d. MMMM y', 'd. MMMM y', 'd.M.y', 'd.M.yy'], + TIMEFORMATS: ['H:mm:ss zzzz', 'H:mm:ss z', 'H:mm:ss', 'H:mm \'hodź\'.'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 6 + FIRSTWEEKCUTOFFDAY: 3 }; /** - * Date/time formatting symbols for locale hy_AM. + * Date/time formatting symbols for locale hsb_DE. */ -goog.i18n.DateTimeSymbols_hy_AM = goog.i18n.DateTimeSymbols_hy; +goog.i18n.DateTimeSymbols_hsb_DE = goog.i18n.DateTimeSymbols_hsb; /** - * Date/time formatting symbols for locale ia. + * Date/time formatting symbols for locale hu_HU. */ -goog.i18n.DateTimeSymbols_ia = { - ERAS: ['a.Chr.', 'p.Chr.'], - ERANAMES: ['ante Christo', 'post Christo'], - NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], - STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', - '11', '12'], - MONTHS: ['januario', 'februario', 'martio', 'april', 'maio', 'junio', 'julio', - 'augusto', 'septembre', 'octobre', 'novembre', 'decembre'], - STANDALONEMONTHS: ['januario', 'februario', 'martio', 'april', 'maio', - 'junio', 'julio', 'augusto', 'septembre', 'octobre', 'novembre', - 'decembre'], - SHORTMONTHS: ['jan', 'feb', 'mar', 'apr', 'mai', 'jun', 'jul', 'aug', 'sep', - 'oct', 'nov', 'dec'], - STANDALONESHORTMONTHS: ['jan', 'feb', 'mar', 'apr', 'mai', 'jun', 'jul', - 'aug', 'sep', 'oct', 'nov', 'dec'], - WEEKDAYS: ['dominica', 'lunedi', 'martedi', 'mercuridi', 'jovedi', 'venerdi', - 'sabbato'], - STANDALONEWEEKDAYS: ['dominica', 'lunedi', 'martedi', 'mercuridi', 'jovedi', - 'venerdi', 'sabbato'], - SHORTWEEKDAYS: ['dom', 'lun', 'mar', 'mer', 'jov', 'ven', 'sab'], - STANDALONESHORTWEEKDAYS: ['dom', 'lun', 'mar', 'mer', 'jov', 'ven', 'sab'], - NARROWWEEKDAYS: ['1', '2', '3', '4', '5', '6', '7'], - STANDALONENARROWWEEKDAYS: ['1', '2', '3', '4', '5', '6', '7'], - SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], - QUARTERS: ['1-me trimestre', '2-nde trimestre', '3-tie trimestre', - '4-te trimestre'], - AMPMS: ['a.m.', 'p.m.'], - DATEFORMATS: ['EEEE, y MMMM dd', 'y MMMM d', 'y MMM d', 'yy/MM/dd'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 6 -}; +goog.i18n.DateTimeSymbols_hu_HU = goog.i18n.DateTimeSymbols_hu; + + +/** + * Date/time formatting symbols for locale hy_AM. + */ +goog.i18n.DateTimeSymbols_hy_AM = goog.i18n.DateTimeSymbols_hy; /** * Date/time formatting symbols for locale id_ID. */ -goog.i18n.DateTimeSymbols_id_ID = { - ERAS: ['SM', 'M'], - ERANAMES: ['SM', 'M'], - NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['Januari', 'Februari', 'Maret', 'April', 'Mei', 'Juni', 'Juli', - 'Agustus', 'September', 'Oktober', 'November', 'Desember'], - STANDALONEMONTHS: ['Januari', 'Februari', 'Maret', 'April', 'Mei', 'Juni', - 'Juli', 'Agustus', 'September', 'Oktober', 'November', 'Desember'], - SHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'Mei', 'Jun', 'Jul', 'Agt', 'Sep', - 'Okt', 'Nov', 'Des'], - STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'Mei', 'Jun', 'Jul', - 'Agt', 'Sep', 'Okt', 'Nov', 'Des'], - WEEKDAYS: ['Minggu', 'Senin', 'Selasa', 'Rabu', 'Kamis', 'Jumat', 'Sabtu'], - STANDALONEWEEKDAYS: ['Minggu', 'Senin', 'Selasa', 'Rabu', 'Kamis', 'Jumat', - 'Sabtu'], - SHORTWEEKDAYS: ['Min', 'Sen', 'Sel', 'Rab', 'Kam', 'Jum', 'Sab'], - STANDALONESHORTWEEKDAYS: ['Min', 'Sen', 'Sel', 'Rab', 'Kam', 'Jum', 'Sab'], - NARROWWEEKDAYS: ['M', 'S', 'S', 'R', 'K', 'J', 'S'], - STANDALONENARROWWEEKDAYS: ['M', 'S', 'S', 'R', 'K', 'J', 'S'], - SHORTQUARTERS: ['K1', 'K2', 'K3', 'K4'], - QUARTERS: ['kuartal pertama', 'kuartal kedua', 'kuartal ketiga', - 'kuartal keempat'], - AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE, dd MMMM yyyy', 'd MMMM yyyy', 'd MMM yyyy', 'dd/MM/yy'], - TIMEFORMATS: ['H:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 6, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 5 -}; +goog.i18n.DateTimeSymbols_id_ID = goog.i18n.DateTimeSymbols_id; /** @@ -7427,31 +7925,23 @@ goog.i18n.DateTimeSymbols_ig = { ERAS: ['T.K.', 'A.K.'], ERANAMES: ['Tupu Kristi', 'Afọ Kristi'], NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], - STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', - '11', '12'], - MONTHS: ['Jenụwarị', 'Febrụwarị', 'Maachị', 'Eprel', 'Mee', 'Juun', - 'Julaị', 'Ọgọọst', 'Septemba', 'Ọktoba', 'Novemba', 'Disemba'], - STANDALONEMONTHS: ['Jenụwarị', 'Febrụwarị', 'Maachị', 'Eprel', - 'Mee', 'Juun', 'Julaị', 'Ọgọọst', 'Septemba', 'Ọktoba', - 'Novemba', 'Disemba'], - SHORTMONTHS: ['Jen', 'Feb', 'Maa', 'Epr', 'Mee', 'Juu', 'Jul', 'Ọgọ', - 'Sep', 'Ọkt', 'Nov', 'Dis'], - STANDALONESHORTMONTHS: ['Jen', 'Feb', 'Maa', 'Epr', 'Mee', 'Juu', 'Jul', - 'Ọgọ', 'Sep', 'Ọkt', 'Nov', 'Dis'], - WEEKDAYS: ['Mbọsị Ụka', 'Mọnde', 'Tiuzdee', 'Wenezdee', 'Tọọzdee', - 'Fraịdee', 'Satọdee'], - STANDALONEWEEKDAYS: ['Mbọsị Ụka', 'Mọnde', 'Tiuzdee', 'Wenezdee', - 'Tọọzdee', 'Fraịdee', 'Satọdee'], + STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + MONTHS: ['Jenụwarị', 'Febrụwarị', 'Maachị', 'Eprel', 'Mee', 'Juun', 'Julaị', 'Ọgọọst', 'Septemba', 'Ọktoba', 'Novemba', 'Disemba'], + STANDALONEMONTHS: ['Jenụwarị', 'Febrụwarị', 'Maachị', 'Eprel', 'Mee', 'Juun', 'Julaị', 'Ọgọọst', 'Septemba', 'Ọktoba', 'Novemba', 'Disemba'], + SHORTMONTHS: ['Jen', 'Feb', 'Maa', 'Epr', 'Mee', 'Juu', 'Jul', 'Ọgọ', 'Sep', 'Ọkt', 'Nov', 'Dis'], + STANDALONESHORTMONTHS: ['Jen', 'Feb', 'Maa', 'Epr', 'Mee', 'Juu', 'Jul', 'Ọgọ', 'Sep', 'Ọkt', 'Nov', 'Dis'], + WEEKDAYS: ['Mbọsị Ụka', 'Mọnde', 'Tiuzdee', 'Wenezdee', 'Tọọzdee', 'Fraịdee', 'Satọdee'], + STANDALONEWEEKDAYS: ['Mbọsị Ụka', 'Mọnde', 'Tiuzdee', 'Wenezdee', 'Tọọzdee', 'Fraịdee', 'Satọdee'], SHORTWEEKDAYS: ['Ụka', 'Mọn', 'Tiu', 'Wen', 'Tọọ', 'Fraị', 'Sat'], - STANDALONESHORTWEEKDAYS: ['Ụka', 'Mọn', 'Tiu', 'Wen', 'Tọọ', 'Fraị', - 'Sat'], - NARROWWEEKDAYS: ['1', '2', '3', '4', '5', '6', '7'], - STANDALONENARROWWEEKDAYS: ['1', '2', '3', '4', '5', '6', '7'], + STANDALONESHORTWEEKDAYS: ['Ụka', 'Mọn', 'Tiu', 'Wen', 'Tọọ', 'Fraị', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], SHORTQUARTERS: ['Ọ1', 'Ọ2', 'Ọ3', 'Ọ4'], QUARTERS: ['Ọkara 1', 'Ọkara 2', 'Ọkara 3', 'Ọkara 4'], AMPMS: ['A.M.', 'P.M.'], - DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yyyy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -7471,33 +7961,26 @@ goog.i18n.DateTimeSymbols_ii = { ERAS: ['ꃅꋊꂿ', 'ꃅꋊꊂ'], ERANAMES: ['ꃅꋊꂿ', 'ꃅꋊꊂ'], NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], - STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', - '11', '12'], - MONTHS: ['ꋍꆪ', 'ꑍꆪ', 'ꌕꆪ', 'ꇖꆪ', 'ꉬꆪ', 'ꃘꆪ', 'ꏃꆪ', - 'ꉆꆪ', 'ꈬꆪ', 'ꊰꆪ', 'ꊰꊪꆪ', 'ꊰꑋꆪ'], - STANDALONEMONTHS: ['ꋍꆪ', 'ꑍꆪ', 'ꌕꆪ', 'ꇖꆪ', 'ꉬꆪ', 'ꃘꆪ', - 'ꏃꆪ', 'ꉆꆪ', 'ꈬꆪ', 'ꊰꆪ', 'ꊰꊪꆪ', 'ꊰꑋꆪ'], - SHORTMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], - STANDALONESHORTMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', - '11', '12'], - WEEKDAYS: ['ꑭꆏꑍ', 'ꆏꊂꋍ', 'ꆏꊂꑍ', 'ꆏꊂꌕ', 'ꆏꊂꇖ', - 'ꆏꊂꉬ', 'ꆏꊂꃘ'], - STANDALONEWEEKDAYS: ['ꑭꆏꑍ', 'ꆏꊂꋍ', 'ꆏꊂꑍ', 'ꆏꊂꌕ', - 'ꆏꊂꇖ', 'ꆏꊂꉬ', 'ꆏꊂꃘ'], - SHORTWEEKDAYS: ['ꑭꆏ', 'ꆏꋍ', 'ꆏꑍ', 'ꆏꌕ', 'ꆏꇖ', 'ꆏꉬ', - 'ꆏꃘ'], - STANDALONESHORTWEEKDAYS: ['ꑭꆏ', 'ꆏꋍ', 'ꆏꑍ', 'ꆏꌕ', 'ꆏꇖ', - 'ꆏꉬ', 'ꆏꃘ'], + STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + MONTHS: ['ꋍꆪ', 'ꑍꆪ', 'ꌕꆪ', 'ꇖꆪ', 'ꉬꆪ', 'ꃘꆪ', 'ꏃꆪ', 'ꉆꆪ', 'ꈬꆪ', 'ꊰꆪ', 'ꊰꊪꆪ', 'ꊰꑋꆪ'], + STANDALONEMONTHS: ['ꋍꆪ', 'ꑍꆪ', 'ꌕꆪ', 'ꇖꆪ', 'ꉬꆪ', 'ꃘꆪ', 'ꏃꆪ', 'ꉆꆪ', 'ꈬꆪ', 'ꊰꆪ', 'ꊰꊪꆪ', 'ꊰꑋꆪ'], + SHORTMONTHS: ['ꋍꆪ', 'ꑍꆪ', 'ꌕꆪ', 'ꇖꆪ', 'ꉬꆪ', 'ꃘꆪ', 'ꏃꆪ', 'ꉆꆪ', 'ꈬꆪ', 'ꊰꆪ', 'ꊰꊪꆪ', 'ꊰꑋꆪ'], + STANDALONESHORTMONTHS: ['ꋍꆪ', 'ꑍꆪ', 'ꌕꆪ', 'ꇖꆪ', 'ꉬꆪ', 'ꃘꆪ', 'ꏃꆪ', 'ꉆꆪ', 'ꈬꆪ', 'ꊰꆪ', 'ꊰꊪꆪ', 'ꊰꑋꆪ'], + WEEKDAYS: ['ꑭꆏꑍ', 'ꆏꊂꋍ', 'ꆏꊂꑍ', 'ꆏꊂꌕ', 'ꆏꊂꇖ', 'ꆏꊂꉬ', 'ꆏꊂꃘ'], + STANDALONEWEEKDAYS: ['ꑭꆏꑍ', 'ꆏꊂꋍ', 'ꆏꊂꑍ', 'ꆏꊂꌕ', 'ꆏꊂꇖ', 'ꆏꊂꉬ', 'ꆏꊂꃘ'], + SHORTWEEKDAYS: ['ꑭꆏ', 'ꆏꋍ', 'ꆏꑍ', 'ꆏꌕ', 'ꆏꇖ', 'ꆏꉬ', 'ꆏꃘ'], + STANDALONESHORTWEEKDAYS: ['ꑭꆏ', 'ꆏꋍ', 'ꆏꑍ', 'ꆏꌕ', 'ꆏꇖ', 'ꆏꉬ', 'ꆏꃘ'], NARROWWEEKDAYS: ['ꆏ', 'ꋍ', 'ꑍ', 'ꌕ', 'ꇖ', 'ꉬ', 'ꃘ'], STANDALONENARROWWEEKDAYS: ['ꆏ', 'ꋍ', 'ꑍ', 'ꌕ', 'ꇖ', 'ꉬ', 'ꃘ'], SHORTQUARTERS: ['ꃅꑌ', 'ꃅꎸ', 'ꃅꍵ', 'ꃅꋆ'], QUARTERS: ['ꃅꑌ', 'ꃅꎸ', 'ꃅꍵ', 'ꃅꋆ'], AMPMS: ['ꎸꄑ', 'ꁯꋒ'], - DATEFORMATS: ['EEEE, y MMMM dd', 'y MMMM d', 'y MMM d', 'yyyy-MM-dd'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 0, + DATEFORMATS: ['y MMMM d, EEEE', 'y MMMM d', 'y MMM d', 'y-MM-dd'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 6, WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 6 + FIRSTWEEKCUTOFFDAY: 5 }; @@ -7510,72 +7993,33 @@ goog.i18n.DateTimeSymbols_ii_CN = goog.i18n.DateTimeSymbols_ii; /** * Date/time formatting symbols for locale is_IS. */ -goog.i18n.DateTimeSymbols_is_IS = { - ERAS: ['fyrir Krist', 'eftir Krist'], - ERANAMES: ['fyrir Krist', 'eftir Krist'], - NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'Á', 'L', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['j', 'f', 'm', 'a', 'm', 'j', 'j', 'á', 's', 'o', - 'n', 'd'], - MONTHS: ['janúar', 'febrúar', 'mars', 'apríl', 'maí', 'júní', 'júlí', - 'ágúst', 'september', 'október', 'nóvember', 'desember'], - STANDALONEMONTHS: ['janúar', 'febrúar', 'mars', 'apríl', 'maí', 'júní', - 'júlí', 'ágúst', 'september', 'október', 'nóvember', 'desember'], - SHORTMONTHS: ['jan', 'feb', 'mar', 'apr', 'maí', 'jún', 'júl', 'ágú', - 'sep', 'okt', 'nóv', 'des'], - STANDALONESHORTMONTHS: ['jan', 'feb', 'mar', 'apr', 'maí', 'jún', 'júl', - 'ágú', 'sep', 'okt', 'nóv', 'des'], - WEEKDAYS: ['sunnudagur', 'mánudagur', 'þriðjudagur', 'miðvikudagur', - 'fimmtudagur', 'föstudagur', 'laugardagur'], - STANDALONEWEEKDAYS: ['sunnudagur', 'mánudagur', 'þriðjudagur', - 'miðvikudagur', 'fimmtudagur', 'föstudagur', 'laugardagur'], - SHORTWEEKDAYS: ['sun', 'mán', 'þri', 'mið', 'fim', 'fös', 'lau'], - STANDALONESHORTWEEKDAYS: ['sun', 'mán', 'þri', 'mið', 'fim', 'fös', - 'lau'], - NARROWWEEKDAYS: ['S', 'M', 'Þ', 'M', 'F', 'F', 'L'], - STANDALONENARROWWEEKDAYS: ['s', 'm', 'þ', 'm', 'f', 'f', 'l'], - SHORTQUARTERS: ['F1', 'F2', 'F3', 'F4'], - QUARTERS: ['1st fjórðungur', '2nd fjórðungur', '3rd fjórðungur', - '4th fjórðungur'], - AMPMS: ['f.h.', 'e.h.'], - DATEFORMATS: ['EEEE, d. MMMM y', 'd. MMMM y', 'd.M.yyyy', 'd.M.yyyy'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 3 -}; +goog.i18n.DateTimeSymbols_is_IS = goog.i18n.DateTimeSymbols_is; /** * Date/time formatting symbols for locale it_CH. */ goog.i18n.DateTimeSymbols_it_CH = { - ERAS: ['aC', 'dC'], - ERANAMES: ['a.C.', 'd.C'], + ERAS: ['a.C.', 'd.C.'], + ERANAMES: ['avanti Cristo', 'dopo Cristo'], NARROWMONTHS: ['G', 'F', 'M', 'A', 'M', 'G', 'L', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['G', 'F', 'M', 'A', 'M', 'G', 'L', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['gennaio', 'febbraio', 'marzo', 'aprile', 'maggio', 'giugno', - 'luglio', 'agosto', 'settembre', 'ottobre', 'novembre', 'dicembre'], - STANDALONEMONTHS: ['Gennaio', 'Febbraio', 'Marzo', 'Aprile', 'Maggio', - 'Giugno', 'Luglio', 'Agosto', 'Settembre', 'Ottobre', 'Novembre', - 'Dicembre'], - SHORTMONTHS: ['gen', 'feb', 'mar', 'apr', 'mag', 'giu', 'lug', 'ago', 'set', - 'ott', 'nov', 'dic'], - STANDALONESHORTMONTHS: ['gen', 'feb', 'mar', 'apr', 'mag', 'giu', 'lug', - 'ago', 'set', 'ott', 'nov', 'dic'], - WEEKDAYS: ['domenica', 'lunedì', 'martedì', 'mercoledì', 'giovedì', - 'venerdì', 'sabato'], - STANDALONEWEEKDAYS: ['Domenica', 'Lunedì', 'Martedì', 'Mercoledì', - 'Giovedì', 'Venerdì', 'Sabato'], + STANDALONENARROWMONTHS: ['G', 'F', 'M', 'A', 'M', 'G', 'L', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['gennaio', 'febbraio', 'marzo', 'aprile', 'maggio', 'giugno', 'luglio', 'agosto', 'settembre', 'ottobre', 'novembre', 'dicembre'], + STANDALONEMONTHS: ['gennaio', 'febbraio', 'marzo', 'aprile', 'maggio', 'giugno', 'luglio', 'agosto', 'settembre', 'ottobre', 'novembre', 'dicembre'], + SHORTMONTHS: ['gen', 'feb', 'mar', 'apr', 'mag', 'giu', 'lug', 'ago', 'set', 'ott', 'nov', 'dic'], + STANDALONESHORTMONTHS: ['gen', 'feb', 'mar', 'apr', 'mag', 'giu', 'lug', 'ago', 'set', 'ott', 'nov', 'dic'], + WEEKDAYS: ['domenica', 'lunedì', 'martedì', 'mercoledì', 'giovedì', 'venerdì', 'sabato'], + STANDALONEWEEKDAYS: ['domenica', 'lunedì', 'martedì', 'mercoledì', 'giovedì', 'venerdì', 'sabato'], SHORTWEEKDAYS: ['dom', 'lun', 'mar', 'mer', 'gio', 'ven', 'sab'], STANDALONESHORTWEEKDAYS: ['dom', 'lun', 'mar', 'mer', 'gio', 'ven', 'sab'], NARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'G', 'V', 'S'], STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'G', 'V', 'S'], SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], - QUARTERS: ['1o trimestre', '2o trimestre', '3o trimestre', '4o trimestre'], - AMPMS: ['m.', 'p.'], - DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd-MMM-y', 'dd.MM.yy'], - TIMEFORMATS: ['HH.mm:ss \'h\' zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + QUARTERS: ['1º trimestre', '2º trimestre', '3º trimestre', '4º trimestre'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd.MM.yy'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1}, {0}', '{1}, {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 3 @@ -7585,77 +8029,63 @@ goog.i18n.DateTimeSymbols_it_CH = { /** * Date/time formatting symbols for locale it_IT. */ -goog.i18n.DateTimeSymbols_it_IT = { - ERAS: ['aC', 'dC'], - ERANAMES: ['a.C.', 'd.C'], - NARROWMONTHS: ['G', 'F', 'M', 'A', 'M', 'G', 'L', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['G', 'F', 'M', 'A', 'M', 'G', 'L', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['gennaio', 'febbraio', 'marzo', 'aprile', 'maggio', 'giugno', - 'luglio', 'agosto', 'settembre', 'ottobre', 'novembre', 'dicembre'], - STANDALONEMONTHS: ['Gennaio', 'Febbraio', 'Marzo', 'Aprile', 'Maggio', - 'Giugno', 'Luglio', 'Agosto', 'Settembre', 'Ottobre', 'Novembre', - 'Dicembre'], - SHORTMONTHS: ['gen', 'feb', 'mar', 'apr', 'mag', 'giu', 'lug', 'ago', 'set', - 'ott', 'nov', 'dic'], - STANDALONESHORTMONTHS: ['gen', 'feb', 'mar', 'apr', 'mag', 'giu', 'lug', - 'ago', 'set', 'ott', 'nov', 'dic'], - WEEKDAYS: ['domenica', 'lunedì', 'martedì', 'mercoledì', 'giovedì', - 'venerdì', 'sabato'], - STANDALONEWEEKDAYS: ['Domenica', 'Lunedì', 'Martedì', 'Mercoledì', - 'Giovedì', 'Venerdì', 'Sabato'], - SHORTWEEKDAYS: ['dom', 'lun', 'mar', 'mer', 'gio', 'ven', 'sab'], - STANDALONESHORTWEEKDAYS: ['dom', 'lun', 'mar', 'mer', 'gio', 'ven', 'sab'], - NARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'G', 'V', 'S'], - STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'G', 'V', 'S'], - SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], - QUARTERS: ['1o trimestre', '2o trimestre', '3o trimestre', '4o trimestre'], - AMPMS: ['m.', 'p.'], - DATEFORMATS: ['EEEE d MMMM y', 'dd MMMM y', 'dd/MMM/y', 'dd/MM/yy'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 3 -}; +goog.i18n.DateTimeSymbols_it_IT = goog.i18n.DateTimeSymbols_it; + + +/** + * Date/time formatting symbols for locale it_SM. + */ +goog.i18n.DateTimeSymbols_it_SM = goog.i18n.DateTimeSymbols_it; + + +/** + * Date/time formatting symbols for locale it_VA. + */ +goog.i18n.DateTimeSymbols_it_VA = goog.i18n.DateTimeSymbols_it; /** * Date/time formatting symbols for locale ja_JP. */ -goog.i18n.DateTimeSymbols_ja_JP = { - ERAS: ['紀元前', '西暦'], - ERANAMES: ['紀元前', '西暦'], +goog.i18n.DateTimeSymbols_ja_JP = goog.i18n.DateTimeSymbols_ja; + + +/** + * Date/time formatting symbols for locale jgo. + */ +goog.i18n.DateTimeSymbols_jgo = { + ERAS: ['BCE', 'CE'], + ERANAMES: ['tsɛttsɛt mɛŋguꞌ mi ɛ́ lɛɛnɛ Kɛlísɛtɔ gɔ ńɔ́', 'tsɛttsɛt mɛŋguꞌ mi ɛ́ fúnɛ Kɛlísɛtɔ tɔ́ mɔ́'], NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], - STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', - '11', '12'], - MONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', - '9月', '10月', '11月', '12月'], - STANDALONEMONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', - '8月', '9月', '10月', '11月', '12月'], - SHORTMONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', - '9月', '10月', '11月', '12月'], - STANDALONESHORTMONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', - '7月', '8月', '9月', '10月', '11月', '12月'], - WEEKDAYS: ['日曜日', '月曜日', '火曜日', '水曜日', '木曜日', - '金曜日', '土曜日'], - STANDALONEWEEKDAYS: ['日曜日', '月曜日', '火曜日', '水曜日', - '木曜日', '金曜日', '土曜日'], - SHORTWEEKDAYS: ['日', '月', '火', '水', '木', '金', '土'], - STANDALONESHORTWEEKDAYS: ['日', '月', '火', '水', '木', '金', '土'], - NARROWWEEKDAYS: ['日', '月', '火', '水', '木', '金', '土'], - STANDALONENARROWWEEKDAYS: ['日', '月', '火', '水', '木', '金', '土'], - SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - QUARTERS: ['第1四半期', '第2四半期', '第3四半期', - '第4四半期'], - AMPMS: ['午前', '午後'], - DATEFORMATS: ['y年M月d日EEEE', 'y年M月d日', 'yyyy/MM/dd', 'yyyy/MM/dd'], - TIMEFORMATS: ['H時mm分ss秒 zzzz', 'H:mm:ss z', 'H:mm:ss', 'H:mm'], - FIRSTDAYOFWEEK: 6, + STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + MONTHS: ['Nduŋmbi Saŋ', 'Pɛsaŋ Pɛ́pá', 'Pɛsaŋ Pɛ́tát', 'Pɛsaŋ Pɛ́nɛ́kwa', 'Pɛsaŋ Pataa', 'Pɛsaŋ Pɛ́nɛ́ntúkú', 'Pɛsaŋ Saambá', 'Pɛsaŋ Pɛ́nɛ́fɔm', 'Pɛsaŋ Pɛ́nɛ́pfúꞋú', 'Pɛsaŋ Nɛgɛ́m', 'Pɛsaŋ Ntsɔ̌pmɔ́', 'Pɛsaŋ Ntsɔ̌ppá'], + STANDALONEMONTHS: ['Nduŋmbi Saŋ', 'Pɛsaŋ Pɛ́pá', 'Pɛsaŋ Pɛ́tát', 'Pɛsaŋ Pɛ́nɛ́kwa', 'Pɛsaŋ Pataa', 'Pɛsaŋ Pɛ́nɛ́ntúkú', 'Pɛsaŋ Saambá', 'Pɛsaŋ Pɛ́nɛ́fɔm', 'Pɛsaŋ Pɛ́nɛ́pfúꞋú', 'Pɛsaŋ Nɛgɛ́m', 'Pɛsaŋ Ntsɔ̌pmɔ́', 'Pɛsaŋ Ntsɔ̌ppá'], + SHORTMONTHS: ['Nduŋmbi Saŋ', 'Pɛsaŋ Pɛ́pá', 'Pɛsaŋ Pɛ́tát', 'Pɛsaŋ Pɛ́nɛ́kwa', 'Pɛsaŋ Pataa', 'Pɛsaŋ Pɛ́nɛ́ntúkú', 'Pɛsaŋ Saambá', 'Pɛsaŋ Pɛ́nɛ́fɔm', 'Pɛsaŋ Pɛ́nɛ́pfúꞋú', 'Pɛsaŋ Nɛgɛ́m', 'Pɛsaŋ Ntsɔ̌pmɔ́', 'Pɛsaŋ Ntsɔ̌ppá'], + STANDALONESHORTMONTHS: ['Nduŋmbi Saŋ', 'Pɛsaŋ Pɛ́pá', 'Pɛsaŋ Pɛ́tát', 'Pɛsaŋ Pɛ́nɛ́kwa', 'Pɛsaŋ Pataa', 'Pɛsaŋ Pɛ́nɛ́ntúkú', 'Pɛsaŋ Saambá', 'Pɛsaŋ Pɛ́nɛ́fɔm', 'Pɛsaŋ Pɛ́nɛ́pfúꞋú', 'Pɛsaŋ Nɛgɛ́m', 'Pɛsaŋ Ntsɔ̌pmɔ́', 'Pɛsaŋ Ntsɔ̌ppá'], + WEEKDAYS: ['Sɔ́ndi', 'Mɔ́ndi', 'Ápta Mɔ́ndi', 'Wɛ́nɛsɛdɛ', 'Tɔ́sɛdɛ', 'Fɛlâyɛdɛ', 'Sásidɛ'], + STANDALONEWEEKDAYS: ['Sɔ́ndi', 'Mɔ́ndi', 'Ápta Mɔ́ndi', 'Wɛ́nɛsɛdɛ', 'Tɔ́sɛdɛ', 'Fɛlâyɛdɛ', 'Sásidɛ'], + SHORTWEEKDAYS: ['Sɔ́ndi', 'Mɔ́ndi', 'Ápta Mɔ́ndi', 'Wɛ́nɛsɛdɛ', 'Tɔ́sɛdɛ', 'Fɛlâyɛdɛ', 'Sásidɛ'], + STANDALONESHORTWEEKDAYS: ['Sɔ́ndi', 'Mɔ́ndi', 'Ápta Mɔ́ndi', 'Wɛ́nɛsɛdɛ', 'Tɔ́sɛdɛ', 'Fɛlâyɛdɛ', 'Sásidɛ'], + NARROWWEEKDAYS: ['Sɔ́', 'Mɔ́', 'ÁM', 'Wɛ́', 'Tɔ́', 'Fɛ', 'Sá'], + STANDALONENARROWWEEKDAYS: ['Sɔ́', 'Mɔ́', 'ÁM', 'Wɛ́', 'Tɔ́', 'Fɛ', 'Sá'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + AMPMS: ['mbaꞌmbaꞌ', 'ŋka mbɔ́t nji'], + DATEFORMATS: ['EEEE, y MMMM dd', 'y MMMM d', 'y MMM d', 'y-MM-dd'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 5 + FIRSTWEEKCUTOFFDAY: 6 }; +/** + * Date/time formatting symbols for locale jgo_CM. + */ +goog.i18n.DateTimeSymbols_jgo_CM = goog.i18n.DateTimeSymbols_jgo; + + /** * Date/time formatting symbols for locale jmc. */ @@ -7663,20 +8093,13 @@ goog.i18n.DateTimeSymbols_jmc = { ERAS: ['KK', 'BK'], ERANAMES: ['Kabla ya Kristu', 'Baada ya Kristu'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['Januari', 'Februari', 'Machi', 'Aprilyi', 'Mei', 'Junyi', 'Julyai', - 'Agusti', 'Septemba', 'Oktoba', 'Novemba', 'Desemba'], - STANDALONEMONTHS: ['Januari', 'Februari', 'Machi', 'Aprilyi', 'Mei', 'Junyi', - 'Julyai', 'Agusti', 'Septemba', 'Oktoba', 'Novemba', 'Desemba'], - SHORTMONTHS: ['Jan', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Jul', 'Ago', 'Sep', - 'Okt', 'Nov', 'Des'], - STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Jul', - 'Ago', 'Sep', 'Okt', 'Nov', 'Des'], - WEEKDAYS: ['Jumapilyi', 'Jumatatuu', 'Jumanne', 'Jumatanu', 'Alhamisi', - 'Ijumaa', 'Jumamosi'], - STANDALONEWEEKDAYS: ['Jumapilyi', 'Jumatatuu', 'Jumanne', 'Jumatanu', - 'Alhamisi', 'Ijumaa', 'Jumamosi'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['Januari', 'Februari', 'Machi', 'Aprilyi', 'Mei', 'Junyi', 'Julyai', 'Agusti', 'Septemba', 'Oktoba', 'Novemba', 'Desemba'], + STANDALONEMONTHS: ['Januari', 'Februari', 'Machi', 'Aprilyi', 'Mei', 'Junyi', 'Julyai', 'Agusti', 'Septemba', 'Oktoba', 'Novemba', 'Desemba'], + SHORTMONTHS: ['Jan', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Jul', 'Ago', 'Sep', 'Okt', 'Nov', 'Des'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Jul', 'Ago', 'Sep', 'Okt', 'Nov', 'Des'], + WEEKDAYS: ['Jumapilyi', 'Jumatatuu', 'Jumanne', 'Jumatanu', 'Alhamisi', 'Ijumaa', 'Jumamosi'], + STANDALONEWEEKDAYS: ['Jumapilyi', 'Jumatatuu', 'Jumanne', 'Jumatanu', 'Alhamisi', 'Ijumaa', 'Jumamosi'], SHORTWEEKDAYS: ['Jpi', 'Jtt', 'Jnn', 'Jtn', 'Alh', 'Iju', 'Jmo'], STANDALONESHORTWEEKDAYS: ['Jpi', 'Jtt', 'Jnn', 'Jtn', 'Alh', 'Iju', 'Jmo'], NARROWWEEKDAYS: ['J', 'J', 'J', 'J', 'A', 'I', 'J'], @@ -7684,8 +8107,9 @@ goog.i18n.DateTimeSymbols_jmc = { SHORTQUARTERS: ['R1', 'R2', 'R3', 'R4'], QUARTERS: ['Robo 1', 'Robo 2', 'Robo 3', 'Robo 4'], AMPMS: ['utuko', 'kyiukonyi'], - DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yyyy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -7698,61 +8122,6 @@ goog.i18n.DateTimeSymbols_jmc = { goog.i18n.DateTimeSymbols_jmc_TZ = goog.i18n.DateTimeSymbols_jmc; -/** - * Date/time formatting symbols for locale ka. - */ -goog.i18n.DateTimeSymbols_ka = { - ERAS: ['ჩვენს წელთაღრიცხვამდე', - 'ჩვენი წელთაღრიცხვით'], - ERANAMES: ['ჩვენს წელთაღრიცხვამდე', - 'ჩვენი წელთაღრიცხვით'], - NARROWMONTHS: ['ი', 'თ', 'მ', 'ა', 'მ', 'ი', 'ი', 'ა', 'ს', - 'ო', 'ნ', 'დ'], - STANDALONENARROWMONTHS: ['ი', 'თ', 'მ', 'ა', 'მ', 'ი', 'ი', - 'ა', 'ს', 'ო', 'ნ', 'დ'], - MONTHS: ['იანვარი', 'თებერვალი', - 'მარტი', 'აპრილი', 'მაისი', - 'ივნისი', 'ივლის', 'აგვისტო', - 'სექტემბერი', 'ოქტომბერი', - 'ნოემბერი', 'დეკემბერი'], - STANDALONEMONTHS: ['იანვარი', 'თებერვალი', - 'მარტი', 'აპრილი', 'მაისი', - 'ივნისი', 'ივლის', 'აგვისტო', - 'სექტემბერი', 'ოქტომბერი', - 'ნოემბერი', 'დეკემბერი'], - SHORTMONTHS: ['იან', 'თებ', 'მარ', 'აპრ', 'მაი', - 'ივნ', 'ივლ', 'აგვ', 'სექ', 'ოქტ', - 'ნოე', 'დეკ'], - STANDALONESHORTMONTHS: ['იან', 'თებ', 'მარ', 'აპრ', - 'მაი', 'ივნ', 'ივლ', 'აგვ', 'სექ', - 'ოქტ', 'ნოე', 'დეკ'], - WEEKDAYS: ['კვირა', 'ორშაბათი', - 'სამშაბათი', 'ოთხშაბათი', - 'ხუთშაბათი', 'პარასკევი', - 'შაბათი'], - STANDALONEWEEKDAYS: ['კვირა', 'ორშაბათი', - 'სამშაბათი', 'ოთხშაბათი', - 'ხუთშაბათი', 'პარასკევი', - 'შაბათი'], - SHORTWEEKDAYS: ['კვი', 'ორშ', 'სამ', 'ოთხ', - 'ხუთ', 'პარ', 'შაბ'], - STANDALONESHORTWEEKDAYS: ['კვი', 'ორშ', 'სამ', 'ოთხ', - 'ხუთ', 'პარ', 'შაბ'], - NARROWWEEKDAYS: ['კ', 'ო', 'ს', 'ო', 'ხ', 'პ', 'შ'], - STANDALONENARROWWEEKDAYS: ['კ', 'ო', 'ს', 'ო', 'ხ', 'პ', 'შ'], - SHORTQUARTERS: ['I კვ.', 'II კვ.', 'III კვ.', 'IV კვ.'], - QUARTERS: ['1-ლი კვარტალი', - 'მე-2 კვარტალი', 'მე-3 კვარტალი', - 'მე-4 კვარტალი'], - AMPMS: ['დილის', 'საღამოს'], - DATEFORMATS: ['EEEE, y MMMM dd', 'y MMMM d', 'y MMM d', 'yy/MM/dd'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 6 -}; - - /** * Date/time formatting symbols for locale ka_GE. */ @@ -7766,35 +8135,26 @@ goog.i18n.DateTimeSymbols_kab = { ERAS: ['snd. T.Ɛ', 'sld. T.Ɛ'], ERANAMES: ['send talalit n Ɛisa', 'seld talalit n Ɛisa'], NARROWMONTHS: ['Y', 'F', 'M', 'Y', 'M', 'Y', 'Y', 'Ɣ', 'C', 'T', 'N', 'D'], - STANDALONENARROWMONTHS: ['Y', 'F', 'M', 'Y', 'M', 'Y', 'Y', 'Ɣ', 'C', 'T', - 'N', 'D'], - MONTHS: ['Yennayer', 'Fuṛar', 'Meɣres', 'Yebrir', 'Mayyu', 'Yunyu', - 'Yulyu', 'Ɣuct', 'Ctembeṛ', 'Tubeṛ', 'Nunembeṛ', 'Duǧembeṛ'], - STANDALONEMONTHS: ['Yennayer', 'Fuṛar', 'Meɣres', 'Yebrir', 'Mayyu', - 'Yunyu', 'Yulyu', 'Ɣuct', 'Ctembeṛ', 'Tubeṛ', 'Nunembeṛ', - 'Duǧembeṛ'], - SHORTMONTHS: ['Yen', 'Fur', 'Meɣ', 'Yeb', 'May', 'Yun', 'Yul', 'Ɣuc', 'Cte', - 'Tub', 'Nun', 'Duǧ'], - STANDALONESHORTMONTHS: ['Yen', 'Fur', 'Meɣ', 'Yeb', 'May', 'Yun', 'Yul', - 'Ɣuc', 'Cte', 'Tub', 'Nun', 'Duǧ'], - WEEKDAYS: ['Yanass', 'Sanass', 'Kraḍass', 'Kuẓass', 'Samass', 'Sḍisass', - 'Sayass'], - STANDALONEWEEKDAYS: ['Yanass', 'Sanass', 'Kraḍass', 'Kuẓass', 'Samass', - 'Sḍisass', 'Sayass'], + STANDALONENARROWMONTHS: ['Y', 'F', 'M', 'Y', 'M', 'Y', 'Y', 'Ɣ', 'C', 'T', 'N', 'D'], + MONTHS: ['Yennayer', 'Fuṛar', 'Meɣres', 'Yebrir', 'Mayyu', 'Yunyu', 'Yulyu', 'Ɣuct', 'Ctembeṛ', 'Tubeṛ', 'Nunembeṛ', 'Duǧembeṛ'], + STANDALONEMONTHS: ['Yennayer', 'Fuṛar', 'Meɣres', 'Yebrir', 'Mayyu', 'Yunyu', 'Yulyu', 'Ɣuct', 'Ctembeṛ', 'Tubeṛ', 'Nunembeṛ', 'Duǧembeṛ'], + SHORTMONTHS: ['Yen', 'Fur', 'Meɣ', 'Yeb', 'May', 'Yun', 'Yul', 'Ɣuc', 'Cte', 'Tub', 'Nun', 'Duǧ'], + STANDALONESHORTMONTHS: ['Yen', 'Fur', 'Meɣ', 'Yeb', 'May', 'Yun', 'Yul', 'Ɣuc', 'Cte', 'Tub', 'Nun', 'Duǧ'], + WEEKDAYS: ['Yanass', 'Sanass', 'Kraḍass', 'Kuẓass', 'Samass', 'Sḍisass', 'Sayass'], + STANDALONEWEEKDAYS: ['Yanass', 'Sanass', 'Kraḍass', 'Kuẓass', 'Samass', 'Sḍisass', 'Sayass'], SHORTWEEKDAYS: ['Yan', 'San', 'Kraḍ', 'Kuẓ', 'Sam', 'Sḍis', 'Say'], - STANDALONESHORTWEEKDAYS: ['Yan', 'San', 'Kraḍ', 'Kuẓ', 'Sam', 'Sḍis', - 'Say'], + STANDALONESHORTWEEKDAYS: ['Yan', 'San', 'Kraḍ', 'Kuẓ', 'Sam', 'Sḍis', 'Say'], NARROWWEEKDAYS: ['Y', 'S', 'K', 'K', 'S', 'S', 'S'], STANDALONENARROWWEEKDAYS: ['Y', 'S', 'K', 'K', 'S', 'S', 'S'], SHORTQUARTERS: ['Kḍg1', 'Kḍg2', 'Kḍg3', 'Kḍg4'], - QUARTERS: ['akraḍaggur amenzu', 'akraḍaggur wis-sin', - 'akraḍaggur wis-kraḍ', 'akraḍaggur wis-kuẓ'], + QUARTERS: ['akraḍaggur amenzu', 'akraḍaggur wis-sin', 'akraḍaggur wis-kraḍ', 'akraḍaggur wis-kuẓ'], AMPMS: ['n tufat', 'n tmeddit'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM, y', 'd/M/yyyy'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 6 + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM, y', 'd/M/y'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 5, + WEEKENDRANGE: [4, 5], + FIRSTWEEKCUTOFFDAY: 4 }; @@ -7811,37 +8171,26 @@ goog.i18n.DateTimeSymbols_kam = { ERAS: ['MY', 'IY'], ERANAMES: ['Mbee wa Yesũ', 'Ĩtina wa Yesũ'], NARROWMONTHS: ['M', 'K', 'K', 'K', 'K', 'T', 'M', 'N', 'K', 'Ĩ', 'Ĩ', 'Ĩ'], - STANDALONENARROWMONTHS: ['M', 'K', 'K', 'K', 'K', 'T', 'M', 'N', 'K', 'Ĩ', - 'Ĩ', 'Ĩ'], - MONTHS: ['Mwai wa mbee', 'Mwai wa kelĩ', 'Mwai wa katatũ', 'Mwai wa kana', - 'Mwai wa katano', 'Mwai wa thanthatũ', 'Mwai wa muonza', - 'Mwai wa nyaanya', 'Mwai wa kenda', 'Mwai wa ĩkumi', - 'Mwai wa ĩkumi na ĩmwe', 'Mwai wa ĩkumi na ilĩ'], - STANDALONEMONTHS: ['Mwai wa mbee', 'Mwai wa kelĩ', 'Mwai wa katatũ', - 'Mwai wa kana', 'Mwai wa katano', 'Mwai wa thanthatũ', 'Mwai wa muonza', - 'Mwai wa nyaanya', 'Mwai wa kenda', 'Mwai wa ĩkumi', - 'Mwai wa ĩkumi na ĩmwe', 'Mwai wa ĩkumi na ilĩ'], - SHORTMONTHS: ['Mbe', 'Kel', 'Ktũ', 'Kan', 'Ktn', 'Tha', 'Moo', 'Nya', 'Knd', - 'Ĩku', 'Ĩkm', 'Ĩkl'], - STANDALONESHORTMONTHS: ['Mbe', 'Kel', 'Ktũ', 'Kan', 'Ktn', 'Tha', 'Moo', - 'Nya', 'Knd', 'Ĩku', 'Ĩkm', 'Ĩkl'], - WEEKDAYS: ['Wa kyumwa', 'Wa kwambĩlĩlya', 'Wa kelĩ', 'Wa katatũ', - 'Wa kana', 'Wa katano', 'Wa thanthatũ'], - STANDALONEWEEKDAYS: ['Wa kyumwa', 'Wa kwambĩlĩlya', 'Wa kelĩ', - 'Wa katatũ', 'Wa kana', 'Wa katano', 'Wa thanthatũ'], + STANDALONENARROWMONTHS: ['M', 'K', 'K', 'K', 'K', 'T', 'M', 'N', 'K', 'Ĩ', 'Ĩ', 'Ĩ'], + MONTHS: ['Mwai wa mbee', 'Mwai wa kelĩ', 'Mwai wa katatũ', 'Mwai wa kana', 'Mwai wa katano', 'Mwai wa thanthatũ', 'Mwai wa muonza', 'Mwai wa nyaanya', 'Mwai wa kenda', 'Mwai wa ĩkumi', 'Mwai wa ĩkumi na ĩmwe', 'Mwai wa ĩkumi na ilĩ'], + STANDALONEMONTHS: ['Mwai wa mbee', 'Mwai wa kelĩ', 'Mwai wa katatũ', 'Mwai wa kana', 'Mwai wa katano', 'Mwai wa thanthatũ', 'Mwai wa muonza', 'Mwai wa nyaanya', 'Mwai wa kenda', 'Mwai wa ĩkumi', 'Mwai wa ĩkumi na ĩmwe', 'Mwai wa ĩkumi na ilĩ'], + SHORTMONTHS: ['Mbe', 'Kel', 'Ktũ', 'Kan', 'Ktn', 'Tha', 'Moo', 'Nya', 'Knd', 'Ĩku', 'Ĩkm', 'Ĩkl'], + STANDALONESHORTMONTHS: ['Mbe', 'Kel', 'Ktũ', 'Kan', 'Ktn', 'Tha', 'Moo', 'Nya', 'Knd', 'Ĩku', 'Ĩkm', 'Ĩkl'], + WEEKDAYS: ['Wa kyumwa', 'Wa kwambĩlĩlya', 'Wa kelĩ', 'Wa katatũ', 'Wa kana', 'Wa katano', 'Wa thanthatũ'], + STANDALONEWEEKDAYS: ['Wa kyumwa', 'Wa kwambĩlĩlya', 'Wa kelĩ', 'Wa katatũ', 'Wa kana', 'Wa katano', 'Wa thanthatũ'], SHORTWEEKDAYS: ['Wky', 'Wkw', 'Wkl', 'Wtũ', 'Wkn', 'Wtn', 'Wth'], STANDALONESHORTWEEKDAYS: ['Wky', 'Wkw', 'Wkl', 'Wtũ', 'Wkn', 'Wtn', 'Wth'], NARROWWEEKDAYS: ['Y', 'W', 'E', 'A', 'A', 'A', 'A'], STANDALONENARROWWEEKDAYS: ['Y', 'W', 'E', 'A', 'A', 'A', 'A'], SHORTQUARTERS: ['L1', 'L2', 'L3', 'L4'], - QUARTERS: ['Lovo ya mbee', 'Lovo ya kelĩ', 'Lovo ya katatũ', - 'Lovo ya kana'], + QUARTERS: ['Lovo ya mbee', 'Lovo ya kelĩ', 'Lovo ya katatũ', 'Lovo ya kana'], AMPMS: ['Ĩyakwakya', 'Ĩyawĩoo'], - DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yyyy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], - FIRSTDAYOFWEEK: 0, + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 6, WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 6 + FIRSTWEEKCUTOFFDAY: 5 }; @@ -7858,28 +8207,13 @@ goog.i18n.DateTimeSymbols_kde = { ERAS: ['AY', 'NY'], ERANAMES: ['Akanapawa Yesu', 'Nankuida Yesu'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['Mwedi Ntandi', 'Mwedi wa Pili', 'Mwedi wa Tatu', 'Mwedi wa Nchechi', - 'Mwedi wa Nnyano', 'Mwedi wa Nnyano na Umo', 'Mwedi wa Nnyano na Mivili', - 'Mwedi wa Nnyano na Mitatu', 'Mwedi wa Nnyano na Nchechi', - 'Mwedi wa Nnyano na Nnyano', 'Mwedi wa Nnyano na Nnyano na U', - 'Mwedi wa Nnyano na Nnyano na M'], - STANDALONEMONTHS: ['Mwedi Ntandi', 'Mwedi wa Pili', 'Mwedi wa Tatu', - 'Mwedi wa Nchechi', 'Mwedi wa Nnyano', 'Mwedi wa Nnyano na Umo', - 'Mwedi wa Nnyano na Mivili', 'Mwedi wa Nnyano na Mitatu', - 'Mwedi wa Nnyano na Nchechi', 'Mwedi wa Nnyano na Nnyano', - 'Mwedi wa Nnyano na Nnyano na U', 'Mwedi wa Nnyano na Nnyano na M'], - SHORTMONTHS: ['Jan', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Jul', 'Ago', 'Sep', - 'Okt', 'Nov', 'Des'], - STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Jul', - 'Ago', 'Sep', 'Okt', 'Nov', 'Des'], - WEEKDAYS: ['Liduva lyapili', 'Liduva lyatatu', 'Liduva lyanchechi', - 'Liduva lyannyano', 'Liduva lyannyano na linji', - 'Liduva lyannyano na mavili', 'Liduva litandi'], - STANDALONEWEEKDAYS: ['Liduva lyapili', 'Liduva lyatatu', 'Liduva lyanchechi', - 'Liduva lyannyano', 'Liduva lyannyano na linji', - 'Liduva lyannyano na mavili', 'Liduva litandi'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['Mwedi Ntandi', 'Mwedi wa Pili', 'Mwedi wa Tatu', 'Mwedi wa Nchechi', 'Mwedi wa Nnyano', 'Mwedi wa Nnyano na Umo', 'Mwedi wa Nnyano na Mivili', 'Mwedi wa Nnyano na Mitatu', 'Mwedi wa Nnyano na Nchechi', 'Mwedi wa Nnyano na Nnyano', 'Mwedi wa Nnyano na Nnyano na U', 'Mwedi wa Nnyano na Nnyano na M'], + STANDALONEMONTHS: ['Mwedi Ntandi', 'Mwedi wa Pili', 'Mwedi wa Tatu', 'Mwedi wa Nchechi', 'Mwedi wa Nnyano', 'Mwedi wa Nnyano na Umo', 'Mwedi wa Nnyano na Mivili', 'Mwedi wa Nnyano na Mitatu', 'Mwedi wa Nnyano na Nchechi', 'Mwedi wa Nnyano na Nnyano', 'Mwedi wa Nnyano na Nnyano na U', 'Mwedi wa Nnyano na Nnyano na M'], + SHORTMONTHS: ['Jan', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Jul', 'Ago', 'Sep', 'Okt', 'Nov', 'Des'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Jul', 'Ago', 'Sep', 'Okt', 'Nov', 'Des'], + WEEKDAYS: ['Liduva lyapili', 'Liduva lyatatu', 'Liduva lyanchechi', 'Liduva lyannyano', 'Liduva lyannyano na linji', 'Liduva lyannyano na mavili', 'Liduva litandi'], + STANDALONEWEEKDAYS: ['Liduva lyapili', 'Liduva lyatatu', 'Liduva lyanchechi', 'Liduva lyannyano', 'Liduva lyannyano na linji', 'Liduva lyannyano na mavili', 'Liduva litandi'], SHORTWEEKDAYS: ['Ll2', 'Ll3', 'Ll4', 'Ll5', 'Ll6', 'Ll7', 'Ll1'], STANDALONESHORTWEEKDAYS: ['Ll2', 'Ll3', 'Ll4', 'Ll5', 'Ll6', 'Ll7', 'Ll1'], NARROWWEEKDAYS: ['2', '3', '4', '5', '6', '7', '1'], @@ -7887,8 +8221,9 @@ goog.i18n.DateTimeSymbols_kde = { SHORTQUARTERS: ['L1', 'L2', 'L3', 'L4'], QUARTERS: ['Lobo 1', 'Lobo 2', 'Lobo 3', 'Lobo 4'], AMPMS: ['Muhi', 'Chilo'], - DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yyyy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -7908,31 +8243,23 @@ goog.i18n.DateTimeSymbols_kea = { ERAS: ['AK', 'DK'], ERANAMES: ['Antis di Kristu', 'Dispos di Kristu'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['Janeru', 'Fevereru', 'Marsu', 'Abril', 'Maiu', 'Junhu', 'Julhu', - 'Agostu', 'Setenbru', 'Otubru', 'Nuvenbru', 'Dizenbru'], - STANDALONEMONTHS: ['Janeru', 'Fevereru', 'Marsu', 'Abril', 'Maiu', 'Junhu', - 'Julhu', 'Agostu', 'Setenbru', 'Otubru', 'Nuvenbru', 'Dizenbru'], - SHORTMONTHS: ['Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun', 'Jul', 'Ago', 'Set', - 'Otu', 'Nuv', 'Diz'], - STANDALONESHORTMONTHS: ['Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun', 'Jul', - 'Ago', 'Set', 'Otu', 'Nuv', 'Diz'], - WEEKDAYS: ['dumingu', 'sigunda-fera', 'tersa-fera', 'kuarta-fera', - 'kinta-fera', 'sesta-fera', 'sabadu'], - STANDALONEWEEKDAYS: ['dumingu', 'sigunda-fera', 'tersa-fera', 'kuarta-fera', - 'kinta-fera', 'sesta-fera', 'sabadu'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['Janeru', 'Febreru', 'Marsu', 'Abril', 'Maiu', 'Junhu', 'Julhu', 'Agostu', 'Setenbru', 'Otubru', 'Nuvenbru', 'Dizenbru'], + STANDALONEMONTHS: ['Janeru', 'Febreru', 'Marsu', 'Abril', 'Maiu', 'Junhu', 'Julhu', 'Agostu', 'Setenbru', 'Otubru', 'Nuvenbru', 'Dizenbru'], + SHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Abr', 'Mai', 'Jun', 'Jul', 'Ago', 'Set', 'Otu', 'Nuv', 'Diz'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Abr', 'Mai', 'Jun', 'Jul', 'Ago', 'Set', 'Otu', 'Nuv', 'Diz'], + WEEKDAYS: ['dumingu', 'sigunda-fera', 'tersa-fera', 'kuarta-fera', 'kinta-fera', 'sesta-fera', 'sabadu'], + STANDALONEWEEKDAYS: ['dumingu', 'sigunda-fera', 'tersa-fera', 'kuarta-fera', 'kinta-fera', 'sesta-fera', 'sábadu'], SHORTWEEKDAYS: ['dum', 'sig', 'ter', 'kua', 'kin', 'ses', 'sab'], STANDALONESHORTWEEKDAYS: ['dum', 'sig', 'ter', 'kua', 'kin', 'ses', 'sab'], - NARROWWEEKDAYS: ['d', 's', 't', 'k', 'k', 's', 's'], - STANDALONENARROWWEEKDAYS: ['d', 's', 't', 'k', 'k', 's', 's'], + NARROWWEEKDAYS: ['D', 'S', 'T', 'K', 'K', 'S', 'S'], + STANDALONENARROWWEEKDAYS: ['D', 'S', 'T', 'K', 'K', 'S', 'S'], SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], - QUARTERS: ['Primeru Trimestri', 'Sigundu Trimestri', 'Terseru Trimestri', - 'Kuartu Trimestri'], + QUARTERS: ['1º trimestri', '2º trimestri', '3º trimestri', '4º trimestri'], AMPMS: ['am', 'pm'], - DATEFORMATS: ['EEEE, d \'di\' MMMM \'di\' y', 'd \'di\' MMMM \'di\' y', - 'd \'di\' MMM \'di\' y', 'd/M/yyyy'], + DATEFORMATS: ['EEEE, d \'di\' MMMM \'di\' y', 'd \'di\' MMMM \'di\' y', 'd MMM y', 'd/M/y'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -7952,21 +8279,13 @@ goog.i18n.DateTimeSymbols_khq = { ERAS: ['IJ', 'IZ'], ERANAMES: ['Isaa jine', 'Isaa jamanoo'], NARROWMONTHS: ['Ž', 'F', 'M', 'A', 'M', 'Ž', 'Ž', 'U', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['Ž', 'F', 'M', 'A', 'M', 'Ž', 'Ž', 'U', 'S', 'O', - 'N', 'D'], - MONTHS: ['Žanwiye', 'Feewiriye', 'Marsi', 'Awiril', 'Me', 'Žuweŋ', - 'Žuyye', 'Ut', 'Sektanbur', 'Oktoobur', 'Noowanbur', 'Deesanbur'], - STANDALONEMONTHS: ['Žanwiye', 'Feewiriye', 'Marsi', 'Awiril', 'Me', - 'Žuweŋ', 'Žuyye', 'Ut', 'Sektanbur', 'Oktoobur', 'Noowanbur', - 'Deesanbur'], - SHORTMONTHS: ['Žan', 'Fee', 'Mar', 'Awi', 'Me', 'Žuw', 'Žuy', 'Ut', 'Sek', - 'Okt', 'Noo', 'Dee'], - STANDALONESHORTMONTHS: ['Žan', 'Fee', 'Mar', 'Awi', 'Me', 'Žuw', 'Žuy', - 'Ut', 'Sek', 'Okt', 'Noo', 'Dee'], - WEEKDAYS: ['Alhadi', 'Atini', 'Atalata', 'Alarba', 'Alhamiisa', 'Aljuma', - 'Assabdu'], - STANDALONEWEEKDAYS: ['Alhadi', 'Atini', 'Atalata', 'Alarba', 'Alhamiisa', - 'Aljuma', 'Assabdu'], + STANDALONENARROWMONTHS: ['Ž', 'F', 'M', 'A', 'M', 'Ž', 'Ž', 'U', 'S', 'O', 'N', 'D'], + MONTHS: ['Žanwiye', 'Feewiriye', 'Marsi', 'Awiril', 'Me', 'Žuweŋ', 'Žuyye', 'Ut', 'Sektanbur', 'Oktoobur', 'Noowanbur', 'Deesanbur'], + STANDALONEMONTHS: ['Žanwiye', 'Feewiriye', 'Marsi', 'Awiril', 'Me', 'Žuweŋ', 'Žuyye', 'Ut', 'Sektanbur', 'Oktoobur', 'Noowanbur', 'Deesanbur'], + SHORTMONTHS: ['Žan', 'Fee', 'Mar', 'Awi', 'Me', 'Žuw', 'Žuy', 'Ut', 'Sek', 'Okt', 'Noo', 'Dee'], + STANDALONESHORTMONTHS: ['Žan', 'Fee', 'Mar', 'Awi', 'Me', 'Žuw', 'Žuy', 'Ut', 'Sek', 'Okt', 'Noo', 'Dee'], + WEEKDAYS: ['Alhadi', 'Atini', 'Atalata', 'Alarba', 'Alhamiisa', 'Aljuma', 'Assabdu'], + STANDALONEWEEKDAYS: ['Alhadi', 'Atini', 'Atalata', 'Alarba', 'Alhamiisa', 'Aljuma', 'Assabdu'], SHORTWEEKDAYS: ['Alh', 'Ati', 'Ata', 'Ala', 'Alm', 'Alj', 'Ass'], STANDALONESHORTWEEKDAYS: ['Alh', 'Ati', 'Ata', 'Ala', 'Alm', 'Alj', 'Ass'], NARROWWEEKDAYS: ['H', 'T', 'T', 'L', 'L', 'L', 'S'], @@ -7974,8 +8293,9 @@ goog.i18n.DateTimeSymbols_khq = { SHORTQUARTERS: ['A1', 'A2', 'A3', 'A4'], QUARTERS: ['Arrubu 1', 'Arrubu 2', 'Arrubu 3', 'Arrubu 4'], AMPMS: ['Adduha', 'Aluula'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM, y', 'd/M/yyyy'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM, y', 'd/M/y'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -7995,37 +8315,26 @@ goog.i18n.DateTimeSymbols_ki = { ERAS: ['MK', 'TK'], ERANAMES: ['Mbere ya Kristo', 'Thutha wa Kristo'], NARROWMONTHS: ['J', 'K', 'G', 'K', 'G', 'G', 'M', 'K', 'K', 'I', 'I', 'D'], - STANDALONENARROWMONTHS: ['J', 'K', 'G', 'K', 'G', 'G', 'M', 'K', 'K', 'I', - 'I', 'D'], - MONTHS: ['Njenuarĩ', 'Mwere wa kerĩ', 'Mwere wa gatatũ', 'Mwere wa kana', - 'Mwere wa gatano', 'Mwere wa gatandatũ', 'Mwere wa mũgwanja', - 'Mwere wa kanana', 'Mwere wa kenda', 'Mwere wa ikũmi', - 'Mwere wa ikũmi na ũmwe', 'Ndithemba'], - STANDALONEMONTHS: ['Njenuarĩ', 'Mwere wa kerĩ', 'Mwere wa gatatũ', - 'Mwere wa kana', 'Mwere wa gatano', 'Mwere wa gatandatũ', - 'Mwere wa mũgwanja', 'Mwere wa kanana', 'Mwere wa kenda', - 'Mwere wa ikũmi', 'Mwere wa ikũmi na ũmwe', 'Ndithemba'], - SHORTMONTHS: ['JEN', 'WKR', 'WGT', 'WKN', 'WTN', 'WTD', 'WMJ', 'WNN', 'WKD', - 'WIK', 'WMW', 'DIT'], - STANDALONESHORTMONTHS: ['JEN', 'WKR', 'WGT', 'WKN', 'WTN', 'WTD', 'WMJ', - 'WNN', 'WKD', 'WIK', 'WMW', 'DIT'], - WEEKDAYS: ['Kiumia', 'Njumatatũ', 'Njumaine', 'Njumatana', 'Aramithi', - 'Njumaa', 'Njumamothi'], - STANDALONEWEEKDAYS: ['Kiumia', 'Njumatatũ', 'Njumaine', 'Njumatana', - 'Aramithi', 'Njumaa', 'Njumamothi'], + STANDALONENARROWMONTHS: ['J', 'K', 'G', 'K', 'G', 'G', 'M', 'K', 'K', 'I', 'I', 'D'], + MONTHS: ['Njenuarĩ', 'Mwere wa kerĩ', 'Mwere wa gatatũ', 'Mwere wa kana', 'Mwere wa gatano', 'Mwere wa gatandatũ', 'Mwere wa mũgwanja', 'Mwere wa kanana', 'Mwere wa kenda', 'Mwere wa ikũmi', 'Mwere wa ikũmi na ũmwe', 'Ndithemba'], + STANDALONEMONTHS: ['Njenuarĩ', 'Mwere wa kerĩ', 'Mwere wa gatatũ', 'Mwere wa kana', 'Mwere wa gatano', 'Mwere wa gatandatũ', 'Mwere wa mũgwanja', 'Mwere wa kanana', 'Mwere wa kenda', 'Mwere wa ikũmi', 'Mwere wa ikũmi na ũmwe', 'Ndithemba'], + SHORTMONTHS: ['JEN', 'WKR', 'WGT', 'WKN', 'WTN', 'WTD', 'WMJ', 'WNN', 'WKD', 'WIK', 'WMW', 'DIT'], + STANDALONESHORTMONTHS: ['JEN', 'WKR', 'WGT', 'WKN', 'WTN', 'WTD', 'WMJ', 'WNN', 'WKD', 'WIK', 'WMW', 'DIT'], + WEEKDAYS: ['Kiumia', 'Njumatatũ', 'Njumaine', 'Njumatana', 'Aramithi', 'Njumaa', 'Njumamothi'], + STANDALONEWEEKDAYS: ['Kiumia', 'Njumatatũ', 'Njumaine', 'Njumatana', 'Aramithi', 'Njumaa', 'Njumamothi'], SHORTWEEKDAYS: ['KMA', 'NTT', 'NMN', 'NMT', 'ART', 'NMA', 'NMM'], STANDALONESHORTWEEKDAYS: ['KMA', 'NTT', 'NMN', 'NMT', 'ART', 'NMA', 'NMM'], NARROWWEEKDAYS: ['K', 'N', 'N', 'N', 'A', 'N', 'N'], STANDALONENARROWWEEKDAYS: ['K', 'N', 'N', 'N', 'A', 'N', 'N'], SHORTQUARTERS: ['R1', 'R2', 'R3', 'R4'], - QUARTERS: ['Robo ya mbere', 'Robo ya kerĩ', 'Robo ya gatatũ', - 'Robo ya kana'], + QUARTERS: ['Robo ya mbere', 'Robo ya kerĩ', 'Robo ya gatatũ', 'Robo ya kana'], AMPMS: ['Kiroko', 'Hwaĩ-inĩ'], - DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yyyy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], - FIRSTDAYOFWEEK: 0, + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 6, WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 6 + FIRSTWEEKCUTOFFDAY: 5 }; @@ -8036,44 +8345,35 @@ goog.i18n.DateTimeSymbols_ki_KE = goog.i18n.DateTimeSymbols_ki; /** - * Date/time formatting symbols for locale kk. + * Date/time formatting symbols for locale kk_KZ. + */ +goog.i18n.DateTimeSymbols_kk_KZ = goog.i18n.DateTimeSymbols_kk; + + +/** + * Date/time formatting symbols for locale kkj. */ -goog.i18n.DateTimeSymbols_kk = { +goog.i18n.DateTimeSymbols_kkj = { ERAS: ['BCE', 'CE'], ERANAMES: ['BCE', 'CE'], NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], - STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', - '11', '12'], - MONTHS: ['қаңтар', 'ақпан', 'наурыз', 'сәуір', - 'мамыр', 'маусым', 'шілде', 'тамыз', - 'қыркүйек', 'қазан', 'қараша', 'желтоқсан'], - STANDALONEMONTHS: ['қаңтар', 'Ақпан', 'наурыз', 'сәуір', - 'мамыр', 'маусым', 'шілде', 'тамыз', - 'қыркүйек', 'қазан', 'қараша', 'желтоқсан'], - SHORTMONTHS: ['қаң.', 'ақп.', 'нау.', 'сәу.', 'мам.', - 'мау.', 'шіл.', 'там.', 'қыр.', 'қаз.', 'қар.', - 'желт.'], - STANDALONESHORTMONTHS: ['қаң.', 'ақп.', 'нау.', 'сәу.', 'мам.', - 'мау.', 'шіл.', 'там.', 'қыр.', 'қаз.', 'қар.', - 'желт.'], - WEEKDAYS: ['жексені', 'дуйсенбі', 'сейсенбі', - 'сәренбі', 'бейсенбі', 'жұма', 'сенбі'], - STANDALONEWEEKDAYS: ['жексенбі', 'дүйсенбі', - 'сейсенбі', 'сәрсенбі', 'бейсенбі', 'жұма', - 'сенбі'], - SHORTWEEKDAYS: ['жс.', 'дс.', 'сс.', 'ср.', 'бс.', 'жм.', - 'сһ.'], - STANDALONESHORTWEEKDAYS: ['жс.', 'дс.', 'сс.', 'ср.', 'бс.', - 'жм.', 'сн.'], - NARROWWEEKDAYS: ['1', '2', '3', '4', '5', '6', '7'], - STANDALONENARROWWEEKDAYS: ['1', '2', '3', '4', '5', '6', '7'], - SHORTQUARTERS: ['Q1', 'Q2', '3-інші тоқсан', - '4-інші тоқсан'], - QUARTERS: ['Q1', 'Q2', '3-інші тоқсан', '4-інші тоқсан'], + STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + MONTHS: ['pamba', 'wanja', 'mbiyɔ mɛndoŋgɔ', 'Nyɔlɔmbɔŋgɔ', 'Mɔnɔ ŋgbanja', 'Nyaŋgwɛ ŋgbanja', 'kuŋgwɛ', 'fɛ', 'njapi', 'nyukul', '11', 'ɓulɓusɛ'], + STANDALONEMONTHS: ['pamba', 'wanja', 'mbiyɔ mɛndoŋgɔ', 'Nyɔlɔmbɔŋgɔ', 'Mɔnɔ ŋgbanja', 'Nyaŋgwɛ ŋgbanja', 'kuŋgwɛ', 'fɛ', 'njapi', 'nyukul', '11', 'ɓulɓusɛ'], + SHORTMONTHS: ['pamba', 'wanja', 'mbiyɔ mɛndoŋgɔ', 'Nyɔlɔmbɔŋgɔ', 'Mɔnɔ ŋgbanja', 'Nyaŋgwɛ ŋgbanja', 'kuŋgwɛ', 'fɛ', 'njapi', 'nyukul', '11', 'ɓulɓusɛ'], + STANDALONESHORTMONTHS: ['pamba', 'wanja', 'mbiyɔ mɛndoŋgɔ', 'Nyɔlɔmbɔŋgɔ', 'Mɔnɔ ŋgbanja', 'Nyaŋgwɛ ŋgbanja', 'kuŋgwɛ', 'fɛ', 'njapi', 'nyukul', '11', 'ɓulɓusɛ'], + WEEKDAYS: ['sɔndi', 'lundi', 'mardi', 'mɛrkɛrɛdi', 'yedi', 'vaŋdɛrɛdi', 'mɔnɔ sɔndi'], + STANDALONEWEEKDAYS: ['sɔndi', 'lundi', 'mardi', 'mɛrkɛrɛdi', 'yedi', 'vaŋdɛrɛdi', 'mɔnɔ sɔndi'], + SHORTWEEKDAYS: ['sɔndi', 'lundi', 'mardi', 'mɛrkɛrɛdi', 'yedi', 'vaŋdɛrɛdi', 'mɔnɔ sɔndi'], + STANDALONESHORTWEEKDAYS: ['sɔndi', 'lundi', 'mardi', 'mɛrkɛrɛdi', 'yedi', 'vaŋdɛrɛdi', 'mɔnɔ sɔndi'], + NARROWWEEKDAYS: ['so', 'lu', 'ma', 'mɛ', 'ye', 'va', 'ms'], + STANDALONENARROWWEEKDAYS: ['so', 'lu', 'ma', 'mɛ', 'ye', 'va', 'ms'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE, d MMMM y \'ж\'.', 'd MMMM y \'ж\'.', 'dd.MM.yyyy', - 'dd.MM.yy'], + DATEFORMATS: ['EEEE dd MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM y'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -8081,48 +8381,35 @@ goog.i18n.DateTimeSymbols_kk = { /** - * Date/time formatting symbols for locale kk_Cyrl. + * Date/time formatting symbols for locale kkj_CM. */ -goog.i18n.DateTimeSymbols_kk_Cyrl = goog.i18n.DateTimeSymbols_kk; - - -/** - * Date/time formatting symbols for locale kk_Cyrl_KZ. - */ -goog.i18n.DateTimeSymbols_kk_Cyrl_KZ = goog.i18n.DateTimeSymbols_kk; +goog.i18n.DateTimeSymbols_kkj_CM = goog.i18n.DateTimeSymbols_kkj; /** * Date/time formatting symbols for locale kl. */ goog.i18n.DateTimeSymbols_kl = { - ERAS: ['Kr.in.si.', 'Kr.in.king.'], - ERANAMES: ['Kristusip inunngornerata siornagut', - 'Kristusip inunngornerata kingornagut'], - NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['januari', 'februari', 'martsi', 'aprili', 'maji', 'juni', 'juli', - 'augustusi', 'septemberi', 'oktoberi', 'novemberi', 'decemberi'], - STANDALONEMONTHS: ['januari', 'februari', 'martsi', 'aprili', 'maji', 'juni', - 'juli', 'augustusi', 'septemberi', 'oktoberi', 'novemberi', 'decemberi'], - SHORTMONTHS: ['jan', 'feb', 'mar', 'apr', 'maj', 'jun', 'jul', 'aug', 'sep', - 'okt', 'nov', 'dec'], - STANDALONESHORTMONTHS: ['jan', 'feb', 'mar', 'apr', 'maj', 'jun', 'jul', - 'aug', 'sep', 'okt', 'nov', 'dec'], - WEEKDAYS: ['sabaat', 'ataasinngorneq', 'marlunngorneq', 'pingasunngorneq', - 'sisamanngorneq', 'tallimanngorneq', 'arfininngorneq'], - STANDALONEWEEKDAYS: ['sabaat', 'ataasinngorneq', 'marlunngorneq', - 'pingasunngorneq', 'sisamanngorneq', 'tallimanngorneq', 'arfininngorneq'], + ERAS: ['BCE', 'CE'], + ERANAMES: ['BCE', 'CE'], + NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + MONTHS: ['januari', 'februari', 'martsi', 'aprili', 'maji', 'juni', 'juli', 'augustusi', 'septemberi', 'oktoberi', 'novemberi', 'decemberi'], + STANDALONEMONTHS: ['januari', 'februari', 'martsi', 'aprili', 'maji', 'juni', 'juli', 'augustusi', 'septemberi', 'oktoberi', 'novemberi', 'decemberi'], + SHORTMONTHS: ['jan', 'feb', 'mar', 'apr', 'maj', 'jun', 'jul', 'aug', 'sep', 'okt', 'nov', 'dec'], + STANDALONESHORTMONTHS: ['jan', 'feb', 'mar', 'apr', 'maj', 'jun', 'jul', 'aug', 'sep', 'okt', 'nov', 'dec'], + WEEKDAYS: ['sabaat', 'ataasinngorneq', 'marlunngorneq', 'pingasunngorneq', 'sisamanngorneq', 'tallimanngorneq', 'arfininngorneq'], + STANDALONEWEEKDAYS: ['sabaat', 'ataasinngorneq', 'marlunngorneq', 'pingasunngorneq', 'sisamanngorneq', 'tallimanngorneq', 'arfininngorneq'], SHORTWEEKDAYS: ['sab', 'ata', 'mar', 'pin', 'sis', 'tal', 'arf'], STANDALONESHORTWEEKDAYS: ['sab', 'ata', 'mar', 'pin', 'sis', 'tal', 'arf'], - NARROWWEEKDAYS: ['S', 'A', 'M', 'P', 'S', 'T', 'A'], - STANDALONENARROWWEEKDAYS: ['S', 'A', 'M', 'P', 'S', 'T', 'A'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], QUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - AMPMS: ['ulloqeqqata-tungaa', 'ulloqeqqata-kingorna'], - DATEFORMATS: ['EEEE dd MMMM y', 'dd MMMM y', 'MMM dd, y', 'yyyy-MM-dd'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['y MMMM d, EEEE', 'y MMMM d', 'y MMM d', 'y-MM-dd'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -8141,36 +8428,27 @@ goog.i18n.DateTimeSymbols_kl_GL = goog.i18n.DateTimeSymbols_kl; goog.i18n.DateTimeSymbols_kln = { ERAS: ['AM', 'KO'], ERANAMES: ['Amait kesich Jesu', 'Kokakesich Jesu'], - NARROWMONTHS: ['M', 'N', 'K', 'I', 'N', 'W', 'R', 'K', 'B', 'E', 'K', 'K'], - STANDALONENARROWMONTHS: ['M', 'N', 'K', 'I', 'N', 'W', 'R', 'K', 'B', 'E', - 'K', 'K'], - MONTHS: ['Mulgul', 'Ng\'atyato', 'Kiptamo', 'Iwat kut', 'Ng\'eiyet', 'Waki', - 'Roptui', 'Kipkogaga', 'Buret', 'Epeso', 'Kipsunde netai', - 'Kipsunde nebo aeng'], - STANDALONEMONTHS: ['Mulgul', 'Ng\'atyato', 'Kiptamo', 'Iwat kut', 'Ng\'eiyet', - 'Waki', 'Roptui', 'Kipkogaga', 'Buret', 'Epeso', 'Kipsunde netai', - 'Kipsunde nebo aeng'], - SHORTMONTHS: ['Mul', 'Nga', 'Kip', 'Iwa', 'Nge', 'Wak', 'Rop', 'Kog', 'Bur', - 'Epe', 'Tai', 'Aen'], - STANDALONESHORTMONTHS: ['Mul', 'Nga', 'Kip', 'Iwa', 'Nge', 'Wak', 'Rop', - 'Kog', 'Bur', 'Epe', 'Tai', 'Aen'], - WEEKDAYS: ['Betutab tisap', 'Betut netai', 'Betutab aeng\'', 'Betutab somok', - 'Betutab ang\'wan', 'Betutab mut', 'Betutab lo'], - STANDALONEWEEKDAYS: ['Betutab tisap', 'Betut netai', 'Betutab aeng\'', - 'Betutab somok', 'Betutab ang\'wan', 'Betutab mut', 'Betutab lo'], - SHORTWEEKDAYS: ['Tis', 'Tai', 'Aen', 'Som', 'Ang', 'Mut', 'Loh'], - STANDALONESHORTWEEKDAYS: ['Tis', 'Tai', 'Aen', 'Som', 'Ang', 'Mut', 'Loh'], - NARROWWEEKDAYS: ['T', 'T', 'A', 'S', 'A', 'M', 'L'], - STANDALONENARROWWEEKDAYS: ['T', 'T', 'A', 'S', 'A', 'M', 'L'], + NARROWMONTHS: ['M', 'N', 'T', 'I', 'M', 'P', 'N', 'R', 'B', 'E', 'K', 'K'], + STANDALONENARROWMONTHS: ['M', 'N', 'T', 'I', 'M', 'P', 'N', 'R', 'B', 'E', 'K', 'K'], + MONTHS: ['Mulgul', 'Ng’atyaato', 'Kiptaamo', 'Iwootkuut', 'Mamuut', 'Paagi', 'Ng’eiyeet', 'Rooptui', 'Bureet', 'Epeeso', 'Kipsuunde ne taai', 'Kipsuunde nebo aeng’'], + STANDALONEMONTHS: ['Mulgul', 'Ng’atyaato', 'Kiptaamo', 'Iwootkuut', 'Mamuut', 'Paagi', 'Ng’eiyeet', 'Rooptui', 'Bureet', 'Epeeso', 'Kipsuunde ne taai', 'Kipsuunde nebo aeng’'], + SHORTMONTHS: ['Mul', 'Ngat', 'Taa', 'Iwo', 'Mam', 'Paa', 'Nge', 'Roo', 'Bur', 'Epe', 'Kpt', 'Kpa'], + STANDALONESHORTMONTHS: ['Mul', 'Ngat', 'Taa', 'Iwo', 'Mam', 'Paa', 'Nge', 'Roo', 'Bur', 'Epe', 'Kpt', 'Kpa'], + WEEKDAYS: ['Kotisap', 'Kotaai', 'Koaeng’', 'Kosomok', 'Koang’wan', 'Komuut', 'Kolo'], + STANDALONEWEEKDAYS: ['Kotisap', 'Kotaai', 'Koaeng’', 'Kosomok', 'Koang’wan', 'Komuut', 'Kolo'], + SHORTWEEKDAYS: ['Kts', 'Kot', 'Koo', 'Kos', 'Koa', 'Kom', 'Kol'], + STANDALONESHORTWEEKDAYS: ['Kts', 'Kot', 'Koo', 'Kos', 'Koa', 'Kom', 'Kol'], + NARROWWEEKDAYS: ['T', 'T', 'O', 'S', 'A', 'M', 'L'], + STANDALONENARROWWEEKDAYS: ['T', 'T', 'O', 'S', 'A', 'M', 'L'], SHORTQUARTERS: ['R1', 'R2', 'R3', 'R4'], - QUARTERS: ['Robo netai', 'Robo nebo aeng\'', 'Robo nebo somok', - 'Robo nebo ang\'wan'], - AMPMS: ['Beet', 'Kemo'], - DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yyyy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], - FIRSTDAYOFWEEK: 0, + QUARTERS: ['Robo netai', 'Robo nebo aeng’', 'Robo nebo somok', 'Robo nebo ang’wan'], + AMPMS: ['karoon', 'kooskoliny'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 6, WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 6 + FIRSTWEEKCUTOFFDAY: 5 }; @@ -8180,58 +8458,6 @@ goog.i18n.DateTimeSymbols_kln = { goog.i18n.DateTimeSymbols_kln_KE = goog.i18n.DateTimeSymbols_kln; -/** - * Date/time formatting symbols for locale km. - */ -goog.i18n.DateTimeSymbols_km = { - ERAS: ['មុន​គ.ស.', 'គ.ស.'], - ERANAMES: ['មុន​គ្រិស្តសករាជ', - 'គ្រិស្តសករាជ'], - NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], - STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', - '11', '12'], - MONTHS: ['មករា', 'កុម្ភៈ', 'មិនា', 'មេសា', - 'ឧសភា', 'មិថុនា', 'កក្កដា', - 'សីហា', 'កញ្ញា', 'តុលា', - 'វិច្ឆិកា', 'ធ្នូ'], - STANDALONEMONTHS: ['មករា', 'កុម្ភៈ', 'មិនា', - 'មេសា', 'ឧសភា', 'មិថុនា', - 'កក្កដា', 'សីហា', 'កញ្ញា', 'តុលា', - 'វិច្ឆិកា', 'ធ្នូ'], - SHORTMONTHS: ['១', '២', '៣', '៤', '៥', '៦', '៧', '៨', '៩', - '១០', '១១', '១២'], - STANDALONESHORTMONTHS: ['១', '២', '៣', '៤', '៥', '៦', '៧', - '៨', '៩', '១០', '១១', '១២'], - WEEKDAYS: ['ថ្ងៃអាទិត្យ', - '​ថ្ងៃច័ន្ទ', 'ថ្ងៃអង្គារ', - 'ថ្ងៃពុធ', 'ថ្ងៃព្រហស្បតិ៍', - 'ថ្ងៃសុក្រ', 'ថ្ងៃសៅរ៍'], - STANDALONEWEEKDAYS: ['ថ្ងៃអាទិត្យ', - '​ថ្ងៃច័ន្ទ', 'ថ្ងៃអង្គារ', - 'ថ្ងៃពុធ', 'ថ្ងៃព្រហស្បតិ៍', - 'ថ្ងៃសុក្រ', 'ថ្ងៃសៅរ៍'], - SHORTWEEKDAYS: ['អា', 'ច', 'អ', 'ពុ', 'ព្រ', 'សុ', - 'ស'], - STANDALONESHORTWEEKDAYS: ['អា', 'ច', 'អ', 'ពុ', 'ព្រ', - 'សុ', 'ស'], - NARROWWEEKDAYS: ['1', '2', '3', '4', '5', '6', '7'], - STANDALONENARROWWEEKDAYS: ['1', '2', '3', '4', '5', '6', '7'], - SHORTQUARTERS: ['ត្រី១', 'ត្រី២', 'ត្រី៣', - 'ត្រី៤'], - QUARTERS: ['ត្រីមាសទី១', 'ត្រីមាសទី២', - 'ត្រីមាសទី៣', 'ត្រីមាសទី៤'], - AMPMS: ['ព្រឹក', 'ល្ងាច'], - DATEFORMATS: ['EEEE ថ្ងៃ d ខែ MMMM ឆ្នាំ y', - 'd ខែ MMMM ឆ្នាំ y', 'd MMM y', 'd/M/yyyy'], - TIMEFORMATS: ['H ម៉ោង m នាទី ss វិនាទី​ zzzz', - 'H ម៉ោង m នាទី ss វិនាទី​z', 'H:mm:ss', - 'H:mm'], - FIRSTDAYOFWEEK: 6, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 5 -}; - - /** * Date/time formatting symbols for locale km_KH. */ @@ -8241,148 +8467,69 @@ goog.i18n.DateTimeSymbols_km_KH = goog.i18n.DateTimeSymbols_km; /** * Date/time formatting symbols for locale kn_IN. */ -goog.i18n.DateTimeSymbols_kn_IN = { - ERAS: ['ಕ್ರಿ.ಪೂ', 'ಜಾಹೀ'], - ERANAMES: ['ಈಸಪೂವ೯.', 'ಕ್ರಿಸ್ತ ಶಕ'], - NARROWMONTHS: ['ಜ', 'ಫೆ', 'ಮಾ', 'ಎ', 'ಮೇ', 'ಜೂ', 'ಜು', - 'ಆ', 'ಸೆ', 'ಅ', 'ನ', 'ಡಿ'], - STANDALONENARROWMONTHS: ['ಜ', 'ಫೆ', 'ಮಾ', 'ಎ', 'ಮೇ', 'ಜೂ', - 'ಜು', 'ಆ', 'ಸೆ', 'ಅ', 'ನ', 'ಡಿ'], - MONTHS: ['ಜನವರೀ', 'ಫೆಬ್ರವರೀ', 'ಮಾರ್ಚ್', - 'ಎಪ್ರಿಲ್', 'ಮೆ', 'ಜೂನ್', 'ಜುಲೈ', - 'ಆಗಸ್ಟ್', 'ಸಪ್ಟೆಂಬರ್', - 'ಅಕ್ಟೋಬರ್', 'ನವೆಂಬರ್', - 'ಡಿಸೆಂಬರ್'], - STANDALONEMONTHS: ['ಜನವರೀ', 'ಫೆಬ್ರವರೀ', - 'ಮಾರ್ಚ್', 'ಎಪ್ರಿಲ್', 'ಮೆ', 'ಜೂನ್', - 'ಜುಲೈ', 'ಆಗಸ್ಟ್', 'ಸಪ್ಟೆಂಬರ್', - 'ಅಕ್ಟೋಬರ್', 'ನವೆಂಬರ್', - 'ಡಿಸೆಂಬರ್'], - SHORTMONTHS: ['ಜನವರೀ', 'ಫೆಬ್ರವರೀ', - 'ಮಾರ್ಚ್', 'ಎಪ್ರಿಲ್', 'ಮೆ', 'ಜೂನ್', - 'ಜುಲೈ', 'ಆಗಸ್ಟ್', 'ಸಪ್ಟೆಂಬರ್', - 'ಅಕ್ಟೋಬರ್', 'ನವೆಂಬರ್', - 'ಡಿಸೆಂಬರ್'], - STANDALONESHORTMONTHS: ['ಜನವರೀ', 'ಫೆಬ್ರವರೀ', - 'ಮಾರ್ಚ್', 'ಎಪ್ರಿಲ್', 'ಮೆ', 'ಜೂನ್', - 'ಜುಲೈ', 'ಆಗಸ್ಟ್', 'ಸಪ್ಟೆಂಬರ್', - 'ಅಕ್ಟೋಬರ್', 'ನವೆಂಬರ್', - 'ಡಿಸೆಂಬರ್'], - WEEKDAYS: ['ರವಿವಾರ', 'ಸೋಮವಾರ', - 'ಮಂಗಳವಾರ', 'ಬುಧವಾರ', 'ಗುರುವಾರ', - 'ಶುಕ್ರವಾರ', 'ಶನಿವಾರ'], - STANDALONEWEEKDAYS: ['ರವಿವಾರ', 'ಸೋಮವಾರ', - 'ಮಂಗಳವಾರ', 'ಬುಧವಾರ', 'ಗುರುವಾರ', - 'ಶುಕ್ರವಾರ', 'ಶನಿವಾರ'], - SHORTWEEKDAYS: ['ರ.', 'ಸೋ.', 'ಮಂ.', 'ಬು.', 'ಗು.', 'ಶು.', - 'ಶನಿ.'], - STANDALONESHORTWEEKDAYS: ['ರ.', 'ಸೋ.', 'ಮಂ.', 'ಬು.', 'ಗು.', - 'ಶು.', 'ಶನಿ.'], - NARROWWEEKDAYS: ['ರ', 'ಸೋ', 'ಮಂ', 'ಬು', 'ಗು', 'ಶು', - 'ಶ'], - STANDALONENARROWWEEKDAYS: ['ರ', 'ಸೋ', 'ಮಂ', 'ಬು', 'ಗು', - 'ಶು', 'ಶ'], - SHORTQUARTERS: ['ಒಂದು 1', 'ಎರಡು 2', 'ಮೂರು 3', - 'ನಾಲೃಕ 4'], - QUARTERS: ['ಒಂದು 1', 'ಎರಡು 2', 'ಮೂರು 3', - 'ನಾಲೃಕ 4'], - AMPMS: ['am', 'pm'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'd-M-yy'], - TIMEFORMATS: ['hh:mm:ss a zzzz', 'hh:mm:ss a z', 'hh:mm:ss a', 'hh:mm a'], - FIRSTDAYOFWEEK: 6, - WEEKENDRANGE: [6, 6], - FIRSTWEEKCUTOFFDAY: 5 -}; +goog.i18n.DateTimeSymbols_kn_IN = goog.i18n.DateTimeSymbols_kn; /** - * Date/time formatting symbols for locale ko_KR. + * Date/time formatting symbols for locale ko_KP. */ -goog.i18n.DateTimeSymbols_ko_KR = { - ERAS: ['기원전', '서기'], - ERANAMES: ['서력기원전', '서력기원'], - NARROWMONTHS: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', - '9월', '10월', '11월', '12월'], - STANDALONENARROWMONTHS: ['1월', '2월', '3월', '4월', '5월', '6월', - '7월', '8월', '9월', '10월', '11월', '12월'], - MONTHS: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', - '9월', '10월', '11월', '12월'], - STANDALONEMONTHS: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', - '8월', '9월', '10월', '11월', '12월'], - SHORTMONTHS: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', - '9월', '10월', '11월', '12월'], - STANDALONESHORTMONTHS: ['1월', '2월', '3월', '4월', '5월', '6월', - '7월', '8월', '9월', '10월', '11월', '12월'], - WEEKDAYS: ['일요일', '월요일', '화요일', '수요일', '목요일', - '금요일', '토요일'], - STANDALONEWEEKDAYS: ['일요일', '월요일', '화요일', '수요일', - '목요일', '금요일', '토요일'], +goog.i18n.DateTimeSymbols_ko_KP = { + ERAS: ['BC', 'AD'], + ERANAMES: ['기원전', '서기'], + NARROWMONTHS: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'], + STANDALONENARROWMONTHS: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'], + MONTHS: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'], + STANDALONEMONTHS: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'], + SHORTMONTHS: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'], + STANDALONESHORTMONTHS: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'], + WEEKDAYS: ['일요일', '월요일', '화요일', '수요일', '목요일', '금요일', '토요일'], + STANDALONEWEEKDAYS: ['일요일', '월요일', '화요일', '수요일', '목요일', '금요일', '토요일'], SHORTWEEKDAYS: ['일', '월', '화', '수', '목', '금', '토'], STANDALONESHORTWEEKDAYS: ['일', '월', '화', '수', '목', '금', '토'], NARROWWEEKDAYS: ['일', '월', '화', '수', '목', '금', '토'], STANDALONENARROWWEEKDAYS: ['일', '월', '화', '수', '목', '금', '토'], SHORTQUARTERS: ['1분기', '2분기', '3분기', '4분기'], - QUARTERS: ['제 1/4분기', '제 2/4분기', '제 3/4분기', - '제 4/4분기'], + QUARTERS: ['제 1/4분기', '제 2/4분기', '제 3/4분기', '제 4/4분기'], AMPMS: ['오전', '오후'], - DATEFORMATS: ['y년 M월 d일 EEEE', 'y년 M월 d일', 'yyyy. M. d.', - 'yy. M. d.'], - TIMEFORMATS: ['a h시 m분 s초 zzzz', 'a h시 m분 s초 z', 'a h:mm:ss', - 'a h:mm'], - FIRSTDAYOFWEEK: 6, + DATEFORMATS: ['y년 M월 d일 EEEE', 'y년 M월 d일', 'y. M. d.', 'yy. M. d.'], + TIMEFORMATS: ['a h시 m분 s초 zzzz', 'a h시 m분 s초 z', 'a h:mm:ss', 'a h:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 5 + FIRSTWEEKCUTOFFDAY: 6 }; +/** + * Date/time formatting symbols for locale ko_KR. + */ +goog.i18n.DateTimeSymbols_ko_KR = goog.i18n.DateTimeSymbols_ko; + + /** * Date/time formatting symbols for locale kok. */ goog.i18n.DateTimeSymbols_kok = { - ERAS: ['क्रिस्तपूर्व', - 'क्रिस्तशखा'], - ERANAMES: ['क्रिस्तपूर्व', - 'क्रिस्तशखा'], + ERAS: ['क्रिस्तपूर्व', 'क्रिस्तशखा'], + ERANAMES: ['क्रिस्तपूर्व', 'क्रिस्तशखा'], NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], - STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', - '11', '12'], - MONTHS: ['जानेवारी', 'फेब्रुवारी', - 'मार्च', 'एप्रिल', 'मे', 'जून', - 'जुलै', 'ओगस्ट', 'सेप्टेंबर', - 'ओक्टोबर', 'नोव्हेंबर', - 'डिसेंबर'], - STANDALONEMONTHS: ['जानेवारी', - 'फेब्रुवारी', 'मार्च', 'एप्रिल', - 'मे', 'जून', 'जुलै', 'ओगस्ट', - 'सेप्टेंबर', 'ओक्टोबर', - 'नोव्हेंबर', 'डिसेंबर'], - SHORTMONTHS: ['जानेवारी', 'फेब्रुवारी', - 'मार्च', 'एप्रिल', 'मे', 'जून', - 'जुलै', 'ओगस्ट', 'सेप्टेंबर', - 'ओक्टोबर', 'नोव्हेंबर', - 'डिसेंबर'], - STANDALONESHORTMONTHS: ['जानेवारी', - 'फेब्रुवारी', 'मार्च', 'एप्रिल', - 'मे', 'जून', 'जुलै', 'ओगस्ट', - 'सेप्टेंबर', 'ओक्टोबर', - 'नोव्हेंबर', 'डिसेंबर'], - WEEKDAYS: ['आदित्यवार', 'सोमवार', - 'मंगळार', 'बुधवार', 'गुरुवार', - 'शुक्रवार', 'शनिवार'], - STANDALONEWEEKDAYS: ['आदित्यवार', 'सोमवार', - 'मंगळार', 'बुधवार', 'गुरुवार', - 'शुक्रवार', 'शनिवार'], - SHORTWEEKDAYS: ['रवि', 'सोम', 'मंगळ', 'बुध', - 'गुरु', 'शुक्र', 'शनि'], - STANDALONESHORTWEEKDAYS: ['रवि', 'सोम', 'मंगळ', - 'बुध', 'गुरु', 'शुक्र', 'शनि'], - NARROWWEEKDAYS: ['1', '2', '3', '4', '5', '6', '7'], - STANDALONENARROWWEEKDAYS: ['1', '2', '3', '4', '5', '6', '7'], + STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + MONTHS: ['जानेवारी', 'फेब्रुवारी', 'मार्च', 'एप्रिल', 'मे', 'जून', 'जुलै', 'ओगस्ट', 'सेप्टेंबर', 'ओक्टोबर', 'नोव्हेंबर', 'डिसेंबर'], + STANDALONEMONTHS: ['जानेवारी', 'फेब्रुवारी', 'मार्च', 'एप्रिल', 'मे', 'जून', 'जुलै', 'ओगस्ट', 'सेप्टेंबर', 'ओक्टोबर', 'नोव्हेंबर', 'डिसेंबर'], + SHORTMONTHS: ['जानेवारी', 'फेब्रुवारी', 'मार्च', 'एप्रिल', 'मे', 'जून', 'जुलै', 'ओगस्ट', 'सेप्टेंबर', 'ओक्टोबर', 'नोव्हेंबर', 'डिसेंबर'], + STANDALONESHORTMONTHS: ['जानेवारी', 'फेब्रुवारी', 'मार्च', 'एप्रिल', 'मे', 'जून', 'जुलै', 'ओगस्ट', 'सेप्टेंबर', 'ओक्टोबर', 'नोव्हेंबर', 'डिसेंबर'], + WEEKDAYS: ['आदित्यवार', 'सोमवार', 'मंगळार', 'बुधवार', 'गुरुवार', 'शुक्रवार', 'शनिवार'], + STANDALONEWEEKDAYS: ['आदित्यवार', 'सोमवार', 'मंगळार', 'बुधवार', 'गुरुवार', 'शुक्रवार', 'शनिवार'], + SHORTWEEKDAYS: ['रवि', 'सोम', 'मंगळ', 'बुध', 'गुरु', 'शुक्र', 'शनि'], + STANDALONESHORTWEEKDAYS: ['रवि', 'सोम', 'मंगळ', 'बुध', 'गुरु', 'शुक्र', 'शनि'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], QUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], AMPMS: ['म.पू.', 'म.नं.'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'dd-MM-yyyy', 'd-M-yy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATEFORMATS: ['y MMMM d, EEEE', 'y MMMM d', 'y MMM d', 'y-MM-dd'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 6, WEEKENDRANGE: [6, 6], FIRSTWEEKCUTOFFDAY: 5 @@ -8395,6 +8542,43 @@ goog.i18n.DateTimeSymbols_kok = { goog.i18n.DateTimeSymbols_kok_IN = goog.i18n.DateTimeSymbols_kok; +/** + * Date/time formatting symbols for locale ks. + */ +goog.i18n.DateTimeSymbols_ks = { + ZERODIGIT: 0x06F0, + ERAS: ['بی سی', 'اے ڈی'], + ERANAMES: ['قبٕل مسیٖح', 'عیٖسوی سنہٕ'], + NARROWMONTHS: ['ج', 'ف', 'م', 'ا', 'م', 'ج', 'ج', 'ا', 'س', 'س', 'ا', 'ن'], + STANDALONENARROWMONTHS: ['ج', 'ف', 'م', 'ا', 'م', 'ج', 'ج', 'ا', 'س', 'س', 'ا', 'ن'], + MONTHS: ['جنؤری', 'فرؤری', 'مارٕچ', 'اپریل', 'میٔ', 'جوٗن', 'جوٗلایی', 'اگست', 'ستمبر', 'اکتوٗبر', 'نومبر', 'دسمبر'], + STANDALONEMONTHS: ['جنؤری', 'فرؤری', 'مارٕچ', 'اپریل', 'میٔ', 'جوٗن', 'جوٗلایی', 'اگست', 'ستمبر', 'اکتوٗبر', 'نومبر', 'دسمبر'], + SHORTMONTHS: ['جنؤری', 'فرؤری', 'مارٕچ', 'اپریل', 'میٔ', 'جوٗن', 'جوٗلایی', 'اگست', 'ستمبر', 'اکتوٗبر', 'نومبر', 'دسمبر'], + STANDALONESHORTMONTHS: ['جنؤری', 'فرؤری', 'مارٕچ', 'اپریل', 'میٔ', 'جوٗن', 'جوٗلایی', 'اگست', 'ستمبر', 'اکتوٗبر', 'نومبر', 'دسمبر'], + WEEKDAYS: ['اَتھوار', 'ژٔنٛدرٕروار', 'بوٚموار', 'بودوار', 'برٛٮ۪سوار', 'جُمہ', 'بٹوار'], + STANDALONEWEEKDAYS: ['اَتھوار', 'ژٔنٛدرٕروار', 'بوٚموار', 'بودوار', 'برٛٮ۪سوار', 'جُمہ', 'بٹوار'], + SHORTWEEKDAYS: ['آتھوار', 'ژٔنٛدٕروار', 'بوٚموار', 'بودوار', 'برٛٮ۪سوار', 'جُمہ', 'بٹوار'], + STANDALONESHORTWEEKDAYS: ['آتھوار', 'ژٔنٛدٕروار', 'بوٚموار', 'بودوار', 'برٛٮ۪سوار', 'جُمہ', 'بٹوار'], + NARROWWEEKDAYS: ['ا', 'ژ', 'ب', 'ب', 'ب', 'ج', 'ب'], + STANDALONENARROWWEEKDAYS: ['ا', 'ژ', 'ب', 'ب', 'ب', 'ج', 'ب'], + SHORTQUARTERS: ['ژۄباگ', 'دوٚیِم ژۄباگ', 'ترٛیِم ژۄباگ', 'ژوٗرِم ژۄباگ'], + QUARTERS: ['گۄڑنیُک ژۄباگ', 'دوٚیِم ژۄباگ', 'ترٛیِم ژۄباگ', 'ژوٗرِم ژۄباگ'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, MMMM d, y', 'MMMM d, y', 'MMM d, y', 'M/d/yy'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 6, + WEEKENDRANGE: [6, 6], + FIRSTWEEKCUTOFFDAY: 5 +}; + + +/** + * Date/time formatting symbols for locale ks_IN. + */ +goog.i18n.DateTimeSymbols_ks_IN = goog.i18n.DateTimeSymbols_ks; + + /** * Date/time formatting symbols for locale ksb. */ @@ -8402,29 +8586,23 @@ goog.i18n.DateTimeSymbols_ksb = { ERAS: ['KK', 'BK'], ERANAMES: ['Kabla ya Klisto', 'Baada ya Klisto'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['Januali', 'Febluali', 'Machi', 'Aplili', 'Mei', 'Juni', 'Julai', - 'Agosti', 'Septemba', 'Oktoba', 'Novemba', 'Desemba'], - STANDALONEMONTHS: ['Januali', 'Febluali', 'Machi', 'Aplili', 'Mei', 'Juni', - 'Julai', 'Agosti', 'Septemba', 'Oktoba', 'Novemba', 'Desemba'], - SHORTMONTHS: ['Jan', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Jul', 'Ago', 'Sep', - 'Okt', 'Nov', 'Des'], - STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Jul', - 'Ago', 'Sep', 'Okt', 'Nov', 'Des'], - WEEKDAYS: ['Jumaapii', 'Jumaatatu', 'Jumaane', 'Jumaatano', 'Alhamisi', - 'Ijumaa', 'Jumaamosi'], - STANDALONEWEEKDAYS: ['Jumaapii', 'Jumaatatu', 'Jumaane', 'Jumaatano', - 'Alhamisi', 'Ijumaa', 'Jumaamosi'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['Januali', 'Febluali', 'Machi', 'Aplili', 'Mei', 'Juni', 'Julai', 'Agosti', 'Septemba', 'Oktoba', 'Novemba', 'Desemba'], + STANDALONEMONTHS: ['Januali', 'Febluali', 'Machi', 'Aplili', 'Mei', 'Juni', 'Julai', 'Agosti', 'Septemba', 'Oktoba', 'Novemba', 'Desemba'], + SHORTMONTHS: ['Jan', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Jul', 'Ago', 'Sep', 'Okt', 'Nov', 'Des'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Jul', 'Ago', 'Sep', 'Okt', 'Nov', 'Des'], + WEEKDAYS: ['Jumaapii', 'Jumaatatu', 'Jumaane', 'Jumaatano', 'Alhamisi', 'Ijumaa', 'Jumaamosi'], + STANDALONEWEEKDAYS: ['Jumaapii', 'Jumaatatu', 'Jumaane', 'Jumaatano', 'Alhamisi', 'Ijumaa', 'Jumaamosi'], SHORTWEEKDAYS: ['Jpi', 'Jtt', 'Jmn', 'Jtn', 'Alh', 'Iju', 'Jmo'], STANDALONESHORTWEEKDAYS: ['Jpi', 'Jtt', 'Jmn', 'Jtn', 'Alh', 'Iju', 'Jmo'], NARROWWEEKDAYS: ['2', '3', '4', '5', 'A', 'I', '1'], STANDALONENARROWWEEKDAYS: ['2', '3', '4', '5', 'A', 'I', '1'], SHORTQUARTERS: ['L1', 'L2', 'L3', 'L4'], - QUARTERS: ['Lobo ya bosi', 'Lobo ya mbii', 'Lobo ya nnd\'atu', 'Lobo ya nne'], + QUARTERS: ['Lobo ya bosi', 'Lobo ya mbii', 'Lobo ya nnd’atu', 'Lobo ya nne'], AMPMS: ['makeo', 'nyiaghuo'], - DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yyyy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -8444,38 +8622,23 @@ goog.i18n.DateTimeSymbols_ksf = { ERAS: ['d.Y.', 'k.Y.'], ERANAMES: ['di Yɛ́sus aká yálɛ', 'cámɛɛn kǝ kǝbɔpka Y'], NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], - STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', - '11', '12'], - MONTHS: ['ŋwíí a ntɔ́ntɔ', 'ŋwíí akǝ bɛ́ɛ', 'ŋwíí akǝ ráá', - 'ŋwíí akǝ nin', 'ŋwíí akǝ táan', 'ŋwíí akǝ táafɔk', - 'ŋwíí akǝ táabɛɛ', 'ŋwíí akǝ táaraa', 'ŋwíí akǝ táanin', - 'ŋwíí akǝ ntɛk', 'ŋwíí akǝ ntɛk di bɔ́k', - 'ŋwíí akǝ ntɛk di bɛ́ɛ'], - STANDALONEMONTHS: ['ŋwíí a ntɔ́ntɔ', 'ŋwíí akǝ bɛ́ɛ', - 'ŋwíí akǝ ráá', 'ŋwíí akǝ nin', 'ŋwíí akǝ táan', - 'ŋwíí akǝ táafɔk', 'ŋwíí akǝ táabɛɛ', 'ŋwíí akǝ táaraa', - 'ŋwíí akǝ táanin', 'ŋwíí akǝ ntɛk', - 'ŋwíí akǝ ntɛk di bɔ́k', 'ŋwíí akǝ ntɛk di bɛ́ɛ'], - SHORTMONTHS: ['ŋ1', 'ŋ2', 'ŋ3', 'ŋ4', 'ŋ5', 'ŋ6', 'ŋ7', 'ŋ8', 'ŋ9', - 'ŋ10', 'ŋ11', 'ŋ12'], - STANDALONESHORTMONTHS: ['ŋ1', 'ŋ2', 'ŋ3', 'ŋ4', 'ŋ5', 'ŋ6', 'ŋ7', - 'ŋ8', 'ŋ9', 'ŋ10', 'ŋ11', 'ŋ12'], - WEEKDAYS: ['sɔ́ndǝ', 'lǝndí', 'maadí', 'mɛkrɛdí', 'jǝǝdí', - 'júmbá', 'samdí'], - STANDALONEWEEKDAYS: ['sɔ́ndǝ', 'lǝndí', 'maadí', 'mɛkrɛdí', - 'jǝǝdí', 'júmbá', 'samdí'], + STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + MONTHS: ['ŋwíí a ntɔ́ntɔ', 'ŋwíí akǝ bɛ́ɛ', 'ŋwíí akǝ ráá', 'ŋwíí akǝ nin', 'ŋwíí akǝ táan', 'ŋwíí akǝ táafɔk', 'ŋwíí akǝ táabɛɛ', 'ŋwíí akǝ táaraa', 'ŋwíí akǝ táanin', 'ŋwíí akǝ ntɛk', 'ŋwíí akǝ ntɛk di bɔ́k', 'ŋwíí akǝ ntɛk di bɛ́ɛ'], + STANDALONEMONTHS: ['ŋwíí a ntɔ́ntɔ', 'ŋwíí akǝ bɛ́ɛ', 'ŋwíí akǝ ráá', 'ŋwíí akǝ nin', 'ŋwíí akǝ táan', 'ŋwíí akǝ táafɔk', 'ŋwíí akǝ táabɛɛ', 'ŋwíí akǝ táaraa', 'ŋwíí akǝ táanin', 'ŋwíí akǝ ntɛk', 'ŋwíí akǝ ntɛk di bɔ́k', 'ŋwíí akǝ ntɛk di bɛ́ɛ'], + SHORTMONTHS: ['ŋ1', 'ŋ2', 'ŋ3', 'ŋ4', 'ŋ5', 'ŋ6', 'ŋ7', 'ŋ8', 'ŋ9', 'ŋ10', 'ŋ11', 'ŋ12'], + STANDALONESHORTMONTHS: ['ŋ1', 'ŋ2', 'ŋ3', 'ŋ4', 'ŋ5', 'ŋ6', 'ŋ7', 'ŋ8', 'ŋ9', 'ŋ10', 'ŋ11', 'ŋ12'], + WEEKDAYS: ['sɔ́ndǝ', 'lǝndí', 'maadí', 'mɛkrɛdí', 'jǝǝdí', 'júmbá', 'samdí'], + STANDALONEWEEKDAYS: ['sɔ́ndǝ', 'lǝndí', 'maadí', 'mɛkrɛdí', 'jǝǝdí', 'júmbá', 'samdí'], SHORTWEEKDAYS: ['sɔ́n', 'lǝn', 'maa', 'mɛk', 'jǝǝ', 'júm', 'sam'], - STANDALONESHORTWEEKDAYS: ['sɔ́n', 'lǝn', 'maa', 'mɛk', 'jǝǝ', 'júm', - 'sam'], + STANDALONESHORTWEEKDAYS: ['sɔ́n', 'lǝn', 'maa', 'mɛk', 'jǝǝ', 'júm', 'sam'], NARROWWEEKDAYS: ['s', 'l', 'm', 'm', 'j', 'j', 's'], STANDALONENARROWWEEKDAYS: ['s', 'l', 'm', 'm', 'j', 'j', 's'], SHORTQUARTERS: ['i1', 'i2', 'i3', 'i4'], - QUARTERS: ['id́ɛ́n kǝbǝk kǝ ntɔ́ntɔ́', - 'idɛ́n kǝbǝk kǝ kǝbɛ́ɛ', 'idɛ́n kǝbǝk kǝ kǝráá', - 'idɛ́n kǝbǝk kǝ kǝnin'], + QUARTERS: ['id́ɛ́n kǝbǝk kǝ ntɔ́ntɔ́', 'idɛ́n kǝbǝk kǝ kǝbɛ́ɛ', 'idɛ́n kǝbǝk kǝ kǝráá', 'idɛ́n kǝbǝk kǝ kǝnin'], AMPMS: ['sárúwá', 'cɛɛ́nko'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'd/M/yyyy'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'd/M/y'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -8492,36 +8655,29 @@ goog.i18n.DateTimeSymbols_ksf_CM = goog.i18n.DateTimeSymbols_ksf; * Date/time formatting symbols for locale ksh. */ goog.i18n.DateTimeSymbols_ksh = { - ERAS: ['v.Ch.', 'n.Ch.'], - ERANAMES: ['vür Chrestus', 'noh Chrestus'], - NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['Jannewa', 'Fäbrowa', 'Määz', 'Aprell', 'Mäi', 'Juuni', 'Juuli', - 'Oujoß', 'Septämber', 'Oktoober', 'Novämber', 'Dezämber'], - STANDALONEMONTHS: ['Jannewa', 'Fäbrowa', 'Määz', 'Aprell', 'Mäi', 'Juuni', - 'Juuli', 'Oujoß', 'Septämber', 'Oktoober', 'Novämber', 'Dezämber'], - SHORTMONTHS: ['Jan.', 'Fäb.', 'Mar.', 'Apr.', 'Mäi', 'Jun.', 'Jul.', 'Oug.', - 'Säp.', 'Okt.', 'Nov.', 'Dez.'], - STANDALONESHORTMONTHS: ['Jan.', 'Fäb.', 'Mar.', 'Apr.', 'Mäi', 'Jun.', - 'Jul.', 'Oug.', 'Säp.', 'Okt.', 'Nov.', 'Dez.'], - WEEKDAYS: ['Sunndaach', 'Moondaach', 'Dinnsdaach', 'Metwoch', 'Dunnersdaach', - 'Friidaach', 'Samsdaach'], - STANDALONEWEEKDAYS: ['Sunndaach', 'Moondaach', 'Dinnsdaach', 'Metwoch', - 'Dunnersdaach', 'Friidaach', 'Samsdaach'], + ERAS: ['v. Chr.', 'n. Chr.'], + ERANAMES: ['vür Krestos', 'noh Krestos'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'O', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'O', 'S', 'O', 'N', 'D'], + MONTHS: ['Jannewa', 'Fäbrowa', 'Määz', 'Aprell', 'Mai', 'Juuni', 'Juuli', 'Oujoß', 'Septämber', 'Oktohber', 'Novämber', 'Dezämber'], + STANDALONEMONTHS: ['Jannewa', 'Fäbrowa', 'Määz', 'Aprell', 'Mai', 'Juuni', 'Juuli', 'Oujoß', 'Septämber', 'Oktohber', 'Novämber', 'Dezämber'], + SHORTMONTHS: ['Jan', 'Fäb', 'Mäz', 'Apr', 'Mai', 'Jun', 'Jul', 'Ouj', 'Säp', 'Okt', 'Nov', 'Dez'], + STANDALONESHORTMONTHS: ['Jan.', 'Fäb.', 'Mäz.', 'Apr.', 'Mai', 'Jun.', 'Jul.', 'Ouj.', 'Säp.', 'Okt.', 'Nov.', 'Dez.'], + WEEKDAYS: ['Sunndaach', 'Mohndaach', 'Dinnsdaach', 'Metwoch', 'Dunnersdaach', 'Friidaach', 'Samsdaach'], + STANDALONEWEEKDAYS: ['Sunndaach', 'Mohndaach', 'Dinnsdaach', 'Metwoch', 'Dunnersdaach', 'Friidaach', 'Samsdaach'], SHORTWEEKDAYS: ['Su.', 'Mo.', 'Di.', 'Me.', 'Du.', 'Fr.', 'Sa.'], STANDALONESHORTWEEKDAYS: ['Su.', 'Mo.', 'Di.', 'Me.', 'Du.', 'Fr.', 'Sa.'], NARROWWEEKDAYS: ['S', 'M', 'D', 'M', 'D', 'F', 'S'], STANDALONENARROWWEEKDAYS: ['S', 'M', 'D', 'M', 'D', 'F', 'S'], SHORTQUARTERS: ['1.Q.', '2.Q.', '3.Q.', '4.Q.'], - QUARTERS: ['1. Quattaal', '2. Quattaal', '3. Quattaal', '4. Quattaal'], - AMPMS: ['Uhr des vormittags', 'Uhr des nachmittags'], - DATEFORMATS: ['EEEE, \'dä\' d. MMMM y', 'd. MMMM y', 'd. MMM y', - 'd. M. yyyy'], + QUARTERS: ['1. Quattahl', '2. Quattahl', '3. Quattahl', '4. Quattahl'], + AMPMS: ['Uhr vörmiddaachs', 'Uhr nommendaachs'], + DATEFORMATS: ['EEEE, \'dä\' d. MMMM y', 'd. MMMM y', 'd. MMM. y', 'd. M. y'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 6 + FIRSTWEEKCUTOFFDAY: 3 }; @@ -8531,43 +8687,6 @@ goog.i18n.DateTimeSymbols_ksh = { goog.i18n.DateTimeSymbols_ksh_DE = goog.i18n.DateTimeSymbols_ksh; -/** - * Date/time formatting symbols for locale ku. - */ -goog.i18n.DateTimeSymbols_ku = { - ERAS: ['BZ', 'PZ'], - ERANAMES: ['BZ', 'PZ'], - NARROWMONTHS: ['ç', 's', 'a', 'n', 'g', 'h', '7', '8', '9', '10', '11', - '12'], - STANDALONENARROWMONTHS: ['ç', 's', 'a', 'n', 'g', 'h', '7', '8', '9', '10', - '11', '12'], - MONTHS: ['çile', 'sibat', 'adar', 'nîsan', 'gulan', 'hezîran', '7', '8', - '9', '10', '11', '12'], - STANDALONEMONTHS: ['çile', 'sibat', 'adar', 'nîsan', 'gulan', 'hezîran', - '7', '8', '9', '10', '11', '12'], - SHORTMONTHS: ['çil', 'sib', 'adr', 'nîs', 'gul', 'hez', 'tîr', '8', '9', - '10', '11', '12'], - STANDALONESHORTMONTHS: ['çil', 'sib', 'adr', 'nîs', 'gul', 'hez', 'tîr', - '8', '9', '10', '11', '12'], - WEEKDAYS: ['yekşem', 'duşem', 'şê', 'çarşem', 'pêncşem', 'în', - 'şemî'], - STANDALONEWEEKDAYS: ['yekşem', 'duşem', 'şê', 'çarşem', 'pêncşem', - 'în', 'şemî'], - SHORTWEEKDAYS: ['yş', 'dş', 'sş', 'çş', 'pş', 'în', 'ş'], - STANDALONESHORTWEEKDAYS: ['yş', 'dş', 'sş', 'çş', 'pş', 'în', 'ş'], - NARROWWEEKDAYS: ['y', 'd', 's', 'ç', 'p', 'î', 'ş'], - STANDALONENARROWWEEKDAYS: ['y', 'd', 's', 'ç', 'p', 'î', 'ş'], - SHORTQUARTERS: ['Ç1', 'Ç2', 'Ç3', 'Ç4'], - QUARTERS: ['Ç1', 'Ç2', 'Ç3', 'Ç4'], - AMPMS: ['BN', 'PN'], - DATEFORMATS: ['EEEE, y MMMM dd', 'y MMMM d', 'y MMM d', 'yyyy-MM-dd'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 6 -}; - - /** * Date/time formatting symbols for locale kw. */ @@ -8575,34 +8694,26 @@ goog.i18n.DateTimeSymbols_kw = { ERAS: ['RC', 'AD'], ERANAMES: ['RC', 'AD'], NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], - STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', - '11', '12'], - MONTHS: ['Mys Genver', 'Mys Whevrel', 'Mys Merth', 'Mys Ebrel', 'Mys Me', - 'Mys Efan', 'Mys Gortheren', 'Mye Est', 'Mys Gwyngala', 'Mys Hedra', - 'Mys Du', 'Mys Kevardhu'], - STANDALONEMONTHS: ['Mys Genver', 'Mys Whevrel', 'Mys Merth', 'Mys Ebrel', - 'Mys Me', 'Mys Efan', 'Mys Gortheren', 'Mye Est', 'Mys Gwyngala', - 'Mys Hedra', 'Mys Du', 'Mys Kevardhu'], - SHORTMONTHS: ['Gen', 'Whe', 'Mer', 'Ebr', 'Me', 'Efn', 'Gor', 'Est', 'Gwn', - 'Hed', 'Du', 'Kev'], - STANDALONESHORTMONTHS: ['Gen', 'Whe', 'Mer', 'Ebr', 'Me', 'Efn', 'Gor', 'Est', - 'Gwn', 'Hed', 'Du', 'Kev'], - WEEKDAYS: ['De Sul', 'De Lun', 'De Merth', 'De Merher', 'De Yow', 'De Gwener', - 'De Sadorn'], - STANDALONEWEEKDAYS: ['De Sul', 'De Lun', 'De Merth', 'De Merher', 'De Yow', - 'De Gwener', 'De Sadorn'], + STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + MONTHS: ['mis Genver', 'mis Hwevrer', 'mis Meurth', 'mis Ebrel', 'mis Me', 'mis Metheven', 'mis Gortheren', 'mis Est', 'mis Gwynngala', 'mis Hedra', 'mis Du', 'mis Kevardhu'], + STANDALONEMONTHS: ['mis Genver', 'mis Hwevrer', 'mis Meurth', 'mis Ebrel', 'mis Me', 'mis Metheven', 'mis Gortheren', 'mis Est', 'mis Gwynngala', 'mis Hedra', 'mis Du', 'mis Kevardhu'], + SHORTMONTHS: ['Gen', 'Hwe', 'Meu', 'Ebr', 'Me', 'Met', 'Gor', 'Est', 'Gwn', 'Hed', 'Du', 'Kev'], + STANDALONESHORTMONTHS: ['Gen', 'Hwe', 'Meu', 'Ebr', 'Me', 'Met', 'Gor', 'Est', 'Gwn', 'Hed', 'Du', 'Kev'], + WEEKDAYS: ['dy Sul', 'dy Lun', 'dy Meurth', 'dy Merher', 'dy Yow', 'dy Gwener', 'dy Sadorn'], + STANDALONEWEEKDAYS: ['dy Sul', 'dy Lun', 'dy Meurth', 'dy Merher', 'dy Yow', 'dy Gwener', 'dy Sadorn'], SHORTWEEKDAYS: ['Sul', 'Lun', 'Mth', 'Mhr', 'Yow', 'Gwe', 'Sad'], STANDALONESHORTWEEKDAYS: ['Sul', 'Lun', 'Mth', 'Mhr', 'Yow', 'Gwe', 'Sad'], - NARROWWEEKDAYS: ['1', '2', '3', '4', '5', '6', '7'], - STANDALONENARROWWEEKDAYS: ['1', '2', '3', '4', '5', '6', '7'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], QUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], AMPMS: ['a.m.', 'p.m.'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yyyy'], + DATEFORMATS: ['y MMMM d, EEEE', 'y MMMM d', 'y MMM d', 'y-MM-dd'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 6 + FIRSTWEEKCUTOFFDAY: 3 }; @@ -8612,6 +8723,12 @@ goog.i18n.DateTimeSymbols_kw = { goog.i18n.DateTimeSymbols_kw_GB = goog.i18n.DateTimeSymbols_kw; +/** + * Date/time formatting symbols for locale ky_KG. + */ +goog.i18n.DateTimeSymbols_ky_KG = goog.i18n.DateTimeSymbols_ky; + + /** * Date/time formatting symbols for locale lag. */ @@ -8619,44 +8736,69 @@ goog.i18n.DateTimeSymbols_lag = { ERAS: ['KSA', 'KA'], ERANAMES: ['Kɨrɨsitʉ sɨ anavyaal', 'Kɨrɨsitʉ akavyaalwe'], NARROWMONTHS: ['F', 'N', 'K', 'I', 'I', 'I', 'M', 'V', 'S', 'I', 'S', 'S'], - STANDALONENARROWMONTHS: ['F', 'N', 'K', 'I', 'I', 'I', 'M', 'V', 'S', 'I', - 'S', 'S'], - MONTHS: ['Kʉfúngatɨ', 'Kʉnaanɨ', 'Kʉkeenda', 'Kwiikumi', - 'Kwiinyambála', 'Kwiidwaata', 'Kʉmʉʉnchɨ', 'Kʉvɨɨrɨ', - 'Kʉsaatʉ', 'Kwiinyi', 'Kʉsaano', 'Kʉsasatʉ'], - STANDALONEMONTHS: ['Kʉfúngatɨ', 'Kʉnaanɨ', 'Kʉkeenda', 'Kwiikumi', - 'Kwiinyambála', 'Kwiidwaata', 'Kʉmʉʉnchɨ', 'Kʉvɨɨrɨ', - 'Kʉsaatʉ', 'Kwiinyi', 'Kʉsaano', 'Kʉsasatʉ'], - SHORTMONTHS: ['Fúngatɨ', 'Naanɨ', 'Keenda', 'Ikúmi', 'Inyambala', - 'Idwaata', 'Mʉʉnchɨ', 'Vɨɨrɨ', 'Saatʉ', 'Inyi', 'Saano', - 'Sasatʉ'], - STANDALONESHORTMONTHS: ['Fúngatɨ', 'Naanɨ', 'Keenda', 'Ikúmi', - 'Inyambala', 'Idwaata', 'Mʉʉnchɨ', 'Vɨɨrɨ', 'Saatʉ', 'Inyi', - 'Saano', 'Sasatʉ'], - WEEKDAYS: ['Jumapíiri', 'Jumatátu', 'Jumaíne', 'Jumatáano', 'Alamíisi', - 'Ijumáa', 'Jumamóosi'], - STANDALONEWEEKDAYS: ['Jumapíiri', 'Jumatátu', 'Jumaíne', 'Jumatáano', - 'Alamíisi', 'Ijumáa', 'Jumamóosi'], + STANDALONENARROWMONTHS: ['F', 'N', 'K', 'I', 'I', 'I', 'M', 'V', 'S', 'I', 'S', 'S'], + MONTHS: ['Kʉfúngatɨ', 'Kʉnaanɨ', 'Kʉkeenda', 'Kwiikumi', 'Kwiinyambála', 'Kwiidwaata', 'Kʉmʉʉnchɨ', 'Kʉvɨɨrɨ', 'Kʉsaatʉ', 'Kwiinyi', 'Kʉsaano', 'Kʉsasatʉ'], + STANDALONEMONTHS: ['Kʉfúngatɨ', 'Kʉnaanɨ', 'Kʉkeenda', 'Kwiikumi', 'Kwiinyambála', 'Kwiidwaata', 'Kʉmʉʉnchɨ', 'Kʉvɨɨrɨ', 'Kʉsaatʉ', 'Kwiinyi', 'Kʉsaano', 'Kʉsasatʉ'], + SHORTMONTHS: ['Fúngatɨ', 'Naanɨ', 'Keenda', 'Ikúmi', 'Inyambala', 'Idwaata', 'Mʉʉnchɨ', 'Vɨɨrɨ', 'Saatʉ', 'Inyi', 'Saano', 'Sasatʉ'], + STANDALONESHORTMONTHS: ['Fúngatɨ', 'Naanɨ', 'Keenda', 'Ikúmi', 'Inyambala', 'Idwaata', 'Mʉʉnchɨ', 'Vɨɨrɨ', 'Saatʉ', 'Inyi', 'Saano', 'Sasatʉ'], + WEEKDAYS: ['Jumapíiri', 'Jumatátu', 'Jumaíne', 'Jumatáano', 'Alamíisi', 'Ijumáa', 'Jumamóosi'], + STANDALONEWEEKDAYS: ['Jumapíiri', 'Jumatátu', 'Jumaíne', 'Jumatáano', 'Alamíisi', 'Ijumáa', 'Jumamóosi'], SHORTWEEKDAYS: ['Píili', 'Táatu', 'Íne', 'Táano', 'Alh', 'Ijm', 'Móosi'], - STANDALONESHORTWEEKDAYS: ['Píili', 'Táatu', 'Íne', 'Táano', 'Alh', 'Ijm', - 'Móosi'], + STANDALONESHORTWEEKDAYS: ['Píili', 'Táatu', 'Íne', 'Táano', 'Alh', 'Ijm', 'Móosi'], NARROWWEEKDAYS: ['P', 'T', 'E', 'O', 'A', 'I', 'M'], STANDALONENARROWWEEKDAYS: ['P', 'T', 'E', 'O', 'A', 'I', 'M'], SHORTQUARTERS: ['Ncho 1', 'Ncho 2', 'Ncho 3', 'Ncho 4'], QUARTERS: ['Ncholo ya 1', 'Ncholo ya 2', 'Ncholo ya 3', 'Ncholo ya 4'], AMPMS: ['TOO', 'MUU'], - DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yyyy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale lag_TZ. + */ +goog.i18n.DateTimeSymbols_lag_TZ = goog.i18n.DateTimeSymbols_lag; + + +/** + * Date/time formatting symbols for locale lb. + */ +goog.i18n.DateTimeSymbols_lb = { + ERAS: ['v. Chr.', 'n. Chr.'], + ERANAMES: ['v. Chr.', 'n. Chr.'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['Januar', 'Februar', 'Mäerz', 'Abrëll', 'Mee', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'], + STANDALONEMONTHS: ['Januar', 'Februar', 'Mäerz', 'Abrëll', 'Mee', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'], + SHORTMONTHS: ['Jan.', 'Feb.', 'Mäe.', 'Abr.', 'Mee', 'Juni', 'Juli', 'Aug.', 'Sep.', 'Okt.', 'Nov.', 'Dez.'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mäe', 'Abr', 'Mee', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'], + WEEKDAYS: ['Sonndeg', 'Méindeg', 'Dënschdeg', 'Mëttwoch', 'Donneschdeg', 'Freideg', 'Samschdeg'], + STANDALONEWEEKDAYS: ['Sonndeg', 'Méindeg', 'Dënschdeg', 'Mëttwoch', 'Donneschdeg', 'Freideg', 'Samschdeg'], + SHORTWEEKDAYS: ['Son.', 'Méi.', 'Dën.', 'Mët.', 'Don.', 'Fre.', 'Sam.'], + STANDALONESHORTWEEKDAYS: ['Son', 'Méi', 'Dën', 'Mët', 'Don', 'Fre', 'Sam'], + NARROWWEEKDAYS: ['S', 'M', 'D', 'M', 'D', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'D', 'M', 'D', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1. Quartal', '2. Quartal', '3. Quartal', '4. Quartal'], + AMPMS: ['moies', 'nomëttes'], + DATEFORMATS: ['EEEE, d. MMMM y', 'd. MMMM y', 'd. MMM y', 'dd.MM.yy'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 6 + FIRSTWEEKCUTOFFDAY: 3 }; /** - * Date/time formatting symbols for locale lag_TZ. + * Date/time formatting symbols for locale lb_LU. */ -goog.i18n.DateTimeSymbols_lag_TZ = goog.i18n.DateTimeSymbols_lag; +goog.i18n.DateTimeSymbols_lb_LU = goog.i18n.DateTimeSymbols_lb; /** @@ -8666,21 +8808,13 @@ goog.i18n.DateTimeSymbols_lg = { ERAS: ['BC', 'AD'], ERANAMES: ['Kulisito nga tannaza', 'Bukya Kulisito Azaal'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['Janwaliyo', 'Febwaliyo', 'Marisi', 'Apuli', 'Maayi', 'Juuni', - 'Julaayi', 'Agusito', 'Sebuttemba', 'Okitobba', 'Novemba', 'Desemba'], - STANDALONEMONTHS: ['Janwaliyo', 'Febwaliyo', 'Marisi', 'Apuli', 'Maayi', - 'Juuni', 'Julaayi', 'Agusito', 'Sebuttemba', 'Okitobba', 'Novemba', - 'Desemba'], - SHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apu', 'Maa', 'Juu', 'Jul', 'Agu', 'Seb', - 'Oki', 'Nov', 'Des'], - STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apu', 'Maa', 'Juu', 'Jul', - 'Agu', 'Seb', 'Oki', 'Nov', 'Des'], - WEEKDAYS: ['Sabbiiti', 'Balaza', 'Lwakubiri', 'Lwakusatu', 'Lwakuna', - 'Lwakutaano', 'Lwamukaaga'], - STANDALONEWEEKDAYS: ['Sabbiiti', 'Balaza', 'Lwakubiri', 'Lwakusatu', - 'Lwakuna', 'Lwakutaano', 'Lwamukaaga'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['Janwaliyo', 'Febwaliyo', 'Marisi', 'Apuli', 'Maayi', 'Juuni', 'Julaayi', 'Agusito', 'Sebuttemba', 'Okitobba', 'Novemba', 'Desemba'], + STANDALONEMONTHS: ['Janwaliyo', 'Febwaliyo', 'Marisi', 'Apuli', 'Maayi', 'Juuni', 'Julaayi', 'Agusito', 'Sebuttemba', 'Okitobba', 'Novemba', 'Desemba'], + SHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apu', 'Maa', 'Juu', 'Jul', 'Agu', 'Seb', 'Oki', 'Nov', 'Des'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apu', 'Maa', 'Juu', 'Jul', 'Agu', 'Seb', 'Oki', 'Nov', 'Des'], + WEEKDAYS: ['Sabbiiti', 'Balaza', 'Lwakubiri', 'Lwakusatu', 'Lwakuna', 'Lwakutaano', 'Lwamukaaga'], + STANDALONEWEEKDAYS: ['Sabbiiti', 'Balaza', 'Lwakubiri', 'Lwakusatu', 'Lwakuna', 'Lwakutaano', 'Lwamukaaga'], SHORTWEEKDAYS: ['Sab', 'Bal', 'Lw2', 'Lw3', 'Lw4', 'Lw5', 'Lw6'], STANDALONESHORTWEEKDAYS: ['Sab', 'Bal', 'Lw2', 'Lw3', 'Lw4', 'Lw5', 'Lw6'], NARROWWEEKDAYS: ['S', 'B', 'L', 'L', 'L', 'L', 'L'], @@ -8688,8 +8822,9 @@ goog.i18n.DateTimeSymbols_lg = { SHORTQUARTERS: ['Kya1', 'Kya2', 'Kya3', 'Kya4'], QUARTERS: ['Kyakuna 1', 'Kyakuna 2', 'Kyakuna 3', 'Kyakuna 4'], AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yyyy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -8703,186 +8838,143 @@ goog.i18n.DateTimeSymbols_lg_UG = goog.i18n.DateTimeSymbols_lg; /** - * Date/time formatting symbols for locale ln_CD. + * Date/time formatting symbols for locale lkt. */ -goog.i18n.DateTimeSymbols_ln_CD = { - ERAS: ['libóso ya', 'nsima ya Y'], - ERANAMES: ['Yambo ya Yézu Krís', 'Nsima ya Yézu Krís'], - NARROWMONTHS: ['y', 'f', 'm', 'a', 'm', 'y', 'y', 'a', 's', 'ɔ', 'n', 'd'], - STANDALONENARROWMONTHS: ['y', 'f', 'm', 'a', 'm', 'y', 'y', 'a', 's', 'ɔ', - 'n', 'd'], - MONTHS: ['sánzá ya yambo', 'sánzá ya míbalé', 'sánzá ya mísáto', - 'sánzá ya mínei', 'sánzá ya mítáno', 'sánzá ya motóbá', - 'sánzá ya nsambo', 'sánzá ya mwambe', 'sánzá ya libwa', - 'sánzá ya zómi', 'sánzá ya zómi na mɔ̌kɔ́', - 'sánzá ya zómi na míbalé'], - STANDALONEMONTHS: ['sánzá ya yambo', 'sánzá ya míbalé', - 'sánzá ya mísáto', 'sánzá ya mínei', 'sánzá ya mítáno', - 'sánzá ya motóbá', 'sánzá ya nsambo', 'sánzá ya mwambe', - 'sánzá ya libwa', 'sánzá ya zómi', 'sánzá ya zómi na mɔ̌kɔ́', - 'sánzá ya zómi na míbalé'], - SHORTMONTHS: ['yan', 'fbl', 'msi', 'apl', 'mai', 'yun', 'yul', 'agt', 'stb', - 'ɔtb', 'nvb', 'dsb'], - STANDALONESHORTMONTHS: ['yan', 'fbl', 'msi', 'apl', 'mai', 'yun', 'yul', - 'agt', 'stb', 'ɔtb', 'nvb', 'dsb'], - WEEKDAYS: ['eyenga', 'mokɔlɔ mwa yambo', 'mokɔlɔ mwa míbalé', - 'mokɔlɔ mwa mísáto', 'mokɔlɔ ya mínéi', 'mokɔlɔ ya mítáno', - 'mpɔ́sɔ'], - STANDALONEWEEKDAYS: ['eyenga', 'mokɔlɔ mwa yambo', 'mokɔlɔ mwa míbalé', - 'mokɔlɔ mwa mísáto', 'mokɔlɔ ya mínéi', 'mokɔlɔ ya mítáno', - 'mpɔ́sɔ'], - SHORTWEEKDAYS: ['eye', 'ybo', 'mbl', 'mst', 'min', 'mtn', 'mps'], - STANDALONESHORTWEEKDAYS: ['eye', 'ybo', 'mbl', 'mst', 'min', 'mtn', 'mps'], - NARROWWEEKDAYS: ['e', 'y', 'm', 'm', 'm', 'm', 'p'], - STANDALONENARROWWEEKDAYS: ['e', 'y', 'm', 'm', 'm', 'm', 'p'], - SHORTQUARTERS: ['SM1', 'SM2', 'SM3', 'SM4'], - QUARTERS: ['sánzá mísáto ya yambo', 'sánzá mísáto ya míbalé', - 'sánzá mísáto ya mísáto', 'sánzá mísáto ya mínei'], - AMPMS: ['ntɔ́ngɔ́', 'mpókwa'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'd/M/yyyy'], +goog.i18n.DateTimeSymbols_lkt = { + ERAS: ['BCE', 'CE'], + ERANAMES: ['BCE', 'CE'], + NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + MONTHS: ['Wiótheȟika Wí', 'Thiyóȟeyuŋka Wí', 'Ištáwičhayazaŋ Wí', 'Pȟežítȟo Wí', 'Čhaŋwápetȟo Wí', 'Wípazukȟa-wašté Wí', 'Čhaŋpȟásapa Wí', 'Wasútȟuŋ Wí', 'Čhaŋwápeǧi Wí', 'Čhaŋwápe-kasná Wí', 'Waníyetu Wí', 'Tȟahékapšuŋ Wí'], + STANDALONEMONTHS: ['Wiótheȟika Wí', 'Thiyóȟeyuŋka Wí', 'Ištáwičhayazaŋ Wí', 'Pȟežítȟo Wí', 'Čhaŋwápetȟo Wí', 'Wípazukȟa-wašté Wí', 'Čhaŋpȟásapa Wí', 'Wasútȟuŋ Wí', 'Čhaŋwápeǧi Wí', 'Čhaŋwápe-kasná Wí', 'Waníyetu Wí', 'Tȟahékapšuŋ Wí'], + SHORTMONTHS: ['Wiótheȟika Wí', 'Thiyóȟeyuŋka Wí', 'Ištáwičhayazaŋ Wí', 'Pȟežítȟo Wí', 'Čhaŋwápetȟo Wí', 'Wípazukȟa-wašté Wí', 'Čhaŋpȟásapa Wí', 'Wasútȟuŋ Wí', 'Čhaŋwápeǧi Wí', 'Čhaŋwápe-kasná Wí', 'Waníyetu Wí', 'Tȟahékapšuŋ Wí'], + STANDALONESHORTMONTHS: ['Wiótheȟika Wí', 'Thiyóȟeyuŋka Wí', 'Ištáwičhayazaŋ Wí', 'Pȟežítȟo Wí', 'Čhaŋwápetȟo Wí', 'Wípazukȟa-wašté Wí', 'Čhaŋpȟásapa Wí', 'Wasútȟuŋ Wí', 'Čhaŋwápeǧi Wí', 'Čhaŋwápe-kasná Wí', 'Waníyetu Wí', 'Tȟahékapšuŋ Wí'], + WEEKDAYS: ['Aŋpétuwakȟaŋ', 'Aŋpétuwaŋži', 'Aŋpétunuŋpa', 'Aŋpétuyamni', 'Aŋpétutopa', 'Aŋpétuzaptaŋ', 'Owáŋgyužažapi'], + STANDALONEWEEKDAYS: ['Aŋpétuwakȟaŋ', 'Aŋpétuwaŋži', 'Aŋpétunuŋpa', 'Aŋpétuyamni', 'Aŋpétutopa', 'Aŋpétuzaptaŋ', 'Owáŋgyužažapi'], + SHORTWEEKDAYS: ['Aŋpétuwakȟaŋ', 'Aŋpétuwaŋži', 'Aŋpétunuŋpa', 'Aŋpétuyamni', 'Aŋpétutopa', 'Aŋpétuzaptaŋ', 'Owáŋgyužažapi'], + STANDALONESHORTWEEKDAYS: ['Aŋpétuwakȟaŋ', 'Aŋpétuwaŋži', 'Aŋpétunuŋpa', 'Aŋpétuyamni', 'Aŋpétutopa', 'Aŋpétuzaptaŋ', 'Owáŋgyužažapi'], + NARROWWEEKDAYS: ['A', 'W', 'N', 'Y', 'T', 'Z', 'O'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['y MMMM d, EEEE', 'y MMMM d', 'y MMM d', 'y-MM-dd'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 0, + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 6, WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 6 + FIRSTWEEKCUTOFFDAY: 5 }; +/** + * Date/time formatting symbols for locale lkt_US. + */ +goog.i18n.DateTimeSymbols_lkt_US = goog.i18n.DateTimeSymbols_lkt; + + +/** + * Date/time formatting symbols for locale ln_AO. + */ +goog.i18n.DateTimeSymbols_ln_AO = goog.i18n.DateTimeSymbols_ln; + + +/** + * Date/time formatting symbols for locale ln_CD. + */ +goog.i18n.DateTimeSymbols_ln_CD = goog.i18n.DateTimeSymbols_ln; + + +/** + * Date/time formatting symbols for locale ln_CF. + */ +goog.i18n.DateTimeSymbols_ln_CF = goog.i18n.DateTimeSymbols_ln; + + /** * Date/time formatting symbols for locale ln_CG. */ -goog.i18n.DateTimeSymbols_ln_CG = { - ERAS: ['libóso ya', 'nsima ya Y'], - ERANAMES: ['Yambo ya Yézu Krís', 'Nsima ya Yézu Krís'], - NARROWMONTHS: ['y', 'f', 'm', 'a', 'm', 'y', 'y', 'a', 's', 'ɔ', 'n', 'd'], - STANDALONENARROWMONTHS: ['y', 'f', 'm', 'a', 'm', 'y', 'y', 'a', 's', 'ɔ', - 'n', 'd'], - MONTHS: ['sánzá ya yambo', 'sánzá ya míbalé', 'sánzá ya mísáto', - 'sánzá ya mínei', 'sánzá ya mítáno', 'sánzá ya motóbá', - 'sánzá ya nsambo', 'sánzá ya mwambe', 'sánzá ya libwa', - 'sánzá ya zómi', 'sánzá ya zómi na mɔ̌kɔ́', - 'sánzá ya zómi na míbalé'], - STANDALONEMONTHS: ['sánzá ya yambo', 'sánzá ya míbalé', - 'sánzá ya mísáto', 'sánzá ya mínei', 'sánzá ya mítáno', - 'sánzá ya motóbá', 'sánzá ya nsambo', 'sánzá ya mwambe', - 'sánzá ya libwa', 'sánzá ya zómi', 'sánzá ya zómi na mɔ̌kɔ́', - 'sánzá ya zómi na míbalé'], - SHORTMONTHS: ['yan', 'fbl', 'msi', 'apl', 'mai', 'yun', 'yul', 'agt', 'stb', - 'ɔtb', 'nvb', 'dsb'], - STANDALONESHORTMONTHS: ['yan', 'fbl', 'msi', 'apl', 'mai', 'yun', 'yul', - 'agt', 'stb', 'ɔtb', 'nvb', 'dsb'], - WEEKDAYS: ['eyenga', 'mokɔlɔ mwa yambo', 'mokɔlɔ mwa míbalé', - 'mokɔlɔ mwa mísáto', 'mokɔlɔ ya mínéi', 'mokɔlɔ ya mítáno', - 'mpɔ́sɔ'], - STANDALONEWEEKDAYS: ['eyenga', 'mokɔlɔ mwa yambo', 'mokɔlɔ mwa míbalé', - 'mokɔlɔ mwa mísáto', 'mokɔlɔ ya mínéi', 'mokɔlɔ ya mítáno', - 'mpɔ́sɔ'], - SHORTWEEKDAYS: ['eye', 'ybo', 'mbl', 'mst', 'min', 'mtn', 'mps'], - STANDALONESHORTWEEKDAYS: ['eye', 'ybo', 'mbl', 'mst', 'min', 'mtn', 'mps'], - NARROWWEEKDAYS: ['e', 'y', 'm', 'm', 'm', 'm', 'p'], - STANDALONENARROWWEEKDAYS: ['e', 'y', 'm', 'm', 'm', 'm', 'p'], - SHORTQUARTERS: ['SM1', 'SM2', 'SM3', 'SM4'], - QUARTERS: ['sánzá mísáto ya yambo', 'sánzá mísáto ya míbalé', - 'sánzá mísáto ya mísáto', 'sánzá mísáto ya mínei'], - AMPMS: ['ntɔ́ngɔ́', 'mpókwa'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'd/M/yyyy'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 6 -}; - - -/** - * Date/time formatting symbols for locale lo. - */ -goog.i18n.DateTimeSymbols_lo = { - ERAS: ['ປີກ່ອນຄິດສະການທີ່', 'ຄ.ສ.'], - ERANAMES: ['ປີກ່ອນຄິດສະການທີ່', 'ຄ.ສ.'], +goog.i18n.DateTimeSymbols_ln_CG = goog.i18n.DateTimeSymbols_ln; + + +/** + * Date/time formatting symbols for locale lo_LA. + */ +goog.i18n.DateTimeSymbols_lo_LA = goog.i18n.DateTimeSymbols_lo; + + +/** + * Date/time formatting symbols for locale lrc. + */ +goog.i18n.DateTimeSymbols_lrc = { + ZERODIGIT: 0x06F0, + ERAS: ['BCE', 'CE'], + ERANAMES: ['BCE', 'CE'], + NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + MONTHS: ['جانڤیە', 'فئڤریە', 'مارس', 'آڤریل', 'مئی', 'جوٙأن', 'جوٙلا', 'آگوست', 'سئپتامر', 'ئوکتوڤر', 'نوڤامر', 'دئسامر'], + STANDALONEMONTHS: ['جانڤیە', 'فئڤریە', 'مارس', 'آڤریل', 'مئی', 'جوٙأن', 'جوٙلا', 'آگوست', 'سئپتامر', 'ئوکتوڤر', 'نوڤامر', 'دئسامر'], + SHORTMONTHS: ['جانڤیە', 'فئڤریە', 'مارس', 'آڤریل', 'مئی', 'جوٙأن', 'جوٙلا', 'آگوست', 'سئپتامر', 'ئوکتوڤر', 'نوڤامر', 'دئسامر'], + STANDALONESHORTMONTHS: ['جانڤیە', 'فئڤریە', 'مارس', 'آڤریل', 'مئی', 'جوٙأن', 'جوٙلا', 'آگوست', 'سئپتامر', 'ئوکتوڤر', 'نوڤامر', 'دئسامر'], + WEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONEWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['y MMMM d, EEEE', 'y MMMM d', 'y MMM d', 'y-MM-dd'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 5, + WEEKENDRANGE: [4, 4], + FIRSTWEEKCUTOFFDAY: 4 +}; + + +/** + * Date/time formatting symbols for locale lrc_IQ. + */ +goog.i18n.DateTimeSymbols_lrc_IQ = { + ZERODIGIT: 0x06F0, + ERAS: ['BCE', 'CE'], + ERANAMES: ['BCE', 'CE'], NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], - STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', - '11', '12'], - MONTHS: ['ມັງກອນ', 'ກຸມພາ', 'ມີນາ', - 'ເມສາ', 'ພຶດສະພາ', 'ມິຖຸນາ', - 'ກໍລະກົດ', 'ສິງຫາ', 'ກັນຍາ', - 'ຕຸລາ', 'ພະຈິກ', 'ທັນວາ'], - STANDALONEMONTHS: ['ມັງກອນ', 'ກຸມພາ', 'ມີນາ', - 'ເມສາ', 'ພຶດສະພາ', 'ມິຖຸນາ', - 'ກໍລະກົດ', 'ສິງຫາ', 'ກັນຍາ', - 'ຕຸລາ', 'ພະຈິກ', 'ທັນວາ'], - SHORTMONTHS: ['ມ.ກ.', 'ກ.ພ.', 'ມີ.ນ.', 'ມ.ສ..', 'ພ.ພ.', - 'ມິ.ຖ.', 'ກ.ລ.', 'ສ.ຫ.', 'ກ.ຍ.', 'ຕ.ລ.', 'ພ.ຈ.', - 'ທ.ວ.'], - STANDALONESHORTMONTHS: ['ມ.ກ.', 'ກ.ພ.', 'ມີ.ນ.', 'ມ.ສ..', - 'ພ.ພ.', 'ມິ.ຖ.', 'ກ.ລ.', 'ສ.ຫ.', 'ກ.ຍ.', 'ຕ.ລ.', - 'ພ.ຈ.', 'ທ.ວ.'], - WEEKDAYS: ['ວັນອາທິດ', 'ວັນຈັນ', - 'ວັນອັງຄານ', 'ວັນພຸດ', - 'ວັນພະຫັດ', 'ວັນສຸກ', - 'ວັນເສົາ'], - STANDALONEWEEKDAYS: ['ວັນອາທິດ', 'ວັນຈັນ', - 'ວັນອັງຄານ', 'ວັນພຸດ', - 'ວັນພະຫັດ', 'ວັນສຸກ', - 'ວັນເສົາ'], - SHORTWEEKDAYS: ['ອາ.', 'ຈ.', 'ອ.', 'ພ.', 'ພຫ.', 'ສກ.', - 'ສ.'], - STANDALONESHORTWEEKDAYS: ['ອາ.', 'ຈ.', 'ອ.', 'ພ.', 'ພຫ.', - 'ສກ.', 'ສ.'], - NARROWWEEKDAYS: ['1', '2', '3', '4', '5', '6', '7'], - STANDALONENARROWWEEKDAYS: ['1', '2', '3', '4', '5', '6', '7'], + STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + MONTHS: ['جانڤیە', 'فئڤریە', 'مارس', 'آڤریل', 'مئی', 'جوٙأن', 'جوٙلا', 'آگوست', 'سئپتامر', 'ئوکتوڤر', 'نوڤامر', 'دئسامر'], + STANDALONEMONTHS: ['جانڤیە', 'فئڤریە', 'مارس', 'آڤریل', 'مئی', 'جوٙأن', 'جوٙلا', 'آگوست', 'سئپتامر', 'ئوکتوڤر', 'نوڤامر', 'دئسامر'], + SHORTMONTHS: ['جانڤیە', 'فئڤریە', 'مارس', 'آڤریل', 'مئی', 'جوٙأن', 'جوٙلا', 'آگوست', 'سئپتامر', 'ئوکتوڤر', 'نوڤامر', 'دئسامر'], + STANDALONESHORTMONTHS: ['جانڤیە', 'فئڤریە', 'مارس', 'آڤریل', 'مئی', 'جوٙأن', 'جوٙلا', 'آگوست', 'سئپتامر', 'ئوکتوڤر', 'نوڤامر', 'دئسامر'], + WEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONEWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], QUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - AMPMS: ['ກ່ອນທ່ຽງ', 'ຫລັງທ່ຽງ'], - DATEFORMATS: ['EEEEທີ d MMMM G y', 'd MMMM y', 'd MMM y', 'd/M/yyyy'], - TIMEFORMATS: ['Hໂມງ mນາທີ ss ວິນາທີzzzz', - 'H ໂມງ mນາທີss z', 'H:mm:ss', 'H:mm'], - FIRSTDAYOFWEEK: 6, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 5 + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['y MMMM d, EEEE', 'y MMMM d', 'y MMM d', 'y-MM-dd'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 5, + WEEKENDRANGE: [4, 5], + FIRSTWEEKCUTOFFDAY: 4 }; /** - * Date/time formatting symbols for locale lo_LA. + * Date/time formatting symbols for locale lrc_IR. */ -goog.i18n.DateTimeSymbols_lo_LA = goog.i18n.DateTimeSymbols_lo; +goog.i18n.DateTimeSymbols_lrc_IR = goog.i18n.DateTimeSymbols_lrc; /** * Date/time formatting symbols for locale lt_LT. */ -goog.i18n.DateTimeSymbols_lt_LT = { - ERAS: ['pr. Kr.', 'po Kr.'], - ERANAMES: ['prieš Kristų', 'po Kristaus'], - NARROWMONTHS: ['S', 'V', 'K', 'B', 'G', 'B', 'L', 'R', 'R', 'S', 'L', 'G'], - STANDALONENARROWMONTHS: ['S', 'V', 'K', 'B', 'G', 'B', 'L', 'R', 'R', 'S', - 'L', 'G'], - MONTHS: ['sausio', 'vasaris', 'kovas', 'balandis', 'gegužė', 'birželis', - 'liepa', 'rugpjūtis', 'rugsėjis', 'spalis', 'lapkritis', 'gruodis'], - STANDALONEMONTHS: ['Sausis', 'Vasaris', 'Kovas', 'Balandis', 'Gegužė', - 'Birželis', 'Liepa', 'Rugpjūtis', 'Rugsėjis', 'Spalis', 'Lapkritis', - 'Gruodis'], - SHORTMONTHS: ['Saus.', 'Vas', 'Kov.', 'Bal.', 'Geg.', 'Bir.', 'Liep.', - 'Rugp.', 'Rugs.', 'Spal.', 'Lapkr.', 'Gruod.'], - STANDALONESHORTMONTHS: ['Saus.', 'Vas.', 'Kov.', 'Bal.', 'Geg.', 'Bir.', - 'Liep.', 'Rugp.', 'Rugs.', 'Spal.', 'Lapkr.', 'Gruod.'], - WEEKDAYS: ['sekmadienis', 'pirmadienis', 'antradienis', 'trečiadienis', - 'ketvirtadienis', 'penktadienis', 'šeštadienis'], - STANDALONEWEEKDAYS: ['sekmadienis', 'pirmadienis', 'antradienis', - 'trečiadienis', 'ketvirtadienis', 'penktadienis', 'šeštadienis'], - SHORTWEEKDAYS: ['Sk', 'Pr', 'An', 'Tr', 'Kt', 'Pn', 'Št'], - STANDALONESHORTWEEKDAYS: ['Sk', 'Pr', 'An', 'Tr', 'Kt', 'Pn', 'Št'], - NARROWWEEKDAYS: ['S', 'P', 'A', 'T', 'K', 'P', 'Š'], - STANDALONENARROWWEEKDAYS: ['S', 'P', 'A', 'T', 'K', 'P', 'Š'], - SHORTQUARTERS: ['I k.', 'II k.', 'III k.', 'IV ketv.'], - QUARTERS: ['I ketvirtis', 'II ketvirtis', 'III ketvirtis', 'IV ketvirtis'], - AMPMS: ['priešpiet', 'popiet'], - DATEFORMATS: ['y \'m\'. MMMM d \'d\'., EEEE', 'y \'m\'. MMMM d \'d\'.', - 'y MMM d', 'yyyy-MM-dd'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 3 -}; +goog.i18n.DateTimeSymbols_lt_LT = goog.i18n.DateTimeSymbols_lt; /** @@ -8892,22 +8984,13 @@ goog.i18n.DateTimeSymbols_lu = { ERAS: ['kmp. Y.K.', 'kny. Y. K.'], ERANAMES: ['Kumpala kwa Yezu Kli', 'Kunyima kwa Yezu Kli'], NARROWMONTHS: ['C', 'L', 'L', 'M', 'L', 'L', 'K', 'L', 'L', 'L', 'K', 'C'], - STANDALONENARROWMONTHS: ['C', 'L', 'L', 'M', 'L', 'L', 'K', 'L', 'L', 'L', - 'K', 'C'], - MONTHS: ['Ciongo', 'Lùishi', 'Lusòlo', 'Mùuyà', 'Lumùngùlù', 'Lufuimi', - 'Kabàlàshìpù', 'Lùshìkà', 'Lutongolo', 'Lungùdi', 'Kaswèkèsè', - 'Ciswà'], - STANDALONEMONTHS: ['Ciongo', 'Lùishi', 'Lusòlo', 'Mùuyà', 'Lumùngùlù', - 'Lufuimi', 'Kabàlàshìpù', 'Lùshìkà', 'Lutongolo', 'Lungùdi', - 'Kaswèkèsè', 'Ciswà'], - SHORTMONTHS: ['Cio', 'Lui', 'Lus', 'Muu', 'Lum', 'Luf', 'Kab', 'Lush', 'Lut', - 'Lun', 'Kas', 'Cis'], - STANDALONESHORTMONTHS: ['Cio', 'Lui', 'Lus', 'Muu', 'Lum', 'Luf', 'Kab', - 'Lush', 'Lut', 'Lun', 'Kas', 'Cis'], - WEEKDAYS: ['Lumingu', 'Nkodya', 'Ndàayà', 'Ndangù', 'Njòwa', 'Ngòvya', - 'Lubingu'], - STANDALONEWEEKDAYS: ['Lumingu', 'Nkodya', 'Ndàayà', 'Ndangù', 'Njòwa', - 'Ngòvya', 'Lubingu'], + STANDALONENARROWMONTHS: ['C', 'L', 'L', 'M', 'L', 'L', 'K', 'L', 'L', 'L', 'K', 'C'], + MONTHS: ['Ciongo', 'Lùishi', 'Lusòlo', 'Mùuyà', 'Lumùngùlù', 'Lufuimi', 'Kabàlàshìpù', 'Lùshìkà', 'Lutongolo', 'Lungùdi', 'Kaswèkèsè', 'Ciswà'], + STANDALONEMONTHS: ['Ciongo', 'Lùishi', 'Lusòlo', 'Mùuyà', 'Lumùngùlù', 'Lufuimi', 'Kabàlàshìpù', 'Lùshìkà', 'Lutongolo', 'Lungùdi', 'Kaswèkèsè', 'Ciswà'], + SHORTMONTHS: ['Cio', 'Lui', 'Lus', 'Muu', 'Lum', 'Luf', 'Kab', 'Lush', 'Lut', 'Lun', 'Kas', 'Cis'], + STANDALONESHORTMONTHS: ['Cio', 'Lui', 'Lus', 'Muu', 'Lum', 'Luf', 'Kab', 'Lush', 'Lut', 'Lun', 'Kas', 'Cis'], + WEEKDAYS: ['Lumingu', 'Nkodya', 'Ndàayà', 'Ndangù', 'Njòwa', 'Ngòvya', 'Lubingu'], + STANDALONEWEEKDAYS: ['Lumingu', 'Nkodya', 'Ndàayà', 'Ndangù', 'Njòwa', 'Ngòvya', 'Lubingu'], SHORTWEEKDAYS: ['Lum', 'Nko', 'Ndy', 'Ndg', 'Njw', 'Ngv', 'Lub'], STANDALONESHORTWEEKDAYS: ['Lum', 'Nko', 'Ndy', 'Ndg', 'Njw', 'Ngv', 'Lub'], NARROWWEEKDAYS: ['L', 'N', 'N', 'N', 'N', 'N', 'L'], @@ -8915,8 +8998,9 @@ goog.i18n.DateTimeSymbols_lu = { SHORTQUARTERS: ['M1', 'M2', 'M3', 'M4'], QUARTERS: ['Mueji 1', 'Mueji 2', 'Mueji 3', 'Mueji 4'], AMPMS: ['Dinda', 'Dilolo'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'd/M/yyyy'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'd/M/y'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -8936,37 +9020,26 @@ goog.i18n.DateTimeSymbols_luo = { ERAS: ['BC', 'AD'], ERANAMES: ['Kapok Kristo obiro', 'Ka Kristo osebiro'], NARROWMONTHS: ['C', 'R', 'D', 'N', 'B', 'U', 'B', 'B', 'C', 'P', 'C', 'P'], - STANDALONENARROWMONTHS: ['C', 'R', 'D', 'N', 'B', 'U', 'B', 'B', 'C', 'P', - 'C', 'P'], - MONTHS: ['Dwe mar Achiel', 'Dwe mar Ariyo', 'Dwe mar Adek', - 'Dwe mar Ang\'wen', 'Dwe mar Abich', 'Dwe mar Auchiel', 'Dwe mar Abiriyo', - 'Dwe mar Aboro', 'Dwe mar Ochiko', 'Dwe mar Apar', 'Dwe mar gi achiel', - 'Dwe mar Apar gi ariyo'], - STANDALONEMONTHS: ['Dwe mar Achiel', 'Dwe mar Ariyo', 'Dwe mar Adek', - 'Dwe mar Ang\'wen', 'Dwe mar Abich', 'Dwe mar Auchiel', 'Dwe mar Abiriyo', - 'Dwe mar Aboro', 'Dwe mar Ochiko', 'Dwe mar Apar', 'Dwe mar gi achiel', - 'Dwe mar Apar gi ariyo'], - SHORTMONTHS: ['DAC', 'DAR', 'DAD', 'DAN', 'DAH', 'DAU', 'DAO', 'DAB', 'DOC', - 'DAP', 'DGI', 'DAG'], - STANDALONESHORTMONTHS: ['DAC', 'DAR', 'DAD', 'DAN', 'DAH', 'DAU', 'DAO', - 'DAB', 'DOC', 'DAP', 'DGI', 'DAG'], - WEEKDAYS: ['Jumapil', 'Wuok Tich', 'Tich Ariyo', 'Tich Adek', 'Tich Ang\'wen', - 'Tich Abich', 'Ngeso'], - STANDALONEWEEKDAYS: ['Jumapil', 'Wuok Tich', 'Tich Ariyo', 'Tich Adek', - 'Tich Ang\'wen', 'Tich Abich', 'Ngeso'], + STANDALONENARROWMONTHS: ['C', 'R', 'D', 'N', 'B', 'U', 'B', 'B', 'C', 'P', 'C', 'P'], + MONTHS: ['Dwe mar Achiel', 'Dwe mar Ariyo', 'Dwe mar Adek', 'Dwe mar Ang’wen', 'Dwe mar Abich', 'Dwe mar Auchiel', 'Dwe mar Abiriyo', 'Dwe mar Aboro', 'Dwe mar Ochiko', 'Dwe mar Apar', 'Dwe mar gi achiel', 'Dwe mar Apar gi ariyo'], + STANDALONEMONTHS: ['Dwe mar Achiel', 'Dwe mar Ariyo', 'Dwe mar Adek', 'Dwe mar Ang’wen', 'Dwe mar Abich', 'Dwe mar Auchiel', 'Dwe mar Abiriyo', 'Dwe mar Aboro', 'Dwe mar Ochiko', 'Dwe mar Apar', 'Dwe mar gi achiel', 'Dwe mar Apar gi ariyo'], + SHORTMONTHS: ['DAC', 'DAR', 'DAD', 'DAN', 'DAH', 'DAU', 'DAO', 'DAB', 'DOC', 'DAP', 'DGI', 'DAG'], + STANDALONESHORTMONTHS: ['DAC', 'DAR', 'DAD', 'DAN', 'DAH', 'DAU', 'DAO', 'DAB', 'DOC', 'DAP', 'DGI', 'DAG'], + WEEKDAYS: ['Jumapil', 'Wuok Tich', 'Tich Ariyo', 'Tich Adek', 'Tich Ang’wen', 'Tich Abich', 'Ngeso'], + STANDALONEWEEKDAYS: ['Jumapil', 'Wuok Tich', 'Tich Ariyo', 'Tich Adek', 'Tich Ang’wen', 'Tich Abich', 'Ngeso'], SHORTWEEKDAYS: ['JMP', 'WUT', 'TAR', 'TAD', 'TAN', 'TAB', 'NGS'], STANDALONESHORTWEEKDAYS: ['JMP', 'WUT', 'TAR', 'TAD', 'TAN', 'TAB', 'NGS'], NARROWWEEKDAYS: ['J', 'W', 'T', 'T', 'T', 'T', 'N'], STANDALONENARROWWEEKDAYS: ['J', 'W', 'T', 'T', 'T', 'T', 'N'], SHORTQUARTERS: ['NMN1', 'NMN2', 'NMN3', 'NMN4'], - QUARTERS: ['nus mar nus 1', 'nus mar nus 2', 'nus mar nus 3', - 'nus mar nus 4'], + QUARTERS: ['nus mar nus 1', 'nus mar nus 2', 'nus mar nus 3', 'nus mar nus 4'], AMPMS: ['OD', 'OT'], - DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yyyy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], - FIRSTDAYOFWEEK: 0, + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 6, WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 6 + FIRSTWEEKCUTOFFDAY: 5 }; @@ -8983,33 +9056,26 @@ goog.i18n.DateTimeSymbols_luy = { ERAS: ['BC', 'AD'], ERANAMES: ['Imberi ya Kuuza Kwa', 'Muhiga Kuvita Kuuza'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['Januari', 'Februari', 'Machi', 'Aprili', 'Mei', 'Juni', 'Julai', - 'Agosti', 'Septemba', 'Oktoba', 'Novemba', 'Desemba'], - STANDALONEMONTHS: ['Januari', 'Februari', 'Machi', 'Aprili', 'Mei', 'Juni', - 'Julai', 'Agosti', 'Septemba', 'Oktoba', 'Novemba', 'Desemba'], - SHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'Mei', 'Jun', 'Jul', 'Ago', 'Sep', - 'Okt', 'Nov', 'Des'], - STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'Mei', 'Jun', 'Jul', - 'Ago', 'Sep', 'Okt', 'Nov', 'Des'], - WEEKDAYS: ['Jumapiri', 'Jumatatu', 'Jumanne', 'Jumatano', 'Murwa wa Kanne', - 'Murwa wa Katano', 'Jumamosi'], - STANDALONEWEEKDAYS: ['Jumapiri', 'Jumatatu', 'Jumanne', 'Jumatano', - 'Murwa wa Kanne', 'Murwa wa Katano', 'Jumamosi'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['Januari', 'Februari', 'Machi', 'Aprili', 'Mei', 'Juni', 'Julai', 'Agosti', 'Septemba', 'Oktoba', 'Novemba', 'Desemba'], + STANDALONEMONTHS: ['Januari', 'Februari', 'Machi', 'Aprili', 'Mei', 'Juni', 'Julai', 'Agosti', 'Septemba', 'Oktoba', 'Novemba', 'Desemba'], + SHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'Mei', 'Jun', 'Jul', 'Ago', 'Sep', 'Okt', 'Nov', 'Des'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'Mei', 'Jun', 'Jul', 'Ago', 'Sep', 'Okt', 'Nov', 'Des'], + WEEKDAYS: ['Jumapiri', 'Jumatatu', 'Jumanne', 'Jumatano', 'Murwa wa Kanne', 'Murwa wa Katano', 'Jumamosi'], + STANDALONEWEEKDAYS: ['Jumapiri', 'Jumatatu', 'Jumanne', 'Jumatano', 'Murwa wa Kanne', 'Murwa wa Katano', 'Jumamosi'], SHORTWEEKDAYS: ['J2', 'J3', 'J4', 'J5', 'Al', 'Ij', 'J1'], STANDALONESHORTWEEKDAYS: ['J2', 'J3', 'J4', 'J5', 'Al', 'Ij', 'J1'], NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - QUARTERS: ['Robo ya Kala', 'Robo ya Kaviri', 'Robo ya Kavaga', - 'Robo ya Kanne'], + QUARTERS: ['Robo ya Kala', 'Robo ya Kaviri', 'Robo ya Kavaga', 'Robo ya Kanne'], AMPMS: ['a.m.', 'p.m.'], - DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yyyy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], - FIRSTDAYOFWEEK: 0, + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 6, WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 6 + FIRSTWEEKCUTOFFDAY: 5 }; @@ -9022,40 +9088,7 @@ goog.i18n.DateTimeSymbols_luy_KE = goog.i18n.DateTimeSymbols_luy; /** * Date/time formatting symbols for locale lv_LV. */ -goog.i18n.DateTimeSymbols_lv_LV = { - ERAS: ['p.m.ē.', 'm.ē.'], - ERANAMES: ['pirms mūsu ēras', 'mūsu ērā'], - NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['janvāris', 'februāris', 'marts', 'aprīlis', 'maijs', 'jūnijs', - 'jūlijs', 'augusts', 'septembris', 'oktobris', 'novembris', 'decembris'], - STANDALONEMONTHS: ['janvāris', 'februāris', 'marts', 'aprīlis', 'maijs', - 'jūnijs', 'jūlijs', 'augusts', 'septembris', 'oktobris', 'novembris', - 'decembris'], - SHORTMONTHS: ['janv.', 'febr.', 'marts', 'apr.', 'maijs', 'jūn.', 'jūl.', - 'aug.', 'sept.', 'okt.', 'nov.', 'dec.'], - STANDALONESHORTMONTHS: ['janv.', 'febr.', 'marts', 'apr.', 'maijs', 'jūn.', - 'jūl.', 'aug.', 'sept.', 'okt.', 'nov.', 'dec.'], - WEEKDAYS: ['svētdiena', 'pirmdiena', 'otrdiena', 'trešdiena', 'ceturtdiena', - 'piektdiena', 'sestdiena'], - STANDALONEWEEKDAYS: ['svētdiena', 'pirmdiena', 'otrdiena', 'trešdiena', - 'ceturtdiena', 'piektdiena', 'sestdiena'], - SHORTWEEKDAYS: ['Sv', 'Pr', 'Ot', 'Tr', 'Ce', 'Pk', 'Se'], - STANDALONESHORTWEEKDAYS: ['Sv', 'Pr', 'Ot', 'Tr', 'Ce', 'Pk', 'Se'], - NARROWWEEKDAYS: ['S', 'P', 'O', 'T', 'C', 'P', 'S'], - STANDALONENARROWWEEKDAYS: ['S', 'P', 'O', 'T', 'C', 'P', 'S'], - SHORTQUARTERS: ['C1', 'C2', 'C3', 'C4'], - QUARTERS: ['1. ceturksnis', '2. ceturksnis', '3. ceturksnis', - '4. ceturksnis'], - AMPMS: ['priekšpusdienā', 'pēcpusdienā'], - DATEFORMATS: ['EEEE, y. \'gada\' d. MMMM', 'y. \'gada\' d. MMMM', - 'y. \'gada\' d. MMM', 'dd.MM.yy'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 6 -}; +goog.i18n.DateTimeSymbols_lv_LV = goog.i18n.DateTimeSymbols_lv; /** @@ -9065,24 +9098,13 @@ goog.i18n.DateTimeSymbols_mas = { ERAS: ['MY', 'EY'], ERANAMES: ['Meínō Yɛ́sʉ', 'Eínō Yɛ́sʉ'], NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], - STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', - '11', '12'], - MONTHS: ['Oladalʉ́', 'Arát', 'Ɔɛnɨ́ɔɨŋɔk', - 'Olodoyíóríê inkókúâ', 'Oloilépūnyīē inkókúâ', - 'Kújúɔrɔk', 'Mórusásin', 'Ɔlɔ́ɨ́bɔ́rárɛ', 'Kúshîn', - 'Olgísan', 'Pʉshʉ́ka', 'Ntʉ́ŋʉ́s'], - STANDALONEMONTHS: ['Oladalʉ́', 'Arát', 'Ɔɛnɨ́ɔɨŋɔk', - 'Olodoyíóríê inkókúâ', 'Oloilépūnyīē inkókúâ', - 'Kújúɔrɔk', 'Mórusásin', 'Ɔlɔ́ɨ́bɔ́rárɛ', 'Kúshîn', - 'Olgísan', 'Pʉshʉ́ka', 'Ntʉ́ŋʉ́s'], - SHORTMONTHS: ['Dal', 'Ará', 'Ɔɛn', 'Doy', 'Lép', 'Rok', 'Sás', 'Bɔ́r', - 'Kús', 'Gís', 'Shʉ́', 'Ntʉ́'], - STANDALONESHORTMONTHS: ['Dal', 'Ará', 'Ɔɛn', 'Doy', 'Lép', 'Rok', 'Sás', - 'Bɔ́r', 'Kús', 'Gís', 'Shʉ́', 'Ntʉ́'], - WEEKDAYS: ['Jumapílí', 'Jumatátu', 'Jumane', 'Jumatánɔ', 'Alaámisi', - 'Jumáa', 'Jumamósi'], - STANDALONEWEEKDAYS: ['Jumapílí', 'Jumatátu', 'Jumane', 'Jumatánɔ', - 'Alaámisi', 'Jumáa', 'Jumamósi'], + STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + MONTHS: ['Oladalʉ́', 'Arát', 'Ɔɛnɨ́ɔɨŋɔk', 'Olodoyíóríê inkókúâ', 'Oloilépūnyīē inkókúâ', 'Kújúɔrɔk', 'Mórusásin', 'Ɔlɔ́ɨ́bɔ́rárɛ', 'Kúshîn', 'Olgísan', 'Pʉshʉ́ka', 'Ntʉ́ŋʉ́s'], + STANDALONEMONTHS: ['Oladalʉ́', 'Arát', 'Ɔɛnɨ́ɔɨŋɔk', 'Olodoyíóríê inkókúâ', 'Oloilépūnyīē inkókúâ', 'Kújúɔrɔk', 'Mórusásin', 'Ɔlɔ́ɨ́bɔ́rárɛ', 'Kúshîn', 'Olgísan', 'Pʉshʉ́ka', 'Ntʉ́ŋʉ́s'], + SHORTMONTHS: ['Dal', 'Ará', 'Ɔɛn', 'Doy', 'Lép', 'Rok', 'Sás', 'Bɔ́r', 'Kús', 'Gís', 'Shʉ́', 'Ntʉ́'], + STANDALONESHORTMONTHS: ['Dal', 'Ará', 'Ɔɛn', 'Doy', 'Lép', 'Rok', 'Sás', 'Bɔ́r', 'Kús', 'Gís', 'Shʉ́', 'Ntʉ́'], + WEEKDAYS: ['Jumapílí', 'Jumatátu', 'Jumane', 'Jumatánɔ', 'Alaámisi', 'Jumáa', 'Jumamósi'], + STANDALONEWEEKDAYS: ['Jumapílí', 'Jumatátu', 'Jumane', 'Jumatánɔ', 'Alaámisi', 'Jumáa', 'Jumamósi'], SHORTWEEKDAYS: ['Jpi', 'Jtt', 'Jnn', 'Jtn', 'Alh', 'Iju', 'Jmo'], STANDALONESHORTWEEKDAYS: ['Jpi', 'Jtt', 'Jnn', 'Jtn', 'Alh', 'Iju', 'Jmo'], NARROWWEEKDAYS: ['2', '3', '4', '5', '6', '7', '1'], @@ -9090,11 +9112,12 @@ goog.i18n.DateTimeSymbols_mas = { SHORTQUARTERS: ['E1', 'E2', 'E3', 'E4'], QUARTERS: ['Erobo 1', 'Erobo 2', 'Erobo 3', 'Erobo 4'], AMPMS: ['Ɛnkakɛnyá', 'Ɛndámâ'], - DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yyyy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], - FIRSTDAYOFWEEK: 0, + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 6, WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 6 + FIRSTWEEKCUTOFFDAY: 5 }; @@ -9107,7 +9130,31 @@ goog.i18n.DateTimeSymbols_mas_KE = goog.i18n.DateTimeSymbols_mas; /** * Date/time formatting symbols for locale mas_TZ. */ -goog.i18n.DateTimeSymbols_mas_TZ = goog.i18n.DateTimeSymbols_mas; +goog.i18n.DateTimeSymbols_mas_TZ = { + ERAS: ['MY', 'EY'], + ERANAMES: ['Meínō Yɛ́sʉ', 'Eínō Yɛ́sʉ'], + NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + MONTHS: ['Oladalʉ́', 'Arát', 'Ɔɛnɨ́ɔɨŋɔk', 'Olodoyíóríê inkókúâ', 'Oloilépūnyīē inkókúâ', 'Kújúɔrɔk', 'Mórusásin', 'Ɔlɔ́ɨ́bɔ́rárɛ', 'Kúshîn', 'Olgísan', 'Pʉshʉ́ka', 'Ntʉ́ŋʉ́s'], + STANDALONEMONTHS: ['Oladalʉ́', 'Arát', 'Ɔɛnɨ́ɔɨŋɔk', 'Olodoyíóríê inkókúâ', 'Oloilépūnyīē inkókúâ', 'Kújúɔrɔk', 'Mórusásin', 'Ɔlɔ́ɨ́bɔ́rárɛ', 'Kúshîn', 'Olgísan', 'Pʉshʉ́ka', 'Ntʉ́ŋʉ́s'], + SHORTMONTHS: ['Dal', 'Ará', 'Ɔɛn', 'Doy', 'Lép', 'Rok', 'Sás', 'Bɔ́r', 'Kús', 'Gís', 'Shʉ́', 'Ntʉ́'], + STANDALONESHORTMONTHS: ['Dal', 'Ará', 'Ɔɛn', 'Doy', 'Lép', 'Rok', 'Sás', 'Bɔ́r', 'Kús', 'Gís', 'Shʉ́', 'Ntʉ́'], + WEEKDAYS: ['Jumapílí', 'Jumatátu', 'Jumane', 'Jumatánɔ', 'Alaámisi', 'Jumáa', 'Jumamósi'], + STANDALONEWEEKDAYS: ['Jumapílí', 'Jumatátu', 'Jumane', 'Jumatánɔ', 'Alaámisi', 'Jumáa', 'Jumamósi'], + SHORTWEEKDAYS: ['Jpi', 'Jtt', 'Jnn', 'Jtn', 'Alh', 'Iju', 'Jmo'], + STANDALONESHORTWEEKDAYS: ['Jpi', 'Jtt', 'Jnn', 'Jtn', 'Alh', 'Iju', 'Jmo'], + NARROWWEEKDAYS: ['2', '3', '4', '5', '6', '7', '1'], + STANDALONENARROWWEEKDAYS: ['2', '3', '4', '5', '6', '7', '1'], + SHORTQUARTERS: ['E1', 'E2', 'E3', 'E4'], + QUARTERS: ['Erobo 1', 'Erobo 2', 'Erobo 3', 'Erobo 4'], + AMPMS: ['Ɛnkakɛnyá', 'Ɛndámâ'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; /** @@ -9117,35 +9164,26 @@ goog.i18n.DateTimeSymbols_mer = { ERAS: ['MK', 'NK'], ERANAMES: ['Mbere ya Kristũ', 'Nyuma ya Kristũ'], NARROWMONTHS: ['J', 'F', 'M', 'Ĩ', 'M', 'N', 'N', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'Ĩ', 'M', 'N', 'N', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['Januarĩ', 'Feburuarĩ', 'Machi', 'Ĩpurũ', 'Mĩĩ', 'Njuni', - 'Njuraĩ', 'Agasti', 'Septemba', 'Oktũba', 'Novemba', 'Dicemba'], - STANDALONEMONTHS: ['Januarĩ', 'Feburuarĩ', 'Machi', 'Ĩpurũ', 'Mĩĩ', - 'Njuni', 'Njuraĩ', 'Agasti', 'Septemba', 'Oktũba', 'Novemba', - 'Dicemba'], - SHORTMONTHS: ['JAN', 'FEB', 'MAC', 'ĨPU', 'MĨĨ', 'NJU', 'NJR', 'AGA', - 'SPT', 'OKT', 'NOV', 'DEC'], - STANDALONESHORTMONTHS: ['JAN', 'FEB', 'MAC', 'ĨPU', 'MĨĨ', 'NJU', 'NJR', - 'AGA', 'SPT', 'OKT', 'NOV', 'DEC'], - WEEKDAYS: ['Kiumia', 'Muramuko', 'Wairi', 'Wethatu', 'Wena', 'Wetano', - 'Jumamosi'], - STANDALONEWEEKDAYS: ['Kiumia', 'Muramuko', 'Wairi', 'Wethatu', 'Wena', - 'Wetano', 'Jumamosi'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'Ĩ', 'M', 'N', 'N', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['Januarĩ', 'Feburuarĩ', 'Machi', 'Ĩpurũ', 'Mĩĩ', 'Njuni', 'Njuraĩ', 'Agasti', 'Septemba', 'Oktũba', 'Novemba', 'Dicemba'], + STANDALONEMONTHS: ['Januarĩ', 'Feburuarĩ', 'Machi', 'Ĩpurũ', 'Mĩĩ', 'Njuni', 'Njuraĩ', 'Agasti', 'Septemba', 'Oktũba', 'Novemba', 'Dicemba'], + SHORTMONTHS: ['JAN', 'FEB', 'MAC', 'ĨPU', 'MĨĨ', 'NJU', 'NJR', 'AGA', 'SPT', 'OKT', 'NOV', 'DEC'], + STANDALONESHORTMONTHS: ['JAN', 'FEB', 'MAC', 'ĨPU', 'MĨĨ', 'NJU', 'NJR', 'AGA', 'SPT', 'OKT', 'NOV', 'DEC'], + WEEKDAYS: ['Kiumia', 'Muramuko', 'Wairi', 'Wethatu', 'Wena', 'Wetano', 'Jumamosi'], + STANDALONEWEEKDAYS: ['Kiumia', 'Muramuko', 'Wairi', 'Wethatu', 'Wena', 'Wetano', 'Jumamosi'], SHORTWEEKDAYS: ['KIU', 'MRA', 'WAI', 'WET', 'WEN', 'WTN', 'JUM'], STANDALONESHORTWEEKDAYS: ['KIU', 'MRA', 'WAI', 'WET', 'WEN', 'WTN', 'JUM'], NARROWWEEKDAYS: ['K', 'M', 'W', 'W', 'W', 'W', 'J'], STANDALONENARROWWEEKDAYS: ['K', 'M', 'W', 'W', 'W', 'W', 'J'], - SHORTQUARTERS: ['Ĩmwe kĩrĩ inya', 'Ijĩrĩ kĩrĩ inya', - 'Ithatũ kĩrĩ inya', 'Inya kĩrĩ inya'], - QUARTERS: ['Ĩmwe kĩrĩ inya', 'Ijĩrĩ kĩrĩ inya', 'Ithatũ kĩrĩ inya', - 'Inya kĩrĩ inya'], + SHORTQUARTERS: ['Ĩmwe kĩrĩ inya', 'Ijĩrĩ kĩrĩ inya', 'Ithatũ kĩrĩ inya', 'Inya kĩrĩ inya'], + QUARTERS: ['Ĩmwe kĩrĩ inya', 'Ijĩrĩ kĩrĩ inya', 'Ithatũ kĩrĩ inya', 'Inya kĩrĩ inya'], AMPMS: ['RŨ', 'ŨG'], - DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yyyy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], - FIRSTDAYOFWEEK: 0, + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 6, WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 6 + FIRSTWEEKCUTOFFDAY: 5 }; @@ -9162,20 +9200,13 @@ goog.i18n.DateTimeSymbols_mfe = { ERAS: ['av. Z-K', 'ap. Z-K'], ERANAMES: ['avan Zezi-Krist', 'apre Zezi-Krist'], NARROWMONTHS: ['z', 'f', 'm', 'a', 'm', 'z', 'z', 'o', 's', 'o', 'n', 'd'], - STANDALONENARROWMONTHS: ['z', 'f', 'm', 'a', 'm', 'z', 'z', 'o', 's', 'o', - 'n', 'd'], - MONTHS: ['zanvie', 'fevriye', 'mars', 'avril', 'me', 'zin', 'zilye', 'out', - 'septam', 'oktob', 'novam', 'desam'], - STANDALONEMONTHS: ['zanvie', 'fevriye', 'mars', 'avril', 'me', 'zin', 'zilye', - 'out', 'septam', 'oktob', 'novam', 'desam'], - SHORTMONTHS: ['zan', 'fev', 'mar', 'avr', 'me', 'zin', 'zil', 'out', 'sep', - 'okt', 'nov', 'des'], - STANDALONESHORTMONTHS: ['zan', 'fev', 'mar', 'avr', 'me', 'zin', 'zil', 'out', - 'sep', 'okt', 'nov', 'des'], - WEEKDAYS: ['dimans', 'lindi', 'mardi', 'merkredi', 'zedi', 'vandredi', - 'samdi'], - STANDALONEWEEKDAYS: ['dimans', 'lindi', 'mardi', 'merkredi', 'zedi', - 'vandredi', 'samdi'], + STANDALONENARROWMONTHS: ['z', 'f', 'm', 'a', 'm', 'z', 'z', 'o', 's', 'o', 'n', 'd'], + MONTHS: ['zanvie', 'fevriye', 'mars', 'avril', 'me', 'zin', 'zilye', 'out', 'septam', 'oktob', 'novam', 'desam'], + STANDALONEMONTHS: ['zanvie', 'fevriye', 'mars', 'avril', 'me', 'zin', 'zilye', 'out', 'septam', 'oktob', 'novam', 'desam'], + SHORTMONTHS: ['zan', 'fev', 'mar', 'avr', 'me', 'zin', 'zil', 'out', 'sep', 'okt', 'nov', 'des'], + STANDALONESHORTMONTHS: ['zan', 'fev', 'mar', 'avr', 'me', 'zin', 'zil', 'out', 'sep', 'okt', 'nov', 'des'], + WEEKDAYS: ['dimans', 'lindi', 'mardi', 'merkredi', 'zedi', 'vandredi', 'samdi'], + STANDALONEWEEKDAYS: ['dimans', 'lindi', 'mardi', 'merkredi', 'zedi', 'vandredi', 'samdi'], SHORTWEEKDAYS: ['dim', 'lin', 'mar', 'mer', 'ze', 'van', 'sam'], STANDALONESHORTWEEKDAYS: ['dim', 'lin', 'mar', 'mer', 'ze', 'van', 'sam'], NARROWWEEKDAYS: ['d', 'l', 'm', 'm', 'z', 'v', 's'], @@ -9183,8 +9214,9 @@ goog.i18n.DateTimeSymbols_mfe = { SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], QUARTERS: ['1e trimes', '2em trimes', '3em trimes', '4em trimes'], AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM, y', 'd/M/yyyy'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM, y', 'd/M/y'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -9202,33 +9234,25 @@ goog.i18n.DateTimeSymbols_mfe_MU = goog.i18n.DateTimeSymbols_mfe; */ goog.i18n.DateTimeSymbols_mg = { ERAS: ['BC', 'AD'], - ERANAMES: ['Alohan\'i JK', 'Aorian\'i JK'], - NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['Janoary', 'Febroary', 'Martsa', 'Aprily', 'Mey', 'Jona', 'Jolay', - 'Aogositra', 'Septambra', 'Oktobra', 'Novambra', 'Desambra'], - STANDALONEMONTHS: ['Janoary', 'Febroary', 'Martsa', 'Aprily', 'Mey', 'Jona', - 'Jolay', 'Aogositra', 'Septambra', 'Oktobra', 'Novambra', 'Desambra'], - SHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'Mey', 'Jon', 'Jol', 'Aog', 'Sep', - 'Okt', 'Nov', 'Des'], - STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'Mey', 'Jon', 'Jol', - 'Aog', 'Sep', 'Okt', 'Nov', 'Des'], - WEEKDAYS: ['Alahady', 'Alatsinainy', 'Talata', 'Alarobia', 'Alakamisy', - 'Zoma', 'Asabotsy'], - STANDALONEWEEKDAYS: ['Alahady', 'Alatsinainy', 'Talata', 'Alarobia', - 'Alakamisy', 'Zoma', 'Asabotsy'], + ERANAMES: ['Alohan’i JK', 'Aorian’i JK'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['Janoary', 'Febroary', 'Martsa', 'Aprily', 'Mey', 'Jona', 'Jolay', 'Aogositra', 'Septambra', 'Oktobra', 'Novambra', 'Desambra'], + STANDALONEMONTHS: ['Janoary', 'Febroary', 'Martsa', 'Aprily', 'Mey', 'Jona', 'Jolay', 'Aogositra', 'Septambra', 'Oktobra', 'Novambra', 'Desambra'], + SHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'Mey', 'Jon', 'Jol', 'Aog', 'Sep', 'Okt', 'Nov', 'Des'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'Mey', 'Jon', 'Jol', 'Aog', 'Sep', 'Okt', 'Nov', 'Des'], + WEEKDAYS: ['Alahady', 'Alatsinainy', 'Talata', 'Alarobia', 'Alakamisy', 'Zoma', 'Asabotsy'], + STANDALONEWEEKDAYS: ['Alahady', 'Alatsinainy', 'Talata', 'Alarobia', 'Alakamisy', 'Zoma', 'Asabotsy'], SHORTWEEKDAYS: ['Alah', 'Alats', 'Tal', 'Alar', 'Alak', 'Zom', 'Asab'], - STANDALONESHORTWEEKDAYS: ['Alah', 'Alats', 'Tal', 'Alar', 'Alak', 'Zom', - 'Asab'], + STANDALONESHORTWEEKDAYS: ['Alah', 'Alats', 'Tal', 'Alar', 'Alak', 'Zom', 'Asab'], NARROWWEEKDAYS: ['A', 'A', 'T', 'A', 'A', 'Z', 'A'], STANDALONENARROWWEEKDAYS: ['A', 'A', 'T', 'A', 'A', 'Z', 'A'], SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], - QUARTERS: ['Telovolana voalohany', 'Telovolana faharoa', - 'Telovolana fahatelo', 'Telovolana fahefatra'], + QUARTERS: ['Telovolana voalohany', 'Telovolana faharoa', 'Telovolana fahatelo', 'Telovolana fahefatra'], AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM, y', 'd/M/yyyy'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'y MMM d', 'y-MM-dd'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -9248,36 +9272,26 @@ goog.i18n.DateTimeSymbols_mgh = { ERAS: ['HY', 'YY'], ERANAMES: ['Hinapiya yesu', 'Yopia yesu'], NARROWMONTHS: ['K', 'U', 'R', 'C', 'T', 'M', 'S', 'N', 'T', 'K', 'M', 'Y'], - STANDALONENARROWMONTHS: ['K', 'U', 'R', 'C', 'T', 'M', 'S', 'N', 'T', 'K', - 'M', 'Y'], - MONTHS: ['Mweri wo kwanza', 'Mweri wo unayeli', 'Mweri wo uneraru', - 'Mweri wo unecheshe', 'Mweri wo unethanu', 'Mweri wo thanu na mocha', - 'Mweri wo saba', 'Mweri wo nane', 'Mweri wo tisa', 'Mweri wo kumi', - 'Mweri wo kumi na moja', 'Mweri wo kumi na yel\'li'], - STANDALONEMONTHS: ['Mweri wo kwanza', 'Mweri wo unayeli', 'Mweri wo uneraru', - 'Mweri wo unecheshe', 'Mweri wo unethanu', 'Mweri wo thanu na mocha', - 'Mweri wo saba', 'Mweri wo nane', 'Mweri wo tisa', 'Mweri wo kumi', - 'Mweri wo kumi na moja', 'Mweri wo kumi na yel\'li'], - SHORTMONTHS: ['Kwa', 'Una', 'Rar', 'Che', 'Tha', 'Moc', 'Sab', 'Nan', 'Tis', - 'Kum', 'Moj', 'Yel'], - STANDALONESHORTMONTHS: ['Kwa', 'Una', 'Rar', 'Che', 'Tha', 'Moc', 'Sab', - 'Nan', 'Tis', 'Kum', 'Moj', 'Yel'], - WEEKDAYS: ['Sabato', 'Jumatatu', 'Jumanne', 'Jumatano', 'Arahamisi', 'Ijumaa', - 'Jumamosi'], - STANDALONEWEEKDAYS: ['Sabato', 'Jumatatu', 'Jumanne', 'Jumatano', 'Arahamisi', - 'Ijumaa', 'Jumamosi'], + STANDALONENARROWMONTHS: ['K', 'U', 'R', 'C', 'T', 'M', 'S', 'N', 'T', 'K', 'M', 'Y'], + MONTHS: ['Mweri wo kwanza', 'Mweri wo unayeli', 'Mweri wo uneraru', 'Mweri wo unecheshe', 'Mweri wo unethanu', 'Mweri wo thanu na mocha', 'Mweri wo saba', 'Mweri wo nane', 'Mweri wo tisa', 'Mweri wo kumi', 'Mweri wo kumi na moja', 'Mweri wo kumi na yel’li'], + STANDALONEMONTHS: ['Mweri wo kwanza', 'Mweri wo unayeli', 'Mweri wo uneraru', 'Mweri wo unecheshe', 'Mweri wo unethanu', 'Mweri wo thanu na mocha', 'Mweri wo saba', 'Mweri wo nane', 'Mweri wo tisa', 'Mweri wo kumi', 'Mweri wo kumi na moja', 'Mweri wo kumi na yel’li'], + SHORTMONTHS: ['Kwa', 'Una', 'Rar', 'Che', 'Tha', 'Moc', 'Sab', 'Nan', 'Tis', 'Kum', 'Moj', 'Yel'], + STANDALONESHORTMONTHS: ['Kwa', 'Una', 'Rar', 'Che', 'Tha', 'Moc', 'Sab', 'Nan', 'Tis', 'Kum', 'Moj', 'Yel'], + WEEKDAYS: ['Sabato', 'Jumatatu', 'Jumanne', 'Jumatano', 'Arahamisi', 'Ijumaa', 'Jumamosi'], + STANDALONEWEEKDAYS: ['Sabato', 'Jumatatu', 'Jumanne', 'Jumatano', 'Arahamisi', 'Ijumaa', 'Jumamosi'], SHORTWEEKDAYS: ['Sab', 'Jtt', 'Jnn', 'Jtn', 'Ara', 'Iju', 'Jmo'], STANDALONESHORTWEEKDAYS: ['Sab', 'Jtt', 'Jnn', 'Jtn', 'Ara', 'Iju', 'Jmo'], NARROWWEEKDAYS: ['S', 'J', 'J', 'J', 'A', 'I', 'J'], STANDALONENARROWWEEKDAYS: ['S', 'J', 'J', 'J', 'A', 'I', 'J'], SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], QUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yyyy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], - FIRSTDAYOFWEEK: 0, + AMPMS: ['wichishu', 'mchochil’l'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 6, WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 6 + FIRSTWEEKCUTOFFDAY: 5 }; @@ -9288,49 +9302,41 @@ goog.i18n.DateTimeSymbols_mgh_MZ = goog.i18n.DateTimeSymbols_mgh; /** - * Date/time formatting symbols for locale mk. + * Date/time formatting symbols for locale mgo. */ -goog.i18n.DateTimeSymbols_mk = { - ERAS: ['пр.н.е.', 'ае.'], - ERANAMES: ['пр.н.е.', 'ае.'], - NARROWMONTHS: ['ј', 'ф', 'м', 'а', 'м', 'ј', 'ј', 'а', 'с', 'о', - 'н', 'д'], - STANDALONENARROWMONTHS: ['ј', 'ф', 'м', 'а', 'м', 'ј', 'ј', 'а', 'с', - 'о', 'н', 'д'], - MONTHS: ['јануари', 'февруари', 'март', 'април', - 'мај', 'јуни', 'јули', 'август', 'септември', - 'октомври', 'ноември', 'декември'], - STANDALONEMONTHS: ['јануари', 'февруари', 'март', - 'април', 'мај', 'јуни', 'јули', 'август', - 'септември', 'октомври', 'ноември', - 'декември'], - SHORTMONTHS: ['јан.', 'фев.', 'мар.', 'апр.', 'мај', 'јун.', - 'јул.', 'авг.', 'септ.', 'окт.', 'ноем.', 'декем.'], - STANDALONESHORTMONTHS: ['јан.', 'фев.', 'мар.', 'апр.', 'мај', - 'јун.', 'јул.', 'авг.', 'септ.', 'окт.', 'ноем.', - 'декем.'], - WEEKDAYS: ['недела', 'понеделник', 'вторник', - 'среда', 'четврток', 'петок', 'сабота'], - STANDALONEWEEKDAYS: ['недела', 'понеделник', 'вторник', - 'среда', 'четврток', 'петок', 'сабота'], - SHORTWEEKDAYS: ['нед.', 'пон.', 'вт.', 'сре.', 'чет.', - 'пет.', 'саб.'], - STANDALONESHORTWEEKDAYS: ['нед.', 'пон.', 'вт.', 'сре.', 'чет.', - 'пет.', 'саб.'], - NARROWWEEKDAYS: ['н', 'п', 'в', 'с', 'ч', 'п', 'с'], - STANDALONENARROWWEEKDAYS: ['н', 'п', 'в', 'с', 'ч', 'п', 'с'], +goog.i18n.DateTimeSymbols_mgo = { + ERAS: ['BCE', 'CE'], + ERANAMES: ['BCE', 'CE'], + NARROWMONTHS: ['M1', 'A2', 'M3', 'N4', 'F5', 'I6', 'A7', 'I8', 'K9', '10', '11', '12'], + STANDALONENARROWMONTHS: ['M1', 'A2', 'M3', 'N4', 'F5', 'I6', 'A7', 'I8', 'K9', '10', '11', '12'], + MONTHS: ['iməg mbegtug', 'imeg àbùbì', 'imeg mbəŋchubi', 'iməg ngwə̀t', 'iməg fog', 'iməg ichiibɔd', 'iməg àdùmbə̀ŋ', 'iməg ichika', 'iməg kud', 'iməg tèsiʼe', 'iməg zò', 'iməg krizmed'], + STANDALONEMONTHS: ['iməg mbegtug', 'imeg àbùbì', 'imeg mbəŋchubi', 'iməg ngwə̀t', 'iməg fog', 'iməg ichiibɔd', 'iməg àdùmbə̀ŋ', 'iməg ichika', 'iməg kud', 'iməg tèsiʼe', 'iməg zò', 'iməg krizmed'], + SHORTMONTHS: ['mbegtug', 'imeg àbùbì', 'imeg mbəŋchubi', 'iməg ngwə̀t', 'iməg fog', 'iməg ichiibɔd', 'iməg àdùmbə̀ŋ', 'iməg ichika', 'iməg kud', 'iməg tèsiʼe', 'iməg zò', 'iməg krizmed'], + STANDALONESHORTMONTHS: ['mbegtug', 'imeg àbùbì', 'imeg mbəŋchubi', 'iməg ngwə̀t', 'iməg fog', 'iməg ichiibɔd', 'iməg àdùmbə̀ŋ', 'iməg ichika', 'iməg kud', 'iməg tèsiʼe', 'iməg zò', 'iməg krizmed'], + WEEKDAYS: ['Aneg 1', 'Aneg 2', 'Aneg 3', 'Aneg 4', 'Aneg 5', 'Aneg 6', 'Aneg 7'], + STANDALONEWEEKDAYS: ['Aneg 1', 'Aneg 2', 'Aneg 3', 'Aneg 4', 'Aneg 5', 'Aneg 6', 'Aneg 7'], + SHORTWEEKDAYS: ['Aneg 1', 'Aneg 2', 'Aneg 3', 'Aneg 4', 'Aneg 5', 'Aneg 6', 'Aneg 7'], + STANDALONESHORTWEEKDAYS: ['Aneg 1', 'Aneg 2', 'Aneg 3', 'Aneg 4', 'Aneg 5', 'Aneg 6', 'Aneg 7'], + NARROWWEEKDAYS: ['A1', 'A2', 'A3', 'A4', 'A5', 'A6', 'A7'], + STANDALONENARROWWEEKDAYS: ['A1', 'A2', 'A3', 'A4', 'A5', 'A6', 'A7'], SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - QUARTERS: ['прво тромесечје', 'второ тромесечје', - 'трето тромесечје', 'четврто тромесечје'], - AMPMS: ['претпладне', 'попладне'], - DATEFORMATS: ['EEEE, dd MMMM y', 'dd MMMM y', 'dd.M.yyyy', 'dd.M.yy'], + QUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, y MMMM dd', 'y MMMM d', 'y MMM d', 'y-MM-dd'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 }; +/** + * Date/time formatting symbols for locale mgo_CM. + */ +goog.i18n.DateTimeSymbols_mgo_CM = goog.i18n.DateTimeSymbols_mgo; + + /** * Date/time formatting symbols for locale mk_MK. */ @@ -9340,118 +9346,19 @@ goog.i18n.DateTimeSymbols_mk_MK = goog.i18n.DateTimeSymbols_mk; /** * Date/time formatting symbols for locale ml_IN. */ -goog.i18n.DateTimeSymbols_ml_IN = { - ERAS: ['ക്രി.മൂ', 'ക്രി.പി.'], - ERANAMES: ['ക്രിസ്തുവിനു് മുമ്പ്‌', - 'ക്രിസ്തുവിന് പിന്‍പ്'], - NARROWMONTHS: ['ജ', 'ഫെ', 'മാ', 'ഏ', 'മേ', 'ജൂ', 'ജൂ', - 'ഓ', 'സെ', 'ഒ', 'ന', 'ഡി'], - STANDALONENARROWMONTHS: ['ജ', 'ഫെ', 'മാ', 'ഏ', 'മേ', 'ജൂ', - 'ജൂ', 'ഓ', 'സെ', 'ഒ', 'ന', 'ഡി'], - MONTHS: ['ജനുവരി', 'ഫെബ്രുവരി', - 'മാര്‍ച്ച്', 'ഏപ്രില്‍', 'മേയ്', - 'ജൂണ്‍', 'ജൂലൈ', 'ആഗസ്റ്റ്', - 'സെപ്റ്റംബര്‍', 'ഒക്ടോബര്‍', - 'നവംബര്‍', 'ഡിസംബര്‍'], - STANDALONEMONTHS: ['ജനുവരി', 'ഫെബ്രുവരി', - 'മാര്‍ച്ച്', 'ഏപ്രില്‍', 'മേയ്', - 'ജൂണ്‍', 'ജൂലൈ', 'ആഗസ്റ്റ്', - 'സെപ്റ്റംബര്‍', 'ഒക്ടോബര്‍', - 'നവംബര്‍', 'ഡിസംബര്‍'], - SHORTMONTHS: ['ജനു', 'ഫെബ്രു', 'മാര്‍', - 'ഏപ്രി', 'മേയ്', 'ജൂണ്‍', 'ജൂലൈ', - 'ഓഗ', 'സെപ്റ്റം', 'ഒക്ടോ', 'നവം', - 'ഡിസം'], - STANDALONESHORTMONTHS: ['ജനു', 'ഫെബ്രു', 'മാര്‍', - 'ഏപ്രി', 'മേയ്', 'ജൂണ്‍', 'ജൂലൈ', - 'ഓഗ', 'സെപ്റ്റം', 'ഒക്ടോ', 'നവം', - 'ഡിസം'], - WEEKDAYS: ['ഞായറാഴ്ച', 'തിങ്കളാഴ്ച', - 'ചൊവ്വാഴ്ച', 'ബുധനാഴ്ച', - 'വ്യാഴാഴ്ച', 'വെള്ളിയാഴ്ച', - 'ശനിയാഴ്ച'], - STANDALONEWEEKDAYS: ['ഞായറാഴ്ച', - 'തിങ്കളാഴ്ച', 'ചൊവ്വാഴ്ച', - 'ബുധനാഴ്ച', 'വ്യാഴാഴ്ച', - 'വെള്ളിയാഴ്ച', 'ശനിയാഴ്ച'], - SHORTWEEKDAYS: ['ഞായര്‍', 'തിങ്കള്‍', - 'ചൊവ്വ', 'ബുധന്‍', 'വ്യാഴം', - 'വെള്ളി', 'ശനി'], - STANDALONESHORTWEEKDAYS: ['ഞായര്‍', 'തിങ്കള്‍', - 'ചൊവ്വ', 'ബുധന്‍', 'വ്യാഴം', - 'വെള്ളി', 'ശനി'], - NARROWWEEKDAYS: ['ഞാ', 'തി', 'ചൊ', 'ബു', 'വ്യാ', - 'വെ', 'ശ'], - STANDALONENARROWWEEKDAYS: ['ഞാ', 'തി', 'ചൊ', 'ബു', - 'വ്യാ', 'വെ', 'ശ'], - SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - QUARTERS: ['ഒന്നാം പാദം', - 'രണ്ടാം പാദം', 'മൂന്നാം പാദം', - 'നാലാം പാദം'], - AMPMS: ['am', 'pm'], - DATEFORMATS: ['y, MMMM d, EEEE', 'y, MMMM d', 'y, MMM d', 'dd/MM/yy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], - FIRSTDAYOFWEEK: 6, - WEEKENDRANGE: [6, 6], - FIRSTWEEKCUTOFFDAY: 5 -}; +goog.i18n.DateTimeSymbols_ml_IN = goog.i18n.DateTimeSymbols_ml; + + +/** + * Date/time formatting symbols for locale mn_MN. + */ +goog.i18n.DateTimeSymbols_mn_MN = goog.i18n.DateTimeSymbols_mn; /** * Date/time formatting symbols for locale mr_IN. */ -goog.i18n.DateTimeSymbols_mr_IN = { - ERAS: ['ईसापूर्व', 'सन'], - ERANAMES: ['ईसवीसनपूर्व', 'ईसवीसन'], - NARROWMONTHS: ['जा', 'फे', 'मा', 'ए', 'मे', 'जू', - 'जु', 'ऑ', 'स', 'ऑ', 'नो', 'डि'], - STANDALONENARROWMONTHS: ['जा', 'फे', 'मा', 'ए', 'मे', - 'जू', 'जु', 'ऑ', 'स', 'ऑ', 'नो', 'डि'], - MONTHS: ['जानेवारी', 'फेब्रुवारी', - 'मार्च', 'एप्रिल', 'मे', 'जून', - 'जुलै', 'ऑगस्ट', 'सप्टेंबर', - 'ऑक्टोबर', 'नोव्हेंबर', - 'डिसेंबर'], - STANDALONEMONTHS: ['जानेवारी', - 'फेब्रुवारी', 'मार्च', 'एप्रिल', - 'मे', 'जून', 'जुलै', 'ऑगस्ट', - 'सप्टेंबर', 'ऑक्टोबर', - 'नोव्हेंबर', 'डिसेंबर'], - SHORTMONTHS: ['जाने', 'फेब्रु', 'मार्च', - 'एप्रि', 'मे', 'जून', 'जुलै', 'ऑग', - 'सेप्टें', 'ऑक्टोबर', 'नोव्हें', - 'डिसें'], - STANDALONESHORTMONTHS: ['जाने', 'फेब्रु', - 'मार्च', 'एप्रि', 'मे', 'जून', - 'जुलै', 'ऑग', 'सेप्टें', - 'ऑक्टोबर', 'नोव्हें', 'डिसें'], - WEEKDAYS: ['रविवार', 'सोमवार', - 'मंगळवार', 'बुधवार', 'गुरुवार', - 'शुक्रवार', 'शनिवार'], - STANDALONEWEEKDAYS: ['रविवार', 'सोमवार', - 'मंगळवार', 'बुधवार', 'गुरुवार', - 'शुक्रवार', 'शनिवार'], - SHORTWEEKDAYS: ['रवि', 'सोम', 'मंगळ', 'बुध', - 'गुरु', 'शुक्र', 'शनि'], - STANDALONESHORTWEEKDAYS: ['रवि', 'सोम', 'मंगळ', - 'बुध', 'गुरु', 'शुक्र', 'शनि'], - NARROWWEEKDAYS: ['र', 'सो', 'मं', 'बु', 'गु', 'शु', - 'श'], - STANDALONENARROWWEEKDAYS: ['र', 'सो', 'मं', 'बु', 'गु', - 'शु', 'श'], - SHORTQUARTERS: ['ति 1', '2 री तिमाही', 'ति 3', - 'ति 4'], - QUARTERS: ['प्रथम तिमाही', - 'द्वितीय तिमाही', - 'तृतीय तिमाही', - 'चतुर्थ तिमाही'], - AMPMS: ['am', 'pm'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'd-M-yy'], - TIMEFORMATS: ['h-mm-ss a zzzz', 'h-mm-ss a z', 'h-mm-ss a', 'h-mm a'], - FIRSTDAYOFWEEK: 6, - WEEKENDRANGE: [6, 6], - FIRSTWEEKCUTOFFDAY: 5 -}; +goog.i18n.DateTimeSymbols_mr_IN = goog.i18n.DateTimeSymbols_mr; /** @@ -9461,28 +9368,23 @@ goog.i18n.DateTimeSymbols_ms_BN = { ERAS: ['S.M.', 'TM'], ERANAMES: ['S.M.', 'TM'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'O', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'O', 'S', 'O', - 'N', 'D'], - MONTHS: ['Januari', 'Februari', 'Mac', 'April', 'Mei', 'Jun', 'Julai', 'Ogos', - 'September', 'Oktober', 'November', 'Disember'], - STANDALONEMONTHS: ['Januari', 'Februari', 'Mac', 'April', 'Mei', 'Jun', - 'Julai', 'Ogos', 'September', 'Oktober', 'November', 'Disember'], - SHORTMONTHS: ['Jan', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Jul', 'Ogos', 'Sep', - 'Okt', 'Nov', 'Dis'], - STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Jul', - 'Ogos', 'Sep', 'Okt', 'Nov', 'Dis'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'O', 'S', 'O', 'N', 'D'], + MONTHS: ['Januari', 'Februari', 'Mac', 'April', 'Mei', 'Jun', 'Julai', 'Ogos', 'September', 'Oktober', 'November', 'Disember'], + STANDALONEMONTHS: ['Januari', 'Februari', 'Mac', 'April', 'Mei', 'Jun', 'Julai', 'Ogos', 'September', 'Oktober', 'November', 'Disember'], + SHORTMONTHS: ['Jan', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Jul', 'Ogo', 'Sep', 'Okt', 'Nov', 'Dis'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Jul', 'Ogo', 'Sep', 'Okt', 'Nov', 'Dis'], WEEKDAYS: ['Ahad', 'Isnin', 'Selasa', 'Rabu', 'Khamis', 'Jumaat', 'Sabtu'], - STANDALONEWEEKDAYS: ['Ahad', 'Isnin', 'Selasa', 'Rabu', 'Khamis', 'Jumaat', - 'Sabtu'], + STANDALONEWEEKDAYS: ['Ahad', 'Isnin', 'Selasa', 'Rabu', 'Khamis', 'Jumaat', 'Sabtu'], SHORTWEEKDAYS: ['Ahd', 'Isn', 'Sel', 'Rab', 'Kha', 'Jum', 'Sab'], STANDALONESHORTWEEKDAYS: ['Ahd', 'Isn', 'Sel', 'Rab', 'Kha', 'Jum', 'Sab'], NARROWWEEKDAYS: ['A', 'I', 'S', 'R', 'K', 'J', 'S'], STANDALONENARROWWEEKDAYS: ['A', 'I', 'S', 'R', 'K', 'J', 'S'], - SHORTQUARTERS: ['Suku 1', 'Suku Ke-2', 'Suku Ke-3', 'Suku Ke-4'], + SHORTQUARTERS: ['S1', 'S2', 'S3', 'S4'], QUARTERS: ['Suku pertama', 'Suku Ke-2', 'Suku Ke-3', 'Suku Ke-4'], AMPMS: ['PG', 'PTG'], - DATEFORMATS: ['dd MMMM y', 'd MMMM y', 'dd/MM/yyyy', 'd/MM/yy'], + DATEFORMATS: ['dd MMMM y', 'd MMMM y', 'd MMM y', 'd/MM/yy'], TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -9492,73 +9394,43 @@ goog.i18n.DateTimeSymbols_ms_BN = { /** * Date/time formatting symbols for locale ms_MY. */ -goog.i18n.DateTimeSymbols_ms_MY = { +goog.i18n.DateTimeSymbols_ms_MY = goog.i18n.DateTimeSymbols_ms; + + +/** + * Date/time formatting symbols for locale ms_SG. + */ +goog.i18n.DateTimeSymbols_ms_SG = { ERAS: ['S.M.', 'TM'], ERANAMES: ['S.M.', 'TM'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'O', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'O', 'S', 'O', - 'N', 'D'], - MONTHS: ['Januari', 'Februari', 'Mac', 'April', 'Mei', 'Jun', 'Julai', 'Ogos', - 'September', 'Oktober', 'November', 'Disember'], - STANDALONEMONTHS: ['Januari', 'Februari', 'Mac', 'April', 'Mei', 'Jun', - 'Julai', 'Ogos', 'September', 'Oktober', 'November', 'Disember'], - SHORTMONTHS: ['Jan', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Jul', 'Ogos', 'Sep', - 'Okt', 'Nov', 'Dis'], - STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Jul', - 'Ogos', 'Sep', 'Okt', 'Nov', 'Dis'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'O', 'S', 'O', 'N', 'D'], + MONTHS: ['Januari', 'Februari', 'Mac', 'April', 'Mei', 'Jun', 'Julai', 'Ogos', 'September', 'Oktober', 'November', 'Disember'], + STANDALONEMONTHS: ['Januari', 'Februari', 'Mac', 'April', 'Mei', 'Jun', 'Julai', 'Ogos', 'September', 'Oktober', 'November', 'Disember'], + SHORTMONTHS: ['Jan', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Jul', 'Ogo', 'Sep', 'Okt', 'Nov', 'Dis'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Jul', 'Ogo', 'Sep', 'Okt', 'Nov', 'Dis'], WEEKDAYS: ['Ahad', 'Isnin', 'Selasa', 'Rabu', 'Khamis', 'Jumaat', 'Sabtu'], - STANDALONEWEEKDAYS: ['Ahad', 'Isnin', 'Selasa', 'Rabu', 'Khamis', 'Jumaat', - 'Sabtu'], + STANDALONEWEEKDAYS: ['Ahad', 'Isnin', 'Selasa', 'Rabu', 'Khamis', 'Jumaat', 'Sabtu'], SHORTWEEKDAYS: ['Ahd', 'Isn', 'Sel', 'Rab', 'Kha', 'Jum', 'Sab'], STANDALONESHORTWEEKDAYS: ['Ahd', 'Isn', 'Sel', 'Rab', 'Kha', 'Jum', 'Sab'], NARROWWEEKDAYS: ['A', 'I', 'S', 'R', 'K', 'J', 'S'], STANDALONENARROWWEEKDAYS: ['A', 'I', 'S', 'R', 'K', 'J', 'S'], - SHORTQUARTERS: ['Suku 1', 'Suku Ke-2', 'Suku Ke-3', 'Suku Ke-4'], + SHORTQUARTERS: ['S1', 'S2', 'S3', 'S4'], QUARTERS: ['Suku pertama', 'Suku Ke-2', 'Suku Ke-3', 'Suku Ke-4'], AMPMS: ['PG', 'PTG'], - DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'dd/MM/yyyy', 'd/MM/yy'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'd/MM/yy'], TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], - FIRSTDAYOFWEEK: 0, + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 6, WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 6 + FIRSTWEEKCUTOFFDAY: 5 }; /** * Date/time formatting symbols for locale mt_MT. */ -goog.i18n.DateTimeSymbols_mt_MT = { - ERAS: ['QK', 'WK'], - ERANAMES: ['Qabel Kristu', 'Wara Kristu'], - NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'Ġ', 'L', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'Ġ', 'L', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['Jannar', 'Frar', 'Marzu', 'April', 'Mejju', 'Ġunju', 'Lulju', - 'Awwissu', 'Settembru', 'Ottubru', 'Novembru', 'Diċembru'], - STANDALONEMONTHS: ['Jannar', 'Frar', 'Marzu', 'April', 'Mejju', 'Ġunju', - 'Lulju', 'Awwissu', 'Settembru', 'Ottubru', 'Novembru', 'Diċembru'], - SHORTMONTHS: ['Jan', 'Fra', 'Mar', 'Apr', 'Mej', 'Ġun', 'Lul', 'Aww', 'Set', - 'Ott', 'Nov', 'Diċ'], - STANDALONESHORTMONTHS: ['Jan', 'Fra', 'Mar', 'Apr', 'Mej', 'Ġun', 'Lul', - 'Aww', 'Set', 'Ott', 'Nov', 'Diċ'], - WEEKDAYS: ['Il-Ħadd', 'It-Tnejn', 'It-Tlieta', 'L-Erbgħa', 'Il-Ħamis', - 'Il-Ġimgħa', 'Is-Sibt'], - STANDALONEWEEKDAYS: ['Il-Ħadd', 'It-Tnejn', 'It-Tlieta', 'L-Erbgħa', - 'Il-Ħamis', 'Il-Ġimgħa', 'Is-Sibt'], - SHORTWEEKDAYS: ['Ħad', 'Tne', 'Tli', 'Erb', 'Ħam', 'Ġim', 'Sib'], - STANDALONESHORTWEEKDAYS: ['Ħad', 'Tne', 'Tli', 'Erb', 'Ħam', 'Ġim', 'Sib'], - NARROWWEEKDAYS: ['Ħ', 'T', 'T', 'E', 'Ħ', 'Ġ', 'S'], - STANDALONENARROWWEEKDAYS: ['Ħ', 'T', 'T', 'E', 'Ħ', 'Ġ', 'S'], - SHORTQUARTERS: ['K1', 'K2', 'K3', 'K4'], - QUARTERS: ['K1', 'K2', 'K3', 'K4'], - AMPMS: ['QN', 'WN'], - DATEFORMATS: ['EEEE, d \'ta\'’ MMMM y', 'd \'ta\'’ MMMM y', 'dd MMM y', - 'dd/MM/yyyy'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 6, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 5 -}; +goog.i18n.DateTimeSymbols_mt_MT = goog.i18n.DateTimeSymbols_mt; /** @@ -9568,34 +9440,23 @@ goog.i18n.DateTimeSymbols_mua = { ERAS: ['KK', 'PK'], ERANAMES: ['KǝPel Kristu', 'Pel Kristu'], NARROWMONTHS: ['O', 'A', 'I', 'F', 'D', 'B', 'L', 'M', 'E', 'U', 'W', 'Y'], - STANDALONENARROWMONTHS: ['O', 'A', 'I', 'F', 'D', 'B', 'L', 'M', 'E', 'U', - 'W', 'Y'], - MONTHS: ['Fĩi Loo', 'Cokcwaklaŋne', 'Cokcwaklii', 'Fĩi Marfoo', - 'Madǝǝuutǝbijaŋ', 'Mamǝŋgwãafahbii', 'Mamǝŋgwãalii', - 'Madǝmbii', 'Fĩi Dǝɓlii', 'Fĩi Mundaŋ', 'Fĩi Gwahlle', - 'Fĩi Yuru'], - STANDALONEMONTHS: ['Fĩi Loo', 'Cokcwaklaŋne', 'Cokcwaklii', 'Fĩi Marfoo', - 'Madǝǝuutǝbijaŋ', 'Mamǝŋgwãafahbii', 'Mamǝŋgwãalii', - 'Madǝmbii', 'Fĩi Dǝɓlii', 'Fĩi Mundaŋ', 'Fĩi Gwahlle', - 'Fĩi Yuru'], - SHORTMONTHS: ['FLO', 'CLA', 'CKI', 'FMF', 'MAD', 'MBI', 'MLI', 'MAM', 'FDE', - 'FMU', 'FGW', 'FYU'], - STANDALONESHORTMONTHS: ['FLO', 'CLA', 'CKI', 'FMF', 'MAD', 'MBI', 'MLI', - 'MAM', 'FDE', 'FMU', 'FGW', 'FYU'], - WEEKDAYS: ['Com\'yakke', 'Comlaaɗii', 'Comzyiiɗii', 'Comkolle', - 'Comkaldǝɓlii', 'Comgaisuu', 'Comzyeɓsuu'], - STANDALONEWEEKDAYS: ['Com\'yakke', 'Comlaaɗii', 'Comzyiiɗii', 'Comkolle', - 'Comkaldǝɓlii', 'Comgaisuu', 'Comzyeɓsuu'], + STANDALONENARROWMONTHS: ['O', 'A', 'I', 'F', 'D', 'B', 'L', 'M', 'E', 'U', 'W', 'Y'], + MONTHS: ['Fĩi Loo', 'Cokcwaklaŋne', 'Cokcwaklii', 'Fĩi Marfoo', 'Madǝǝuutǝbijaŋ', 'Mamǝŋgwãafahbii', 'Mamǝŋgwãalii', 'Madǝmbii', 'Fĩi Dǝɓlii', 'Fĩi Mundaŋ', 'Fĩi Gwahlle', 'Fĩi Yuru'], + STANDALONEMONTHS: ['Fĩi Loo', 'Cokcwaklaŋne', 'Cokcwaklii', 'Fĩi Marfoo', 'Madǝǝuutǝbijaŋ', 'Mamǝŋgwãafahbii', 'Mamǝŋgwãalii', 'Madǝmbii', 'Fĩi Dǝɓlii', 'Fĩi Mundaŋ', 'Fĩi Gwahlle', 'Fĩi Yuru'], + SHORTMONTHS: ['FLO', 'CLA', 'CKI', 'FMF', 'MAD', 'MBI', 'MLI', 'MAM', 'FDE', 'FMU', 'FGW', 'FYU'], + STANDALONESHORTMONTHS: ['FLO', 'CLA', 'CKI', 'FMF', 'MAD', 'MBI', 'MLI', 'MAM', 'FDE', 'FMU', 'FGW', 'FYU'], + WEEKDAYS: ['Com’yakke', 'Comlaaɗii', 'Comzyiiɗii', 'Comkolle', 'Comkaldǝɓlii', 'Comgaisuu', 'Comzyeɓsuu'], + STANDALONEWEEKDAYS: ['Com’yakke', 'Comlaaɗii', 'Comzyiiɗii', 'Comkolle', 'Comkaldǝɓlii', 'Comgaisuu', 'Comzyeɓsuu'], SHORTWEEKDAYS: ['Cya', 'Cla', 'Czi', 'Cko', 'Cka', 'Cga', 'Cze'], STANDALONESHORTWEEKDAYS: ['Cya', 'Cla', 'Czi', 'Cko', 'Cka', 'Cga', 'Cze'], NARROWWEEKDAYS: ['Y', 'L', 'Z', 'O', 'A', 'G', 'E'], STANDALONENARROWWEEKDAYS: ['Y', 'L', 'Z', 'O', 'A', 'G', 'E'], SHORTQUARTERS: ['F1', 'F2', 'F3', 'F4'], - QUARTERS: ['Tai fĩi sai ma tǝn kee zah', 'Tai fĩi sai zah lǝn gwa ma kee', - 'Tai fĩi sai zah lǝn sai ma kee', 'Tai fĩi sai ma coo kee zah \'na'], + QUARTERS: ['Tai fĩi sai ma tǝn kee zah', 'Tai fĩi sai zah lǝn gwa ma kee', 'Tai fĩi sai zah lǝn sai ma kee', 'Tai fĩi sai ma coo kee zah ‘na'], AMPMS: ['comme', 'lilli'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'd/M/yyyy'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'd/M/y'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -9609,64 +9470,46 @@ goog.i18n.DateTimeSymbols_mua_CM = goog.i18n.DateTimeSymbols_mua; /** - * Date/time formatting symbols for locale my. - */ -goog.i18n.DateTimeSymbols_my = { - ZERODIGIT: 0x1040, - ERAS: ['ဘီစီ', 'အေဒီ'], - ERANAMES: ['ခရစ်တော် မပေါ်မီကာလ', - 'ခရစ်တော် ပေါ်ထွန်းပြီးကာလ'], - NARROWMONTHS: ['ဇ', 'ဖ', 'မ', 'ဧ', 'မ', 'ဇ', 'ဇ', 'ဩ', 'စ', - 'အ', 'န', 'ဒ'], - STANDALONENARROWMONTHS: ['ဇ', 'ဖ', 'မ', 'ဧ', 'မ', 'ဇ', 'ဇ', - 'ဩ', 'စ', 'အ', 'န', 'ဒ'], - MONTHS: ['ဇန်နဝါရီ', 'ဖေဖော်ဝါရီ', - 'မတ်', 'ဧပြီ', 'မေ', 'ဇွန်', - 'ဇူလိုင်', 'ဩဂုတ်', 'စက်တင်ဘာ', - 'အောက်တိုဘာ', 'နိုဝင်ဘာ', - 'ဒီဇင်ဘာ'], - STANDALONEMONTHS: ['ဇန်နဝါရီ', - 'ဖေဖော်ဝါရီ', 'မတ်', 'ဧပြီ', 'မေ', - 'ဇွန်', 'ဇူလိုင်', 'ဩဂုတ်', - 'စက်တင်ဘာ', 'အောက်တိုဘာ', - 'နိုဝင်ဘာ', 'ဒီဇင်ဘာ'], - SHORTMONTHS: ['ဇန်', 'ဖေ', 'မတ်', 'ဧ', 'မေ', - 'ဇွန်', 'ဇူ', 'ဩ', 'စက်', 'အောက်', - 'နို', 'ဒီ'], - STANDALONESHORTMONTHS: ['ဇန်', 'ဖေ', 'မတ်', 'ဧ', 'မေ', - 'ဇွန်', 'ဇူ', 'ဩ', 'စက်', 'အောက်', - 'နို', 'ဒီ'], - WEEKDAYS: ['တနင်္ဂနွေ', 'တနင်္လာ', - 'အင်္ဂါ', 'ဗုဒ္ဓဟူး', - 'ကြာသပတေး', 'သောကြာ', 'စနေ'], - STANDALONEWEEKDAYS: ['တနင်္ဂနွေ', 'တနင်္လာ', - 'အင်္ဂါ', 'ဗုဒ္ဓဟူး', - 'ကြာသပတေး', 'သောကြာ', 'စနေ'], - SHORTWEEKDAYS: ['နွေ', 'လာ', 'ဂါ', 'ဟူး', 'တေး', - 'ကြာ', 'နေ'], - STANDALONESHORTWEEKDAYS: ['နွေ', 'လာ', 'ဂါ', 'ဟူး', - 'တေး', 'ကြာ', 'နေ'], - NARROWWEEKDAYS: ['တ', 'တ', 'အ', 'ဗ', 'က', 'သ', 'စ'], - STANDALONENARROWWEEKDAYS: ['တ', 'တ', 'အ', 'ဗ', 'က', 'သ', 'စ'], - SHORTQUARTERS: ['ပ-စိတ်', 'ဒု-စိတ်', 'တ-စိတ်', - 'စ-စိတ်'], - QUARTERS: ['ပထမ သုံးလပတ်', - 'ဒုတိယ သုံးလပတ်', - 'တတိယ သုံးလပတ်', - 'စတုတ္ထ သုံးလပတ်'], - AMPMS: ['နံနက်', 'ညနေ'], - DATEFORMATS: ['EEEE, y MMMM dd', 'y MMMM d', 'y MMM d', 'yy/MM/dd'], + * Date/time formatting symbols for locale my_MM. + */ +goog.i18n.DateTimeSymbols_my_MM = goog.i18n.DateTimeSymbols_my; + + +/** + * Date/time formatting symbols for locale mzn. + */ +goog.i18n.DateTimeSymbols_mzn = { + ZERODIGIT: 0x06F0, + ERAS: ['پ.م', 'م.'], + ERANAMES: ['قبل میلاد', 'بعد میلاد'], + NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + MONTHS: ['ژانویه', 'فوریه', 'مارس', 'آوریل', 'مه', 'ژوئن', 'ژوئیه', 'اوت', 'سپتامبر', 'اکتبر', 'نوامبر', 'دسامبر'], + STANDALONEMONTHS: ['ژانویه', 'فوریه', 'مارس', 'آوریل', 'مه', 'ژوئن', 'ژوئیه', 'اوت', 'سپتامبر', 'اکتبر', 'نوامبر', 'دسامبر'], + SHORTMONTHS: ['ژانویه', 'فوریه', 'مارس', 'آوریل', 'مه', 'ژوئن', 'ژوئیه', 'اوت', 'سپتامبر', 'اکتبر', 'نوامبر', 'دسامبر'], + STANDALONESHORTMONTHS: ['ژانویه', 'فوریه', 'مارس', 'آوریل', 'مه', 'ژوئن', 'ژوئیه', 'اوت', 'سپتامبر', 'اکتبر', 'نوامبر', 'دسامبر'], + WEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONEWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['y MMMM d, EEEE', 'y MMMM d', 'y MMM d', 'y-MM-dd'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 6, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 5 + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 5, + WEEKENDRANGE: [4, 4], + FIRSTWEEKCUTOFFDAY: 4 }; /** - * Date/time formatting symbols for locale my_MM. + * Date/time formatting symbols for locale mzn_IR. */ -goog.i18n.DateTimeSymbols_my_MM = goog.i18n.DateTimeSymbols_my; +goog.i18n.DateTimeSymbols_mzn_IR = goog.i18n.DateTimeSymbols_mzn; /** @@ -9676,34 +9519,23 @@ goog.i18n.DateTimeSymbols_naq = { ERAS: ['BC', 'AD'], ERANAMES: ['Xristub aiǃâ', 'Xristub khaoǃgâ'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['ǃKhanni', 'ǃKhanǀgôab', 'ǀKhuuǁkhâb', 'ǃHôaǂkhaib', - 'ǃKhaitsâb', 'Gamaǀaeb', 'ǂKhoesaob', 'Aoǁkhuumûǁkhâb', - 'Taraǀkhuumûǁkhâb', 'ǂNûǁnâiseb', 'ǀHooǂgaeb', - 'Hôasoreǁkhâb'], - STANDALONEMONTHS: ['ǃKhanni', 'ǃKhanǀgôab', 'ǀKhuuǁkhâb', - 'ǃHôaǂkhaib', 'ǃKhaitsâb', 'Gamaǀaeb', 'ǂKhoesaob', - 'Aoǁkhuumûǁkhâb', 'Taraǀkhuumûǁkhâb', 'ǂNûǁnâiseb', - 'ǀHooǂgaeb', 'Hôasoreǁkhâb'], - SHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', - 'Oct', 'Nov', 'Dec'], - STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', - 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], - WEEKDAYS: ['Sontaxtsees', 'Mantaxtsees', 'Denstaxtsees', 'Wunstaxtsees', - 'Dondertaxtsees', 'Fraitaxtsees', 'Satertaxtsees'], - STANDALONEWEEKDAYS: ['Sontaxtsees', 'Mantaxtsees', 'Denstaxtsees', - 'Wunstaxtsees', 'Dondertaxtsees', 'Fraitaxtsees', 'Satertaxtsees'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['ǃKhanni', 'ǃKhanǀgôab', 'ǀKhuuǁkhâb', 'ǃHôaǂkhaib', 'ǃKhaitsâb', 'Gamaǀaeb', 'ǂKhoesaob', 'Aoǁkhuumûǁkhâb', 'Taraǀkhuumûǁkhâb', 'ǂNûǁnâiseb', 'ǀHooǂgaeb', 'Hôasoreǁkhâb'], + STANDALONEMONTHS: ['ǃKhanni', 'ǃKhanǀgôab', 'ǀKhuuǁkhâb', 'ǃHôaǂkhaib', 'ǃKhaitsâb', 'Gamaǀaeb', 'ǂKhoesaob', 'Aoǁkhuumûǁkhâb', 'Taraǀkhuumûǁkhâb', 'ǂNûǁnâiseb', 'ǀHooǂgaeb', 'Hôasoreǁkhâb'], + SHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + WEEKDAYS: ['Sontaxtsees', 'Mantaxtsees', 'Denstaxtsees', 'Wunstaxtsees', 'Dondertaxtsees', 'Fraitaxtsees', 'Satertaxtsees'], + STANDALONEWEEKDAYS: ['Sontaxtsees', 'Mantaxtsees', 'Denstaxtsees', 'Wunstaxtsees', 'Dondertaxtsees', 'Fraitaxtsees', 'Satertaxtsees'], SHORTWEEKDAYS: ['Son', 'Ma', 'De', 'Wu', 'Do', 'Fr', 'Sat'], STANDALONESHORTWEEKDAYS: ['Son', 'Ma', 'De', 'Wu', 'Do', 'Fr', 'Sat'], NARROWWEEKDAYS: ['S', 'M', 'E', 'W', 'D', 'F', 'A'], STANDALONENARROWWEEKDAYS: ['S', 'M', 'E', 'W', 'D', 'F', 'A'], SHORTQUARTERS: ['KW1', 'KW2', 'KW3', 'KW4'], - QUARTERS: ['1ro kwartals', '2ǁî kwartals', '3ǁî kwartals', - '4ǁî kwartals'], + QUARTERS: ['1ro kwartals', '2ǁî kwartals', '3ǁî kwartals', '4ǁî kwartals'], AMPMS: ['ǁgoagas', 'ǃuias'], - DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yyyy'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -9717,45 +9549,15 @@ goog.i18n.DateTimeSymbols_naq_NA = goog.i18n.DateTimeSymbols_naq; /** - * Date/time formatting symbols for locale nb. + * Date/time formatting symbols for locale nb_NO. */ -goog.i18n.DateTimeSymbols_nb = { - ERAS: ['f.Kr.', 'e.Kr.'], - ERANAMES: ['f.Kr.', 'e.Kr.'], - NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['januar', 'februar', 'mars', 'april', 'mai', 'juni', 'juli', - 'august', 'september', 'oktober', 'november', 'desember'], - STANDALONEMONTHS: ['januar', 'februar', 'mars', 'april', 'mai', 'juni', - 'juli', 'august', 'september', 'oktober', 'november', 'desember'], - SHORTMONTHS: ['jan.', 'feb.', 'mars', 'apr.', 'mai', 'juni', 'juli', 'aug.', - 'sep.', 'okt.', 'nov.', 'des.'], - STANDALONESHORTMONTHS: ['jan', 'feb', 'mar', 'apr', 'mai', 'jun', 'jul', - 'aug', 'sep', 'okt', 'nov', 'des'], - WEEKDAYS: ['søndag', 'mandag', 'tirsdag', 'onsdag', 'torsdag', 'fredag', - 'lørdag'], - STANDALONEWEEKDAYS: ['søndag', 'mandag', 'tirsdag', 'onsdag', 'torsdag', - 'fredag', 'lørdag'], - SHORTWEEKDAYS: ['søn.', 'man.', 'tir.', 'ons.', 'tor.', 'fre.', 'lør.'], - STANDALONESHORTWEEKDAYS: ['sø.', 'ma.', 'ti.', 'on.', 'to.', 'fr.', 'lø.'], - NARROWWEEKDAYS: ['S', 'M', 'T', 'O', 'T', 'F', 'L'], - STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'O', 'T', 'F', 'L'], - SHORTQUARTERS: ['K1', 'K2', 'K3', 'K4'], - QUARTERS: ['1. kvartal', '2. kvartal', '3. kvartal', '4. kvartal'], - AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE d. MMMM y', 'd. MMMM y', 'd. MMM y', 'dd.MM.yy'], - TIMEFORMATS: ['\'kl\'. HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 3 -}; +goog.i18n.DateTimeSymbols_nb_NO = goog.i18n.DateTimeSymbols_nb; /** - * Date/time formatting symbols for locale nb_NO. + * Date/time formatting symbols for locale nb_SJ. */ -goog.i18n.DateTimeSymbols_nb_NO = goog.i18n.DateTimeSymbols_nb; +goog.i18n.DateTimeSymbols_nb_SJ = goog.i18n.DateTimeSymbols_nb; /** @@ -9765,22 +9567,13 @@ goog.i18n.DateTimeSymbols_nd = { ERAS: ['BC', 'AD'], ERANAMES: ['UKristo angakabuyi', 'Ukristo ebuyile'], NARROWMONTHS: ['Z', 'N', 'M', 'M', 'N', 'N', 'N', 'N', 'M', 'M', 'L', 'M'], - STANDALONENARROWMONTHS: ['Z', 'N', 'M', 'M', 'N', 'N', 'N', 'N', 'M', 'M', - 'L', 'M'], - MONTHS: ['Zibandlela', 'Nhlolanja', 'Mbimbitho', 'Mabasa', 'Nkwenkwezi', - 'Nhlangula', 'Ntulikazi', 'Ncwabakazi', 'Mpandula', 'Mfumfu', 'Lwezi', - 'Mpalakazi'], - STANDALONEMONTHS: ['Zibandlela', 'Nhlolanja', 'Mbimbitho', 'Mabasa', - 'Nkwenkwezi', 'Nhlangula', 'Ntulikazi', 'Ncwabakazi', 'Mpandula', - 'Mfumfu', 'Lwezi', 'Mpalakazi'], - SHORTMONTHS: ['Zib', 'Nhlo', 'Mbi', 'Mab', 'Nkw', 'Nhla', 'Ntu', 'Ncw', - 'Mpan', 'Mfu', 'Lwe', 'Mpal'], - STANDALONESHORTMONTHS: ['Zib', 'Nhlo', 'Mbi', 'Mab', 'Nkw', 'Nhla', 'Ntu', - 'Ncw', 'Mpan', 'Mfu', 'Lwe', 'Mpal'], - WEEKDAYS: ['Sonto', 'Mvulo', 'Sibili', 'Sithathu', 'Sine', 'Sihlanu', - 'Mgqibelo'], - STANDALONEWEEKDAYS: ['Sonto', 'Mvulo', 'Sibili', 'Sithathu', 'Sine', - 'Sihlanu', 'Mgqibelo'], + STANDALONENARROWMONTHS: ['Z', 'N', 'M', 'M', 'N', 'N', 'N', 'N', 'M', 'M', 'L', 'M'], + MONTHS: ['Zibandlela', 'Nhlolanja', 'Mbimbitho', 'Mabasa', 'Nkwenkwezi', 'Nhlangula', 'Ntulikazi', 'Ncwabakazi', 'Mpandula', 'Mfumfu', 'Lwezi', 'Mpalakazi'], + STANDALONEMONTHS: ['Zibandlela', 'Nhlolanja', 'Mbimbitho', 'Mabasa', 'Nkwenkwezi', 'Nhlangula', 'Ntulikazi', 'Ncwabakazi', 'Mpandula', 'Mfumfu', 'Lwezi', 'Mpalakazi'], + SHORTMONTHS: ['Zib', 'Nhlo', 'Mbi', 'Mab', 'Nkw', 'Nhla', 'Ntu', 'Ncw', 'Mpan', 'Mfu', 'Lwe', 'Mpal'], + STANDALONESHORTMONTHS: ['Zib', 'Nhlo', 'Mbi', 'Mab', 'Nkw', 'Nhla', 'Ntu', 'Ncw', 'Mpan', 'Mfu', 'Lwe', 'Mpal'], + WEEKDAYS: ['Sonto', 'Mvulo', 'Sibili', 'Sithathu', 'Sine', 'Sihlanu', 'Mgqibelo'], + STANDALONEWEEKDAYS: ['Sonto', 'Mvulo', 'Sibili', 'Sithathu', 'Sine', 'Sihlanu', 'Mgqibelo'], SHORTWEEKDAYS: ['Son', 'Mvu', 'Sib', 'Sit', 'Sin', 'Sih', 'Mgq'], STANDALONESHORTWEEKDAYS: ['Son', 'Mvu', 'Sib', 'Sit', 'Sin', 'Sih', 'Mgq'], NARROWWEEKDAYS: ['S', 'M', 'S', 'S', 'S', 'S', 'M'], @@ -9788,118 +9581,88 @@ goog.i18n.DateTimeSymbols_nd = { SHORTQUARTERS: ['K1', 'K2', 'K3', 'K4'], QUARTERS: ['Kota 1', 'Kota 2', 'Kota 3', 'Kota 4'], AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yyyy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 6, WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 5 + FIRSTWEEKCUTOFFDAY: 5 +}; + + +/** + * Date/time formatting symbols for locale nd_ZW. + */ +goog.i18n.DateTimeSymbols_nd_ZW = goog.i18n.DateTimeSymbols_nd; + + +/** + * Date/time formatting symbols for locale nds. + */ +goog.i18n.DateTimeSymbols_nds = { + ERAS: ['BCE', 'CE'], + ERANAMES: ['BCE', 'CE'], + NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + MONTHS: ['M01', 'M02', 'M03', 'M04', 'M05', 'M06', 'M07', 'M08', 'M09', 'M10', 'M11', 'M12'], + STANDALONEMONTHS: ['M01', 'M02', 'M03', 'M04', 'M05', 'M06', 'M07', 'M08', 'M09', 'M10', 'M11', 'M12'], + SHORTMONTHS: ['M01', 'M02', 'M03', 'M04', 'M05', 'M06', 'M07', 'M08', 'M09', 'M10', 'M11', 'M12'], + STANDALONESHORTMONTHS: ['M01', 'M02', 'M03', 'M04', 'M05', 'M06', 'M07', 'M08', 'M09', 'M10', 'M11', 'M12'], + WEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONEWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['y MMMM d, EEEE', 'y MMMM d', 'y MMM d', 'y-MM-dd'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 3 }; /** - * Date/time formatting symbols for locale nd_ZW. + * Date/time formatting symbols for locale nds_DE. */ -goog.i18n.DateTimeSymbols_nd_ZW = goog.i18n.DateTimeSymbols_nd; +goog.i18n.DateTimeSymbols_nds_DE = goog.i18n.DateTimeSymbols_nds; /** - * Date/time formatting symbols for locale ne. + * Date/time formatting symbols for locale nds_NL. */ -goog.i18n.DateTimeSymbols_ne = { - ERAS: ['ईसा पूर्व', 'सन्'], - ERANAMES: ['ईसा पूर्व', 'सन्'], - NARROWMONTHS: ['१', '२', '३', '४', '५', '६', '७', '८', '९', - '१०', '११', '१२'], - STANDALONENARROWMONTHS: ['१', '२', '३', '४', '५', '६', '७', - '८', '९', '१०', '११', '१२'], - MONTHS: ['जनवरी', 'फेब्रुअरी', 'मार्च', - 'अप्रिल', 'मे', 'जुन', 'जुलाई', - 'अगस्त', 'सेप्टेम्बर', - 'अक्टोबर', 'नोभेम्बर', - 'डिसेम्बर'], - STANDALONEMONTHS: ['जनवरी', 'फेब्रुअरी', - 'मार्च', 'अप्रिल', 'मे', 'जुन', - 'जुलाई', 'अगस्त', 'सेप्टेम्बर', - 'अक्टोबर', 'नोभेम्बर', - 'डिसेम्बर'], - SHORTMONTHS: ['जन', 'फेब', 'मार्च', 'अप्रि', - 'मे', 'जुन', 'जुला', 'अग', 'सेप्ट', - 'अक्टो', 'नोभे', 'डिसे'], - STANDALONESHORTMONTHS: ['जन', 'फेब', 'मार्च', - 'अप्रि', 'मे', 'जुन', 'जुला', 'अग', - 'सेप्ट', 'अक्टो', 'नोभे', 'डिसे'], - WEEKDAYS: ['आइतबार', 'सोमबार', - 'मङ्गलबार', 'बुधबार', 'बिहीबार', - 'शुक्रबार', 'शनिबार'], - STANDALONEWEEKDAYS: ['आइतबार', 'सोमबार', - 'मङ्गलबार', 'बुधबार', 'बिहीबार', - 'शुक्रबार', 'शनिबार'], - SHORTWEEKDAYS: ['आइत', 'सोम', 'मङ्गल', 'बुध', - 'बिही', 'शुक्र', 'शनि'], - STANDALONESHORTWEEKDAYS: ['आइत', 'सोम', 'मङ्गल', - 'बुध', 'बिही', 'शुक्र', 'शनि'], - NARROWWEEKDAYS: ['१', '२', '३', '४', '५', '६', '७'], - STANDALONENARROWWEEKDAYS: ['१', '२', '३', '४', '५', '६', '७'], - SHORTQUARTERS: ['पहिलो सत्र', - 'दोस्रो सत्र', 'तेस्रो सत्र', - 'चौथो सत्र'], - QUARTERS: ['पहिलो सत्र', 'दोस्रो सत्र', - 'तेस्रो सत्र', 'चौथो सत्र'], - AMPMS: ['पूर्व मध्यान्ह', - 'उत्तर मध्यान्ह'], - DATEFORMATS: ['EEEE, y MMMM dd', 'y MMMM d', 'y MMM d', 'yyyy-MM-dd'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 6, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 5 -}; +goog.i18n.DateTimeSymbols_nds_NL = goog.i18n.DateTimeSymbols_nds; /** * Date/time formatting symbols for locale ne_IN. */ goog.i18n.DateTimeSymbols_ne_IN = { + ZERODIGIT: 0x0966, ERAS: ['ईसा पूर्व', 'सन्'], ERANAMES: ['ईसा पूर्व', 'सन्'], - NARROWMONTHS: ['१', '२', '३', '४', '५', '६', '७', '८', '९', - '१०', '११', '१२'], - STANDALONENARROWMONTHS: ['१', '२', '३', '४', '५', '६', '७', - '८', '९', '१०', '११', '१२'], - MONTHS: ['जनवरी', 'फरवरी', 'मार्च', - 'अप्रेल', 'मई', 'जुन', 'जुलाई', - 'अगस्त', 'सेप्टेम्बर', - 'अक्टोबर', 'नोभेम्बर', - 'दिसम्बर'], - STANDALONEMONTHS: ['जनवरी', 'फरवरी', 'मार्च', - 'अप्रेल', 'मई', 'जुन', 'जुलाई', - 'अगस्त', 'सेप्टेम्बर', - 'अक्टोबर', 'नोभेम्बर', - 'दिसम्बर'], - SHORTMONTHS: ['जन', 'फेब', 'मार्च', 'अप्रि', - 'मे', 'जुन', 'जुला', 'अग', 'सेप्ट', - 'अक्टो', 'नोभे', 'डिसे'], - STANDALONESHORTMONTHS: ['जन', 'फेब', 'मार्च', - 'अप्रि', 'मे', 'जुन', 'जुला', 'अग', - 'सेप्ट', 'अक्टो', 'नोभे', 'डिसे'], - WEEKDAYS: ['आइतवार', 'सोमवार', - 'मङ्गलवार', 'बुधवार', 'बिहीवार', - 'शुक्रवार', 'शनिवार'], - STANDALONEWEEKDAYS: ['आइतवार', 'सोमवार', - 'मङ्गलवार', 'बुधवार', 'बिहीवार', - 'शुक्रवार', 'शनिवार'], - SHORTWEEKDAYS: ['आइत', 'सोम', 'मङ्गल', 'बुध', - 'बिही', 'शुक्र', 'शनि'], - STANDALONESHORTWEEKDAYS: ['आइत', 'सोम', 'मङ्गल', - 'बुध', 'बिही', 'शुक्र', 'शनि'], - NARROWWEEKDAYS: ['१', '२', '३', '४', '५', '६', '७'], - STANDALONENARROWWEEKDAYS: ['१', '२', '३', '४', '५', '६', '७'], - SHORTQUARTERS: ['पहिलो पाउ', 'दोस्रो पाउ', - 'तेस्रो पाउ', 'चौथो पाउ'], - QUARTERS: ['पहिलो पाउ', 'दोस्रो पाउ', - 'तेस्रो पाउ', 'चौथो पाउ'], + NARROWMONTHS: ['१', '२', '३', '४', '५', '६', '७', '८', '९', '१०', '११', '१२'], + STANDALONENARROWMONTHS: ['१', '२', '३', '४', '५', '६', '७', '८', '९', '१०', '११', '१२'], + MONTHS: ['जनवरी', 'फेब्रुअरी', 'मार्च', 'अप्रिल', 'मई', 'जुन', 'जुलाई', 'अगस्ट', 'सेप्टेम्बर', 'अक्टोबर', 'नोभेम्बर', 'डिसेम्बर'], + STANDALONEMONTHS: ['जनवरी', 'फेब्रुअरी', 'मार्च', 'अप्रिल', 'मे', 'जुन', 'जुलाई', 'अगस्ट', 'सेप्टेम्बर', 'अक्टोबर', 'नोभेम्बर', 'डिसेम्बर'], + SHORTMONTHS: ['जनवरी', 'फेब्रुअरी', 'मार्च', 'अप्रिल', 'मे', 'जुन', 'जुलाई', 'अगस्ट', 'सेप्टेम्बर', 'अक्टोबर', 'नोभेम्बर', 'डिसेम्बर'], + STANDALONESHORTMONTHS: ['जनवरी', 'फेब्रुअरी', 'मार्च', 'अप्रिल', 'मे', 'जुन', 'जुलाई', 'अगस्ट', 'सेप्टेम्बर', 'अक्टोबर', 'नोभेम्बर', 'डिसेम्बर'], + WEEKDAYS: ['आइतबार', 'सोमबार', 'मङ्गलबार', 'बुधबार', 'बिहिबार', 'शुक्रबार', 'शनिबार'], + STANDALONEWEEKDAYS: ['आइतबार', 'सोमबार', 'मङ्गलबार', 'बुधबार', 'बिहिबार', 'शुक्रबार', 'शनिबार'], + SHORTWEEKDAYS: ['आइत', 'सोम', 'मङ्गल', 'बुध', 'बिहि', 'शुक्र', 'शनि'], + STANDALONESHORTWEEKDAYS: ['आइत', 'सोम', 'मङ्गल', 'बुध', 'बिहि', 'शुक्र', 'शनि'], + NARROWWEEKDAYS: ['आ', 'सो', 'म', 'बु', 'बि', 'शु', 'श'], + STANDALONENARROWWEEKDAYS: ['आ', 'सो', 'म', 'बु', 'बि', 'शु', 'श'], + SHORTQUARTERS: ['पहिलो सत्र', 'दोस्रो सत्र', 'तेस्रो सत्र', 'चौथो सत्र'], + QUARTERS: ['पहिलो सत्र', 'दोस्रो सत्र', 'तेस्रो सत्र', 'चौथो सत्र'], AMPMS: ['पूर्वाह्न', 'अपराह्न'], - DATEFORMATS: ['EEEE, y MMMM dd', 'y MMMM d', 'y MMM d', 'yyyy-MM-dd'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATEFORMATS: ['y MMMM d, EEEE', 'y MMMM d', 'y MMM d', 'y-MM-dd'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1}, {0}', '{1}, {0}'], FIRSTDAYOFWEEK: 6, WEEKENDRANGE: [6, 6], FIRSTWEEKCUTOFFDAY: 5 @@ -9916,32 +9679,26 @@ goog.i18n.DateTimeSymbols_ne_NP = goog.i18n.DateTimeSymbols_ne; * Date/time formatting symbols for locale nl_AW. */ goog.i18n.DateTimeSymbols_nl_AW = { - ERAS: ['v. Chr.', 'n. Chr.'], - ERANAMES: ['Voor Christus', 'na Christus'], - NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['januari', 'februari', 'maart', 'april', 'mei', 'juni', 'juli', - 'augustus', 'september', 'oktober', 'november', 'december'], - STANDALONEMONTHS: ['januari', 'februari', 'maart', 'april', 'mei', 'juni', - 'juli', 'augustus', 'september', 'oktober', 'november', 'december'], - SHORTMONTHS: ['jan.', 'feb.', 'mrt.', 'apr.', 'mei', 'jun.', 'jul.', 'aug.', - 'sep.', 'okt.', 'nov.', 'dec.'], - STANDALONESHORTMONTHS: ['jan', 'feb', 'mrt', 'apr', 'mei', 'jun', 'jul', - 'aug', 'sep', 'okt', 'nov', 'dec'], - WEEKDAYS: ['zondag', 'maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', - 'zaterdag'], - STANDALONEWEEKDAYS: ['zondag', 'maandag', 'dinsdag', 'woensdag', 'donderdag', - 'vrijdag', 'zaterdag'], + ERAS: ['v.Chr.', 'n.Chr.'], + ERANAMES: ['voor Christus', 'na Christus'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['januari', 'februari', 'maart', 'april', 'mei', 'juni', 'juli', 'augustus', 'september', 'oktober', 'november', 'december'], + STANDALONEMONTHS: ['januari', 'februari', 'maart', 'april', 'mei', 'juni', 'juli', 'augustus', 'september', 'oktober', 'november', 'december'], + SHORTMONTHS: ['jan.', 'feb.', 'mrt.', 'apr.', 'mei', 'jun.', 'jul.', 'aug.', 'sep.', 'okt.', 'nov.', 'dec.'], + STANDALONESHORTMONTHS: ['jan.', 'feb.', 'mrt.', 'apr.', 'mei', 'jun.', 'jul.', 'aug.', 'sep.', 'okt.', 'nov.', 'dec.'], + WEEKDAYS: ['zondag', 'maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag'], + STANDALONEWEEKDAYS: ['zondag', 'maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag'], SHORTWEEKDAYS: ['zo', 'ma', 'di', 'wo', 'do', 'vr', 'za'], STANDALONESHORTWEEKDAYS: ['zo', 'ma', 'di', 'wo', 'do', 'vr', 'za'], NARROWWEEKDAYS: ['Z', 'M', 'D', 'W', 'D', 'V', 'Z'], STANDALONENARROWWEEKDAYS: ['Z', 'M', 'D', 'W', 'D', 'V', 'Z'], SHORTQUARTERS: ['K1', 'K2', 'K3', 'K4'], QUARTERS: ['1e kwartaal', '2e kwartaal', '3e kwartaal', '4e kwartaal'], - AMPMS: ['AM', 'PM'], + AMPMS: ['a.m.', 'p.m.'], DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd-MM-yy'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'om\' {0}', '{1} \'om\' {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -9952,71 +9709,155 @@ goog.i18n.DateTimeSymbols_nl_AW = { * Date/time formatting symbols for locale nl_BE. */ goog.i18n.DateTimeSymbols_nl_BE = { - ERAS: ['v. Chr.', 'n. Chr.'], - ERANAMES: ['Voor Christus', 'na Christus'], - NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['januari', 'februari', 'maart', 'april', 'mei', 'juni', 'juli', - 'augustus', 'september', 'oktober', 'november', 'december'], - STANDALONEMONTHS: ['januari', 'februari', 'maart', 'april', 'mei', 'juni', - 'juli', 'augustus', 'september', 'oktober', 'november', 'december'], - SHORTMONTHS: ['jan.', 'feb.', 'mrt.', 'apr.', 'mei', 'jun.', 'jul.', 'aug.', - 'sep.', 'okt.', 'nov.', 'dec.'], - STANDALONESHORTMONTHS: ['jan', 'feb', 'mrt', 'apr', 'mei', 'jun', 'jul', - 'aug', 'sep', 'okt', 'nov', 'dec'], - WEEKDAYS: ['zondag', 'maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', - 'zaterdag'], - STANDALONEWEEKDAYS: ['zondag', 'maandag', 'dinsdag', 'woensdag', 'donderdag', - 'vrijdag', 'zaterdag'], + ERAS: ['v.Chr.', 'n.Chr.'], + ERANAMES: ['voor Christus', 'na Christus'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['januari', 'februari', 'maart', 'april', 'mei', 'juni', 'juli', 'augustus', 'september', 'oktober', 'november', 'december'], + STANDALONEMONTHS: ['januari', 'februari', 'maart', 'april', 'mei', 'juni', 'juli', 'augustus', 'september', 'oktober', 'november', 'december'], + SHORTMONTHS: ['jan.', 'feb.', 'mrt.', 'apr.', 'mei', 'jun.', 'jul.', 'aug.', 'sep.', 'okt.', 'nov.', 'dec.'], + STANDALONESHORTMONTHS: ['jan.', 'feb.', 'mrt.', 'apr.', 'mei', 'jun.', 'jul.', 'aug.', 'sep.', 'okt.', 'nov.', 'dec.'], + WEEKDAYS: ['zondag', 'maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag'], + STANDALONEWEEKDAYS: ['zondag', 'maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag'], SHORTWEEKDAYS: ['zo', 'ma', 'di', 'wo', 'do', 'vr', 'za'], STANDALONESHORTWEEKDAYS: ['zo', 'ma', 'di', 'wo', 'do', 'vr', 'za'], NARROWWEEKDAYS: ['Z', 'M', 'D', 'W', 'D', 'V', 'Z'], STANDALONENARROWWEEKDAYS: ['Z', 'M', 'D', 'W', 'D', 'V', 'Z'], SHORTQUARTERS: ['K1', 'K2', 'K3', 'K4'], QUARTERS: ['1e kwartaal', '2e kwartaal', '3e kwartaal', '4e kwartaal'], - AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd-MMM-y', 'd/MM/yy'], + AMPMS: ['a.m.', 'p.m.'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'd/MM/yy'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'om\' {0}', '{1} \'om\' {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 3 }; +/** + * Date/time formatting symbols for locale nl_BQ. + */ +goog.i18n.DateTimeSymbols_nl_BQ = { + ERAS: ['v.Chr.', 'n.Chr.'], + ERANAMES: ['voor Christus', 'na Christus'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['januari', 'februari', 'maart', 'april', 'mei', 'juni', 'juli', 'augustus', 'september', 'oktober', 'november', 'december'], + STANDALONEMONTHS: ['januari', 'februari', 'maart', 'april', 'mei', 'juni', 'juli', 'augustus', 'september', 'oktober', 'november', 'december'], + SHORTMONTHS: ['jan.', 'feb.', 'mrt.', 'apr.', 'mei', 'jun.', 'jul.', 'aug.', 'sep.', 'okt.', 'nov.', 'dec.'], + STANDALONESHORTMONTHS: ['jan.', 'feb.', 'mrt.', 'apr.', 'mei', 'jun.', 'jul.', 'aug.', 'sep.', 'okt.', 'nov.', 'dec.'], + WEEKDAYS: ['zondag', 'maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag'], + STANDALONEWEEKDAYS: ['zondag', 'maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag'], + SHORTWEEKDAYS: ['zo', 'ma', 'di', 'wo', 'do', 'vr', 'za'], + STANDALONESHORTWEEKDAYS: ['zo', 'ma', 'di', 'wo', 'do', 'vr', 'za'], + NARROWWEEKDAYS: ['Z', 'M', 'D', 'W', 'D', 'V', 'Z'], + STANDALONENARROWWEEKDAYS: ['Z', 'M', 'D', 'W', 'D', 'V', 'Z'], + SHORTQUARTERS: ['K1', 'K2', 'K3', 'K4'], + QUARTERS: ['1e kwartaal', '2e kwartaal', '3e kwartaal', '4e kwartaal'], + AMPMS: ['a.m.', 'p.m.'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd-MM-yy'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'om\' {0}', '{1} \'om\' {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale nl_CW. + */ +goog.i18n.DateTimeSymbols_nl_CW = { + ERAS: ['v.Chr.', 'n.Chr.'], + ERANAMES: ['voor Christus', 'na Christus'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['januari', 'februari', 'maart', 'april', 'mei', 'juni', 'juli', 'augustus', 'september', 'oktober', 'november', 'december'], + STANDALONEMONTHS: ['januari', 'februari', 'maart', 'april', 'mei', 'juni', 'juli', 'augustus', 'september', 'oktober', 'november', 'december'], + SHORTMONTHS: ['jan.', 'feb.', 'mrt.', 'apr.', 'mei', 'jun.', 'jul.', 'aug.', 'sep.', 'okt.', 'nov.', 'dec.'], + STANDALONESHORTMONTHS: ['jan.', 'feb.', 'mrt.', 'apr.', 'mei', 'jun.', 'jul.', 'aug.', 'sep.', 'okt.', 'nov.', 'dec.'], + WEEKDAYS: ['zondag', 'maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag'], + STANDALONEWEEKDAYS: ['zondag', 'maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag'], + SHORTWEEKDAYS: ['zo', 'ma', 'di', 'wo', 'do', 'vr', 'za'], + STANDALONESHORTWEEKDAYS: ['zo', 'ma', 'di', 'wo', 'do', 'vr', 'za'], + NARROWWEEKDAYS: ['Z', 'M', 'D', 'W', 'D', 'V', 'Z'], + STANDALONENARROWWEEKDAYS: ['Z', 'M', 'D', 'W', 'D', 'V', 'Z'], + SHORTQUARTERS: ['K1', 'K2', 'K3', 'K4'], + QUARTERS: ['1e kwartaal', '2e kwartaal', '3e kwartaal', '4e kwartaal'], + AMPMS: ['a.m.', 'p.m.'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd-MM-yy'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'om\' {0}', '{1} \'om\' {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + /** * Date/time formatting symbols for locale nl_NL. */ -goog.i18n.DateTimeSymbols_nl_NL = { - ERAS: ['v. Chr.', 'n. Chr.'], - ERANAMES: ['Voor Christus', 'na Christus'], - NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['januari', 'februari', 'maart', 'april', 'mei', 'juni', 'juli', - 'augustus', 'september', 'oktober', 'november', 'december'], - STANDALONEMONTHS: ['januari', 'februari', 'maart', 'april', 'mei', 'juni', - 'juli', 'augustus', 'september', 'oktober', 'november', 'december'], - SHORTMONTHS: ['jan.', 'feb.', 'mrt.', 'apr.', 'mei', 'jun.', 'jul.', 'aug.', - 'sep.', 'okt.', 'nov.', 'dec.'], - STANDALONESHORTMONTHS: ['jan', 'feb', 'mrt', 'apr', 'mei', 'jun', 'jul', - 'aug', 'sep', 'okt', 'nov', 'dec'], - WEEKDAYS: ['zondag', 'maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', - 'zaterdag'], - STANDALONEWEEKDAYS: ['zondag', 'maandag', 'dinsdag', 'woensdag', 'donderdag', - 'vrijdag', 'zaterdag'], +goog.i18n.DateTimeSymbols_nl_NL = goog.i18n.DateTimeSymbols_nl; + + +/** + * Date/time formatting symbols for locale nl_SR. + */ +goog.i18n.DateTimeSymbols_nl_SR = { + ERAS: ['v.Chr.', 'n.Chr.'], + ERANAMES: ['voor Christus', 'na Christus'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['januari', 'februari', 'maart', 'april', 'mei', 'juni', 'juli', 'augustus', 'september', 'oktober', 'november', 'december'], + STANDALONEMONTHS: ['januari', 'februari', 'maart', 'april', 'mei', 'juni', 'juli', 'augustus', 'september', 'oktober', 'november', 'december'], + SHORTMONTHS: ['jan.', 'feb.', 'mrt.', 'apr.', 'mei', 'jun.', 'jul.', 'aug.', 'sep.', 'okt.', 'nov.', 'dec.'], + STANDALONESHORTMONTHS: ['jan.', 'feb.', 'mrt.', 'apr.', 'mei', 'jun.', 'jul.', 'aug.', 'sep.', 'okt.', 'nov.', 'dec.'], + WEEKDAYS: ['zondag', 'maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag'], + STANDALONEWEEKDAYS: ['zondag', 'maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag'], SHORTWEEKDAYS: ['zo', 'ma', 'di', 'wo', 'do', 'vr', 'za'], STANDALONESHORTWEEKDAYS: ['zo', 'ma', 'di', 'wo', 'do', 'vr', 'za'], NARROWWEEKDAYS: ['Z', 'M', 'D', 'W', 'D', 'V', 'Z'], STANDALONENARROWWEEKDAYS: ['Z', 'M', 'D', 'W', 'D', 'V', 'Z'], SHORTQUARTERS: ['K1', 'K2', 'K3', 'K4'], QUARTERS: ['1e kwartaal', '2e kwartaal', '3e kwartaal', '4e kwartaal'], - AMPMS: ['AM', 'PM'], + AMPMS: ['a.m.', 'p.m.'], DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd-MM-yy'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'om\' {0}', '{1} \'om\' {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 3 + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale nl_SX. + */ +goog.i18n.DateTimeSymbols_nl_SX = { + ERAS: ['v.Chr.', 'n.Chr.'], + ERANAMES: ['voor Christus', 'na Christus'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['januari', 'februari', 'maart', 'april', 'mei', 'juni', 'juli', 'augustus', 'september', 'oktober', 'november', 'december'], + STANDALONEMONTHS: ['januari', 'februari', 'maart', 'april', 'mei', 'juni', 'juli', 'augustus', 'september', 'oktober', 'november', 'december'], + SHORTMONTHS: ['jan.', 'feb.', 'mrt.', 'apr.', 'mei', 'jun.', 'jul.', 'aug.', 'sep.', 'okt.', 'nov.', 'dec.'], + STANDALONESHORTMONTHS: ['jan.', 'feb.', 'mrt.', 'apr.', 'mei', 'jun.', 'jul.', 'aug.', 'sep.', 'okt.', 'nov.', 'dec.'], + WEEKDAYS: ['zondag', 'maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag'], + STANDALONEWEEKDAYS: ['zondag', 'maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag'], + SHORTWEEKDAYS: ['zo', 'ma', 'di', 'wo', 'do', 'vr', 'za'], + STANDALONESHORTWEEKDAYS: ['zo', 'ma', 'di', 'wo', 'do', 'vr', 'za'], + NARROWWEEKDAYS: ['Z', 'M', 'D', 'W', 'D', 'V', 'Z'], + STANDALONENARROWWEEKDAYS: ['Z', 'M', 'D', 'W', 'D', 'V', 'Z'], + SHORTQUARTERS: ['K1', 'K2', 'K3', 'K4'], + QUARTERS: ['1e kwartaal', '2e kwartaal', '3e kwartaal', '4e kwartaal'], + AMPMS: ['a.m.', 'p.m.'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd-MM-yy'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'om\' {0}', '{1} \'om\' {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 }; @@ -10027,35 +9868,23 @@ goog.i18n.DateTimeSymbols_nmg = { ERAS: ['BL', 'PB'], ERANAMES: ['Bó Lahlɛ̄', 'Pfiɛ Burī'], NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], - STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', - '11', '12'], - MONTHS: ['ngwɛn matáhra', 'ngwɛn ńmba', 'ngwɛn ńlal', 'ngwɛn ńna', - 'ngwɛn ńtan', 'ngwɛn ńtuó', 'ngwɛn hɛmbuɛrí', 'ngwɛn lɔmbi', - 'ngwɛn rɛbvuâ', 'ngwɛn wum', 'ngwɛn wum navŭr', 'krísimin'], - STANDALONEMONTHS: ['ngwɛn matáhra', 'ngwɛn ńmba', 'ngwɛn ńlal', - 'ngwɛn ńna', 'ngwɛn ńtan', 'ngwɛn ńtuó', 'ngwɛn hɛmbuɛrí', - 'ngwɛn lɔmbi', 'ngwɛn rɛbvuâ', 'ngwɛn wum', 'ngwɛn wum navŭr', - 'krísimin'], - SHORTMONTHS: ['ng1', 'ng2', 'ng3', 'ng4', 'ng5', 'ng6', 'ng7', 'ng8', 'ng9', - 'ng10', 'ng11', 'kris'], - STANDALONESHORTMONTHS: ['ng1', 'ng2', 'ng3', 'ng4', 'ng5', 'ng6', 'ng7', - 'ng8', 'ng9', 'ng10', 'ng11', 'kris'], - WEEKDAYS: ['sɔ́ndɔ', 'mɔ́ndɔ', 'sɔ́ndɔ mafú mába', - 'sɔ́ndɔ mafú málal', 'sɔ́ndɔ mafú mána', 'mabágá má sukul', - 'sásadi'], - STANDALONEWEEKDAYS: ['sɔ́ndɔ', 'mɔ́ndɔ', 'sɔ́ndɔ mafú mába', - 'sɔ́ndɔ mafú málal', 'sɔ́ndɔ mafú mána', 'mabágá má sukul', - 'sásadi'], + STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + MONTHS: ['ngwɛn matáhra', 'ngwɛn ńmba', 'ngwɛn ńlal', 'ngwɛn ńna', 'ngwɛn ńtan', 'ngwɛn ńtuó', 'ngwɛn hɛmbuɛrí', 'ngwɛn lɔmbi', 'ngwɛn rɛbvuâ', 'ngwɛn wum', 'ngwɛn wum navǔr', 'krísimin'], + STANDALONEMONTHS: ['ngwɛn matáhra', 'ngwɛn ńmba', 'ngwɛn ńlal', 'ngwɛn ńna', 'ngwɛn ńtan', 'ngwɛn ńtuó', 'ngwɛn hɛmbuɛrí', 'ngwɛn lɔmbi', 'ngwɛn rɛbvuâ', 'ngwɛn wum', 'ngwɛn wum navǔr', 'krísimin'], + SHORTMONTHS: ['ng1', 'ng2', 'ng3', 'ng4', 'ng5', 'ng6', 'ng7', 'ng8', 'ng9', 'ng10', 'ng11', 'kris'], + STANDALONESHORTMONTHS: ['ng1', 'ng2', 'ng3', 'ng4', 'ng5', 'ng6', 'ng7', 'ng8', 'ng9', 'ng10', 'ng11', 'kris'], + WEEKDAYS: ['sɔ́ndɔ', 'mɔ́ndɔ', 'sɔ́ndɔ mafú mába', 'sɔ́ndɔ mafú málal', 'sɔ́ndɔ mafú mána', 'mabágá má sukul', 'sásadi'], + STANDALONEWEEKDAYS: ['sɔ́ndɔ', 'mɔ́ndɔ', 'sɔ́ndɔ mafú mába', 'sɔ́ndɔ mafú málal', 'sɔ́ndɔ mafú mána', 'mabágá má sukul', 'sásadi'], SHORTWEEKDAYS: ['sɔ́n', 'mɔ́n', 'smb', 'sml', 'smn', 'mbs', 'sas'], - STANDALONESHORTWEEKDAYS: ['sɔ́n', 'mɔ́n', 'smb', 'sml', 'smn', 'mbs', - 'sas'], + STANDALONESHORTWEEKDAYS: ['sɔ́n', 'mɔ́n', 'smb', 'sml', 'smn', 'mbs', 'sas'], NARROWWEEKDAYS: ['s', 'm', 's', 's', 's', 'm', 's'], STANDALONENARROWWEEKDAYS: ['s', 'm', 's', 's', 's', 'm', 's'], SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], QUARTERS: ['Tindɛ nvúr', 'Tindɛ ńmba', 'Tindɛ ńlal', 'Tindɛ ńna'], AMPMS: ['maná', 'kugú'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'd/M/yyyy'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'd/M/y'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -10075,20 +9904,13 @@ goog.i18n.DateTimeSymbols_nn = { ERAS: ['f.Kr.', 'e.Kr.'], ERANAMES: ['f.Kr.', 'e.Kr.'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['januar', 'februar', 'mars', 'april', 'mai', 'juni', 'juli', - 'august', 'september', 'oktober', 'november', 'desember'], - STANDALONEMONTHS: ['januar', 'februar', 'mars', 'april', 'mai', 'juni', - 'juli', 'august', 'september', 'oktober', 'november', 'desember'], - SHORTMONTHS: ['jan.', 'feb.', 'mars', 'apr.', 'mai', 'juni', 'juli', 'aug.', - 'sep.', 'okt.', 'nov.', 'des.'], - STANDALONESHORTMONTHS: ['jan', 'feb', 'mar', 'apr', 'mai', 'jun', 'jul', - 'aug', 'sep', 'okt', 'nov', 'des'], - WEEKDAYS: ['søndag', 'måndag', 'tysdag', 'onsdag', 'torsdag', 'fredag', - 'laurdag'], - STANDALONEWEEKDAYS: ['søndag', 'måndag', 'tysdag', 'onsdag', 'torsdag', - 'fredag', 'laurdag'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['januar', 'februar', 'mars', 'april', 'mai', 'juni', 'juli', 'august', 'september', 'oktober', 'november', 'desember'], + STANDALONEMONTHS: ['januar', 'februar', 'mars', 'april', 'mai', 'juni', 'juli', 'august', 'september', 'oktober', 'november', 'desember'], + SHORTMONTHS: ['jan.', 'feb.', 'mars', 'apr.', 'mai', 'juni', 'juli', 'aug.', 'sep.', 'okt.', 'nov.', 'des.'], + STANDALONESHORTMONTHS: ['jan', 'feb', 'mar', 'apr', 'mai', 'jun', 'jul', 'aug', 'sep', 'okt', 'nov', 'des'], + WEEKDAYS: ['søndag', 'måndag', 'tysdag', 'onsdag', 'torsdag', 'fredag', 'laurdag'], + STANDALONEWEEKDAYS: ['søndag', 'måndag', 'tysdag', 'onsdag', 'torsdag', 'fredag', 'laurdag'], SHORTWEEKDAYS: ['sø.', 'må.', 'ty.', 'on.', 'to.', 'fr.', 'la.'], STANDALONESHORTWEEKDAYS: ['søn', 'mån', 'tys', 'ons', 'tor', 'fre', 'lau'], NARROWWEEKDAYS: ['S', 'M', 'T', 'O', 'T', 'F', 'L'], @@ -10096,8 +9918,9 @@ goog.i18n.DateTimeSymbols_nn = { SHORTQUARTERS: ['K1', 'K2', 'K3', 'K4'], QUARTERS: ['1. kvartal', '2. kvartal', '3. kvartal', '4. kvartal'], AMPMS: ['formiddag', 'ettermiddag'], - DATEFORMATS: ['EEEE d. MMMM y', 'd. MMMM y', 'd. MMM y', 'dd.MM.yy'], + DATEFORMATS: ['EEEE d. MMMM y', 'd. MMMM y', 'd. MMM y', 'dd.MM.y'], TIMEFORMATS: ['\'kl\'. HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} \'kl\'. {0}', '{1}, {0}', '{1}, {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 3 @@ -10111,89 +9934,39 @@ goog.i18n.DateTimeSymbols_nn_NO = goog.i18n.DateTimeSymbols_nn; /** - * Date/time formatting symbols for locale nr. - */ -goog.i18n.DateTimeSymbols_nr = { - ERAS: ['BC', 'AD'], - ERANAMES: ['BC', 'AD'], - NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], - STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', - '11', '12'], - MONTHS: ['Janabari', 'uFeberbari', 'uMatjhi', 'u-Apreli', 'Meyi', 'Juni', - 'Julayi', 'Arhostosi', 'Septemba', 'Oktoba', 'Usinyikhaba', 'Disemba'], - STANDALONEMONTHS: ['Janabari', 'uFeberbari', 'uMatjhi', 'u-Apreli', 'Meyi', - 'Juni', 'Julayi', 'Arhostosi', 'Septemba', 'Oktoba', 'Usinyikhaba', - 'Disemba'], - SHORTMONTHS: ['Jan', 'Feb', 'Mat', 'Apr', 'Mey', 'Jun', 'Jul', 'Arh', 'Sep', - 'Okt', 'Usi', 'Dis'], - STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mat', 'Apr', 'Mey', 'Jun', 'Jul', - 'Arh', 'Sep', 'Okt', 'Usi', 'Dis'], - WEEKDAYS: ['uSonto', 'uMvulo', 'uLesibili', 'Lesithathu', 'uLesine', - 'ngoLesihlanu', 'umGqibelo'], - STANDALONEWEEKDAYS: ['uSonto', 'uMvulo', 'uLesibili', 'Lesithathu', 'uLesine', - 'ngoLesihlanu', 'umGqibelo'], - SHORTWEEKDAYS: ['Son', 'Mvu', 'Bil', 'Tha', 'Ne', 'Hla', 'Gqi'], - STANDALONESHORTWEEKDAYS: ['Son', 'Mvu', 'Bil', 'Tha', 'Ne', 'Hla', 'Gqi'], - NARROWWEEKDAYS: ['1', '2', '3', '4', '5', '6', '7'], - STANDALONENARROWWEEKDAYS: ['1', '2', '3', '4', '5', '6', '7'], - SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - QUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE, y MMMM dd', 'y MMMM d', 'y MMM d', 'yyyy-MM-dd'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 6, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 5 -}; - - -/** - * Date/time formatting symbols for locale nr_ZA. - */ -goog.i18n.DateTimeSymbols_nr_ZA = goog.i18n.DateTimeSymbols_nr; - - -/** - * Date/time formatting symbols for locale nso. + * Date/time formatting symbols for locale nnh. */ -goog.i18n.DateTimeSymbols_nso = { - ERAS: ['BCE', 'CE'], - ERANAMES: ['BCE', 'CE'], +goog.i18n.DateTimeSymbols_nnh = { + ERAS: ['m.z.Y.', 'm.g.n.Y.'], + ERANAMES: ['mé zyé Yěsô', 'mé gÿo ńzyé Yěsô'], NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], - STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', - '11', '12'], - MONTHS: ['Janaware', 'Feberware', 'Matšhe', 'Aporele', 'Mei', 'June', - 'Julae', 'Agostose', 'Setemere', 'Oktobore', 'Nofemere', 'Disemere'], - STANDALONEMONTHS: ['Janaware', 'Feberware', 'Matšhe', 'Aporele', 'Mei', - 'June', 'Julae', 'Agostose', 'Setemere', 'Oktobore', 'Nofemere', - 'Disemere'], - SHORTMONTHS: ['Jan', 'Feb', 'Mat', 'Apo', 'Mei', 'Jun', 'Jul', 'Ago', 'Set', - 'Okt', 'Nof', 'Dis'], - STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mat', 'Apo', 'Mei', 'Jun', 'Jul', - 'Ago', 'Set', 'Okt', 'Nof', 'Dis'], - WEEKDAYS: ['Sontaga', 'Mosupalogo', 'Labobedi', 'Laboraro', 'Labone', - 'Labohlano', 'Mokibelo'], - STANDALONEWEEKDAYS: ['Sontaga', 'Mosupalogo', 'Labobedi', 'Laboraro', - 'Labone', 'Labohlano', 'Mokibelo'], - SHORTWEEKDAYS: ['Son', 'Mos', 'Bed', 'Rar', 'Ne', 'Hla', 'Mok'], - STANDALONESHORTWEEKDAYS: ['Son', 'Mos', 'Bed', 'Rar', 'Ne', 'Hla', 'Mok'], - NARROWWEEKDAYS: ['1', '2', '3', '4', '5', '6', '7'], - STANDALONENARROWWEEKDAYS: ['1', '2', '3', '4', '5', '6', '7'], + STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + MONTHS: ['saŋ tsetsɛ̀ɛ lùm', 'saŋ kàg ngwóŋ', 'saŋ lepyè shúm', 'saŋ cÿó', 'saŋ tsɛ̀ɛ cÿó', 'saŋ njÿoláʼ', 'saŋ tyɛ̀b tyɛ̀b mbʉ̀ŋ', 'saŋ mbʉ̀ŋ', 'saŋ ngwɔ̀ʼ mbÿɛ', 'saŋ tàŋa tsetsáʼ', 'saŋ mejwoŋó', 'saŋ lùm'], + STANDALONEMONTHS: ['saŋ tsetsɛ̀ɛ lùm', 'saŋ kàg ngwóŋ', 'saŋ lepyè shúm', 'saŋ cÿó', 'saŋ tsɛ̀ɛ cÿó', 'saŋ njÿoláʼ', 'saŋ tyɛ̀b tyɛ̀b mbʉ̀ŋ', 'saŋ mbʉ̀ŋ', 'saŋ ngwɔ̀ʼ mbÿɛ', 'saŋ tàŋa tsetsáʼ', 'saŋ mejwoŋó', 'saŋ lùm'], + SHORTMONTHS: ['saŋ tsetsɛ̀ɛ lùm', 'saŋ kàg ngwóŋ', 'saŋ lepyè shúm', 'saŋ cÿó', 'saŋ tsɛ̀ɛ cÿó', 'saŋ njÿoláʼ', 'saŋ tyɛ̀b tyɛ̀b mbʉ̀ŋ', 'saŋ mbʉ̀ŋ', 'saŋ ngwɔ̀ʼ mbÿɛ', 'saŋ tàŋa tsetsáʼ', 'saŋ mejwoŋó', 'saŋ lùm'], + STANDALONESHORTMONTHS: ['saŋ tsetsɛ̀ɛ lùm', 'saŋ kàg ngwóŋ', 'saŋ lepyè shúm', 'saŋ cÿó', 'saŋ tsɛ̀ɛ cÿó', 'saŋ njÿoláʼ', 'saŋ tyɛ̀b tyɛ̀b mbʉ̀ŋ', 'saŋ mbʉ̀ŋ', 'saŋ ngwɔ̀ʼ mbÿɛ', 'saŋ tàŋa tsetsáʼ', 'saŋ mejwoŋó', 'saŋ lùm'], + WEEKDAYS: ['lyɛʼɛ́ sẅíŋtè', 'mvfò lyɛ̌ʼ', 'mbɔ́ɔntè mvfò lyɛ̌ʼ', 'tsètsɛ̀ɛ lyɛ̌ʼ', 'mbɔ́ɔntè tsetsɛ̀ɛ lyɛ̌ʼ', 'mvfò màga lyɛ̌ʼ', 'màga lyɛ̌ʼ'], + STANDALONEWEEKDAYS: ['lyɛʼɛ́ sẅíŋtè', 'mvfò lyɛ̌ʼ', 'mbɔ́ɔntè mvfò lyɛ̌ʼ', 'tsètsɛ̀ɛ lyɛ̌ʼ', 'mbɔ́ɔntè tsetsɛ̀ɛ lyɛ̌ʼ', 'mvfò màga lyɛ̌ʼ', 'màga lyɛ̌ʼ'], + SHORTWEEKDAYS: ['lyɛʼɛ́ sẅíŋtè', 'mvfò lyɛ̌ʼ', 'mbɔ́ɔntè mvfò lyɛ̌ʼ', 'tsètsɛ̀ɛ lyɛ̌ʼ', 'mbɔ́ɔntè tsetsɛ̀ɛ lyɛ̌ʼ', 'mvfò màga lyɛ̌ʼ', 'màga lyɛ̌ʼ'], + STANDALONESHORTWEEKDAYS: ['lyɛʼɛ́ sẅíŋtè', 'mvfò lyɛ̌ʼ', 'mbɔ́ɔntè mvfò lyɛ̌ʼ', 'tsètsɛ̀ɛ lyɛ̌ʼ', 'mbɔ́ɔntè tsetsɛ̀ɛ lyɛ̌ʼ', 'mvfò màga lyɛ̌ʼ', 'màga lyɛ̌ʼ'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], QUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE, y MMMM dd', 'y MMMM d', 'y MMM d', 'yyyy-MM-dd'], + AMPMS: ['mbaʼámbaʼ', 'ncwònzém'], + DATEFORMATS: ['EEEE , \'lyɛ\'̌ʼ d \'na\' MMMM, y', '\'lyɛ\'̌ʼ d \'na\' MMMM, y', 'd MMM, y', 'dd/MM/yy'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 6, + DATETIMEFORMATS: ['{1},{0}', '{1}, {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 5 + FIRSTWEEKCUTOFFDAY: 6 }; /** - * Date/time formatting symbols for locale nso_ZA. + * Date/time formatting symbols for locale nnh_CM. */ -goog.i18n.DateTimeSymbols_nso_ZA = goog.i18n.DateTimeSymbols_nso; +goog.i18n.DateTimeSymbols_nnh_CM = goog.i18n.DateTimeSymbols_nnh; /** @@ -10203,34 +9976,23 @@ goog.i18n.DateTimeSymbols_nus = { ERAS: ['AY', 'ƐY'], ERANAMES: ['A ka̱n Yecu ni dap', 'Ɛ ca Yecu dap'], NARROWMONTHS: ['T', 'P', 'D', 'G', 'D', 'K', 'P', 'T', 'T', 'L', 'K', 'T'], - STANDALONENARROWMONTHS: ['T', 'P', 'D', 'G', 'D', 'K', 'P', 'T', 'T', 'L', - 'K', 'T'], - MONTHS: ['Tiop thar pɛt', 'Pɛt', 'Duɔ̱ɔ̱ŋ', 'Guak', 'Duät', - 'Kornyoot', 'Pay yie̱tni', 'Tho̱o̱r', 'Tɛɛr', 'Laath', 'Kur', - 'Tio̱p in di̱i̱t'], - STANDALONEMONTHS: ['Tiop thar pɛt', 'Pɛt', 'Duɔ̱ɔ̱ŋ', 'Guak', 'Duät', - 'Kornyoot', 'Pay yie̱tni', 'Tho̱o̱r', 'Tɛɛr', 'Laath', 'Kur', - 'Tio̱p in di̱i̱t'], - SHORTMONTHS: ['Tiop', 'Pɛt', 'Duɔ̱ɔ̱', 'Guak', 'Duä', 'Kor', 'Pay', - 'Thoo', 'Tɛɛ', 'Laa', 'Kur', 'Tid'], - STANDALONESHORTMONTHS: ['Tiop', 'Pɛt', 'Duɔ̱ɔ̱', 'Guak', 'Duä', 'Kor', - 'Pay', 'Thoo', 'Tɛɛ', 'Laa', 'Kur', 'Tid'], - WEEKDAYS: ['Cäŋ kuɔth', 'Jiec la̱t', 'Rɛw lätni', 'Diɔ̱k lätni', - 'Ŋuaan lätni', 'Dhieec lätni', 'Bäkɛl lätni'], - STANDALONEWEEKDAYS: ['Cäŋ kuɔth', 'Jiec la̱t', 'Rɛw lätni', - 'Diɔ̱k lätni', 'Ŋuaan lätni', 'Dhieec lätni', 'Bäkɛl lätni'], - SHORTWEEKDAYS: ['Cäŋ', 'Jiec', 'Rɛw', 'Diɔ̱k', 'Ŋuaan', 'Dhieec', - 'Bäkɛl'], - STANDALONESHORTWEEKDAYS: ['Cäŋ', 'Jiec', 'Rɛw', 'Diɔ̱k', 'Ŋuaan', - 'Dhieec', 'Bäkɛl'], + STANDALONENARROWMONTHS: ['T', 'P', 'D', 'G', 'D', 'K', 'P', 'T', 'T', 'L', 'K', 'T'], + MONTHS: ['Tiop thar pɛt', 'Pɛt', 'Duɔ̱ɔ̱ŋ', 'Guak', 'Duät', 'Kornyoot', 'Pay yie̱tni', 'Tho̱o̱r', 'Tɛɛr', 'Laath', 'Kur', 'Tio̱p in di̱i̱t'], + STANDALONEMONTHS: ['Tiop thar pɛt', 'Pɛt', 'Duɔ̱ɔ̱ŋ', 'Guak', 'Duät', 'Kornyoot', 'Pay yie̱tni', 'Tho̱o̱r', 'Tɛɛr', 'Laath', 'Kur', 'Tio̱p in di̱i̱t'], + SHORTMONTHS: ['Tiop', 'Pɛt', 'Duɔ̱ɔ̱', 'Guak', 'Duä', 'Kor', 'Pay', 'Thoo', 'Tɛɛ', 'Laa', 'Kur', 'Tid'], + STANDALONESHORTMONTHS: ['Tiop', 'Pɛt', 'Duɔ̱ɔ̱', 'Guak', 'Duä', 'Kor', 'Pay', 'Thoo', 'Tɛɛ', 'Laa', 'Kur', 'Tid'], + WEEKDAYS: ['Cäŋ kuɔth', 'Jiec la̱t', 'Rɛw lätni', 'Diɔ̱k lätni', 'Ŋuaan lätni', 'Dhieec lätni', 'Bäkɛl lätni'], + STANDALONEWEEKDAYS: ['Cäŋ kuɔth', 'Jiec la̱t', 'Rɛw lätni', 'Diɔ̱k lätni', 'Ŋuaan lätni', 'Dhieec lätni', 'Bäkɛl lätni'], + SHORTWEEKDAYS: ['Cäŋ', 'Jiec', 'Rɛw', 'Diɔ̱k', 'Ŋuaan', 'Dhieec', 'Bäkɛl'], + STANDALONESHORTWEEKDAYS: ['Cäŋ', 'Jiec', 'Rɛw', 'Diɔ̱k', 'Ŋuaan', 'Dhieec', 'Bäkɛl'], NARROWWEEKDAYS: ['C', 'J', 'R', 'D', 'Ŋ', 'D', 'B'], STANDALONENARROWWEEKDAYS: ['C', 'J', 'R', 'D', 'Ŋ', 'D', 'B'], SHORTQUARTERS: ['P1', 'P2', 'P3', 'P4'], - QUARTERS: ['Päth diɔk tin nhiam', 'Päth diɔk tin guurɛ', - 'Päth diɔk tin wä kɔɔriɛn', 'Päth diɔk tin jiɔakdiɛn'], + QUARTERS: ['Päth diɔk tin nhiam', 'Päth diɔk tin guurɛ', 'Päth diɔk tin wä kɔɔriɛn', 'Päth diɔk tin jiɔakdiɛn'], AMPMS: ['RW', 'TŊ'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'd/MM/yyyy'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'd/MM/y'], TIMEFORMATS: ['zzzz h:mm:ss a', 'z h:mm:ss a', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -10238,9 +10000,9 @@ goog.i18n.DateTimeSymbols_nus = { /** - * Date/time formatting symbols for locale nus_SD. + * Date/time formatting symbols for locale nus_SS. */ -goog.i18n.DateTimeSymbols_nus_SD = goog.i18n.DateTimeSymbols_nus; +goog.i18n.DateTimeSymbols_nus_SS = goog.i18n.DateTimeSymbols_nus; /** @@ -10250,22 +10012,13 @@ goog.i18n.DateTimeSymbols_nyn = { ERAS: ['BC', 'AD'], ERANAMES: ['Kurisito Atakaijire', 'Kurisito Yaijire'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['Okwokubanza', 'Okwakabiri', 'Okwakashatu', 'Okwakana', - 'Okwakataana', 'Okwamukaaga', 'Okwamushanju', 'Okwamunaana', 'Okwamwenda', - 'Okwaikumi', 'Okwaikumi na kumwe', 'Okwaikumi na ibiri'], - STANDALONEMONTHS: ['Okwokubanza', 'Okwakabiri', 'Okwakashatu', 'Okwakana', - 'Okwakataana', 'Okwamukaaga', 'Okwamushanju', 'Okwamunaana', 'Okwamwenda', - 'Okwaikumi', 'Okwaikumi na kumwe', 'Okwaikumi na ibiri'], - SHORTMONTHS: ['KBZ', 'KBR', 'KST', 'KKN', 'KTN', 'KMK', 'KMS', 'KMN', 'KMW', - 'KKM', 'KNK', 'KNB'], - STANDALONESHORTMONTHS: ['KBZ', 'KBR', 'KST', 'KKN', 'KTN', 'KMK', 'KMS', - 'KMN', 'KMW', 'KKM', 'KNK', 'KNB'], - WEEKDAYS: ['Sande', 'Orwokubanza', 'Orwakabiri', 'Orwakashatu', 'Orwakana', - 'Orwakataano', 'Orwamukaaga'], - STANDALONEWEEKDAYS: ['Sande', 'Orwokubanza', 'Orwakabiri', 'Orwakashatu', - 'Orwakana', 'Orwakataano', 'Orwamukaaga'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['Okwokubanza', 'Okwakabiri', 'Okwakashatu', 'Okwakana', 'Okwakataana', 'Okwamukaaga', 'Okwamushanju', 'Okwamunaana', 'Okwamwenda', 'Okwaikumi', 'Okwaikumi na kumwe', 'Okwaikumi na ibiri'], + STANDALONEMONTHS: ['Okwokubanza', 'Okwakabiri', 'Okwakashatu', 'Okwakana', 'Okwakataana', 'Okwamukaaga', 'Okwamushanju', 'Okwamunaana', 'Okwamwenda', 'Okwaikumi', 'Okwaikumi na kumwe', 'Okwaikumi na ibiri'], + SHORTMONTHS: ['KBZ', 'KBR', 'KST', 'KKN', 'KTN', 'KMK', 'KMS', 'KMN', 'KMW', 'KKM', 'KNK', 'KNB'], + STANDALONESHORTMONTHS: ['KBZ', 'KBR', 'KST', 'KKN', 'KTN', 'KMK', 'KMS', 'KMN', 'KMW', 'KKM', 'KNK', 'KNB'], + WEEKDAYS: ['Sande', 'Orwokubanza', 'Orwakabiri', 'Orwakashatu', 'Orwakana', 'Orwakataano', 'Orwamukaaga'], + STANDALONEWEEKDAYS: ['Sande', 'Orwokubanza', 'Orwakabiri', 'Orwakashatu', 'Orwakana', 'Orwakataano', 'Orwamukaaga'], SHORTWEEKDAYS: ['SAN', 'ORK', 'OKB', 'OKS', 'OKN', 'OKT', 'OMK'], STANDALONESHORTWEEKDAYS: ['SAN', 'ORK', 'OKB', 'OKS', 'OKN', 'OKT', 'OMK'], NARROWWEEKDAYS: ['S', 'K', 'R', 'S', 'N', 'T', 'M'], @@ -10273,8 +10026,9 @@ goog.i18n.DateTimeSymbols_nyn = { SHORTQUARTERS: ['K1', 'K2', 'K3', 'K4'], QUARTERS: ['KWOTA 1', 'KWOTA 2', 'KWOTA 3', 'KWOTA 4'], AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yyyy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -10291,37 +10045,29 @@ goog.i18n.DateTimeSymbols_nyn_UG = goog.i18n.DateTimeSymbols_nyn; * Date/time formatting symbols for locale om. */ goog.i18n.DateTimeSymbols_om = { - ERAS: ['KD', 'KB'], - ERANAMES: ['KD', 'KB'], - NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['Amajjii', 'Guraandhala', 'Bitooteessa', 'Elba', 'Caamsa', - 'Waxabajjii', 'Adooleessa', 'Hagayya', 'Fuulbana', 'Onkololeessa', - 'Sadaasa', 'Muddee'], - STANDALONEMONTHS: ['Amajjii', 'Guraandhala', 'Bitooteessa', 'Elba', 'Caamsa', - 'Waxabajjii', 'Adooleessa', 'Hagayya', 'Fuulbana', 'Onkololeessa', - 'Sadaasa', 'Muddee'], - SHORTMONTHS: ['Ama', 'Gur', 'Bit', 'Elb', 'Cam', 'Wax', 'Ado', 'Hag', 'Ful', - 'Onk', 'Sad', 'Mud'], - STANDALONESHORTMONTHS: ['Ama', 'Gur', 'Bit', 'Elb', 'Cam', 'Wax', 'Ado', - 'Hag', 'Ful', 'Onk', 'Sad', 'Mud'], - WEEKDAYS: ['Dilbata', 'Wiixata', 'Qibxata', 'Roobii', 'Kamiisa', 'Jimaata', - 'Sanbata'], - STANDALONEWEEKDAYS: ['Dilbata', 'Wiixata', 'Qibxata', 'Roobii', 'Kamiisa', - 'Jimaata', 'Sanbata'], + ERAS: ['BCE', 'CE'], + ERANAMES: ['Dheengadda Jeesu', 'CE'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['Amajjii', 'Guraandhala', 'Bitooteessa', 'Elba', 'Caamsa', 'Waxabajjii', 'Adooleessa', 'Hagayya', 'Fuulbana', 'Onkololeessa', 'Sadaasa', 'Muddee'], + STANDALONEMONTHS: ['Amajjii', 'Guraandhala', 'Bitooteessa', 'Elba', 'Caamsa', 'Waxabajjii', 'Adooleessa', 'Hagayya', 'Fuulbana', 'Onkololeessa', 'Sadaasa', 'Muddee'], + SHORTMONTHS: ['Ama', 'Gur', 'Bit', 'Elb', 'Cam', 'Wax', 'Ado', 'Hag', 'Ful', 'Onk', 'Sad', 'Mud'], + STANDALONESHORTMONTHS: ['Ama', 'Gur', 'Bit', 'Elb', 'Cam', 'Wax', 'Ado', 'Hag', 'Ful', 'Onk', 'Sad', 'Mud'], + WEEKDAYS: ['Dilbata', 'Wiixata', 'Qibxata', 'Roobii', 'Kamiisa', 'Jimaata', 'Sanbata'], + STANDALONEWEEKDAYS: ['Dilbata', 'Wiixata', 'Qibxata', 'Roobii', 'Kamiisa', 'Jimaata', 'Sanbata'], SHORTWEEKDAYS: ['Dil', 'Wix', 'Qib', 'Rob', 'Kam', 'Jim', 'San'], STANDALONESHORTWEEKDAYS: ['Dil', 'Wix', 'Qib', 'Rob', 'Kam', 'Jim', 'San'], NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - QUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['Kurmaana 1', 'Kurmaana 2', 'Kurmaana 3', 'Kurmaana 4'], AMPMS: ['WD', 'WB'], DATEFORMATS: ['EEEE, MMMM d, y', 'dd MMMM y', 'dd-MMM-y', 'dd/MM/yy'], TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], - FIRSTDAYOFWEEK: 0, + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 6, WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 6 + FIRSTWEEKCUTOFFDAY: 5 }; @@ -10334,161 +10080,282 @@ goog.i18n.DateTimeSymbols_om_ET = goog.i18n.DateTimeSymbols_om; /** * Date/time formatting symbols for locale om_KE. */ -goog.i18n.DateTimeSymbols_om_KE = goog.i18n.DateTimeSymbols_om; +goog.i18n.DateTimeSymbols_om_KE = { + ERAS: ['KD', 'CE'], + ERANAMES: ['Dheengadda Jeesu', 'CE'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['A', 'G', 'B', 'E', 'C', 'W', 'A', 'H', 'F', 'O', 'S', 'M'], + MONTHS: ['Amajjii', 'Guraandhala', 'Bitooteessa', 'Elba', 'Caamsa', 'Waxabajjii', 'Adooleessa', 'Hagayya', 'Fuulbana', 'Onkololeessa', 'Sadaasa', 'Muddee'], + STANDALONEMONTHS: ['Amajjii', 'Guraandhala', 'Bitooteessa', 'Elba', 'Caamsa', 'Waxabajjii', 'Adooleessa', 'Hagayya', 'Fuulbana', 'Onkololeessa', 'Sadaasa', 'Muddee'], + SHORTMONTHS: ['Ama', 'Gur', 'Bit', 'Elb', 'Cam', 'Wax', 'Ado', 'Hag', 'Ful', 'Onk', 'Sad', 'Mud'], + STANDALONESHORTMONTHS: ['Ama', 'Gur', 'Bit', 'Elb', 'Cam', 'Wax', 'Ado', 'Hag', 'Ful', 'Onk', 'Sad', 'Mud'], + WEEKDAYS: ['Dilbata', 'Wiixata', 'Qibxata', 'Roobii', 'Kamiisa', 'Jimaata', 'Sanbata'], + STANDALONEWEEKDAYS: ['Dilbata', 'Wiixata', 'Qibxata', 'Roobii', 'Kamiisa', 'Jimaata', 'Sanbata'], + SHORTWEEKDAYS: ['Dil', 'Wix', 'Qib', 'Rob', 'Kam', 'Jim', 'San'], + STANDALONESHORTWEEKDAYS: ['Dil', 'Wix', 'Qib', 'Rob', 'Kam', 'Jim', 'San'], + NARROWWEEKDAYS: ['D', 'W', 'Q', 'R', 'K', 'J', 'S'], + STANDALONENARROWWEEKDAYS: ['D', 'W', 'Q', 'R', 'K', 'J', 'S'], + SHORTQUARTERS: ['K1', 'K2', 'K3', 'K4'], + QUARTERS: ['Kurmaana 1', 'Kurmaana 2', 'Kurmaana 3', 'Kurmaana 4'], + AMPMS: ['WD', 'WB'], + DATEFORMATS: ['EEEE, MMMM d, y', 'dd MMMM y', 'dd-MMM-y', 'dd/MM/yy'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 6, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 5 +}; /** * Date/time formatting symbols for locale or_IN. */ -goog.i18n.DateTimeSymbols_or_IN = { - ERAS: ['BCE', 'CE'], - ERANAMES: ['BCE', 'CE'], - NARROWMONTHS: ['ଜା', 'ଫେ', 'ମା', 'ଅ', 'ମେ', 'ଜୁ', - 'ଜୁ', 'ଅ', 'ସେ', 'ଅ', 'ନ', 'ଡି'], - STANDALONENARROWMONTHS: ['ଜା', 'ଫେ', 'ମା', 'ଅ', 'ମେ', - 'ଜୁ', 'ଜୁ', 'ଅ', 'ସେ', 'ଅ', 'ନ', 'ଡି'], - MONTHS: ['ଜାନୁଆରୀ', 'ଫେବ୍ରୁୟାରୀ', - 'ମାର୍ଚ୍ଚ', 'ଅପ୍ରେଲ', 'ମେ', 'ଜୁନ', - 'ଜୁଲାଇ', 'ଅଗଷ୍ଟ', 'ସେପ୍ଟେମ୍ବର', - 'ଅକ୍ଟୋବର', 'ନଭେମ୍ବର', - 'ଡିସେମ୍ବର'], - STANDALONEMONTHS: ['ଜାନୁଆରୀ', 'ଫେବ୍ରୁୟାରୀ', - 'ମାର୍ଚ୍ଚ', 'ଅପ୍ରେଲ', 'ମେ', 'ଜୁନ', - 'ଜୁଲାଇ', 'ଅଗଷ୍ଟ', 'ସେପ୍ଟେମ୍ବର', - 'ଅକ୍ଟୋବର', 'ନଭେମ୍ବର', - 'ଡିସେମ୍ବର'], - SHORTMONTHS: ['ଜାନୁଆରୀ', 'ଫେବ୍ରୁୟାରୀ', - 'ମାର୍ଚ୍ଚ', 'ଅପ୍ରେଲ', 'ମେ', 'ଜୁନ', - 'ଜୁଲାଇ', 'ଅଗଷ୍ଟ', 'ସେପ୍ଟେମ୍ବର', - 'ଅକ୍ଟୋବର', 'ନଭେମ୍ବର', - 'ଡିସେମ୍ବର'], - STANDALONESHORTMONTHS: ['ଜାନୁଆରୀ', - 'ଫେବ୍ରୁୟାରୀ', 'ମାର୍ଚ୍ଚ', - 'ଅପ୍ରେଲ', 'ମେ', 'ଜୁନ', 'ଜୁଲାଇ', - 'ଅଗଷ୍ଟ', 'ସେପ୍ଟେମ୍ବର', - 'ଅକ୍ଟୋବର', 'ନଭେମ୍ବର', - 'ଡିସେମ୍ବର'], - WEEKDAYS: ['ରବିବାର', 'ସୋମବାର', - 'ମଙ୍ଗଳବାର', 'ବୁଧବାର', 'ଗୁରୁବାର', - 'ଶୁକ୍ରବାର', 'ଶନିବାର'], - STANDALONEWEEKDAYS: ['ରବିବାର', 'ସୋମବାର', - 'ମଙ୍ଗଳବାର', 'ବୁଧବାର', 'ଗୁରୁବାର', - 'ଶୁକ୍ରବାର', 'ଶନିବାର'], - SHORTWEEKDAYS: ['ରବି', 'ସୋମ', 'ମଙ୍ଗଳ', 'ବୁଧ', - 'ଗୁରୁ', 'ଶୁକ୍ର', 'ଶନି'], - STANDALONESHORTWEEKDAYS: ['ରବି', 'ସୋମ', 'ମଙ୍ଗଳ', - 'ବୁଧ', 'ଗୁରୁ', 'ଶୁକ୍ର', 'ଶନି'], - NARROWWEEKDAYS: ['ର', 'ସୋ', 'ମ', 'ବୁ', 'ଗୁ', 'ଶୁ', 'ଶ'], - STANDALONENARROWWEEKDAYS: ['ର', 'ସୋ', 'ମ', 'ବୁ', 'ଗୁ', - 'ଶୁ', 'ଶ'], - SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - QUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - AMPMS: ['am', 'pm'], - DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'd-M-yy'], +goog.i18n.DateTimeSymbols_or_IN = goog.i18n.DateTimeSymbols_or; + + +/** + * Date/time formatting symbols for locale os. + */ +goog.i18n.DateTimeSymbols_os = { + ERAS: ['н.д.а.', 'н.д.'], + ERANAMES: ['н.д.а.', 'н.д.'], + NARROWMONTHS: ['Я', 'Ф', 'М', 'А', 'М', 'И', 'И', 'А', 'С', 'О', 'Н', 'Д'], + STANDALONENARROWMONTHS: ['Я', 'Ф', 'М', 'А', 'М', 'И', 'И', 'А', 'С', 'О', 'Н', 'Д'], + MONTHS: ['январы', 'февралы', 'мартъийы', 'апрелы', 'майы', 'июны', 'июлы', 'августы', 'сентябры', 'октябры', 'ноябры', 'декабры'], + STANDALONEMONTHS: ['Январь', 'Февраль', 'Мартъи', 'Апрель', 'Май', 'Июнь', 'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь'], + SHORTMONTHS: ['янв.', 'фев.', 'мар.', 'апр.', 'майы', 'июны', 'июлы', 'авг.', 'сен.', 'окт.', 'ноя.', 'дек.'], + STANDALONESHORTMONTHS: ['Янв.', 'Февр.', 'Март.', 'Апр.', 'Май', 'Июнь', 'Июль', 'Авг.', 'Сент.', 'Окт.', 'Нояб.', 'Дек.'], + WEEKDAYS: ['хуыцаубон', 'къуырисӕр', 'дыццӕг', 'ӕртыццӕг', 'цыппӕрӕм', 'майрӕмбон', 'сабат'], + STANDALONEWEEKDAYS: ['Хуыцаубон', 'Къуырисӕр', 'Дыццӕг', 'Ӕртыццӕг', 'Цыппӕрӕм', 'Майрӕмбон', 'Сабат'], + SHORTWEEKDAYS: ['хцб', 'крс', 'дцг', 'ӕрт', 'цпр', 'мрб', 'сбт'], + STANDALONESHORTWEEKDAYS: ['Хцб', 'Крс', 'Дцг', 'Ӕрт', 'Цпр', 'Мрб', 'Сбт'], + NARROWWEEKDAYS: ['Х', 'К', 'Д', 'Ӕ', 'Ц', 'М', 'С'], + STANDALONENARROWWEEKDAYS: ['Х', 'К', 'Д', 'Ӕ', 'Ц', 'М', 'С'], + SHORTQUARTERS: ['1-аг кв.', '2-аг кв.', '3-аг кв.', '4-ӕм кв.'], + QUARTERS: ['1-аг квартал', '2-аг квартал', '3-аг квартал', '4-ӕм квартал'], + AMPMS: ['ӕмбисбоны размӕ', 'ӕмбисбоны фӕстӕ'], + DATEFORMATS: ['EEEE, d MMMM, y \'аз\'', 'd MMMM, y \'аз\'', 'dd MMM y \'аз\'', 'dd.MM.yy'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1}, {0}', '{1}, {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale os_GE. + */ +goog.i18n.DateTimeSymbols_os_GE = goog.i18n.DateTimeSymbols_os; + + +/** + * Date/time formatting symbols for locale os_RU. + */ +goog.i18n.DateTimeSymbols_os_RU = goog.i18n.DateTimeSymbols_os; + + +/** + * Date/time formatting symbols for locale pa_Arab. + */ +goog.i18n.DateTimeSymbols_pa_Arab = { + ZERODIGIT: 0x06F0, + ERAS: ['ايساپورو', 'سں'], + ERANAMES: ['ايساپورو', 'سں'], + NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + MONTHS: ['جنوری', 'فروری', 'مارچ', 'اپریل', 'مئ', 'جون', 'جولائی', 'اگست', 'ستمبر', 'اکتوبر', 'نومبر', 'دسمبر'], + STANDALONEMONTHS: ['جنوری', 'فروری', 'مارچ', 'اپریل', 'مئ', 'جون', 'جولائی', 'اگست', 'ستمبر', 'اکتوبر', 'نومبر', 'دسمبر'], + SHORTMONTHS: ['جنوری', 'فروری', 'مارچ', 'اپریل', 'مئ', 'جون', 'جولائی', 'اگست', 'ستمبر', 'اکتوبر', 'نومبر', 'دسمبر'], + STANDALONESHORTMONTHS: ['جنوری', 'فروری', 'مارچ', 'اپریل', 'مئ', 'جون', 'جولائی', 'اگست', 'ستمبر', 'اکتوبر', 'نومبر', 'دسمبر'], + WEEKDAYS: ['اتوار', 'پیر', 'منگل', 'بُدھ', 'جمعرات', 'جمعہ', 'ہفتہ'], + STANDALONEWEEKDAYS: ['اتوار', 'پیر', 'منگل', 'بُدھ', 'جمعرات', 'جمعہ', 'ہفتہ'], + SHORTWEEKDAYS: ['اتوار', 'پیر', 'منگل', 'بُدھ', 'جمعرات', 'جمعہ', 'ہفتہ'], + STANDALONESHORTWEEKDAYS: ['اتوار', 'پیر', 'منگل', 'بُدھ', 'جمعرات', 'جمعہ', 'ہفتہ'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['چوتھاي پہلاں', 'چوتھاي دوجا', 'چوتھاي تيجا', 'چوتھاي چوتھا'], + QUARTERS: ['چوتھاي پہلاں', 'چوتھاي دوجا', 'چوتھاي تيجا', 'چوتھاي چوتھا'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, dd MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 6, - WEEKENDRANGE: [6, 6], + WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 5 }; /** - * Date/time formatting symbols for locale pa. - */ -goog.i18n.DateTimeSymbols_pa = { - ERAS: ['ਈ. ਪੂ.', 'ਸਾਲ'], - ERANAMES: ['ਈ. ਪੂ.', 'ਸਾਲ'], - NARROWMONTHS: ['ਜ', 'ਫ', 'ਮਾ', 'ਅ', 'ਮ', 'ਜੂ', 'ਜੁ', - 'ਅ', 'ਸ', 'ਅ', 'ਨ', 'ਦ'], - STANDALONENARROWMONTHS: ['ਜ', 'ਫ', 'ਮਾ', 'ਅ', 'ਮ', 'ਜੂ', - 'ਜੁ', 'ਅ', 'ਸ', 'ਅ', 'ਨ', 'ਦ'], - MONTHS: ['ਜਨਵਰੀ', 'ਫ਼ਰਵਰੀ', 'ਮਾਰਚ', - 'ਅਪ੍ਰੈਲ', 'ਮਈ', 'ਜੂਨ', 'ਜੁਲਾਈ', - 'ਅਗਸਤ', 'ਸਤੰਬਰ', 'ਅਕਤੂਬਰ', - 'ਨਵੰਬਰ', 'ਦਸੰਬਰ'], - STANDALONEMONTHS: ['ਜਨਵਰੀ', 'ਫ਼ਰਵਰੀ', 'ਮਾਰਚ', - 'ਅਪ੍ਰੈਲ', 'ਮਈ', 'ਜੂਨ', 'ਜੁਲਾਈ', - 'ਅਗਸਤ', 'ਸਤੰਬਰ', 'ਅਕਤੂਬਰ', - 'ਨਵੰਬਰ', 'ਦਸੰਬਰ'], - SHORTMONTHS: ['ਜਨਵਰੀ', 'ਫ਼ਰਵਰੀ', 'ਮਾਰਚ', - 'ਅਪ੍ਰੈਲ', 'ਮਈ', 'ਜੂਨ', 'ਜੁਲਾਈ', - 'ਅਗਸਤ', 'ਸਤੰਬਰ', 'ਅਕਤੂਬਰ', - 'ਨਵੰਬਰ', 'ਦਸੰਬਰ'], - STANDALONESHORTMONTHS: ['ਜਨਵਰੀ', 'ਫ਼ਰਵਰੀ', - 'ਮਾਰਚ', 'ਅਪ੍ਰੈਲ', 'ਮਈ', 'ਜੂਨ', - 'ਜੁਲਾਈ', 'ਅਗਸਤ', 'ਸਤੰਬਰ', - 'ਅਕਤੂਬਰ', 'ਨਵੰਬਰ', 'ਦਸੰਬਰ'], - WEEKDAYS: ['ਐਤਵਾਰ', 'ਸੋਮਵਾਰ', 'ਮੰਗਲਵਾਰ', - 'ਬੁਧਵਾਰ', 'ਵੀਰਵਾਰ', 'ਸ਼ੁੱਕਰਵਾਰ', - 'ਸ਼ਨੀਚਰਵਾਰ'], - STANDALONEWEEKDAYS: ['ਐਤਵਾਰ', 'ਸੋਮਵਾਰ', - 'ਮੰਗਲਵਾਰ', 'ਬੁਧਵਾਰ', 'ਵੀਰਵਾਰ', - 'ਸ਼ੁੱਕਰਵਾਰ', 'ਸ਼ਨੀਚਰਵਾਰ'], - SHORTWEEKDAYS: ['ਐਤ.', 'ਸੋਮ.', 'ਮੰਗਲ.', 'ਬੁਧ.', - 'ਵੀਰ.', 'ਸ਼ੁਕਰ.', 'ਸ਼ਨੀ.'], - STANDALONESHORTWEEKDAYS: ['ਐਤ.', 'ਸੋਮ.', 'ਮੰਗਲ.', - 'ਬੁਧ.', 'ਵੀਰ.', 'ਸ਼ੁਕਰ.', 'ਸ਼ਨੀ.'], - NARROWWEEKDAYS: ['ਐ', 'ਸੋ', 'ਮੰ', 'ਬੁੱ', 'ਵੀ', - 'ਸ਼ੁੱ', 'ਸ਼'], - STANDALONENARROWWEEKDAYS: ['ਐ', 'ਸੋ', 'ਮੰ', 'ਬੁੱ', 'ਵੀ', - 'ਸ਼ੁੱ', 'ਸ਼'], - SHORTQUARTERS: ['ਇਕ ਚੌਥਾਈ', 'ਅੱਧਾ', 'ਪੌਣਾ', - 'ਪੂਰਾ'], - QUARTERS: ['ਇਕ ਚੌਥਾਈ', 'ਅੱਧਾ', 'ਪੌਣਾ', - 'ਪੂਰਾ'], - AMPMS: ['ਪੂਰਵ ਦੁਪਹਿਰ', 'ਬਾਅਦ ਦੁਪਹਿਰ'], - DATEFORMATS: ['EEEE, dd MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yyyy'], + * Date/time formatting symbols for locale pa_Arab_PK. + */ +goog.i18n.DateTimeSymbols_pa_Arab_PK = { + ZERODIGIT: 0x06F0, + ERAS: ['ايساپورو', 'سں'], + ERANAMES: ['ايساپورو', 'سں'], + NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + MONTHS: ['جنوری', 'فروری', 'مارچ', 'اپریل', 'مئ', 'جون', 'جولائی', 'اگست', 'ستمبر', 'اکتوبر', 'نومبر', 'دسمبر'], + STANDALONEMONTHS: ['جنوری', 'فروری', 'مارچ', 'اپریل', 'مئ', 'جون', 'جولائی', 'اگست', 'ستمبر', 'اکتوبر', 'نومبر', 'دسمبر'], + SHORTMONTHS: ['جنوری', 'فروری', 'مارچ', 'اپریل', 'مئ', 'جون', 'جولائی', 'اگست', 'ستمبر', 'اکتوبر', 'نومبر', 'دسمبر'], + STANDALONESHORTMONTHS: ['جنوری', 'فروری', 'مارچ', 'اپریل', 'مئ', 'جون', 'جولائی', 'اگست', 'ستمبر', 'اکتوبر', 'نومبر', 'دسمبر'], + WEEKDAYS: ['اتوار', 'پیر', 'منگل', 'بُدھ', 'جمعرات', 'جمعہ', 'ہفتہ'], + STANDALONEWEEKDAYS: ['اتوار', 'پیر', 'منگل', 'بُدھ', 'جمعرات', 'جمعہ', 'ہفتہ'], + SHORTWEEKDAYS: ['اتوار', 'پیر', 'منگل', 'بُدھ', 'جمعرات', 'جمعہ', 'ہفتہ'], + STANDALONESHORTWEEKDAYS: ['اتوار', 'پیر', 'منگل', 'بُدھ', 'جمعرات', 'جمعہ', 'ہفتہ'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['چوتھاي پہلاں', 'چوتھاي دوجا', 'چوتھاي تيجا', 'چوتھاي چوتھا'], + QUARTERS: ['چوتھاي پہلاں', 'چوتھاي دوجا', 'چوتھاي تيجا', 'چوتھاي چوتھا'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, dd MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 6, - WEEKENDRANGE: [6, 6], + WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 5 }; /** - * Date/time formatting symbols for locale pa_Arab. + * Date/time formatting symbols for locale pa_Guru. + */ +goog.i18n.DateTimeSymbols_pa_Guru = goog.i18n.DateTimeSymbols_pa; + + +/** + * Date/time formatting symbols for locale pa_Guru_IN. + */ +goog.i18n.DateTimeSymbols_pa_Guru_IN = goog.i18n.DateTimeSymbols_pa; + + +/** + * Date/time formatting symbols for locale pl_PL. + */ +goog.i18n.DateTimeSymbols_pl_PL = goog.i18n.DateTimeSymbols_pl; + + +/** + * Date/time formatting symbols for locale ps. + */ +goog.i18n.DateTimeSymbols_ps = { + ZERODIGIT: 0x06F0, + ERAS: ['له میلاد وړاندې', 'م.'], + ERANAMES: ['له میلاد څخه وړاندې', 'له میلاد څخه وروسته'], + NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + MONTHS: ['جنوري', 'فبروري', 'مارچ', 'اپریل', 'مۍ', 'جون', 'جولای', 'اګست', 'سپتمبر', 'اکتوبر', 'نومبر', 'دسمبر'], + STANDALONEMONTHS: ['جنوري', 'فبروري', 'مارچ', 'اپریل', 'مۍ', 'جون', 'جولای', 'اګست', 'سپتمبر', 'اکتوبر', 'نومبر', 'دسمبر'], + SHORTMONTHS: ['جنوري', 'فبروري', 'مارچ', 'اپریل', 'مۍ', 'جون', 'جولای', 'اګست', 'سپتمبر', 'اکتوبر', 'نومبر', 'دسمبر'], + STANDALONESHORTMONTHS: ['جنوري', 'فبروري', 'مارچ', 'اپریل', 'مۍ', 'جون', 'جولای', 'اګست', 'سپتمبر', 'اکتوبر', 'نومبر', 'دسمبر'], + WEEKDAYS: ['یکشنبه', 'دوشنبه', 'سه‌شنبه', 'چهارشنبه', 'پنجشنبه', 'جمعه', 'شنبه'], + STANDALONEWEEKDAYS: ['یکشنبه', 'دوشنبه', 'سه‌شنبه', 'چهارشنبه', 'پنجشنبه', 'جمعه', 'شنبه'], + SHORTWEEKDAYS: ['یکشنبه', 'دوشنبه', 'سه‌شنبه', 'چهارشنبه', 'پنجشنبه', 'جمعه', 'شنبه'], + STANDALONESHORTWEEKDAYS: ['یکشنبه', 'دوشنبه', 'سه‌شنبه', 'چهارشنبه', 'پنجشنبه', 'جمعه', 'شنبه'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['لومړۍ ربعه', '۲مه ربعه', '۳مه ربعه', '۴مه ربعه'], + QUARTERS: ['لومړۍ ربعه', '۲مه ربعه', '۳مه ربعه', '۴مه ربعه'], + AMPMS: ['غ.م.', 'غ.و.'], + DATEFORMATS: ['EEEE د y د MMMM d', 'د y د MMMM d', 'y MMM d', 'y/M/d'], + TIMEFORMATS: ['H:mm:ss (zzzz)', 'H:mm:ss (z)', 'H:mm:ss', 'H:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 5, + WEEKENDRANGE: [3, 4], + FIRSTWEEKCUTOFFDAY: 4 +}; + + +/** + * Date/time formatting symbols for locale ps_AF. + */ +goog.i18n.DateTimeSymbols_ps_AF = goog.i18n.DateTimeSymbols_ps; + + +/** + * Date/time formatting symbols for locale pt_AO. + */ +goog.i18n.DateTimeSymbols_pt_AO = { + ERAS: ['a.C.', 'd.C.'], + ERANAMES: ['antes de Cristo', 'depois de Cristo'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['janeiro', 'fevereiro', 'março', 'abril', 'maio', 'junho', 'julho', 'agosto', 'setembro', 'outubro', 'novembro', 'dezembro'], + STANDALONEMONTHS: ['janeiro', 'fevereiro', 'março', 'abril', 'maio', 'junho', 'julho', 'agosto', 'setembro', 'outubro', 'novembro', 'dezembro'], + SHORTMONTHS: ['jan', 'fev', 'mar', 'abr', 'mai', 'jun', 'jul', 'ago', 'set', 'out', 'nov', 'dez'], + STANDALONESHORTMONTHS: ['jan', 'fev', 'mar', 'abr', 'mai', 'jun', 'jul', 'ago', 'set', 'out', 'nov', 'dez'], + WEEKDAYS: ['domingo', 'segunda-feira', 'terça-feira', 'quarta-feira', 'quinta-feira', 'sexta-feira', 'sábado'], + STANDALONEWEEKDAYS: ['domingo', 'segunda-feira', 'terça-feira', 'quarta-feira', 'quinta-feira', 'sexta-feira', 'sábado'], + SHORTWEEKDAYS: ['domingo', 'segunda', 'terça', 'quarta', 'quinta', 'sexta', 'sábado'], + STANDALONESHORTWEEKDAYS: ['domingo', 'segunda', 'terça', 'quarta', 'quinta', 'sexta', 'sábado'], + NARROWWEEKDAYS: ['D', 'S', 'T', 'Q', 'Q', 'S', 'S'], + STANDALONENARROWWEEKDAYS: ['D', 'S', 'T', 'Q', 'Q', 'S', 'S'], + SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], + QUARTERS: ['1.º trimestre', '2.º trimestre', '3.º trimestre', '4.º trimestre'], + AMPMS: ['da manhã', 'da tarde'], + DATEFORMATS: ['EEEE, d \'de\' MMMM \'de\' y', 'd \'de\' MMMM \'de\' y', 'dd/MM/y', 'dd/MM/yy'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'às\' {0}', '{1} \'às\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale pt_CH. + */ +goog.i18n.DateTimeSymbols_pt_CH = { + ERAS: ['a.C.', 'd.C.'], + ERANAMES: ['antes de Cristo', 'depois de Cristo'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['janeiro', 'fevereiro', 'março', 'abril', 'maio', 'junho', 'julho', 'agosto', 'setembro', 'outubro', 'novembro', 'dezembro'], + STANDALONEMONTHS: ['janeiro', 'fevereiro', 'março', 'abril', 'maio', 'junho', 'julho', 'agosto', 'setembro', 'outubro', 'novembro', 'dezembro'], + SHORTMONTHS: ['jan', 'fev', 'mar', 'abr', 'mai', 'jun', 'jul', 'ago', 'set', 'out', 'nov', 'dez'], + STANDALONESHORTMONTHS: ['jan', 'fev', 'mar', 'abr', 'mai', 'jun', 'jul', 'ago', 'set', 'out', 'nov', 'dez'], + WEEKDAYS: ['domingo', 'segunda-feira', 'terça-feira', 'quarta-feira', 'quinta-feira', 'sexta-feira', 'sábado'], + STANDALONEWEEKDAYS: ['domingo', 'segunda-feira', 'terça-feira', 'quarta-feira', 'quinta-feira', 'sexta-feira', 'sábado'], + SHORTWEEKDAYS: ['domingo', 'segunda', 'terça', 'quarta', 'quinta', 'sexta', 'sábado'], + STANDALONESHORTWEEKDAYS: ['domingo', 'segunda', 'terça', 'quarta', 'quinta', 'sexta', 'sábado'], + NARROWWEEKDAYS: ['D', 'S', 'T', 'Q', 'Q', 'S', 'S'], + STANDALONENARROWWEEKDAYS: ['D', 'S', 'T', 'Q', 'Q', 'S', 'S'], + SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], + QUARTERS: ['1.º trimestre', '2.º trimestre', '3.º trimestre', '4.º trimestre'], + AMPMS: ['da manhã', 'da tarde'], + DATEFORMATS: ['EEEE, d \'de\' MMMM \'de\' y', 'd \'de\' MMMM \'de\' y', 'dd/MM/y', 'dd/MM/yy'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'às\' {0}', '{1} \'às\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 3 +}; + + +/** + * Date/time formatting symbols for locale pt_CV. */ -goog.i18n.DateTimeSymbols_pa_Arab = { - ZERODIGIT: 0x06F0, - ERAS: ['ਈ. ਪੂ.', 'ਸਾਲ'], - ERANAMES: ['ايساپورو', 'سں'], - NARROWMONTHS: ['ਜ', 'ਫ', 'ਮਾ', 'ਅ', 'ਮ', 'ਜੂ', 'ਜੁ', - 'ਅ', 'ਸ', 'ਅ', 'ਨ', 'ਦ'], - STANDALONENARROWMONTHS: ['ਜ', 'ਫ', 'ਮਾ', 'ਅ', 'ਮ', 'ਜੂ', - 'ਜੁ', 'ਅ', 'ਸ', 'ਅ', 'ਨ', 'ਦ'], - MONTHS: ['جنوری', 'فروری', 'مارچ', 'اپریل', 'مئ', - 'جون', 'جولائی', 'اگست', 'ستمبر', 'اکتوبر', - 'نومبر', 'دسمبر'], - STANDALONEMONTHS: ['ਜਨਵਰੀ', 'ਫ਼ਰਵਰੀ', 'ਮਾਰਚ', - 'ਅਪ੍ਰੈਲ', 'ਮਈ', 'ਜੂਨ', 'ਜੁਲਾਈ', - 'ਅਗਸਤ', 'ਸਤੰਬਰ', 'ਅਕਤੂਬਰ', - 'ਨਵੰਬਰ', 'ਦਸੰਬਰ'], - SHORTMONTHS: ['جنوری', 'فروری', 'مارچ', 'اپریل', 'ਮਈ', - 'جون', 'جولائی', 'اگست', 'ستمبر', 'اکتوبر', - 'نومبر', 'دسمبر'], - STANDALONESHORTMONTHS: ['جنوری', 'فروری', 'مارچ', 'اپریل', - 'ਮਈ', 'جون', 'جولائی', 'اگست', 'ستمبر', - 'اکتوبر', 'نومبر', 'دسمبر'], - WEEKDAYS: ['اتوار', 'پیر', 'منگل', 'بُدھ', 'جمعرات', - 'جمعہ', 'ہفتہ'], - STANDALONEWEEKDAYS: ['ਐਤਵਾਰ', 'ਸੋਮਵਾਰ', - 'ਮੰਗਲਵਾਰ', 'ਬੁਧਵਾਰ', 'ਵੀਰਵਾਰ', - 'ਸ਼ੁੱਕਰਵਾਰ', 'ਸ਼ਨੀਚਰਵਾਰ'], - SHORTWEEKDAYS: ['ਐਤ.', 'ਸੋਮ.', 'ਮੰਗਲ.', 'ਬੁਧ.', - 'ਵੀਰ.', 'ਸ਼ੁਕਰ.', 'ਸ਼ਨੀ.'], - STANDALONESHORTWEEKDAYS: ['ਐਤ.', 'ਸੋਮ.', 'ਮੰਗਲ.', - 'ਬੁਧ.', 'ਵੀਰ.', 'ਸ਼ੁਕਰ.', 'ਸ਼ਨੀ.'], - NARROWWEEKDAYS: ['ਐ', 'ਸੋ', 'ਮੰ', 'ਬੁੱ', 'ਵੀ', - 'ਸ਼ੁੱ', 'ਸ਼'], - STANDALONENARROWWEEKDAYS: ['ਐ', 'ਸੋ', 'ਮੰ', 'ਬੁੱ', 'ਵੀ', - 'ਸ਼ੁੱ', 'ਸ਼'], - SHORTQUARTERS: ['چوتھاي پہلاں', 'چوتھاي دوجا', - 'چوتھاي تيجا', 'چوتھاي چوتھا'], - QUARTERS: ['چوتھاي پہلاں', 'چوتھاي دوجا', - 'چوتھاي تيجا', 'چوتھاي چوتھا'], - AMPMS: ['ਪੂਰਵ ਦੁਪਹਿਰ', 'ਬਾਅਦ ਦੁਪਹਿਰ'], - DATEFORMATS: ['EEEE, dd MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yyyy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], +goog.i18n.DateTimeSymbols_pt_CV = { + ERAS: ['a.C.', 'd.C.'], + ERANAMES: ['antes de Cristo', 'depois de Cristo'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['janeiro', 'fevereiro', 'março', 'abril', 'maio', 'junho', 'julho', 'agosto', 'setembro', 'outubro', 'novembro', 'dezembro'], + STANDALONEMONTHS: ['janeiro', 'fevereiro', 'março', 'abril', 'maio', 'junho', 'julho', 'agosto', 'setembro', 'outubro', 'novembro', 'dezembro'], + SHORTMONTHS: ['jan', 'fev', 'mar', 'abr', 'mai', 'jun', 'jul', 'ago', 'set', 'out', 'nov', 'dez'], + STANDALONESHORTMONTHS: ['jan', 'fev', 'mar', 'abr', 'mai', 'jun', 'jul', 'ago', 'set', 'out', 'nov', 'dez'], + WEEKDAYS: ['domingo', 'segunda-feira', 'terça-feira', 'quarta-feira', 'quinta-feira', 'sexta-feira', 'sábado'], + STANDALONEWEEKDAYS: ['domingo', 'segunda-feira', 'terça-feira', 'quarta-feira', 'quinta-feira', 'sexta-feira', 'sábado'], + SHORTWEEKDAYS: ['domingo', 'segunda', 'terça', 'quarta', 'quinta', 'sexta', 'sábado'], + STANDALONESHORTWEEKDAYS: ['domingo', 'segunda', 'terça', 'quarta', 'quinta', 'sexta', 'sábado'], + NARROWWEEKDAYS: ['D', 'S', 'T', 'Q', 'Q', 'S', 'S'], + STANDALONENARROWWEEKDAYS: ['D', 'S', 'T', 'Q', 'Q', 'S', 'S'], + SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], + QUARTERS: ['1.º trimestre', '2.º trimestre', '3.º trimestre', '4.º trimestre'], + AMPMS: ['da manhã', 'da tarde'], + DATEFORMATS: ['EEEE, d \'de\' MMMM \'de\' y', 'd \'de\' MMMM \'de\' y', 'dd/MM/y', 'dd/MM/yy'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'às\' {0}', '{1} \'às\' {0}', '{1}, {0}', '{1}, {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -10496,56 +10363,89 @@ goog.i18n.DateTimeSymbols_pa_Arab = { /** - * Date/time formatting symbols for locale pa_Arab_PK. - */ -goog.i18n.DateTimeSymbols_pa_Arab_PK = goog.i18n.DateTimeSymbols_pa_Arab; - - -/** - * Date/time formatting symbols for locale pa_Guru. + * Date/time formatting symbols for locale pt_GQ. */ -goog.i18n.DateTimeSymbols_pa_Guru = goog.i18n.DateTimeSymbols_pa; +goog.i18n.DateTimeSymbols_pt_GQ = { + ERAS: ['a.C.', 'd.C.'], + ERANAMES: ['antes de Cristo', 'depois de Cristo'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['janeiro', 'fevereiro', 'março', 'abril', 'maio', 'junho', 'julho', 'agosto', 'setembro', 'outubro', 'novembro', 'dezembro'], + STANDALONEMONTHS: ['janeiro', 'fevereiro', 'março', 'abril', 'maio', 'junho', 'julho', 'agosto', 'setembro', 'outubro', 'novembro', 'dezembro'], + SHORTMONTHS: ['jan', 'fev', 'mar', 'abr', 'mai', 'jun', 'jul', 'ago', 'set', 'out', 'nov', 'dez'], + STANDALONESHORTMONTHS: ['jan', 'fev', 'mar', 'abr', 'mai', 'jun', 'jul', 'ago', 'set', 'out', 'nov', 'dez'], + WEEKDAYS: ['domingo', 'segunda-feira', 'terça-feira', 'quarta-feira', 'quinta-feira', 'sexta-feira', 'sábado'], + STANDALONEWEEKDAYS: ['domingo', 'segunda-feira', 'terça-feira', 'quarta-feira', 'quinta-feira', 'sexta-feira', 'sábado'], + SHORTWEEKDAYS: ['domingo', 'segunda', 'terça', 'quarta', 'quinta', 'sexta', 'sábado'], + STANDALONESHORTWEEKDAYS: ['domingo', 'segunda', 'terça', 'quarta', 'quinta', 'sexta', 'sábado'], + NARROWWEEKDAYS: ['D', 'S', 'T', 'Q', 'Q', 'S', 'S'], + STANDALONENARROWWEEKDAYS: ['D', 'S', 'T', 'Q', 'Q', 'S', 'S'], + SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], + QUARTERS: ['1.º trimestre', '2.º trimestre', '3.º trimestre', '4.º trimestre'], + AMPMS: ['da manhã', 'da tarde'], + DATEFORMATS: ['EEEE, d \'de\' MMMM \'de\' y', 'd \'de\' MMMM \'de\' y', 'dd/MM/y', 'dd/MM/yy'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'às\' {0}', '{1} \'às\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; /** - * Date/time formatting symbols for locale pa_Guru_IN. + * Date/time formatting symbols for locale pt_GW. */ -goog.i18n.DateTimeSymbols_pa_Guru_IN = goog.i18n.DateTimeSymbols_pa; +goog.i18n.DateTimeSymbols_pt_GW = { + ERAS: ['a.C.', 'd.C.'], + ERANAMES: ['antes de Cristo', 'depois de Cristo'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['janeiro', 'fevereiro', 'março', 'abril', 'maio', 'junho', 'julho', 'agosto', 'setembro', 'outubro', 'novembro', 'dezembro'], + STANDALONEMONTHS: ['janeiro', 'fevereiro', 'março', 'abril', 'maio', 'junho', 'julho', 'agosto', 'setembro', 'outubro', 'novembro', 'dezembro'], + SHORTMONTHS: ['jan', 'fev', 'mar', 'abr', 'mai', 'jun', 'jul', 'ago', 'set', 'out', 'nov', 'dez'], + STANDALONESHORTMONTHS: ['jan', 'fev', 'mar', 'abr', 'mai', 'jun', 'jul', 'ago', 'set', 'out', 'nov', 'dez'], + WEEKDAYS: ['domingo', 'segunda-feira', 'terça-feira', 'quarta-feira', 'quinta-feira', 'sexta-feira', 'sábado'], + STANDALONEWEEKDAYS: ['domingo', 'segunda-feira', 'terça-feira', 'quarta-feira', 'quinta-feira', 'sexta-feira', 'sábado'], + SHORTWEEKDAYS: ['domingo', 'segunda', 'terça', 'quarta', 'quinta', 'sexta', 'sábado'], + STANDALONESHORTWEEKDAYS: ['domingo', 'segunda', 'terça', 'quarta', 'quinta', 'sexta', 'sábado'], + NARROWWEEKDAYS: ['D', 'S', 'T', 'Q', 'Q', 'S', 'S'], + STANDALONENARROWWEEKDAYS: ['D', 'S', 'T', 'Q', 'Q', 'S', 'S'], + SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], + QUARTERS: ['1.º trimestre', '2.º trimestre', '3.º trimestre', '4.º trimestre'], + AMPMS: ['da manhã', 'da tarde'], + DATEFORMATS: ['EEEE, d \'de\' MMMM \'de\' y', 'd \'de\' MMMM \'de\' y', 'dd/MM/y', 'dd/MM/yy'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'às\' {0}', '{1} \'às\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; /** - * Date/time formatting symbols for locale pl_PL. + * Date/time formatting symbols for locale pt_LU. */ -goog.i18n.DateTimeSymbols_pl_PL = { - ERAS: ['p.n.e.', 'n.e.'], - ERANAMES: ['p.n.e.', 'n.e.'], - NARROWMONTHS: ['s', 'l', 'm', 'k', 'm', 'c', 'l', 's', 'w', 'p', 'l', 'g'], - STANDALONENARROWMONTHS: ['s', 'l', 'm', 'k', 'm', 'c', 'l', 's', 'w', 'p', - 'l', 'g'], - MONTHS: ['stycznia', 'lutego', 'marca', 'kwietnia', 'maja', 'czerwca', - 'lipca', 'sierpnia', 'września', 'października', 'listopada', - 'grudnia'], - STANDALONEMONTHS: ['styczeń', 'luty', 'marzec', 'kwiecień', 'maj', - 'czerwiec', 'lipiec', 'sierpień', 'wrzesień', 'październik', - 'listopad', 'grudzień'], - SHORTMONTHS: ['sty', 'lut', 'mar', 'kwi', 'maj', 'cze', 'lip', 'sie', 'wrz', - 'paź', 'lis', 'gru'], - STANDALONESHORTMONTHS: ['sty', 'lut', 'mar', 'kwi', 'maj', 'cze', 'lip', - 'sie', 'wrz', 'paź', 'lis', 'gru'], - WEEKDAYS: ['niedziela', 'poniedziałek', 'wtorek', 'środa', 'czwartek', - 'piątek', 'sobota'], - STANDALONEWEEKDAYS: ['niedziela', 'poniedziałek', 'wtorek', 'środa', - 'czwartek', 'piątek', 'sobota'], - SHORTWEEKDAYS: ['niedz.', 'pon.', 'wt.', 'śr.', 'czw.', 'pt.', 'sob.'], - STANDALONESHORTWEEKDAYS: ['niedz.', 'pon.', 'wt.', 'śr.', 'czw.', 'pt.', - 'sob.'], - NARROWWEEKDAYS: ['N', 'P', 'W', 'Ś', 'C', 'P', 'S'], - STANDALONENARROWWEEKDAYS: ['N', 'P', 'W', 'Ś', 'C', 'P', 'S'], - SHORTQUARTERS: ['K1', 'K2', 'K3', 'K4'], - QUARTERS: ['I kwartał', 'II kwartał', 'III kwartał', 'IV kwartał'], - AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd.MM.yyyy'], +goog.i18n.DateTimeSymbols_pt_LU = { + ERAS: ['a.C.', 'd.C.'], + ERANAMES: ['antes de Cristo', 'depois de Cristo'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['janeiro', 'fevereiro', 'março', 'abril', 'maio', 'junho', 'julho', 'agosto', 'setembro', 'outubro', 'novembro', 'dezembro'], + STANDALONEMONTHS: ['janeiro', 'fevereiro', 'março', 'abril', 'maio', 'junho', 'julho', 'agosto', 'setembro', 'outubro', 'novembro', 'dezembro'], + SHORTMONTHS: ['jan', 'fev', 'mar', 'abr', 'mai', 'jun', 'jul', 'ago', 'set', 'out', 'nov', 'dez'], + STANDALONESHORTMONTHS: ['jan', 'fev', 'mar', 'abr', 'mai', 'jun', 'jul', 'ago', 'set', 'out', 'nov', 'dez'], + WEEKDAYS: ['domingo', 'segunda-feira', 'terça-feira', 'quarta-feira', 'quinta-feira', 'sexta-feira', 'sábado'], + STANDALONEWEEKDAYS: ['domingo', 'segunda-feira', 'terça-feira', 'quarta-feira', 'quinta-feira', 'sexta-feira', 'sábado'], + SHORTWEEKDAYS: ['domingo', 'segunda', 'terça', 'quarta', 'quinta', 'sexta', 'sábado'], + STANDALONESHORTWEEKDAYS: ['domingo', 'segunda', 'terça', 'quarta', 'quinta', 'sexta', 'sábado'], + NARROWWEEKDAYS: ['D', 'S', 'T', 'Q', 'Q', 'S', 'S'], + STANDALONENARROWWEEKDAYS: ['D', 'S', 'T', 'Q', 'Q', 'S', 'S'], + SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], + QUARTERS: ['1.º trimestre', '2.º trimestre', '3.º trimestre', '4.º trimestre'], + AMPMS: ['da manhã', 'da tarde'], + DATEFORMATS: ['EEEE, d \'de\' MMMM \'de\' y', 'd \'de\' MMMM \'de\' y', 'dd/MM/y', 'dd/MM/yy'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'às\' {0}', '{1} \'às\' {0}', '{1}, {0}', '{1}, {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 3 @@ -10553,87 +10453,89 @@ goog.i18n.DateTimeSymbols_pl_PL = { /** - * Date/time formatting symbols for locale ps. + * Date/time formatting symbols for locale pt_MO. */ -goog.i18n.DateTimeSymbols_ps = { - ZERODIGIT: 0x06F0, - ERAS: ['ق.م.', 'م.'], - ERANAMES: ['ق.م.', 'م.'], - NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], - STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', - '11', '12'], - MONTHS: ['جنوري', 'فبروري', 'مارچ', 'اپریل', 'می', - 'جون', 'جولای', 'اګست', 'سپتمبر', 'اکتوبر', - 'نومبر', 'دسمبر'], - STANDALONEMONTHS: ['جنوري', 'فبروري', 'مارچ', 'اپریل', - 'می', 'جون', 'جولای', 'اګست', 'سپتمبر', - 'اکتوبر', 'نومبر', 'دسمبر'], - SHORTMONTHS: ['جنوري', 'فبروري', 'مارچ', 'اپریل', 'می', - 'جون', 'جولای', 'اګست', 'سپتمبر', 'اکتوبر', - 'نومبر', 'دسمبر'], - STANDALONESHORTMONTHS: ['جنوري', 'فبروري', 'مارچ', - 'اپریل', 'می', 'جون', 'جولای', 'اګست', 'سپتمبر', - 'اکتوبر', 'نومبر', 'دسمبر'], - WEEKDAYS: ['یکشنبه', 'دوشنبه', 'سه‌شنبه', - 'چهارشنبه', 'پنجشنبه', 'جمعه', 'شنبه'], - STANDALONEWEEKDAYS: ['یکشنبه', 'دوشنبه', 'سه‌شنبه', - 'چهارشنبه', 'پنجشنبه', 'جمعه', 'شنبه'], - SHORTWEEKDAYS: ['یکشنبه', 'دوشنبه', 'سه‌شنبه', - 'چهارشنبه', 'پنجشنبه', 'جمعه', 'شنبه'], - STANDALONESHORTWEEKDAYS: ['یکشنبه', 'دوشنبه', 'سه‌شنبه', - 'چهارشنبه', 'پنجشنبه', 'جمعه', 'شنبه'], - NARROWWEEKDAYS: ['1', '2', '3', '4', '5', '6', '7'], - STANDALONENARROWWEEKDAYS: ['1', '2', '3', '4', '5', '6', '7'], - SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - QUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - AMPMS: ['غ.م.', 'غ.و.'], - DATEFORMATS: ['EEEE د y د MMMM d', 'د y د MMMM d', 'd MMM y', 'yyyy/M/d'], - TIMEFORMATS: ['H:mm:ss (zzzz)', 'H:mm:ss (z)', 'H:mm:ss', 'H:mm'], - FIRSTDAYOFWEEK: 5, - WEEKENDRANGE: [3, 4], - FIRSTWEEKCUTOFFDAY: 4 +goog.i18n.DateTimeSymbols_pt_MO = { + ERAS: ['a.C.', 'd.C.'], + ERANAMES: ['antes de Cristo', 'depois de Cristo'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['janeiro', 'fevereiro', 'março', 'abril', 'maio', 'junho', 'julho', 'agosto', 'setembro', 'outubro', 'novembro', 'dezembro'], + STANDALONEMONTHS: ['janeiro', 'fevereiro', 'março', 'abril', 'maio', 'junho', 'julho', 'agosto', 'setembro', 'outubro', 'novembro', 'dezembro'], + SHORTMONTHS: ['jan', 'fev', 'mar', 'abr', 'mai', 'jun', 'jul', 'ago', 'set', 'out', 'nov', 'dez'], + STANDALONESHORTMONTHS: ['jan', 'fev', 'mar', 'abr', 'mai', 'jun', 'jul', 'ago', 'set', 'out', 'nov', 'dez'], + WEEKDAYS: ['domingo', 'segunda-feira', 'terça-feira', 'quarta-feira', 'quinta-feira', 'sexta-feira', 'sábado'], + STANDALONEWEEKDAYS: ['domingo', 'segunda-feira', 'terça-feira', 'quarta-feira', 'quinta-feira', 'sexta-feira', 'sábado'], + SHORTWEEKDAYS: ['domingo', 'segunda', 'terça', 'quarta', 'quinta', 'sexta', 'sábado'], + STANDALONESHORTWEEKDAYS: ['domingo', 'segunda', 'terça', 'quarta', 'quinta', 'sexta', 'sábado'], + NARROWWEEKDAYS: ['D', 'S', 'T', 'Q', 'Q', 'S', 'S'], + STANDALONENARROWWEEKDAYS: ['D', 'S', 'T', 'Q', 'Q', 'S', 'S'], + SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], + QUARTERS: ['1.º trimestre', '2.º trimestre', '3.º trimestre', '4.º trimestre'], + AMPMS: ['da manhã', 'da tarde'], + DATEFORMATS: ['EEEE, d \'de\' MMMM \'de\' y', 'd \'de\' MMMM \'de\' y', 'dd/MM/y', 'dd/MM/yy'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} \'às\' {0}', '{1} \'às\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 6, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 5 }; /** - * Date/time formatting symbols for locale ps_AF. + * Date/time formatting symbols for locale pt_MZ. */ -goog.i18n.DateTimeSymbols_ps_AF = goog.i18n.DateTimeSymbols_ps; +goog.i18n.DateTimeSymbols_pt_MZ = { + ERAS: ['a.C.', 'd.C.'], + ERANAMES: ['antes de Cristo', 'depois de Cristo'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['janeiro', 'fevereiro', 'março', 'abril', 'maio', 'junho', 'julho', 'agosto', 'setembro', 'outubro', 'novembro', 'dezembro'], + STANDALONEMONTHS: ['janeiro', 'fevereiro', 'março', 'abril', 'maio', 'junho', 'julho', 'agosto', 'setembro', 'outubro', 'novembro', 'dezembro'], + SHORTMONTHS: ['jan', 'fev', 'mar', 'abr', 'mai', 'jun', 'jul', 'ago', 'set', 'out', 'nov', 'dez'], + STANDALONESHORTMONTHS: ['jan', 'fev', 'mar', 'abr', 'mai', 'jun', 'jul', 'ago', 'set', 'out', 'nov', 'dez'], + WEEKDAYS: ['domingo', 'segunda-feira', 'terça-feira', 'quarta-feira', 'quinta-feira', 'sexta-feira', 'sábado'], + STANDALONEWEEKDAYS: ['domingo', 'segunda-feira', 'terça-feira', 'quarta-feira', 'quinta-feira', 'sexta-feira', 'sábado'], + SHORTWEEKDAYS: ['domingo', 'segunda', 'terça', 'quarta', 'quinta', 'sexta', 'sábado'], + STANDALONESHORTWEEKDAYS: ['domingo', 'segunda', 'terça', 'quarta', 'quinta', 'sexta', 'sábado'], + NARROWWEEKDAYS: ['D', 'S', 'T', 'Q', 'Q', 'S', 'S'], + STANDALONENARROWWEEKDAYS: ['D', 'S', 'T', 'Q', 'Q', 'S', 'S'], + SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], + QUARTERS: ['1.º trimestre', '2.º trimestre', '3.º trimestre', '4.º trimestre'], + AMPMS: ['da manhã', 'da tarde'], + DATEFORMATS: ['EEEE, d \'de\' MMMM \'de\' y', 'd \'de\' MMMM \'de\' y', 'dd/MM/y', 'dd/MM/yy'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'às\' {0}', '{1} \'às\' {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 6, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 5 +}; /** - * Date/time formatting symbols for locale pt_AO. + * Date/time formatting symbols for locale pt_ST. */ -goog.i18n.DateTimeSymbols_pt_AO = { +goog.i18n.DateTimeSymbols_pt_ST = { ERAS: ['a.C.', 'd.C.'], - ERANAMES: ['Antes de Cristo', 'Ano do Senhor'], - NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['janeiro', 'fevereiro', 'março', 'abril', 'maio', 'junho', 'julho', - 'agosto', 'setembro', 'outubro', 'novembro', 'dezembro'], - STANDALONEMONTHS: ['janeiro', 'fevereiro', 'março', 'abril', 'maio', 'junho', - 'julho', 'agosto', 'setembro', 'outubro', 'novembro', 'dezembro'], - SHORTMONTHS: ['jan', 'fev', 'mar', 'abr', 'mai', 'jun', 'jul', 'ago', 'set', - 'out', 'nov', 'dez'], - STANDALONESHORTMONTHS: ['jan', 'fev', 'mar', 'abr', 'mai', 'jun', 'jul', - 'ago', 'set', 'out', 'nov', 'dez'], - WEEKDAYS: ['domingo', 'segunda-feira', 'terça-feira', 'quarta-feira', - 'quinta-feira', 'sexta-feira', 'sábado'], - STANDALONEWEEKDAYS: ['domingo', 'segunda-feira', 'terça-feira', - 'quarta-feira', 'quinta-feira', 'sexta-feira', 'sábado'], - SHORTWEEKDAYS: ['dom', 'seg', 'ter', 'qua', 'qui', 'sex', 'sáb'], - STANDALONESHORTWEEKDAYS: ['dom', 'seg', 'ter', 'qua', 'qui', 'sex', 'sáb'], + ERANAMES: ['antes de Cristo', 'depois de Cristo'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['janeiro', 'fevereiro', 'março', 'abril', 'maio', 'junho', 'julho', 'agosto', 'setembro', 'outubro', 'novembro', 'dezembro'], + STANDALONEMONTHS: ['janeiro', 'fevereiro', 'março', 'abril', 'maio', 'junho', 'julho', 'agosto', 'setembro', 'outubro', 'novembro', 'dezembro'], + SHORTMONTHS: ['jan', 'fev', 'mar', 'abr', 'mai', 'jun', 'jul', 'ago', 'set', 'out', 'nov', 'dez'], + STANDALONESHORTMONTHS: ['jan', 'fev', 'mar', 'abr', 'mai', 'jun', 'jul', 'ago', 'set', 'out', 'nov', 'dez'], + WEEKDAYS: ['domingo', 'segunda-feira', 'terça-feira', 'quarta-feira', 'quinta-feira', 'sexta-feira', 'sábado'], + STANDALONEWEEKDAYS: ['domingo', 'segunda-feira', 'terça-feira', 'quarta-feira', 'quinta-feira', 'sexta-feira', 'sábado'], + SHORTWEEKDAYS: ['domingo', 'segunda', 'terça', 'quarta', 'quinta', 'sexta', 'sábado'], + STANDALONESHORTWEEKDAYS: ['domingo', 'segunda', 'terça', 'quarta', 'quinta', 'sexta', 'sábado'], NARROWWEEKDAYS: ['D', 'S', 'T', 'Q', 'Q', 'S', 'S'], STANDALONENARROWWEEKDAYS: ['D', 'S', 'T', 'Q', 'Q', 'S', 'S'], SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], - QUARTERS: ['1º trimestre', '2º trimestre', '3º trimestre', - '4º trimestre'], - AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE, d \'de\' MMMM \'de\' y', 'd \'de\' MMMM \'de\' y', - 'dd/MM/yyyy', 'dd/MM/yy'], - TIMEFORMATS: ['HH\'h\'mm\'min\'ss\'s\' zzzz', 'HH\'h\'mm\'min\'ss\'s\' z', - 'HH:mm:ss', 'HH:mm'], + QUARTERS: ['1.º trimestre', '2.º trimestre', '3.º trimestre', '4.º trimestre'], + AMPMS: ['da manhã', 'da tarde'], + DATEFORMATS: ['EEEE, d \'de\' MMMM \'de\' y', 'd \'de\' MMMM \'de\' y', 'dd/MM/y', 'dd/MM/yy'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'às\' {0}', '{1} \'às\' {0}', '{1}, {0}', '{1}, {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -10641,38 +10543,29 @@ goog.i18n.DateTimeSymbols_pt_AO = { /** - * Date/time formatting symbols for locale pt_GW. + * Date/time formatting symbols for locale pt_TL. */ -goog.i18n.DateTimeSymbols_pt_GW = { +goog.i18n.DateTimeSymbols_pt_TL = { ERAS: ['a.C.', 'd.C.'], - ERANAMES: ['Antes de Cristo', 'Ano do Senhor'], - NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['janeiro', 'fevereiro', 'março', 'abril', 'maio', 'junho', 'julho', - 'agosto', 'setembro', 'outubro', 'novembro', 'dezembro'], - STANDALONEMONTHS: ['janeiro', 'fevereiro', 'março', 'abril', 'maio', 'junho', - 'julho', 'agosto', 'setembro', 'outubro', 'novembro', 'dezembro'], - SHORTMONTHS: ['jan', 'fev', 'mar', 'abr', 'mai', 'jun', 'jul', 'ago', 'set', - 'out', 'nov', 'dez'], - STANDALONESHORTMONTHS: ['jan', 'fev', 'mar', 'abr', 'mai', 'jun', 'jul', - 'ago', 'set', 'out', 'nov', 'dez'], - WEEKDAYS: ['domingo', 'segunda-feira', 'terça-feira', 'quarta-feira', - 'quinta-feira', 'sexta-feira', 'sábado'], - STANDALONEWEEKDAYS: ['domingo', 'segunda-feira', 'terça-feira', - 'quarta-feira', 'quinta-feira', 'sexta-feira', 'sábado'], - SHORTWEEKDAYS: ['dom', 'seg', 'ter', 'qua', 'qui', 'sex', 'sáb'], - STANDALONESHORTWEEKDAYS: ['dom', 'seg', 'ter', 'qua', 'qui', 'sex', 'sáb'], + ERANAMES: ['antes de Cristo', 'depois de Cristo'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['janeiro', 'fevereiro', 'março', 'abril', 'maio', 'junho', 'julho', 'agosto', 'setembro', 'outubro', 'novembro', 'dezembro'], + STANDALONEMONTHS: ['janeiro', 'fevereiro', 'março', 'abril', 'maio', 'junho', 'julho', 'agosto', 'setembro', 'outubro', 'novembro', 'dezembro'], + SHORTMONTHS: ['jan', 'fev', 'mar', 'abr', 'mai', 'jun', 'jul', 'ago', 'set', 'out', 'nov', 'dez'], + STANDALONESHORTMONTHS: ['jan', 'fev', 'mar', 'abr', 'mai', 'jun', 'jul', 'ago', 'set', 'out', 'nov', 'dez'], + WEEKDAYS: ['domingo', 'segunda-feira', 'terça-feira', 'quarta-feira', 'quinta-feira', 'sexta-feira', 'sábado'], + STANDALONEWEEKDAYS: ['domingo', 'segunda-feira', 'terça-feira', 'quarta-feira', 'quinta-feira', 'sexta-feira', 'sábado'], + SHORTWEEKDAYS: ['domingo', 'segunda', 'terça', 'quarta', 'quinta', 'sexta', 'sábado'], + STANDALONESHORTWEEKDAYS: ['domingo', 'segunda', 'terça', 'quarta', 'quinta', 'sexta', 'sábado'], NARROWWEEKDAYS: ['D', 'S', 'T', 'Q', 'Q', 'S', 'S'], STANDALONENARROWWEEKDAYS: ['D', 'S', 'T', 'Q', 'Q', 'S', 'S'], SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], - QUARTERS: ['1º trimestre', '2º trimestre', '3º trimestre', - '4º trimestre'], - AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE, d \'de\' MMMM \'de\' y', 'd \'de\' MMMM \'de\' y', - 'dd/MM/yyyy', 'dd/MM/yy'], - TIMEFORMATS: ['HH\'h\'mm\'min\'ss\'s\' zzzz', 'HH\'h\'mm\'min\'ss\'s\' z', - 'HH:mm:ss', 'HH:mm'], + QUARTERS: ['1.º trimestre', '2.º trimestre', '3.º trimestre', '4.º trimestre'], + AMPMS: ['da manhã', 'da tarde'], + DATEFORMATS: ['EEEE, d \'de\' MMMM \'de\' y', 'd \'de\' MMMM \'de\' y', 'dd/MM/y', 'dd/MM/yy'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'às\' {0}', '{1} \'às\' {0}', '{1}, {0}', '{1}, {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -10680,38 +10573,29 @@ goog.i18n.DateTimeSymbols_pt_GW = { /** - * Date/time formatting symbols for locale pt_MZ. + * Date/time formatting symbols for locale qu. */ -goog.i18n.DateTimeSymbols_pt_MZ = { - ERAS: ['a.C.', 'd.C.'], - ERANAMES: ['Antes de Cristo', 'Ano do Senhor'], - NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['janeiro', 'fevereiro', 'março', 'abril', 'maio', 'junho', 'julho', - 'agosto', 'setembro', 'outubro', 'novembro', 'dezembro'], - STANDALONEMONTHS: ['janeiro', 'fevereiro', 'março', 'abril', 'maio', 'junho', - 'julho', 'agosto', 'setembro', 'outubro', 'novembro', 'dezembro'], - SHORTMONTHS: ['jan', 'fev', 'mar', 'abr', 'mai', 'jun', 'jul', 'ago', 'set', - 'out', 'nov', 'dez'], - STANDALONESHORTMONTHS: ['jan', 'fev', 'mar', 'abr', 'mai', 'jun', 'jul', - 'ago', 'set', 'out', 'nov', 'dez'], - WEEKDAYS: ['domingo', 'segunda-feira', 'terça-feira', 'quarta-feira', - 'quinta-feira', 'sexta-feira', 'sábado'], - STANDALONEWEEKDAYS: ['domingo', 'segunda-feira', 'terça-feira', - 'quarta-feira', 'quinta-feira', 'sexta-feira', 'sábado'], - SHORTWEEKDAYS: ['dom', 'seg', 'ter', 'qua', 'qui', 'sex', 'sáb'], - STANDALONESHORTWEEKDAYS: ['dom', 'seg', 'ter', 'qua', 'qui', 'sex', 'sáb'], - NARROWWEEKDAYS: ['D', 'S', 'T', 'Q', 'Q', 'S', 'S'], - STANDALONENARROWWEEKDAYS: ['D', 'S', 'T', 'Q', 'Q', 'S', 'S'], - SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], - QUARTERS: ['1º trimestre', '2º trimestre', '3º trimestre', - '4º trimestre'], - AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE, d \'de\' MMMM \'de\' y', 'd \'de\' MMMM \'de\' y', - 'dd/MM/yyyy', 'dd/MM/yy'], - TIMEFORMATS: ['HH\'h\'mm\'min\'ss\'s\' zzzz', 'HH\'h\'mm\'min\'ss\'s\' z', - 'HH:mm:ss', 'HH:mm'], +goog.i18n.DateTimeSymbols_qu = { + ERAS: ['BCE', 'd.C.'], + ERANAMES: ['BCE', 'd.C.'], + NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + MONTHS: ['Qulla puquy', 'Hatun puquy', 'Pauqar waray', 'Ayriwa', 'Aymuray', 'Inti raymi', 'Anta Sitwa', 'Qhapaq Sitwa', 'Uma raymi', 'Kantaray', 'Ayamarqʼa', 'Kapaq Raymi'], + STANDALONEMONTHS: ['Qulla puquy', 'Hatun puquy', 'Pauqar waray', 'Ayriwa', 'Aymuray', 'Inti raymi', 'Anta Sitwa', 'Qhapaq Sitwa', 'Uma raymi', 'Kantaray', 'Ayamarqʼa', 'Kapaq Raymi'], + SHORTMONTHS: ['Qul', 'Hat', 'Pau', 'Ayr', 'Aym', 'Int', 'Ant', 'Qha', 'Uma', 'Kan', 'Aya', 'Kap'], + STANDALONESHORTMONTHS: ['Qul', 'Hat', 'Pau', 'Ayr', 'Aym', 'Int', 'Ant', 'Qha', 'Uma', 'Kan', 'Aya', 'Kap'], + WEEKDAYS: ['Domingo', 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado'], + STANDALONEWEEKDAYS: ['Domingo', 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado'], + SHORTWEEKDAYS: ['Dom', 'Lun', 'Mar', 'Mié', 'Jue', 'Vie', 'Sab'], + STANDALONESHORTWEEKDAYS: ['Dom', 'Lun', 'Mar', 'Mié', 'Jue', 'Vie', 'Sab'], + NARROWWEEKDAYS: ['D', 'L', 'M', 'X', 'J', 'V', 'S'], + STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'X', 'J', 'V', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + AMPMS: ['a.m.', 'p.m.'], + DATEFORMATS: ['EEEE, d MMMM, y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{0} {1}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 6, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 5 @@ -10719,44 +10603,71 @@ goog.i18n.DateTimeSymbols_pt_MZ = { /** - * Date/time formatting symbols for locale pt_ST. + * Date/time formatting symbols for locale qu_BO. */ -goog.i18n.DateTimeSymbols_pt_ST = { - ERAS: ['a.C.', 'd.C.'], - ERANAMES: ['Antes de Cristo', 'Ano do Senhor'], - NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['janeiro', 'fevereiro', 'março', 'abril', 'maio', 'junho', 'julho', - 'agosto', 'setembro', 'outubro', 'novembro', 'dezembro'], - STANDALONEMONTHS: ['janeiro', 'fevereiro', 'março', 'abril', 'maio', 'junho', - 'julho', 'agosto', 'setembro', 'outubro', 'novembro', 'dezembro'], - SHORTMONTHS: ['jan', 'fev', 'mar', 'abr', 'mai', 'jun', 'jul', 'ago', 'set', - 'out', 'nov', 'dez'], - STANDALONESHORTMONTHS: ['jan', 'fev', 'mar', 'abr', 'mai', 'jun', 'jul', - 'ago', 'set', 'out', 'nov', 'dez'], - WEEKDAYS: ['domingo', 'segunda-feira', 'terça-feira', 'quarta-feira', - 'quinta-feira', 'sexta-feira', 'sábado'], - STANDALONEWEEKDAYS: ['domingo', 'segunda-feira', 'terça-feira', - 'quarta-feira', 'quinta-feira', 'sexta-feira', 'sábado'], - SHORTWEEKDAYS: ['dom', 'seg', 'ter', 'qua', 'qui', 'sex', 'sáb'], - STANDALONESHORTWEEKDAYS: ['dom', 'seg', 'ter', 'qua', 'qui', 'sex', 'sáb'], - NARROWWEEKDAYS: ['D', 'S', 'T', 'Q', 'Q', 'S', 'S'], - STANDALONENARROWWEEKDAYS: ['D', 'S', 'T', 'Q', 'Q', 'S', 'S'], - SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], - QUARTERS: ['1º trimestre', '2º trimestre', '3º trimestre', - '4º trimestre'], - AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE, d \'de\' MMMM \'de\' y', 'd \'de\' MMMM \'de\' y', - 'dd/MM/yyyy', 'dd/MM/yy'], - TIMEFORMATS: ['HH\'h\'mm\'min\'ss\'s\' zzzz', 'HH\'h\'mm\'min\'ss\'s\' z', - 'HH:mm:ss', 'HH:mm'], +goog.i18n.DateTimeSymbols_qu_BO = { + ERAS: ['BCE', 'd.C.'], + ERANAMES: ['BCE', 'd.C.'], + NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + MONTHS: ['Qulla puquy', 'Hatun puquy', 'Pauqar waray', 'Ayriwa', 'Aymuray', 'Inti raymi', 'Anta Sitwa', 'Qhapaq Sitwa', 'Uma raymi', 'Kantaray', 'Ayamarqʼa', 'Kapaq Raymi'], + STANDALONEMONTHS: ['Qulla puquy', 'Hatun puquy', 'Pauqar waray', 'Ayriwa', 'Aymuray', 'Inti raymi', 'Anta Sitwa', 'Qhapaq Sitwa', 'Uma raymi', 'Kantaray', 'Ayamarqʼa', 'Kapaq Raymi'], + SHORTMONTHS: ['Qul', 'Hat', 'Pau', 'Ayr', 'Aym', 'Int', 'Ant', 'Qha', 'Uma', 'Kan', 'Aya', 'Kap'], + STANDALONESHORTMONTHS: ['Qul', 'Hat', 'Pau', 'Ayr', 'Aym', 'Int', 'Ant', 'Qha', 'Uma', 'Kan', 'Aya', 'Kap'], + WEEKDAYS: ['Domingo', 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado'], + STANDALONEWEEKDAYS: ['Domingo', 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado'], + SHORTWEEKDAYS: ['Dom', 'Lun', 'Mar', 'Mié', 'Jue', 'Vie', 'Sab'], + STANDALONESHORTWEEKDAYS: ['Dom', 'Lun', 'Mar', 'Mié', 'Jue', 'Vie', 'Sab'], + NARROWWEEKDAYS: ['D', 'L', 'M', 'X', 'J', 'V', 'S'], + STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'X', 'J', 'V', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + AMPMS: ['a.m.', 'p.m.'], + DATEFORMATS: ['EEEE, d MMMM, y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{0} {1}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale qu_EC. + */ +goog.i18n.DateTimeSymbols_qu_EC = { + ERAS: ['BCE', 'd.C.'], + ERANAMES: ['BCE', 'd.C.'], + NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + MONTHS: ['Qulla puquy', 'Hatun puquy', 'Pauqar waray', 'Ayriwa', 'Aymuray', 'Inti raymi', 'Anta Sitwa', 'Qhapaq Sitwa', 'Uma raymi', 'Kantaray', 'Ayamarqʼa', 'Kapaq Raymi'], + STANDALONEMONTHS: ['Qulla puquy', 'Hatun puquy', 'Pauqar waray', 'Ayriwa', 'Aymuray', 'Inti raymi', 'Anta Sitwa', 'Qhapaq Sitwa', 'Uma raymi', 'Kantaray', 'Ayamarqʼa', 'Kapaq Raymi'], + SHORTMONTHS: ['Qul', 'Hat', 'Pau', 'Ayr', 'Aym', 'Int', 'Ant', 'Qha', 'Uma', 'Kan', 'Aya', 'Kap'], + STANDALONESHORTMONTHS: ['Qul', 'Hat', 'Pau', 'Ayr', 'Aym', 'Int', 'Ant', 'Qha', 'Uma', 'Kan', 'Aya', 'Kap'], + WEEKDAYS: ['Domingo', 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado'], + STANDALONEWEEKDAYS: ['Domingo', 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado'], + SHORTWEEKDAYS: ['Dom', 'Lun', 'Mar', 'Mié', 'Jue', 'Vie', 'Sab'], + STANDALONESHORTWEEKDAYS: ['Dom', 'Lun', 'Mar', 'Mié', 'Jue', 'Vie', 'Sab'], + NARROWWEEKDAYS: ['D', 'L', 'M', 'X', 'J', 'V', 'S'], + STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'X', 'J', 'V', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + AMPMS: ['a.m.', 'p.m.'], + DATEFORMATS: ['EEEE, d MMMM, y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{0} {1}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 }; +/** + * Date/time formatting symbols for locale qu_PE. + */ +goog.i18n.DateTimeSymbols_qu_PE = goog.i18n.DateTimeSymbols_qu; + + /** * Date/time formatting symbols for locale rm. */ @@ -10764,30 +10675,23 @@ goog.i18n.DateTimeSymbols_rm = { ERAS: ['av. Cr.', 's. Cr.'], ERANAMES: ['avant Cristus', 'suenter Cristus'], NARROWMONTHS: ['S', 'F', 'M', 'A', 'M', 'Z', 'F', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['S', 'F', 'M', 'A', 'M', 'Z', 'F', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['schaner', 'favrer', 'mars', 'avrigl', 'matg', 'zercladur', - 'fanadur', 'avust', 'settember', 'october', 'november', 'december'], - STANDALONEMONTHS: ['schaner', 'favrer', 'mars', 'avrigl', 'matg', 'zercladur', - 'fanadur', 'avust', 'settember', 'october', 'november', 'december'], - SHORTMONTHS: ['schan.', 'favr.', 'mars', 'avr.', 'matg', 'zercl.', 'fan.', - 'avust', 'sett.', 'oct.', 'nov.', 'dec.'], - STANDALONESHORTMONTHS: ['schan.', 'favr.', 'mars', 'avr.', 'matg', 'zercl.', - 'fan.', 'avust', 'sett.', 'oct.', 'nov.', 'dec.'], - WEEKDAYS: ['dumengia', 'glindesdi', 'mardi', 'mesemna', 'gievgia', 'venderdi', - 'sonda'], - STANDALONEWEEKDAYS: ['dumengia', 'glindesdi', 'mardi', 'mesemna', 'gievgia', - 'venderdi', 'sonda'], + STANDALONENARROWMONTHS: ['S', 'F', 'M', 'A', 'M', 'Z', 'F', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['schaner', 'favrer', 'mars', 'avrigl', 'matg', 'zercladur', 'fanadur', 'avust', 'settember', 'october', 'november', 'december'], + STANDALONEMONTHS: ['schaner', 'favrer', 'mars', 'avrigl', 'matg', 'zercladur', 'fanadur', 'avust', 'settember', 'october', 'november', 'december'], + SHORTMONTHS: ['schan.', 'favr.', 'mars', 'avr.', 'matg', 'zercl.', 'fan.', 'avust', 'sett.', 'oct.', 'nov.', 'dec.'], + STANDALONESHORTMONTHS: ['schan.', 'favr.', 'mars', 'avr.', 'matg', 'zercl.', 'fan.', 'avust', 'sett.', 'oct.', 'nov.', 'dec.'], + WEEKDAYS: ['dumengia', 'glindesdi', 'mardi', 'mesemna', 'gievgia', 'venderdi', 'sonda'], + STANDALONEWEEKDAYS: ['dumengia', 'glindesdi', 'mardi', 'mesemna', 'gievgia', 'venderdi', 'sonda'], SHORTWEEKDAYS: ['du', 'gli', 'ma', 'me', 'gie', 've', 'so'], STANDALONESHORTWEEKDAYS: ['du', 'gli', 'ma', 'me', 'gie', 've', 'so'], NARROWWEEKDAYS: ['D', 'G', 'M', 'M', 'G', 'V', 'S'], STANDALONENARROWWEEKDAYS: ['D', 'G', 'M', 'M', 'G', 'V', 'S'], - SHORTQUARTERS: ['1. quartal', '2. quartal', '3. quartal', '4. quartal'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], QUARTERS: ['1. quartal', '2. quartal', '3. quartal', '4. quartal'], - AMPMS: ['am', 'sm'], - DATEFORMATS: ['EEEE, \'ils\' d \'da\' MMMM y', 'd \'da\' MMMM y', - 'dd-MM-yyyy', 'dd-MM-yy'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, \'ils\' d \'da\' MMMM y', 'd \'da\' MMMM y', 'dd-MM-y', 'dd-MM-yy'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 3 @@ -10807,32 +10711,23 @@ goog.i18n.DateTimeSymbols_rn = { ERAS: ['Mb.Y.', 'Ny.Y'], ERANAMES: ['Mbere ya Yezu', 'Nyuma ya Yezu'], NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], - STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', - '11', '12'], - MONTHS: ['Nzero', 'Ruhuhuma', 'Ntwarante', 'Ndamukiza', 'Rusama', 'Ruheshi', - 'Mukakaro', 'Nyandagaro', 'Nyakanga', 'Gitugutu', 'Munyonyo', 'Kigarama'], - STANDALONEMONTHS: ['Nzero', 'Ruhuhuma', 'Ntwarante', 'Ndamukiza', 'Rusama', - 'Ruheshi', 'Mukakaro', 'Nyandagaro', 'Nyakanga', 'Gitugutu', 'Munyonyo', - 'Kigarama'], - SHORTMONTHS: ['Mut.', 'Gas.', 'Wer.', 'Mat.', 'Gic.', 'Kam.', 'Nya.', 'Kan.', - 'Nze.', 'Ukw.', 'Ugu.', 'Uku.'], - STANDALONESHORTMONTHS: ['Mut.', 'Gas.', 'Wer.', 'Mat.', 'Gic.', 'Kam.', - 'Nya.', 'Kan.', 'Nze.', 'Ukw.', 'Ugu.', 'Uku.'], - WEEKDAYS: ['Ku w\'indwi', 'Ku wa mbere', 'Ku wa kabiri', 'Ku wa gatatu', - 'Ku wa kane', 'Ku wa gatanu', 'Ku wa gatandatu'], - STANDALONEWEEKDAYS: ['Ku w\'indwi', 'Ku wa mbere', 'Ku wa kabiri', - 'Ku wa gatatu', 'Ku wa kane', 'Ku wa gatanu', 'Ku wa gatandatu'], + STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + MONTHS: ['Nzero', 'Ruhuhuma', 'Ntwarante', 'Ndamukiza', 'Rusama', 'Ruheshi', 'Mukakaro', 'Nyandagaro', 'Nyakanga', 'Gitugutu', 'Munyonyo', 'Kigarama'], + STANDALONEMONTHS: ['Nzero', 'Ruhuhuma', 'Ntwarante', 'Ndamukiza', 'Rusama', 'Ruheshi', 'Mukakaro', 'Nyandagaro', 'Nyakanga', 'Gitugutu', 'Munyonyo', 'Kigarama'], + SHORTMONTHS: ['Mut.', 'Gas.', 'Wer.', 'Mat.', 'Gic.', 'Kam.', 'Nya.', 'Kan.', 'Nze.', 'Ukw.', 'Ugu.', 'Uku.'], + STANDALONESHORTMONTHS: ['Mut.', 'Gas.', 'Wer.', 'Mat.', 'Gic.', 'Kam.', 'Nya.', 'Kan.', 'Nze.', 'Ukw.', 'Ugu.', 'Uku.'], + WEEKDAYS: ['Ku w’indwi', 'Ku wa mbere', 'Ku wa kabiri', 'Ku wa gatatu', 'Ku wa kane', 'Ku wa gatanu', 'Ku wa gatandatu'], + STANDALONEWEEKDAYS: ['Ku w’indwi', 'Ku wa mbere', 'Ku wa kabiri', 'Ku wa gatatu', 'Ku wa kane', 'Ku wa gatanu', 'Ku wa gatandatu'], SHORTWEEKDAYS: ['cu.', 'mbe.', 'kab.', 'gtu.', 'kan.', 'gnu.', 'gnd.'], - STANDALONESHORTWEEKDAYS: ['cu.', 'mbe.', 'kab.', 'gtu.', 'kan.', 'gnu.', - 'gnd.'], - NARROWWEEKDAYS: ['1', '2', '3', '4', '5', '6', '7'], - STANDALONENARROWWEEKDAYS: ['1', '2', '3', '4', '5', '6', '7'], + STANDALONESHORTWEEKDAYS: ['cu.', 'mbe.', 'kab.', 'gtu.', 'kan.', 'gnu.', 'gnd.'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], SHORTQUARTERS: ['I1', 'I2', 'I3', 'I4'], - QUARTERS: ['Igice ca mbere c\'umwaka', 'Igice ca kabiri c\'umwaka', - 'Igice ca gatatu c\'umwaka', 'Igice ca kane c\'umwaka'], + QUARTERS: ['Igice ca mbere c’umwaka', 'Igice ca kabiri c’umwaka', 'Igice ca gatatu c’umwaka', 'Igice ca kane c’umwaka'], AMPMS: ['Z.MU.', 'Z.MW.'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'd/M/yyyy'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'd/M/y'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -10852,31 +10747,23 @@ goog.i18n.DateTimeSymbols_ro_MD = { ERAS: ['î.Hr.', 'd.Hr.'], ERANAMES: ['înainte de Hristos', 'după Hristos'], NARROWMONTHS: ['I', 'F', 'M', 'A', 'M', 'I', 'I', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['I', 'F', 'M', 'A', 'M', 'I', 'I', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['ianuarie', 'februarie', 'martie', 'aprilie', 'mai', 'iunie', - 'iulie', 'august', 'septembrie', 'octombrie', 'noiembrie', 'decembrie'], - STANDALONEMONTHS: ['ianuarie', 'februarie', 'martie', 'aprilie', 'mai', - 'iunie', 'iulie', 'august', 'septembrie', 'octombrie', 'noiembrie', - 'decembrie'], - SHORTMONTHS: ['ian.', 'feb.', 'mar.', 'apr.', 'mai', 'iun.', 'iul.', 'aug.', - 'sept.', 'oct.', 'nov.', 'dec.'], - STANDALONESHORTMONTHS: ['ian.', 'feb.', 'mar.', 'apr.', 'mai', 'iun.', 'iul.', - 'aug.', 'sept.', 'oct.', 'nov.', 'dec.'], - WEEKDAYS: ['duminică', 'luni', 'marți', 'miercuri', 'joi', 'vineri', - 'sâmbătă'], - STANDALONEWEEKDAYS: ['duminică', 'luni', 'marți', 'miercuri', 'joi', - 'vineri', 'sâmbătă'], - SHORTWEEKDAYS: ['Du', 'Lu', 'Ma', 'Mi', 'Jo', 'Vi', 'Sâ'], - STANDALONESHORTWEEKDAYS: ['Du', 'Lu', 'Ma', 'Mi', 'Jo', 'Vi', 'Sâ'], - NARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], - STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], - SHORTQUARTERS: ['trim. I', 'trim. II', 'trim. III', 'trim. IV'], - QUARTERS: ['trimestrul I', 'trimestrul al II-lea', 'trimestrul al III-lea', - 'trimestrul al IV-lea'], - AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'dd.MM.yyyy', 'dd.MM.yyyy'], + STANDALONENARROWMONTHS: ['I', 'F', 'M', 'A', 'M', 'I', 'I', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['ianuarie', 'februarie', 'martie', 'aprilie', 'mai', 'iunie', 'iulie', 'august', 'septembrie', 'octombrie', 'noiembrie', 'decembrie'], + STANDALONEMONTHS: ['ianuarie', 'februarie', 'martie', 'aprilie', 'mai', 'iunie', 'iulie', 'august', 'septembrie', 'octombrie', 'noiembrie', 'decembrie'], + SHORTMONTHS: ['ian.', 'feb.', 'mar.', 'apr.', 'mai', 'iun.', 'iul.', 'aug.', 'sept.', 'oct.', 'nov.', 'dec.'], + STANDALONESHORTMONTHS: ['ian.', 'feb.', 'mar.', 'apr.', 'mai', 'iun.', 'iul.', 'aug.', 'sept.', 'oct.', 'nov.', 'dec.'], + WEEKDAYS: ['duminică', 'luni', 'marți', 'miercuri', 'joi', 'vineri', 'sâmbătă'], + STANDALONEWEEKDAYS: ['duminică', 'luni', 'marți', 'miercuri', 'joi', 'vineri', 'sâmbătă'], + SHORTWEEKDAYS: ['Dum', 'Lun', 'Mar', 'Mie', 'Joi', 'Vin', 'Sâm'], + STANDALONESHORTWEEKDAYS: ['Dum', 'Lun', 'Mar', 'Mie', 'Joi', 'Vin', 'Sâm'], + NARROWWEEKDAYS: ['D', 'L', 'Ma', 'Mi', 'J', 'V', 'S'], + STANDALONENARROWWEEKDAYS: ['D', 'L', 'Ma', 'Mi', 'J', 'V', 'S'], + SHORTQUARTERS: ['trim. 1', 'trim. 2', 'trim. 3', 'trim. 4'], + QUARTERS: ['trimestrul 1', 'trimestrul 2', 'trimestrul 3', 'trimestrul 4'], + AMPMS: ['a.m.', 'p.m.'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd.MM.y'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1}, {0}', '{1}, {0}', '{1}, {0}', '{1}, {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -10886,39 +10773,7 @@ goog.i18n.DateTimeSymbols_ro_MD = { /** * Date/time formatting symbols for locale ro_RO. */ -goog.i18n.DateTimeSymbols_ro_RO = { - ERAS: ['î.Hr.', 'd.Hr.'], - ERANAMES: ['înainte de Hristos', 'după Hristos'], - NARROWMONTHS: ['I', 'F', 'M', 'A', 'M', 'I', 'I', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['I', 'F', 'M', 'A', 'M', 'I', 'I', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['ianuarie', 'februarie', 'martie', 'aprilie', 'mai', 'iunie', - 'iulie', 'august', 'septembrie', 'octombrie', 'noiembrie', 'decembrie'], - STANDALONEMONTHS: ['ianuarie', 'februarie', 'martie', 'aprilie', 'mai', - 'iunie', 'iulie', 'august', 'septembrie', 'octombrie', 'noiembrie', - 'decembrie'], - SHORTMONTHS: ['ian.', 'feb.', 'mar.', 'apr.', 'mai', 'iun.', 'iul.', 'aug.', - 'sept.', 'oct.', 'nov.', 'dec.'], - STANDALONESHORTMONTHS: ['ian.', 'feb.', 'mar.', 'apr.', 'mai', 'iun.', 'iul.', - 'aug.', 'sept.', 'oct.', 'nov.', 'dec.'], - WEEKDAYS: ['duminică', 'luni', 'marți', 'miercuri', 'joi', 'vineri', - 'sâmbătă'], - STANDALONEWEEKDAYS: ['duminică', 'luni', 'marți', 'miercuri', 'joi', - 'vineri', 'sâmbătă'], - SHORTWEEKDAYS: ['Du', 'Lu', 'Ma', 'Mi', 'Jo', 'Vi', 'Sâ'], - STANDALONESHORTWEEKDAYS: ['Du', 'Lu', 'Ma', 'Mi', 'Jo', 'Vi', 'Sâ'], - NARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], - STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], - SHORTQUARTERS: ['trim. I', 'trim. II', 'trim. III', 'trim. IV'], - QUARTERS: ['trimestrul I', 'trimestrul al II-lea', 'trimestrul al III-lea', - 'trimestrul al IV-lea'], - AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'dd.MM.yyyy', 'dd.MM.yyyy'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 6 -}; +goog.i18n.DateTimeSymbols_ro_RO = goog.i18n.DateTimeSymbols_ro; /** @@ -10928,34 +10783,23 @@ goog.i18n.DateTimeSymbols_rof = { ERAS: ['KM', 'BM'], ERANAMES: ['Kabla ya Mayesu', 'Baada ya Mayesu'], NARROWMONTHS: ['K', 'K', 'K', 'K', 'T', 'S', 'S', 'N', 'T', 'I', 'I', 'I'], - STANDALONENARROWMONTHS: ['K', 'K', 'K', 'K', 'T', 'S', 'S', 'N', 'T', 'I', - 'I', 'I'], - MONTHS: ['Mweri wa kwanza', 'Mweri wa kaili', 'Mweri wa katatu', - 'Mweri wa kaana', 'Mweri wa tanu', 'Mweri wa sita', 'Mweri wa saba', - 'Mweri wa nane', 'Mweri wa tisa', 'Mweri wa ikumi', - 'Mweri wa ikumi na moja', 'Mweri wa ikumi na mbili'], - STANDALONEMONTHS: ['Mweri wa kwanza', 'Mweri wa kaili', 'Mweri wa katatu', - 'Mweri wa kaana', 'Mweri wa tanu', 'Mweri wa sita', 'Mweri wa saba', - 'Mweri wa nane', 'Mweri wa tisa', 'Mweri wa ikumi', - 'Mweri wa ikumi na moja', 'Mweri wa ikumi na mbili'], - SHORTMONTHS: ['M1', 'M2', 'M3', 'M4', 'M5', 'M6', 'M7', 'M8', 'M9', 'M10', - 'M11', 'M12'], - STANDALONESHORTMONTHS: ['M1', 'M2', 'M3', 'M4', 'M5', 'M6', 'M7', 'M8', 'M9', - 'M10', 'M11', 'M12'], - WEEKDAYS: ['Ijumapili', 'Ijumatatu', 'Ijumanne', 'Ijumatano', 'Alhamisi', - 'Ijumaa', 'Ijumamosi'], - STANDALONEWEEKDAYS: ['Ijumapili', 'Ijumatatu', 'Ijumanne', 'Ijumatano', - 'Alhamisi', 'Ijumaa', 'Ijumamosi'], + STANDALONENARROWMONTHS: ['K', 'K', 'K', 'K', 'T', 'S', 'S', 'N', 'T', 'I', 'I', 'I'], + MONTHS: ['Mweri wa kwanza', 'Mweri wa kaili', 'Mweri wa katatu', 'Mweri wa kaana', 'Mweri wa tanu', 'Mweri wa sita', 'Mweri wa saba', 'Mweri wa nane', 'Mweri wa tisa', 'Mweri wa ikumi', 'Mweri wa ikumi na moja', 'Mweri wa ikumi na mbili'], + STANDALONEMONTHS: ['Mweri wa kwanza', 'Mweri wa kaili', 'Mweri wa katatu', 'Mweri wa kaana', 'Mweri wa tanu', 'Mweri wa sita', 'Mweri wa saba', 'Mweri wa nane', 'Mweri wa tisa', 'Mweri wa ikumi', 'Mweri wa ikumi na moja', 'Mweri wa ikumi na mbili'], + SHORTMONTHS: ['M1', 'M2', 'M3', 'M4', 'M5', 'M6', 'M7', 'M8', 'M9', 'M10', 'M11', 'M12'], + STANDALONESHORTMONTHS: ['M1', 'M2', 'M3', 'M4', 'M5', 'M6', 'M7', 'M8', 'M9', 'M10', 'M11', 'M12'], + WEEKDAYS: ['Ijumapili', 'Ijumatatu', 'Ijumanne', 'Ijumatano', 'Alhamisi', 'Ijumaa', 'Ijumamosi'], + STANDALONEWEEKDAYS: ['Ijumapili', 'Ijumatatu', 'Ijumanne', 'Ijumatano', 'Alhamisi', 'Ijumaa', 'Ijumamosi'], SHORTWEEKDAYS: ['Ijp', 'Ijt', 'Ijn', 'Ijtn', 'Alh', 'Iju', 'Ijm'], STANDALONESHORTWEEKDAYS: ['Ijp', 'Ijt', 'Ijn', 'Ijtn', 'Alh', 'Iju', 'Ijm'], NARROWWEEKDAYS: ['2', '3', '4', '5', '6', '7', '1'], STANDALONENARROWWEEKDAYS: ['2', '3', '4', '5', '6', '7', '1'], SHORTQUARTERS: ['R1', 'R2', 'R3', 'R4'], - QUARTERS: ['Robo ya kwanza', 'Robo ya kaili', 'Robo ya katatu', - 'Robo ya kaana'], - AMPMS: ['kang\'ama', 'kingoto'], - DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yyyy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + QUARTERS: ['Robo ya kwanza', 'Robo ya kaili', 'Robo ya katatu', 'Robo ya kaana'], + AMPMS: ['kang’ama', 'kingoto'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -10968,137 +10812,60 @@ goog.i18n.DateTimeSymbols_rof = { goog.i18n.DateTimeSymbols_rof_TZ = goog.i18n.DateTimeSymbols_rof; +/** + * Date/time formatting symbols for locale ru_BY. + */ +goog.i18n.DateTimeSymbols_ru_BY = goog.i18n.DateTimeSymbols_ru; + + +/** + * Date/time formatting symbols for locale ru_KG. + */ +goog.i18n.DateTimeSymbols_ru_KG = goog.i18n.DateTimeSymbols_ru; + + +/** + * Date/time formatting symbols for locale ru_KZ. + */ +goog.i18n.DateTimeSymbols_ru_KZ = goog.i18n.DateTimeSymbols_ru; + + /** * Date/time formatting symbols for locale ru_MD. */ -goog.i18n.DateTimeSymbols_ru_MD = { - ERAS: ['до н.э.', 'н.э.'], - ERANAMES: ['до н.э.', 'н.э.'], - NARROWMONTHS: ['Я', 'Ф', 'М', 'А', 'М', 'И', 'И', 'А', 'С', 'О', - 'Н', 'Д'], - STANDALONENARROWMONTHS: ['Я', 'Ф', 'М', 'А', 'М', 'И', 'И', 'А', 'С', - 'О', 'Н', 'Д'], - MONTHS: ['января', 'февраля', 'марта', 'апреля', - 'мая', 'июня', 'июля', 'августа', 'сентября', - 'октября', 'ноября', 'декабря'], - STANDALONEMONTHS: ['Январь', 'Февраль', 'Март', - 'Апрель', 'Май', 'Июнь', 'Июль', 'Август', - 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь'], - SHORTMONTHS: ['янв.', 'февр.', 'марта', 'апр.', 'мая', - 'июня', 'июля', 'авг.', 'сент.', 'окт.', 'нояб.', - 'дек.'], - STANDALONESHORTMONTHS: ['Янв.', 'Февр.', 'Март', 'Апр.', - 'Май', 'Июнь', 'Июль', 'Авг.', 'Сент.', 'Окт.', - 'Нояб.', 'Дек.'], - WEEKDAYS: ['воскресенье', 'понедельник', - 'вторник', 'среда', 'четверг', 'пятница', - 'суббота'], - STANDALONEWEEKDAYS: ['Воскресенье', 'Понедельник', - 'Вторник', 'Среда', 'Четверг', 'Пятница', - 'Суббота'], - SHORTWEEKDAYS: ['вс', 'пн', 'вт', 'ср', 'чт', 'пт', 'сб'], - STANDALONESHORTWEEKDAYS: ['Вс', 'Пн', 'Вт', 'Ср', 'Чт', 'Пт', - 'Сб'], - NARROWWEEKDAYS: ['В', 'Пн', 'Вт', 'С', 'Ч', 'П', 'С'], - STANDALONENARROWWEEKDAYS: ['В', 'П', 'В', 'С', 'Ч', 'П', 'С'], - SHORTQUARTERS: ['1-й кв.', '2-й кв.', '3-й кв.', '4-й кв.'], - QUARTERS: ['1-й квартал', '2-й квартал', - '3-й квартал', '4-й квартал'], - AMPMS: ['до полудня', 'после полудня'], - DATEFORMATS: ['EEEE, d MMMM y \'г\'.', 'd MMMM y \'г\'.', 'dd.MM.yyyy', - 'dd.MM.yy'], - TIMEFORMATS: ['H:mm:ss zzzz', 'H:mm:ss z', 'H:mm:ss', 'H:mm'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 6 -}; +goog.i18n.DateTimeSymbols_ru_MD = goog.i18n.DateTimeSymbols_ru; /** * Date/time formatting symbols for locale ru_RU. */ -goog.i18n.DateTimeSymbols_ru_RU = { - ERAS: ['до н.э.', 'н.э.'], - ERANAMES: ['до н.э.', 'н.э.'], - NARROWMONTHS: ['Я', 'Ф', 'М', 'А', 'М', 'И', 'И', 'А', 'С', 'О', - 'Н', 'Д'], - STANDALONENARROWMONTHS: ['Я', 'Ф', 'М', 'А', 'М', 'И', 'И', 'А', 'С', - 'О', 'Н', 'Д'], - MONTHS: ['января', 'февраля', 'марта', 'апреля', - 'мая', 'июня', 'июля', 'августа', 'сентября', - 'октября', 'ноября', 'декабря'], - STANDALONEMONTHS: ['Январь', 'Февраль', 'Март', - 'Апрель', 'Май', 'Июнь', 'Июль', 'Август', - 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь'], - SHORTMONTHS: ['янв.', 'февр.', 'марта', 'апр.', 'мая', - 'июня', 'июля', 'авг.', 'сент.', 'окт.', 'нояб.', - 'дек.'], - STANDALONESHORTMONTHS: ['Янв.', 'Февр.', 'Март', 'Апр.', - 'Май', 'Июнь', 'Июль', 'Авг.', 'Сент.', 'Окт.', - 'Нояб.', 'Дек.'], - WEEKDAYS: ['воскресенье', 'понедельник', - 'вторник', 'среда', 'четверг', 'пятница', - 'суббота'], - STANDALONEWEEKDAYS: ['Воскресенье', 'Понедельник', - 'Вторник', 'Среда', 'Четверг', 'Пятница', - 'Суббота'], - SHORTWEEKDAYS: ['вс', 'пн', 'вт', 'ср', 'чт', 'пт', 'сб'], - STANDALONESHORTWEEKDAYS: ['Вс', 'Пн', 'Вт', 'Ср', 'Чт', 'Пт', - 'Сб'], - NARROWWEEKDAYS: ['В', 'Пн', 'Вт', 'С', 'Ч', 'П', 'С'], - STANDALONENARROWWEEKDAYS: ['В', 'П', 'В', 'С', 'Ч', 'П', 'С'], - SHORTQUARTERS: ['1-й кв.', '2-й кв.', '3-й кв.', '4-й кв.'], - QUARTERS: ['1-й квартал', '2-й квартал', - '3-й квартал', '4-й квартал'], - AMPMS: ['до полудня', 'после полудня'], - DATEFORMATS: ['EEEE, d MMMM y \'г\'.', 'd MMMM y \'г\'.', 'dd.MM.yyyy', - 'dd.MM.yy'], - TIMEFORMATS: ['H:mm:ss zzzz', 'H:mm:ss z', 'H:mm:ss', 'H:mm'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 6 -}; +goog.i18n.DateTimeSymbols_ru_RU = goog.i18n.DateTimeSymbols_ru; /** * Date/time formatting symbols for locale ru_UA. */ goog.i18n.DateTimeSymbols_ru_UA = { - ERAS: ['до н.э.', 'н.э.'], - ERANAMES: ['до н.э.', 'н.э.'], - NARROWMONTHS: ['Я', 'Ф', 'М', 'А', 'М', 'И', 'И', 'А', 'С', 'О', - 'Н', 'Д'], - STANDALONENARROWMONTHS: ['Я', 'Ф', 'М', 'А', 'М', 'И', 'И', 'А', 'С', - 'О', 'Н', 'Д'], - MONTHS: ['января', 'февраля', 'марта', 'апреля', - 'мая', 'июня', 'июля', 'августа', 'сентября', - 'октября', 'ноября', 'декабря'], - STANDALONEMONTHS: ['Январь', 'Февраль', 'Март', - 'Апрель', 'Май', 'Июнь', 'Июль', 'Август', - 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь'], - SHORTMONTHS: ['янв.', 'февр.', 'марта', 'апр.', 'мая', - 'июня', 'июля', 'авг.', 'сент.', 'окт.', 'нояб.', - 'дек.'], - STANDALONESHORTMONTHS: ['Янв.', 'Февр.', 'Март', 'Апр.', - 'Май', 'Июнь', 'Июль', 'Авг.', 'Сент.', 'Окт.', - 'Нояб.', 'Дек.'], - WEEKDAYS: ['воскресенье', 'понедельник', - 'вторник', 'среда', 'четверг', 'пятница', - 'суббота'], - STANDALONEWEEKDAYS: ['Воскресенье', 'Понедельник', - 'Вторник', 'Среда', 'Четверг', 'Пятница', - 'Суббота'], + ERAS: ['до н. э.', 'н. э.'], + ERANAMES: ['до Рождества Христова', 'от Рождества Христова'], + NARROWMONTHS: ['Я', 'Ф', 'М', 'А', 'М', 'И', 'И', 'А', 'С', 'О', 'Н', 'Д'], + STANDALONENARROWMONTHS: ['Я', 'Ф', 'М', 'А', 'М', 'И', 'И', 'А', 'С', 'О', 'Н', 'Д'], + MONTHS: ['января', 'февраля', 'марта', 'апреля', 'мая', 'июня', 'июля', 'августа', 'сентября', 'октября', 'ноября', 'декабря'], + STANDALONEMONTHS: ['январь', 'февраль', 'март', 'апрель', 'май', 'июнь', 'июль', 'август', 'сентябрь', 'октябрь', 'ноябрь', 'декабрь'], + SHORTMONTHS: ['янв.', 'февр.', 'мар.', 'апр.', 'мая', 'июн.', 'июл.', 'авг.', 'сент.', 'окт.', 'нояб.', 'дек.'], + STANDALONESHORTMONTHS: ['янв.', 'февр.', 'март', 'апр.', 'май', 'июнь', 'июль', 'авг.', 'сент.', 'окт.', 'нояб.', 'дек.'], + WEEKDAYS: ['воскресенье', 'понедельник', 'вторник', 'среда', 'четверг', 'пятница', 'суббота'], + STANDALONEWEEKDAYS: ['воскресенье', 'понедельник', 'вторник', 'среда', 'четверг', 'пятница', 'суббота'], SHORTWEEKDAYS: ['вс', 'пн', 'вт', 'ср', 'чт', 'пт', 'сб'], - STANDALONESHORTWEEKDAYS: ['Вс', 'Пн', 'Вт', 'Ср', 'Чт', 'Пт', - 'Сб'], - NARROWWEEKDAYS: ['В', 'Пн', 'Вт', 'С', 'Ч', 'П', 'С'], + STANDALONESHORTWEEKDAYS: ['вс', 'пн', 'вт', 'ср', 'чт', 'пт', 'сб'], + NARROWWEEKDAYS: ['вс', 'пн', 'вт', 'ср', 'чт', 'пт', 'сб'], STANDALONENARROWWEEKDAYS: ['В', 'П', 'В', 'С', 'Ч', 'П', 'С'], SHORTQUARTERS: ['1-й кв.', '2-й кв.', '3-й кв.', '4-й кв.'], - QUARTERS: ['1-й квартал', '2-й квартал', - '3-й квартал', '4-й квартал'], - AMPMS: ['до полудня', 'после полудня'], - DATEFORMATS: ['EEEE, d MMMM y \'г\'.', 'd MMMM y', 'd MMM y', 'dd.MM.yy'], + QUARTERS: ['1-й квартал', '2-й квартал', '3-й квартал', '4-й квартал'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM y \'г\'.', 'd MMMM y \'г\'.', 'd MMM y \'г\'.', 'dd.MM.y'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1}, {0}', '{1}, {0}', '{1}, {0}', '{1}, {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -11112,32 +10879,23 @@ goog.i18n.DateTimeSymbols_rw = { ERAS: ['BCE', 'CE'], ERANAMES: ['BCE', 'CE'], NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], - STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', - '11', '12'], - MONTHS: ['Mutarama', 'Gashyantare', 'Werurwe', 'Mata', 'Gicuransi', 'Kamena', - 'Nyakanga', 'Kanama', 'Nzeli', 'Ukwakira', 'Ugushyingo', 'Ukuboza'], - STANDALONEMONTHS: ['Mutarama', 'Gashyantare', 'Werurwe', 'Mata', 'Gicuransi', - 'Kamena', 'Nyakanga', 'Kanama', 'Nzeli', 'Ukwakira', 'Ugushyingo', - 'Ukuboza'], - SHORTMONTHS: ['mut.', 'gas.', 'wer.', 'mat.', 'gic.', 'kam.', 'nya.', 'kan.', - 'nze.', 'ukw.', 'ugu.', 'uku.'], - STANDALONESHORTMONTHS: ['mut.', 'gas.', 'wer.', 'mat.', 'gic.', 'kam.', - 'nya.', 'kan.', 'nze.', 'ukw.', 'ugu.', 'uku.'], - WEEKDAYS: ['Ku cyumweru', 'Kuwa mbere', 'Kuwa kabiri', 'Kuwa gatatu', - 'Kuwa kane', 'Kuwa gatanu', 'Kuwa gatandatu'], - STANDALONEWEEKDAYS: ['Ku cyumweru', 'Kuwa mbere', 'Kuwa kabiri', - 'Kuwa gatatu', 'Kuwa kane', 'Kuwa gatanu', 'Kuwa gatandatu'], + STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + MONTHS: ['Mutarama', 'Gashyantare', 'Werurwe', 'Mata', 'Gicuransi', 'Kamena', 'Nyakanga', 'Kanama', 'Nzeli', 'Ukwakira', 'Ugushyingo', 'Ukuboza'], + STANDALONEMONTHS: ['Mutarama', 'Gashyantare', 'Werurwe', 'Mata', 'Gicuransi', 'Kamena', 'Nyakanga', 'Kanama', 'Nzeli', 'Ukwakira', 'Ugushyingo', 'Ukuboza'], + SHORTMONTHS: ['mut.', 'gas.', 'wer.', 'mat.', 'gic.', 'kam.', 'nya.', 'kan.', 'nze.', 'ukw.', 'ugu.', 'uku.'], + STANDALONESHORTMONTHS: ['mut.', 'gas.', 'wer.', 'mat.', 'gic.', 'kam.', 'nya.', 'kan.', 'nze.', 'ukw.', 'ugu.', 'uku.'], + WEEKDAYS: ['Ku cyumweru', 'Kuwa mbere', 'Kuwa kabiri', 'Kuwa gatatu', 'Kuwa kane', 'Kuwa gatanu', 'Kuwa gatandatu'], + STANDALONEWEEKDAYS: ['Ku cyumweru', 'Kuwa mbere', 'Kuwa kabiri', 'Kuwa gatatu', 'Kuwa kane', 'Kuwa gatanu', 'Kuwa gatandatu'], SHORTWEEKDAYS: ['cyu.', 'mbe.', 'kab.', 'gtu.', 'kan.', 'gnu.', 'gnd.'], - STANDALONESHORTWEEKDAYS: ['cyu.', 'mbe.', 'kab.', 'gtu.', 'kan.', 'gnu.', - 'gnd.'], - NARROWWEEKDAYS: ['1', '2', '3', '4', '5', '6', '7'], - STANDALONENARROWWEEKDAYS: ['1', '2', '3', '4', '5', '6', '7'], + STANDALONESHORTWEEKDAYS: ['cyu.', 'mbe.', 'kab.', 'gtu.', 'kan.', 'gnu.', 'gnd.'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], SHORTQUARTERS: ['I1', 'I2', 'I3', 'I4'], - QUARTERS: ['igihembwe cya mbere', 'igihembwe cya kabiri', - 'igihembwe cya gatatu', 'igihembwe cya kane'], + QUARTERS: ['igihembwe cya mbere', 'igihembwe cya kabiri', 'igihembwe cya gatatu', 'igihembwe cya kane'], AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE, y MMMM dd', 'y MMMM d', 'y MMM d', 'yy/MM/dd'], + DATEFORMATS: ['y MMMM d, EEEE', 'y MMMM d', 'y MMM d', 'y-MM-dd'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -11157,20 +10915,13 @@ goog.i18n.DateTimeSymbols_rwk = { ERAS: ['KK', 'BK'], ERANAMES: ['Kabla ya Kristu', 'Baada ya Kristu'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['Januari', 'Februari', 'Machi', 'Aprilyi', 'Mei', 'Junyi', 'Julyai', - 'Agusti', 'Septemba', 'Oktoba', 'Novemba', 'Desemba'], - STANDALONEMONTHS: ['Januari', 'Februari', 'Machi', 'Aprilyi', 'Mei', 'Junyi', - 'Julyai', 'Agusti', 'Septemba', 'Oktoba', 'Novemba', 'Desemba'], - SHORTMONTHS: ['Jan', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Jul', 'Ago', 'Sep', - 'Okt', 'Nov', 'Des'], - STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Jul', - 'Ago', 'Sep', 'Okt', 'Nov', 'Des'], - WEEKDAYS: ['Jumapilyi', 'Jumatatuu', 'Jumanne', 'Jumatanu', 'Alhamisi', - 'Ijumaa', 'Jumamosi'], - STANDALONEWEEKDAYS: ['Jumapilyi', 'Jumatatuu', 'Jumanne', 'Jumatanu', - 'Alhamisi', 'Ijumaa', 'Jumamosi'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['Januari', 'Februari', 'Machi', 'Aprilyi', 'Mei', 'Junyi', 'Julyai', 'Agusti', 'Septemba', 'Oktoba', 'Novemba', 'Desemba'], + STANDALONEMONTHS: ['Januari', 'Februari', 'Machi', 'Aprilyi', 'Mei', 'Junyi', 'Julyai', 'Agusti', 'Septemba', 'Oktoba', 'Novemba', 'Desemba'], + SHORTMONTHS: ['Jan', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Jul', 'Ago', 'Sep', 'Okt', 'Nov', 'Des'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Jul', 'Ago', 'Sep', 'Okt', 'Nov', 'Des'], + WEEKDAYS: ['Jumapilyi', 'Jumatatuu', 'Jumanne', 'Jumatanu', 'Alhamisi', 'Ijumaa', 'Jumamosi'], + STANDALONEWEEKDAYS: ['Jumapilyi', 'Jumatatuu', 'Jumanne', 'Jumatanu', 'Alhamisi', 'Ijumaa', 'Jumamosi'], SHORTWEEKDAYS: ['Jpi', 'Jtt', 'Jnn', 'Jtn', 'Alh', 'Iju', 'Jmo'], STANDALONESHORTWEEKDAYS: ['Jpi', 'Jtt', 'Jnn', 'Jtn', 'Alh', 'Iju', 'Jmo'], NARROWWEEKDAYS: ['J', 'J', 'J', 'J', 'A', 'I', 'J'], @@ -11178,8 +10929,9 @@ goog.i18n.DateTimeSymbols_rwk = { SHORTQUARTERS: ['R1', 'R2', 'R3', 'R4'], QUARTERS: ['Robo 1', 'Robo 2', 'Robo 3', 'Robo 4'], AMPMS: ['utuko', 'kyiukonyi'], - DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yyyy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -11198,43 +10950,24 @@ goog.i18n.DateTimeSymbols_rwk_TZ = goog.i18n.DateTimeSymbols_rwk; goog.i18n.DateTimeSymbols_sah = { ERAS: ['б. э. и.', 'б. э'], ERANAMES: ['б. э. и.', 'б. э'], - NARROWMONTHS: ['Т', 'О', 'К', 'М', 'Ы', 'Б', 'О', 'А', 'Б', 'А', - 'С', 'А'], - STANDALONENARROWMONTHS: ['Т', 'О', 'К', 'М', 'Ы', 'Б', 'О', 'А', 'Б', - 'А', 'С', 'А'], - MONTHS: ['Тохсунньу', 'Олунньу', 'Кулун тутар', - 'Муус устар', 'Ыам ыйын', 'Бэс ыйын', - 'От ыйын', 'Атырдьых ыйын', 'Балаҕан ыйын', - 'Алтынньы', 'Сэтинньи', 'Ахсынньы'], - STANDALONEMONTHS: ['Тохсунньу', 'Олунньу', - 'Кулун тутар', 'Муус устар', 'Ыам ыйын', - 'Бэс ыйын', 'От ыйын', 'Атырдьых ыйын', - 'Балаҕан ыйын', 'Алтынньы', 'Сэтинньи', - 'Ахсынньы'], - SHORTMONTHS: ['Тохс', 'Олун', 'Клн_ттр', 'Мус_уст', - 'Ыам_йн', 'Бэс_йн', 'От_йн', 'Атрдь_йн', - 'Блҕн_йн', 'Алт', 'Сэт', 'Ахс'], - STANDALONESHORTMONTHS: ['Тохс', 'Олун', 'Клн_ттр', - 'Мус_уст', 'Ыам_йн', 'Бэс_йн', 'От_йн', - 'Атрдь_йн', 'Блҕн_йн', 'Алт', 'Сэт', 'Ахс'], - WEEKDAYS: ['Баскыһыанньа', 'Бэнидиэлинньик', - 'Оптуорунньук', 'Сэрэдэ', 'Чэппиэр', - 'Бээтиҥсэ', 'Субуота'], - STANDALONEWEEKDAYS: ['Баскыһыанньа', - 'Бэнидиэлинньик', 'Оптуорунньук', - 'Сэрэдэ', 'Чэппиэр', 'Бээтиҥсэ', 'Субуота'], - SHORTWEEKDAYS: ['Бс', 'Бн', 'Оп', 'Сэ', 'Чп', 'Бэ', 'Сб'], - STANDALONESHORTWEEKDAYS: ['Бс', 'Бн', 'Оп', 'Сэ', 'Чп', 'Бэ', - 'Сб'], + NARROWMONTHS: ['Т', 'О', 'К', 'М', 'Ы', 'Б', 'О', 'А', 'Б', 'А', 'С', 'А'], + STANDALONENARROWMONTHS: ['Т', 'О', 'К', 'М', 'Ы', 'Б', 'О', 'А', 'Б', 'А', 'С', 'А'], + MONTHS: ['Тохсунньу', 'Олунньу', 'Кулун тутар', 'Муус устар', 'Ыам ыйын', 'Бэс ыйын', 'От ыйын', 'Атырдьых ыйын', 'Балаҕан ыйын', 'Алтынньы', 'Сэтинньи', 'ахсынньы'], + STANDALONEMONTHS: ['тохсунньу', 'олунньу', 'кулун тутар', 'муус устар', 'ыам ыйа', 'бэс ыйа', 'от ыйа', 'атырдьых ыйа', 'балаҕан ыйа', 'алтынньы', 'сэтинньи', 'ахсынньы'], + SHORTMONTHS: ['Тохс', 'Олун', 'Клн', 'Мсу', 'Ыам', 'Бэс', 'Отй', 'Атр', 'Блҕ', 'Алт', 'Сэт', 'Ахс'], + STANDALONESHORTMONTHS: ['Тохс', 'Олун', 'Клн', 'Мсу', 'Ыам', 'Бэс', 'Отй', 'Атр', 'Блҕ', 'Алт', 'Сэт', 'Ахс'], + WEEKDAYS: ['баскыһыанньа', 'бэнидиэнньик', 'оптуорунньук', 'сэрэдэ', 'чэппиэр', 'Бээтиҥсэ', 'субуота'], + STANDALONEWEEKDAYS: ['баскыһыанньа', 'бэнидиэнньик', 'оптуорунньук', 'сэрэдэ', 'чэппиэр', 'Бээтиҥсэ', 'субуота'], + SHORTWEEKDAYS: ['бс', 'бн', 'оп', 'сэ', 'чп', 'бэ', 'сб'], + STANDALONESHORTWEEKDAYS: ['бс', 'бн', 'оп', 'сэ', 'чп', 'бэ', 'сб'], NARROWWEEKDAYS: ['Б', 'Б', 'О', 'С', 'Ч', 'Б', 'С'], STANDALONENARROWWEEKDAYS: ['Б', 'Б', 'О', 'С', 'Ч', 'Б', 'С'], SHORTQUARTERS: ['1-кы кб', '2-с кб', '3-с кб', '4-с кб'], - QUARTERS: ['1-кы кыбаартал', '2-с кыбаартал', - '3-с кыбаартал', '4-с кыбаартал'], + QUARTERS: ['1-кы кыбаартал', '2-с кыбаартал', '3-с кыбаартал', '4-с кыбаартал'], AMPMS: ['ЭИ', 'ЭК'], - DATEFORMATS: ['y \'сыл\' MMMM d \'күнэ\', EEEE', 'y, MMMM d', - 'y, MMM d', 'yy/M/d'], + DATEFORMATS: ['y \'сыл\' MMMM d \'күнэ\', EEEE', 'y, MMMM d', 'y, MMM d', 'yy/M/d'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -11254,24 +10987,13 @@ goog.i18n.DateTimeSymbols_saq = { ERAS: ['KK', 'BK'], ERANAMES: ['Kabla ya Christo', 'Baada ya Christo'], NARROWMONTHS: ['O', 'W', 'O', 'O', 'I', 'I', 'S', 'I', 'S', 'T', 'T', 'T'], - STANDALONENARROWMONTHS: ['O', 'W', 'O', 'O', 'I', 'I', 'S', 'I', 'S', 'T', - 'T', 'T'], - MONTHS: ['Lapa le obo', 'Lapa le waare', 'Lapa le okuni', 'Lapa le ong\'wan', - 'Lapa le imet', 'Lapa le ile', 'Lapa le sapa', 'Lapa le isiet', - 'Lapa le saal', 'Lapa le tomon', 'Lapa le tomon obo', - 'Lapa le tomon waare'], - STANDALONEMONTHS: ['Lapa le obo', 'Lapa le waare', 'Lapa le okuni', - 'Lapa le ong\'wan', 'Lapa le imet', 'Lapa le ile', 'Lapa le sapa', - 'Lapa le isiet', 'Lapa le saal', 'Lapa le tomon', 'Lapa le tomon obo', - 'Lapa le tomon waare'], - SHORTMONTHS: ['Obo', 'Waa', 'Oku', 'Ong', 'Ime', 'Ile', 'Sap', 'Isi', 'Saa', - 'Tom', 'Tob', 'Tow'], - STANDALONESHORTMONTHS: ['Obo', 'Waa', 'Oku', 'Ong', 'Ime', 'Ile', 'Sap', - 'Isi', 'Saa', 'Tom', 'Tob', 'Tow'], - WEEKDAYS: ['Mderot ee are', 'Mderot ee kuni', 'Mderot ee ong\'wan', - 'Mderot ee inet', 'Mderot ee ile', 'Mderot ee sapa', 'Mderot ee kwe'], - STANDALONEWEEKDAYS: ['Mderot ee are', 'Mderot ee kuni', 'Mderot ee ong\'wan', - 'Mderot ee inet', 'Mderot ee ile', 'Mderot ee sapa', 'Mderot ee kwe'], + STANDALONENARROWMONTHS: ['O', 'W', 'O', 'O', 'I', 'I', 'S', 'I', 'S', 'T', 'T', 'T'], + MONTHS: ['Lapa le obo', 'Lapa le waare', 'Lapa le okuni', 'Lapa le ong’wan', 'Lapa le imet', 'Lapa le ile', 'Lapa le sapa', 'Lapa le isiet', 'Lapa le saal', 'Lapa le tomon', 'Lapa le tomon obo', 'Lapa le tomon waare'], + STANDALONEMONTHS: ['Lapa le obo', 'Lapa le waare', 'Lapa le okuni', 'Lapa le ong’wan', 'Lapa le imet', 'Lapa le ile', 'Lapa le sapa', 'Lapa le isiet', 'Lapa le saal', 'Lapa le tomon', 'Lapa le tomon obo', 'Lapa le tomon waare'], + SHORTMONTHS: ['Obo', 'Waa', 'Oku', 'Ong', 'Ime', 'Ile', 'Sap', 'Isi', 'Saa', 'Tom', 'Tob', 'Tow'], + STANDALONESHORTMONTHS: ['Obo', 'Waa', 'Oku', 'Ong', 'Ime', 'Ile', 'Sap', 'Isi', 'Saa', 'Tom', 'Tob', 'Tow'], + WEEKDAYS: ['Mderot ee are', 'Mderot ee kuni', 'Mderot ee ong’wan', 'Mderot ee inet', 'Mderot ee ile', 'Mderot ee sapa', 'Mderot ee kwe'], + STANDALONEWEEKDAYS: ['Mderot ee are', 'Mderot ee kuni', 'Mderot ee ong’wan', 'Mderot ee inet', 'Mderot ee ile', 'Mderot ee sapa', 'Mderot ee kwe'], SHORTWEEKDAYS: ['Are', 'Kun', 'Ong', 'Ine', 'Ile', 'Sap', 'Kwe'], STANDALONESHORTWEEKDAYS: ['Are', 'Kun', 'Ong', 'Ine', 'Ile', 'Sap', 'Kwe'], NARROWWEEKDAYS: ['A', 'K', 'O', 'I', 'I', 'S', 'K'], @@ -11279,11 +11001,12 @@ goog.i18n.DateTimeSymbols_saq = { SHORTQUARTERS: ['R1', 'R2', 'R3', 'R4'], QUARTERS: ['Robo 1', 'Robo 2', 'Robo 3', 'Robo 4'], AMPMS: ['Tesiran', 'Teipa'], - DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yyyy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], - FIRSTDAYOFWEEK: 0, + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 6, WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 6 + FIRSTWEEKCUTOFFDAY: 5 }; @@ -11300,22 +11023,13 @@ goog.i18n.DateTimeSymbols_sbp = { ERAS: ['AK', 'PK'], ERANAMES: ['Ashanali uKilisito', 'Pamwandi ya Kilisto'], NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], - STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', - '11', '12'], - MONTHS: ['Mupalangulwa', 'Mwitope', 'Mushende', 'Munyi', 'Mushende Magali', - 'Mujimbi', 'Mushipepo', 'Mupuguto', 'Munyense', 'Mokhu', 'Musongandembwe', - 'Muhaano'], - STANDALONEMONTHS: ['Mupalangulwa', 'Mwitope', 'Mushende', 'Munyi', - 'Mushende Magali', 'Mujimbi', 'Mushipepo', 'Mupuguto', 'Munyense', - 'Mokhu', 'Musongandembwe', 'Muhaano'], - SHORTMONTHS: ['Mup', 'Mwi', 'Msh', 'Mun', 'Mag', 'Muj', 'Msp', 'Mpg', 'Mye', - 'Mok', 'Mus', 'Muh'], - STANDALONESHORTMONTHS: ['Mup', 'Mwi', 'Msh', 'Mun', 'Mag', 'Muj', 'Msp', - 'Mpg', 'Mye', 'Mok', 'Mus', 'Muh'], - WEEKDAYS: ['Mulungu', 'Jumatatu', 'Jumanne', 'Jumatano', 'Alahamisi', - 'Ijumaa', 'Jumamosi'], - STANDALONEWEEKDAYS: ['Mulungu', 'Jumatatu', 'Jumanne', 'Jumatano', - 'Alahamisi', 'Ijumaa', 'Jumamosi'], + STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + MONTHS: ['Mupalangulwa', 'Mwitope', 'Mushende', 'Munyi', 'Mushende Magali', 'Mujimbi', 'Mushipepo', 'Mupuguto', 'Munyense', 'Mokhu', 'Musongandembwe', 'Muhaano'], + STANDALONEMONTHS: ['Mupalangulwa', 'Mwitope', 'Mushende', 'Munyi', 'Mushende Magali', 'Mujimbi', 'Mushipepo', 'Mupuguto', 'Munyense', 'Mokhu', 'Musongandembwe', 'Muhaano'], + SHORTMONTHS: ['Mup', 'Mwi', 'Msh', 'Mun', 'Mag', 'Muj', 'Msp', 'Mpg', 'Mye', 'Mok', 'Mus', 'Muh'], + STANDALONESHORTMONTHS: ['Mup', 'Mwi', 'Msh', 'Mun', 'Mag', 'Muj', 'Msp', 'Mpg', 'Mye', 'Mok', 'Mus', 'Muh'], + WEEKDAYS: ['Mulungu', 'Jumatatu', 'Jumanne', 'Jumatano', 'Alahamisi', 'Ijumaa', 'Jumamosi'], + STANDALONEWEEKDAYS: ['Mulungu', 'Jumatatu', 'Jumanne', 'Jumatano', 'Alahamisi', 'Ijumaa', 'Jumamosi'], SHORTWEEKDAYS: ['Mul', 'Jtt', 'Jnn', 'Jtn', 'Alh', 'Iju', 'Jmo'], STANDALONESHORTWEEKDAYS: ['Mul', 'Jtt', 'Jnn', 'Jtn', 'Alh', 'Iju', 'Jmo'], NARROWWEEKDAYS: ['M', 'J', 'J', 'J', 'A', 'I', 'J'], @@ -11323,8 +11037,9 @@ goog.i18n.DateTimeSymbols_sbp = { SHORTQUARTERS: ['L1', 'L2', 'L3', 'L4'], QUARTERS: ['Lobo 1', 'Lobo 2', 'Lobo 3', 'Lobo 4'], AMPMS: ['Lwamilawu', 'Pashamihe'], - DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yyyy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -11344,33 +11059,23 @@ goog.i18n.DateTimeSymbols_se = { ERAS: ['o.Kr.', 'm.Kr.'], ERANAMES: ['ovdal Kristtusa', 'maŋŋel Kristtusa'], NARROWMONTHS: ['O', 'G', 'N', 'C', 'M', 'G', 'S', 'B', 'Č', 'G', 'S', 'J'], - STANDALONENARROWMONTHS: ['O', 'G', 'N', 'C', 'M', 'G', 'S', 'B', 'Č', 'G', - 'S', 'J'], - MONTHS: ['ođđajagemánnu', 'guovvamánnu', 'njukčamánnu', 'cuoŋománnu', - 'miessemánnu', 'geassemánnu', 'suoidnemánnu', 'borgemánnu', - 'čakčamánnu', 'golggotmánnu', 'skábmamánnu', 'juovlamánnu'], - STANDALONEMONTHS: ['ođđajagemánnu', 'guovvamánnu', 'njukčamánnu', - 'cuoŋománnu', 'miessemánnu', 'geassemánnu', 'suoidnemánnu', - 'borgemánnu', 'čakčamánnu', 'golggotmánnu', 'skábmamánnu', - 'juovlamánnu'], - SHORTMONTHS: ['ođđj', 'guov', 'njuk', 'cuo', 'mies', 'geas', 'suoi', 'borg', - 'čakč', 'golg', 'skáb', 'juov'], - STANDALONESHORTMONTHS: ['ođđj', 'guov', 'njuk', 'cuo', 'mies', 'geas', - 'suoi', 'borg', 'čakč', 'golg', 'skáb', 'juov'], - WEEKDAYS: ['sotnabeaivi', 'vuossárga', 'maŋŋebárga', 'gaskavahkku', - 'duorasdat', 'bearjadat', 'lávvardat'], - STANDALONEWEEKDAYS: ['sotnabeaivi', 'vuossárga', 'maŋŋebárga', - 'gaskavahkku', 'duorasdat', 'bearjadat', 'lávvardat'], + STANDALONENARROWMONTHS: ['O', 'G', 'N', 'C', 'M', 'G', 'S', 'B', 'Č', 'G', 'S', 'J'], + MONTHS: ['ođđajagemánnu', 'guovvamánnu', 'njukčamánnu', 'cuoŋománnu', 'miessemánnu', 'geassemánnu', 'suoidnemánnu', 'borgemánnu', 'čakčamánnu', 'golggotmánnu', 'skábmamánnu', 'juovlamánnu'], + STANDALONEMONTHS: ['ođđajagemánnu', 'guovvamánnu', 'njukčamánnu', 'cuoŋománnu', 'miessemánnu', 'geassemánnu', 'suoidnemánnu', 'borgemánnu', 'čakčamánnu', 'golggotmánnu', 'skábmamánnu', 'juovlamánnu'], + SHORTMONTHS: ['ođđj', 'guov', 'njuk', 'cuo', 'mies', 'geas', 'suoi', 'borg', 'čakč', 'golg', 'skáb', 'juov'], + STANDALONESHORTMONTHS: ['ođđj', 'guov', 'njuk', 'cuo', 'mies', 'geas', 'suoi', 'borg', 'čakč', 'golg', 'skáb', 'juov'], + WEEKDAYS: ['sotnabeaivi', 'vuossárga', 'maŋŋebárga', 'gaskavahkku', 'duorasdat', 'bearjadat', 'lávvardat'], + STANDALONEWEEKDAYS: ['sotnabeaivi', 'vuossárga', 'maŋŋebárga', 'gaskavahkku', 'duorasdat', 'bearjadat', 'lávvardat'], SHORTWEEKDAYS: ['sotn', 'vuos', 'maŋ', 'gask', 'duor', 'bear', 'láv'], - STANDALONESHORTWEEKDAYS: ['sotn', 'vuos', 'maŋ', 'gask', 'duor', 'bear', - 'láv'], + STANDALONESHORTWEEKDAYS: ['sotn', 'vuos', 'maŋ', 'gask', 'duor', 'bear', 'láv'], NARROWWEEKDAYS: ['S', 'V', 'M', 'G', 'D', 'B', 'L'], STANDALONENARROWWEEKDAYS: ['S', 'V', 'M', 'G', 'D', 'B', 'L'], SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], QUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], AMPMS: ['iđitbeaivet', 'eahketbeaivet'], - DATEFORMATS: ['EEEE, y MMMM dd', 'y MMMM d', 'y MMM d', 'yyyy-MM-dd'], + DATEFORMATS: ['y MMMM d, EEEE', 'y MMMM d', 'y MMM d', 'y-MM-dd'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 3 @@ -11384,33 +11089,23 @@ goog.i18n.DateTimeSymbols_se_FI = { ERAS: ['o.Kr.', 'm.Kr.'], ERANAMES: ['ovdal Kristtusa', 'maŋŋel Kristtusa'], NARROWMONTHS: ['O', 'G', 'N', 'C', 'M', 'G', 'S', 'B', 'Č', 'G', 'S', 'J'], - STANDALONENARROWMONTHS: ['O', 'G', 'N', 'C', 'M', 'G', 'S', 'B', 'Č', 'G', - 'S', 'J'], - MONTHS: ['ođđajagemánnu', 'guovvamánnu', 'njukčamánnu', 'cuoŋománnu', - 'miessemánnu', 'geassemánnu', 'suoidnemánnu', 'borgemánnu', - 'čakčamánnu', 'golggotmánnu', 'skábmamánnu', 'juovlamánnu'], - STANDALONEMONTHS: ['ođđajagemánnu', 'guovvamánnu', 'njukčamánnu', - 'cuoŋománnu', 'miessemánnu', 'geassemánnu', 'suoidnemánnu', - 'borgemánnu', 'čakčamánnu', 'golggotmánnu', 'skábmamánnu', - 'juovlamánnu'], - SHORTMONTHS: ['ođđajage', 'guovva', 'njukča', 'cuoŋo', 'miesse', 'geasse', - 'suoidne', 'borge', 'čakča', 'golggot', 'skábma', 'juovla'], - STANDALONESHORTMONTHS: ['ođđajage', 'guovva', 'njukča', 'cuoŋo', 'miesse', - 'geasse', 'suoidne', 'borge', 'čakča', 'golggot', 'skábma', 'juovla'], - WEEKDAYS: ['aejlege', 'måanta', 'däjsta', 'gaskevahkoe', 'dåarsta', - 'bearjadahke', 'laavadahke'], - STANDALONEWEEKDAYS: ['aejlege', 'måanta', 'däjsta', 'gaskevahkoe', - 'dåarsta', 'bearjadahke', 'laavadahke'], + STANDALONENARROWMONTHS: ['O', 'G', 'N', 'C', 'M', 'G', 'S', 'B', 'Č', 'G', 'S', 'J'], + MONTHS: ['ođđajagemánnu', 'guovvamánnu', 'njukčamánnu', 'cuoŋománnu', 'miessemánnu', 'geassemánnu', 'suoidnemánnu', 'borgemánnu', 'čakčamánnu', 'golggotmánnu', 'skábmamánnu', 'juovlamánnu'], + STANDALONEMONTHS: ['ođđajagemánnu', 'guovvamánnu', 'njukčamánnu', 'cuoŋománnu', 'miessemánnu', 'geassemánnu', 'suoidnemánnu', 'borgemánnu', 'čakčamánnu', 'golggotmánnu', 'skábmamánnu', 'juovlamánnu'], + SHORTMONTHS: ['ođđj', 'guov', 'njuk', 'cuo', 'mies', 'geas', 'suoi', 'borg', 'čakč', 'golg', 'skáb', 'juov'], + STANDALONESHORTMONTHS: ['ođđj', 'guov', 'njuk', 'cuo', 'mies', 'geas', 'suoi', 'borg', 'čakč', 'golg', 'skáb', 'juov'], + WEEKDAYS: ['sotnabeaivi', 'vuossárgga', 'maŋŋebárgga', 'gaskavahku', 'duorastaga', 'bearjadaga', 'lávvardaga'], + STANDALONEWEEKDAYS: ['sotnabeaivi', 'vuossárga', 'maŋŋebárga', 'gaskavahkku', 'duorasdat', 'bearjadat', 'lávvardat'], SHORTWEEKDAYS: ['sotn', 'vuos', 'maŋ', 'gask', 'duor', 'bear', 'láv'], - STANDALONESHORTWEEKDAYS: ['sotn', 'vuos', 'maŋ', 'gask', 'duor', 'bear', - 'láv'], + STANDALONESHORTWEEKDAYS: ['sotn', 'vuos', 'maŋ', 'gask', 'duor', 'bear', 'láv'], NARROWWEEKDAYS: ['S', 'M', 'D', 'G', 'D', 'B', 'L'], STANDALONENARROWWEEKDAYS: ['S', 'M', 'D', 'G', 'D', 'B', 'L'], SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], QUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], AMPMS: ['iđitbeaivet', 'eahketbeaivet'], - DATEFORMATS: ['EEEE, y MMMM dd', 'y MMMM d', 'y MMM d', 'yyyy-MM-dd'], + DATEFORMATS: ['y MMMM d, EEEE', 'y MMMM d', 'y MMM d', 'y-MM-dd'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 3 @@ -11423,6 +11118,12 @@ goog.i18n.DateTimeSymbols_se_FI = { goog.i18n.DateTimeSymbols_se_NO = goog.i18n.DateTimeSymbols_se; +/** + * Date/time formatting symbols for locale se_SE. + */ +goog.i18n.DateTimeSymbols_se_SE = goog.i18n.DateTimeSymbols_se; + + /** * Date/time formatting symbols for locale seh. */ @@ -11430,20 +11131,13 @@ goog.i18n.DateTimeSymbols_seh = { ERAS: ['AC', 'AD'], ERANAMES: ['Antes de Cristo', 'Anno Domini'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['Janeiro', 'Fevreiro', 'Marco', 'Abril', 'Maio', 'Junho', 'Julho', - 'Augusto', 'Setembro', 'Otubro', 'Novembro', 'Decembro'], - STANDALONEMONTHS: ['Janeiro', 'Fevreiro', 'Marco', 'Abril', 'Maio', 'Junho', - 'Julho', 'Augusto', 'Setembro', 'Otubro', 'Novembro', 'Decembro'], - SHORTMONTHS: ['Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun', 'Jul', 'Aug', 'Set', - 'Otu', 'Nov', 'Dec'], - STANDALONESHORTMONTHS: ['Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun', 'Jul', - 'Aug', 'Set', 'Otu', 'Nov', 'Dec'], - WEEKDAYS: ['Dimingu', 'Chiposi', 'Chipiri', 'Chitatu', 'Chinai', 'Chishanu', - 'Sabudu'], - STANDALONEWEEKDAYS: ['Dimingu', 'Chiposi', 'Chipiri', 'Chitatu', 'Chinai', - 'Chishanu', 'Sabudu'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['Janeiro', 'Fevreiro', 'Marco', 'Abril', 'Maio', 'Junho', 'Julho', 'Augusto', 'Setembro', 'Otubro', 'Novembro', 'Decembro'], + STANDALONEMONTHS: ['Janeiro', 'Fevreiro', 'Marco', 'Abril', 'Maio', 'Junho', 'Julho', 'Augusto', 'Setembro', 'Otubro', 'Novembro', 'Decembro'], + SHORTMONTHS: ['Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun', 'Jul', 'Aug', 'Set', 'Otu', 'Nov', 'Dec'], + STANDALONESHORTMONTHS: ['Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun', 'Jul', 'Aug', 'Set', 'Otu', 'Nov', 'Dec'], + WEEKDAYS: ['Dimingu', 'Chiposi', 'Chipiri', 'Chitatu', 'Chinai', 'Chishanu', 'Sabudu'], + STANDALONEWEEKDAYS: ['Dimingu', 'Chiposi', 'Chipiri', 'Chitatu', 'Chinai', 'Chishanu', 'Sabudu'], SHORTWEEKDAYS: ['Dim', 'Pos', 'Pir', 'Tat', 'Nai', 'Sha', 'Sab'], STANDALONESHORTWEEKDAYS: ['Dim', 'Pos', 'Pir', 'Tat', 'Nai', 'Sha', 'Sab'], NARROWWEEKDAYS: ['D', 'P', 'C', 'T', 'N', 'S', 'S'], @@ -11451,12 +11145,12 @@ goog.i18n.DateTimeSymbols_seh = { SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], QUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE, d \'de\' MMMM \'de\' y', 'd \'de\' MMMM \'de\' y', - 'd \'de\' MMM \'de\' y', 'd/M/yyyy'], + DATEFORMATS: ['EEEE, d \'de\' MMMM \'de\' y', 'd \'de\' MMMM \'de\' y', 'd \'de\' MMM \'de\' y', 'd/M/y'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 0, + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 6, WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 6 + FIRSTWEEKCUTOFFDAY: 5 }; @@ -11473,21 +11167,13 @@ goog.i18n.DateTimeSymbols_ses = { ERAS: ['IJ', 'IZ'], ERANAMES: ['Isaa jine', 'Isaa zamanoo'], NARROWMONTHS: ['Ž', 'F', 'M', 'A', 'M', 'Ž', 'Ž', 'U', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['Ž', 'F', 'M', 'A', 'M', 'Ž', 'Ž', 'U', 'S', 'O', - 'N', 'D'], - MONTHS: ['Žanwiye', 'Feewiriye', 'Marsi', 'Awiril', 'Me', 'Žuweŋ', - 'Žuyye', 'Ut', 'Sektanbur', 'Oktoobur', 'Noowanbur', 'Deesanbur'], - STANDALONEMONTHS: ['Žanwiye', 'Feewiriye', 'Marsi', 'Awiril', 'Me', - 'Žuweŋ', 'Žuyye', 'Ut', 'Sektanbur', 'Oktoobur', 'Noowanbur', - 'Deesanbur'], - SHORTMONTHS: ['Žan', 'Fee', 'Mar', 'Awi', 'Me', 'Žuw', 'Žuy', 'Ut', 'Sek', - 'Okt', 'Noo', 'Dee'], - STANDALONESHORTMONTHS: ['Žan', 'Fee', 'Mar', 'Awi', 'Me', 'Žuw', 'Žuy', - 'Ut', 'Sek', 'Okt', 'Noo', 'Dee'], - WEEKDAYS: ['Alhadi', 'Atinni', 'Atalaata', 'Alarba', 'Alhamiisa', 'Alzuma', - 'Asibti'], - STANDALONEWEEKDAYS: ['Alhadi', 'Atinni', 'Atalaata', 'Alarba', 'Alhamiisa', - 'Alzuma', 'Asibti'], + STANDALONENARROWMONTHS: ['Ž', 'F', 'M', 'A', 'M', 'Ž', 'Ž', 'U', 'S', 'O', 'N', 'D'], + MONTHS: ['Žanwiye', 'Feewiriye', 'Marsi', 'Awiril', 'Me', 'Žuweŋ', 'Žuyye', 'Ut', 'Sektanbur', 'Oktoobur', 'Noowanbur', 'Deesanbur'], + STANDALONEMONTHS: ['Žanwiye', 'Feewiriye', 'Marsi', 'Awiril', 'Me', 'Žuweŋ', 'Žuyye', 'Ut', 'Sektanbur', 'Oktoobur', 'Noowanbur', 'Deesanbur'], + SHORTMONTHS: ['Žan', 'Fee', 'Mar', 'Awi', 'Me', 'Žuw', 'Žuy', 'Ut', 'Sek', 'Okt', 'Noo', 'Dee'], + STANDALONESHORTMONTHS: ['Žan', 'Fee', 'Mar', 'Awi', 'Me', 'Žuw', 'Žuy', 'Ut', 'Sek', 'Okt', 'Noo', 'Dee'], + WEEKDAYS: ['Alhadi', 'Atinni', 'Atalaata', 'Alarba', 'Alhamiisa', 'Alzuma', 'Asibti'], + STANDALONEWEEKDAYS: ['Alhadi', 'Atinni', 'Atalaata', 'Alarba', 'Alhamiisa', 'Alzuma', 'Asibti'], SHORTWEEKDAYS: ['Alh', 'Ati', 'Ata', 'Ala', 'Alm', 'Alz', 'Asi'], STANDALONESHORTWEEKDAYS: ['Alh', 'Ati', 'Ata', 'Ala', 'Alm', 'Alz', 'Asi'], NARROWWEEKDAYS: ['H', 'T', 'T', 'L', 'L', 'L', 'S'], @@ -11495,8 +11181,9 @@ goog.i18n.DateTimeSymbols_ses = { SHORTQUARTERS: ['A1', 'A2', 'A3', 'A4'], QUARTERS: ['Arrubu 1', 'Arrubu 2', 'Arrubu 3', 'Arrubu 4'], AMPMS: ['Adduha', 'Aluula'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM, y', 'd/M/yyyy'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM, y', 'd/M/y'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -11516,31 +11203,23 @@ goog.i18n.DateTimeSymbols_sg = { ERAS: ['KnK', 'NpK'], ERANAMES: ['Kôzo na Krîstu', 'Na pekô tî Krîstu'], NARROWMONTHS: ['N', 'F', 'M', 'N', 'B', 'F', 'L', 'K', 'M', 'N', 'N', 'K'], - STANDALONENARROWMONTHS: ['N', 'F', 'M', 'N', 'B', 'F', 'L', 'K', 'M', 'N', - 'N', 'K'], - MONTHS: ['Nyenye', 'Fulundïgi', 'Mbängü', 'Ngubùe', 'Bêläwü', 'Föndo', - 'Lengua', 'Kükürü', 'Mvuka', 'Ngberere', 'Nabändüru', 'Kakauka'], - STANDALONEMONTHS: ['Nyenye', 'Fulundïgi', 'Mbängü', 'Ngubùe', 'Bêläwü', - 'Föndo', 'Lengua', 'Kükürü', 'Mvuka', 'Ngberere', 'Nabändüru', - 'Kakauka'], - SHORTMONTHS: ['Nye', 'Ful', 'Mbä', 'Ngu', 'Bêl', 'Fön', 'Len', 'Kük', - 'Mvu', 'Ngb', 'Nab', 'Kak'], - STANDALONESHORTMONTHS: ['Nye', 'Ful', 'Mbä', 'Ngu', 'Bêl', 'Fön', 'Len', - 'Kük', 'Mvu', 'Ngb', 'Nab', 'Kak'], - WEEKDAYS: ['Bikua-ôko', 'Bïkua-ûse', 'Bïkua-ptâ', 'Bïkua-usïö', - 'Bïkua-okü', 'Lâpôsö', 'Lâyenga'], - STANDALONEWEEKDAYS: ['Bikua-ôko', 'Bïkua-ûse', 'Bïkua-ptâ', - 'Bïkua-usïö', 'Bïkua-okü', 'Lâpôsö', 'Lâyenga'], + STANDALONENARROWMONTHS: ['N', 'F', 'M', 'N', 'B', 'F', 'L', 'K', 'M', 'N', 'N', 'K'], + MONTHS: ['Nyenye', 'Fulundïgi', 'Mbängü', 'Ngubùe', 'Bêläwü', 'Föndo', 'Lengua', 'Kükürü', 'Mvuka', 'Ngberere', 'Nabändüru', 'Kakauka'], + STANDALONEMONTHS: ['Nyenye', 'Fulundïgi', 'Mbängü', 'Ngubùe', 'Bêläwü', 'Föndo', 'Lengua', 'Kükürü', 'Mvuka', 'Ngberere', 'Nabändüru', 'Kakauka'], + SHORTMONTHS: ['Nye', 'Ful', 'Mbä', 'Ngu', 'Bêl', 'Fön', 'Len', 'Kük', 'Mvu', 'Ngb', 'Nab', 'Kak'], + STANDALONESHORTMONTHS: ['Nye', 'Ful', 'Mbä', 'Ngu', 'Bêl', 'Fön', 'Len', 'Kük', 'Mvu', 'Ngb', 'Nab', 'Kak'], + WEEKDAYS: ['Bikua-ôko', 'Bïkua-ûse', 'Bïkua-ptâ', 'Bïkua-usïö', 'Bïkua-okü', 'Lâpôsö', 'Lâyenga'], + STANDALONEWEEKDAYS: ['Bikua-ôko', 'Bïkua-ûse', 'Bïkua-ptâ', 'Bïkua-usïö', 'Bïkua-okü', 'Lâpôsö', 'Lâyenga'], SHORTWEEKDAYS: ['Bk1', 'Bk2', 'Bk3', 'Bk4', 'Bk5', 'Lâp', 'Lây'], STANDALONESHORTWEEKDAYS: ['Bk1', 'Bk2', 'Bk3', 'Bk4', 'Bk5', 'Lâp', 'Lây'], NARROWWEEKDAYS: ['K', 'S', 'T', 'S', 'K', 'P', 'Y'], STANDALONENARROWWEEKDAYS: ['K', 'S', 'T', 'S', 'K', 'P', 'Y'], - SHORTQUARTERS: ['F4-1', 'F4-2', 'F4-3', 'F4-4'], - QUARTERS: ['Fângbisïö ôko', 'Fângbisïö ûse', 'Fângbisïö otâ', - 'Fângbisïö usïö'], + SHORTQUARTERS: ['F4–1', 'F4–2', 'F4–3', 'F4–4'], + QUARTERS: ['Fângbisïö ôko', 'Fângbisïö ûse', 'Fângbisïö otâ', 'Fângbisïö usïö'], AMPMS: ['ND', 'LK'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM, y', 'd/M/yyyy'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM, y', 'd/M/y'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -11548,212 +11227,155 @@ goog.i18n.DateTimeSymbols_sg = { /** - * Date/time formatting symbols for locale sg_CF. - */ -goog.i18n.DateTimeSymbols_sg_CF = goog.i18n.DateTimeSymbols_sg; - - -/** - * Date/time formatting symbols for locale shi. + * Date/time formatting symbols for locale sg_CF. + */ +goog.i18n.DateTimeSymbols_sg_CF = goog.i18n.DateTimeSymbols_sg; + + +/** + * Date/time formatting symbols for locale shi. + */ +goog.i18n.DateTimeSymbols_shi = { + ERAS: ['ⴷⴰⵄ', 'ⴷⴼⵄ'], + ERANAMES: ['ⴷⴰⵜ ⵏ ⵄⵉⵙⴰ', 'ⴷⴼⴼⵉⵔ ⵏ ⵄⵉⵙⴰ'], + NARROWMONTHS: ['ⵉ', 'ⴱ', 'ⵎ', 'ⵉ', 'ⵎ', 'ⵢ', 'ⵢ', 'ⵖ', 'ⵛ', 'ⴽ', 'ⵏ', 'ⴷ'], + STANDALONENARROWMONTHS: ['ⵉ', 'ⴱ', 'ⵎ', 'ⵉ', 'ⵎ', 'ⵢ', 'ⵢ', 'ⵖ', 'ⵛ', 'ⴽ', 'ⵏ', 'ⴷ'], + MONTHS: ['ⵉⵏⵏⴰⵢⵔ', 'ⴱⵕⴰⵢⵕ', 'ⵎⴰⵕⵚ', 'ⵉⴱⵔⵉⵔ', 'ⵎⴰⵢⵢⵓ', 'ⵢⵓⵏⵢⵓ', 'ⵢⵓⵍⵢⵓⵣ', 'ⵖⵓⵛⵜ', 'ⵛⵓⵜⴰⵏⴱⵉⵔ', 'ⴽⵜⵓⴱⵔ', 'ⵏⵓⵡⴰⵏⴱⵉⵔ', 'ⴷⵓⵊⴰⵏⴱⵉⵔ'], + STANDALONEMONTHS: ['ⵉⵏⵏⴰⵢⵔ', 'ⴱⵕⴰⵢⵕ', 'ⵎⴰⵕⵚ', 'ⵉⴱⵔⵉⵔ', 'ⵎⴰⵢⵢⵓ', 'ⵢⵓⵏⵢⵓ', 'ⵢⵓⵍⵢⵓⵣ', 'ⵖⵓⵛⵜ', 'ⵛⵓⵜⴰⵏⴱⵉⵔ', 'ⴽⵜⵓⴱⵔ', 'ⵏⵓⵡⴰⵏⴱⵉⵔ', 'ⴷⵓⵊⴰⵏⴱⵉⵔ'], + SHORTMONTHS: ['ⵉⵏⵏ', 'ⴱⵕⴰ', 'ⵎⴰⵕ', 'ⵉⴱⵔ', 'ⵎⴰⵢ', 'ⵢⵓⵏ', 'ⵢⵓⵍ', 'ⵖⵓⵛ', 'ⵛⵓⵜ', 'ⴽⵜⵓ', 'ⵏⵓⵡ', 'ⴷⵓⵊ'], + STANDALONESHORTMONTHS: ['ⵉⵏⵏ', 'ⴱⵕⴰ', 'ⵎⴰⵕ', 'ⵉⴱⵔ', 'ⵎⴰⵢ', 'ⵢⵓⵏ', 'ⵢⵓⵍ', 'ⵖⵓⵛ', 'ⵛⵓⵜ', 'ⴽⵜⵓ', 'ⵏⵓⵡ', 'ⴷⵓⵊ'], + WEEKDAYS: ['ⴰⵙⴰⵎⴰⵙ', 'ⴰⵢⵏⴰⵙ', 'ⴰⵙⵉⵏⴰⵙ', 'ⴰⴽⵕⴰⵙ', 'ⴰⴽⵡⴰⵙ', 'ⵙⵉⵎⵡⴰⵙ', 'ⴰⵙⵉⴹⵢⴰⵙ'], + STANDALONEWEEKDAYS: ['ⴰⵙⴰⵎⴰⵙ', 'ⴰⵢⵏⴰⵙ', 'ⴰⵙⵉⵏⴰⵙ', 'ⴰⴽⵕⴰⵙ', 'ⴰⴽⵡⴰⵙ', 'ⵙⵉⵎⵡⴰⵙ', 'ⴰⵙⵉⴹⵢⴰⵙ'], + SHORTWEEKDAYS: ['ⴰⵙⴰ', 'ⴰⵢⵏ', 'ⴰⵙⵉ', 'ⴰⴽⵕ', 'ⴰⴽⵡ', 'ⴰⵙⵉⵎ', 'ⴰⵙⵉⴹ'], + STANDALONESHORTWEEKDAYS: ['ⴰⵙⴰ', 'ⴰⵢⵏ', 'ⴰⵙⵉ', 'ⴰⴽⵕ', 'ⴰⴽⵡ', 'ⴰⵙⵉⵎ', 'ⴰⵙⵉⴹ'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['ⴰⴽ 1', 'ⴰⴽ 2', 'ⴰⴽ 3', 'ⴰⴽ 4'], + QUARTERS: ['ⴰⴽⵕⴰⴹⵢⵓⵔ 1', 'ⴰⴽⵕⴰⴹⵢⵓⵔ 2', 'ⴰⴽⵕⴰⴹⵢⵓⵔ 3', 'ⴰⴽⵕⴰⴹⵢⵓⵔ 4'], + AMPMS: ['ⵜⵉⴼⴰⵡⵜ', 'ⵜⴰⴷⴳⴳⵯⴰⵜ'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM, y', 'd/M/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 5, + WEEKENDRANGE: [4, 5], + FIRSTWEEKCUTOFFDAY: 4 +}; + + +/** + * Date/time formatting symbols for locale shi_Latn. + */ +goog.i18n.DateTimeSymbols_shi_Latn = { + ERAS: ['daɛ', 'dfɛ'], + ERANAMES: ['dat n ɛisa', 'dffir n ɛisa'], + NARROWMONTHS: ['i', 'b', 'm', 'i', 'm', 'y', 'y', 'ɣ', 'c', 'k', 'n', 'd'], + STANDALONENARROWMONTHS: ['i', 'b', 'm', 'i', 'm', 'y', 'y', 'ɣ', 'c', 'k', 'n', 'd'], + MONTHS: ['innayr', 'bṛayṛ', 'maṛṣ', 'ibrir', 'mayyu', 'yunyu', 'yulyuz', 'ɣuct', 'cutanbir', 'ktubr', 'nuwanbir', 'dujanbir'], + STANDALONEMONTHS: ['innayr', 'bṛayṛ', 'maṛṣ', 'ibrir', 'mayyu', 'yunyu', 'yulyuz', 'ɣuct', 'cutanbir', 'ktubr', 'nuwanbir', 'dujanbir'], + SHORTMONTHS: ['inn', 'bṛa', 'maṛ', 'ibr', 'may', 'yun', 'yul', 'ɣuc', 'cut', 'ktu', 'nuw', 'duj'], + STANDALONESHORTMONTHS: ['inn', 'bṛa', 'maṛ', 'ibr', 'may', 'yun', 'yul', 'ɣuc', 'cut', 'ktu', 'nuw', 'duj'], + WEEKDAYS: ['asamas', 'aynas', 'asinas', 'akṛas', 'akwas', 'asimwas', 'asiḍyas'], + STANDALONEWEEKDAYS: ['asamas', 'aynas', 'asinas', 'akṛas', 'akwas', 'asimwas', 'asiḍyas'], + SHORTWEEKDAYS: ['asa', 'ayn', 'asi', 'akṛ', 'akw', 'asim', 'asiḍ'], + STANDALONESHORTWEEKDAYS: ['asa', 'ayn', 'asi', 'akṛ', 'akw', 'asim', 'asiḍ'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['ak 1', 'ak 2', 'ak 3', 'ak 4'], + QUARTERS: ['akṛaḍyur 1', 'akṛaḍyur 2', 'akṛaḍyur 3', 'akṛaḍyur 4'], + AMPMS: ['tifawt', 'tadggʷat'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM, y', 'd/M/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 5, + WEEKENDRANGE: [4, 5], + FIRSTWEEKCUTOFFDAY: 4 +}; + + +/** + * Date/time formatting symbols for locale shi_Latn_MA. */ -goog.i18n.DateTimeSymbols_shi = { +goog.i18n.DateTimeSymbols_shi_Latn_MA = { ERAS: ['daɛ', 'dfɛ'], ERANAMES: ['dat n ɛisa', 'dffir n ɛisa'], NARROWMONTHS: ['i', 'b', 'm', 'i', 'm', 'y', 'y', 'ɣ', 'c', 'k', 'n', 'd'], - STANDALONENARROWMONTHS: ['i', 'b', 'm', 'i', 'm', 'y', 'y', 'ɣ', 'c', 'k', - 'n', 'd'], - MONTHS: ['innayr', 'bṛayṛ', 'maṛṣ', 'ibrir', 'mayyu', 'yunyu', - 'yulyuz', 'ɣuct', 'cutanbir', 'ktubr', 'nuwanbir', 'dujanbir'], - STANDALONEMONTHS: ['innayr', 'bṛayṛ', 'maṛṣ', 'ibrir', 'mayyu', - 'yunyu', 'yulyuz', 'ɣuct', 'cutanbir', 'ktubr', 'nuwanbir', 'dujanbir'], - SHORTMONTHS: ['inn', 'bṛa', 'maṛ', 'ibr', 'may', 'yun', 'yul', 'ɣuc', - 'cut', 'ktu', 'nuw', 'duj'], - STANDALONESHORTMONTHS: ['inn', 'bṛa', 'maṛ', 'ibr', 'may', 'yun', 'yul', - 'ɣuc', 'cut', 'ktu', 'nuw', 'duj'], - WEEKDAYS: ['asamas', 'aynas', 'asinas', 'akṛas', 'akwas', 'asimwas', - 'asiḍyas'], - STANDALONEWEEKDAYS: ['asamas', 'aynas', 'asinas', 'akṛas', 'akwas', - 'asimwas', 'asiḍyas'], + STANDALONENARROWMONTHS: ['i', 'b', 'm', 'i', 'm', 'y', 'y', 'ɣ', 'c', 'k', 'n', 'd'], + MONTHS: ['innayr', 'bṛayṛ', 'maṛṣ', 'ibrir', 'mayyu', 'yunyu', 'yulyuz', 'ɣuct', 'cutanbir', 'ktubr', 'nuwanbir', 'dujanbir'], + STANDALONEMONTHS: ['innayr', 'bṛayṛ', 'maṛṣ', 'ibrir', 'mayyu', 'yunyu', 'yulyuz', 'ɣuct', 'cutanbir', 'ktubr', 'nuwanbir', 'dujanbir'], + SHORTMONTHS: ['inn', 'bṛa', 'maṛ', 'ibr', 'may', 'yun', 'yul', 'ɣuc', 'cut', 'ktu', 'nuw', 'duj'], + STANDALONESHORTMONTHS: ['inn', 'bṛa', 'maṛ', 'ibr', 'may', 'yun', 'yul', 'ɣuc', 'cut', 'ktu', 'nuw', 'duj'], + WEEKDAYS: ['asamas', 'aynas', 'asinas', 'akṛas', 'akwas', 'asimwas', 'asiḍyas'], + STANDALONEWEEKDAYS: ['asamas', 'aynas', 'asinas', 'akṛas', 'akwas', 'asimwas', 'asiḍyas'], SHORTWEEKDAYS: ['asa', 'ayn', 'asi', 'akṛ', 'akw', 'asim', 'asiḍ'], - STANDALONESHORTWEEKDAYS: ['asa', 'ayn', 'asi', 'akṛ', 'akw', 'asim', - 'asiḍ'], - NARROWWEEKDAYS: ['1', '2', '3', '4', '5', '6', '7'], - STANDALONENARROWWEEKDAYS: ['1', '2', '3', '4', '5', '6', '7'], + STANDALONESHORTWEEKDAYS: ['asa', 'ayn', 'asi', 'akṛ', 'akw', 'asim', 'asiḍ'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], SHORTQUARTERS: ['ak 1', 'ak 2', 'ak 3', 'ak 4'], - QUARTERS: ['akṛaḍyur 1', 'akṛaḍyur 2', 'akṛaḍyur 3', - 'akṛaḍyur 4'], + QUARTERS: ['akṛaḍyur 1', 'akṛaḍyur 2', 'akṛaḍyur 3', 'akṛaḍyur 4'], AMPMS: ['tifawt', 'tadggʷat'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM, y', 'd/M/yyyy'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM, y', 'd/M/y'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 6 + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 5, + WEEKENDRANGE: [4, 5], + FIRSTWEEKCUTOFFDAY: 4 }; /** - * Date/time formatting symbols for locale shi_Latn. + * Date/time formatting symbols for locale shi_Tfng. */ -goog.i18n.DateTimeSymbols_shi_Latn = goog.i18n.DateTimeSymbols_shi; +goog.i18n.DateTimeSymbols_shi_Tfng = goog.i18n.DateTimeSymbols_shi; /** - * Date/time formatting symbols for locale shi_Latn_MA. + * Date/time formatting symbols for locale shi_Tfng_MA. */ -goog.i18n.DateTimeSymbols_shi_Latn_MA = goog.i18n.DateTimeSymbols_shi; +goog.i18n.DateTimeSymbols_shi_Tfng_MA = goog.i18n.DateTimeSymbols_shi; /** - * Date/time formatting symbols for locale shi_Tfng. + * Date/time formatting symbols for locale si_LK. */ -goog.i18n.DateTimeSymbols_shi_Tfng = { - ERAS: ['ⴷⴰⵄ', 'ⴷⴼⵄ'], - ERANAMES: ['ⴷⴰⵜ ⵏ ⵄⵉⵙⴰ', 'ⴷⴼⴼⵉⵔ ⵏ ⵄⵉⵙⴰ'], - NARROWMONTHS: ['ⵉ', 'ⴱ', 'ⵎ', 'ⵉ', 'ⵎ', 'ⵢ', 'ⵢ', 'ⵖ', 'ⵛ', - 'ⴽ', 'ⵏ', 'ⴷ'], - STANDALONENARROWMONTHS: ['ⵉ', 'ⴱ', 'ⵎ', 'ⵉ', 'ⵎ', 'ⵢ', 'ⵢ', - 'ⵖ', 'ⵛ', 'ⴽ', 'ⵏ', 'ⴷ'], - MONTHS: ['ⵉⵏⵏⴰⵢⵔ', 'ⴱⵕⴰⵢⵕ', 'ⵎⴰⵕⵚ', - 'ⵉⴱⵔⵉⵔ', 'ⵎⴰⵢⵢⵓ', 'ⵢⵓⵏⵢⵓ', - 'ⵢⵓⵍⵢⵓⵣ', 'ⵖⵓⵛⵜ', 'ⵛⵓⵜⴰⵏⴱⵉⵔ', - 'ⴽⵜⵓⴱⵔ', 'ⵏⵓⵡⴰⵏⴱⵉⵔ', - 'ⴷⵓⵊⴰⵏⴱⵉⵔ'], - STANDALONEMONTHS: ['ⵉⵏⵏⴰⵢⵔ', 'ⴱⵕⴰⵢⵕ', 'ⵎⴰⵕⵚ', - 'ⵉⴱⵔⵉⵔ', 'ⵎⴰⵢⵢⵓ', 'ⵢⵓⵏⵢⵓ', - 'ⵢⵓⵍⵢⵓⵣ', 'ⵖⵓⵛⵜ', 'ⵛⵓⵜⴰⵏⴱⵉⵔ', - 'ⴽⵜⵓⴱⵔ', 'ⵏⵓⵡⴰⵏⴱⵉⵔ', - 'ⴷⵓⵊⴰⵏⴱⵉⵔ'], - SHORTMONTHS: ['ⵉⵏⵏ', 'ⴱⵕⴰ', 'ⵎⴰⵕ', 'ⵉⴱⵔ', 'ⵎⴰⵢ', - 'ⵢⵓⵏ', 'ⵢⵓⵍ', 'ⵖⵓⵛ', 'ⵛⵓⵜ', 'ⴽⵜⵓ', - 'ⵏⵓⵡ', 'ⴷⵓⵊ'], - STANDALONESHORTMONTHS: ['ⵉⵏⵏ', 'ⴱⵕⴰ', 'ⵎⴰⵕ', 'ⵉⴱⵔ', - 'ⵎⴰⵢ', 'ⵢⵓⵏ', 'ⵢⵓⵍ', 'ⵖⵓⵛ', 'ⵛⵓⵜ', - 'ⴽⵜⵓ', 'ⵏⵓⵡ', 'ⴷⵓⵊ'], - WEEKDAYS: ['ⴰⵙⴰⵎⴰⵙ', 'ⴰⵢⵏⴰⵙ', 'ⴰⵙⵉⵏⴰⵙ', - 'ⴰⴽⵕⴰⵙ', 'ⴰⴽⵡⴰⵙ', 'ⵙⵉⵎⵡⴰⵙ', - 'ⴰⵙⵉⴹⵢⴰⵙ'], - STANDALONEWEEKDAYS: ['ⴰⵙⴰⵎⴰⵙ', 'ⴰⵢⵏⴰⵙ', - 'ⴰⵙⵉⵏⴰⵙ', 'ⴰⴽⵕⴰⵙ', 'ⴰⴽⵡⴰⵙ', - 'ⵙⵉⵎⵡⴰⵙ', 'ⴰⵙⵉⴹⵢⴰⵙ'], - SHORTWEEKDAYS: ['ⴰⵙⴰ', 'ⴰⵢⵏ', 'ⴰⵙⵉ', 'ⴰⴽⵕ', - 'ⴰⴽⵡ', 'ⴰⵙⵉⵎ', 'ⴰⵙⵉⴹ'], - STANDALONESHORTWEEKDAYS: ['ⴰⵙⴰ', 'ⴰⵢⵏ', 'ⴰⵙⵉ', 'ⴰⴽⵕ', - 'ⴰⴽⵡ', 'ⴰⵙⵉⵎ', 'ⴰⵙⵉⴹ'], - NARROWWEEKDAYS: ['1', '2', '3', '4', '5', '6', '7'], - STANDALONENARROWWEEKDAYS: ['1', '2', '3', '4', '5', '6', '7'], - SHORTQUARTERS: ['ⴰⴽ 1', 'ⴰⴽ 2', 'ⴰⴽ 3', 'ⴰⴽ 4'], - QUARTERS: ['ⴰⴽⵕⴰⴹⵢⵓⵔ 1', 'ⴰⴽⵕⴰⴹⵢⵓⵔ 2', - 'ⴰⴽⵕⴰⴹⵢⵓⵔ 3', 'ⴰⴽⵕⴰⴹⵢⵓⵔ 4'], - AMPMS: ['ⵜⵉⴼⴰⵡⵜ', 'ⵜⴰⴷⴳⴳⵯⴰⵜ'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM, y', 'd/M/yyyy'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 6 -}; +goog.i18n.DateTimeSymbols_si_LK = goog.i18n.DateTimeSymbols_si; /** - * Date/time formatting symbols for locale shi_Tfng_MA. + * Date/time formatting symbols for locale sk_SK. */ -goog.i18n.DateTimeSymbols_shi_Tfng_MA = goog.i18n.DateTimeSymbols_shi_Tfng; - - -/** - * Date/time formatting symbols for locale si. - */ -goog.i18n.DateTimeSymbols_si = { - ERAS: ['ක්‍රි.පූ.', 'ක්‍රි.ව.'], - ERANAMES: ['ක්‍රිස්තු පූර්‍ව', - 'ක්‍රිස්තු වර්‍ෂ'], - NARROWMONTHS: ['ජ', 'පෙ', 'මා', 'අ', 'මැ', 'ජූ', 'ජූ', - 'අ', 'සැ', 'ඔ', 'නො', 'දෙ'], - STANDALONENARROWMONTHS: ['ජ', 'පෙ', 'මා', 'අ', 'මැ', 'ජූ', - 'ජූ', 'අ', 'සැ', 'ඔ', 'නො', 'දෙ'], - MONTHS: ['ජනවාරි', 'පෙබරවාරි', - 'මාර්තු', 'අප්‍රේල්', 'මැයි', - 'ජූනි', 'ජූලි', 'අගෝස්තු', - 'සැප්තැම්බර්', 'ඔක්තෝබර්', - 'නොවැම්බර්', 'දෙසැම්බර්'], - STANDALONEMONTHS: ['ජනවාරි', 'පෙබරවාරි', - 'මාර්තු', 'අප්‍රේල්', 'මැයි', - 'ජූනි', 'ජූලි', 'අගෝස්තු', - 'සැප්තැම්බර්', 'ඔක්තෝබර්', - 'නොවැම්බර්', 'දෙසැම්බර්'], - SHORTMONTHS: ['ජන', 'පෙබ', 'මාර්තු', - 'අප්‍රේල්', 'මැයි', 'ජූනි', - 'ජූලි', 'අගෝ', 'සැප්', 'ඔක්', 'නොවැ', - 'දෙසැ'], - STANDALONESHORTMONTHS: ['ජන', 'පෙබ', 'මාර්', - 'අප්‍රේල්', 'මැයි', 'ජූනි', - 'ජූලි', 'අගෝ', 'සැප්', 'ඔක්', 'නොවැ', - 'දෙසැ'], - WEEKDAYS: ['ඉරිදා', 'සඳුදා', - 'අඟහරුවාදා', 'බදාදා', - 'බ්‍රහස්පතින්දා', 'සිකුරාදා', - 'සෙනසුරාදා'], - STANDALONEWEEKDAYS: ['ඉරිදා', 'සඳුදා', - 'අඟහරුවාදා', 'බදාදා', - 'බ්‍රහස්පතින්දා', 'සිකුරාදා', - 'සෙනසුරාදා'], - SHORTWEEKDAYS: ['ඉරි', 'සඳු', 'අඟ', 'බදා', - 'බ්‍රහ', 'සිකු', 'සෙන'], - STANDALONESHORTWEEKDAYS: ['ඉරි', 'සඳු', 'අඟ', 'බදා', - 'බ්‍රහ', 'සිකු', 'සෙන'], - NARROWWEEKDAYS: ['ඉ', 'ස', 'අ', 'බ', 'බ්‍ර', 'සි', - 'සෙ'], - STANDALONENARROWWEEKDAYS: ['ඉ', 'ස', 'අ', 'බ', 'බ්‍ර', - 'සි', 'සෙ'], - SHORTQUARTERS: ['කාර්:1', 'කාර්:2', 'කාර්:3', - 'කාර්:4'], - QUARTERS: ['1 වන කාර්තුව', '2 වන කාර්තුව', - '3 වන කාර්තුව', '4 වන කාර්තුව'], - AMPMS: ['පෙ.ව.', 'ප.ව.'], - DATEFORMATS: ['y MMMM d, EEEE', 'y MMMM d', 'y MMM d', 'yyyy/MM/dd'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'a h.mm.ss', 'a h.mm'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 6 -}; +goog.i18n.DateTimeSymbols_sk_SK = goog.i18n.DateTimeSymbols_sk; /** - * Date/time formatting symbols for locale si_LK. + * Date/time formatting symbols for locale sl_SI. */ -goog.i18n.DateTimeSymbols_si_LK = goog.i18n.DateTimeSymbols_si; +goog.i18n.DateTimeSymbols_sl_SI = goog.i18n.DateTimeSymbols_sl; /** - * Date/time formatting symbols for locale sk_SK. + * Date/time formatting symbols for locale smn. */ -goog.i18n.DateTimeSymbols_sk_SK = { - ERAS: ['pred n.l.', 'n.l.'], - ERANAMES: ['pred n.l.', 'n.l.'], - NARROWMONTHS: ['j', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', 'n', 'd'], - STANDALONENARROWMONTHS: ['j', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', - 'n', 'd'], - MONTHS: ['januára', 'februára', 'marca', 'apríla', 'mája', 'júna', - 'júla', 'augusta', 'septembra', 'októbra', 'novembra', 'decembra'], - STANDALONEMONTHS: ['január', 'február', 'marec', 'apríl', 'máj', 'jún', - 'júl', 'august', 'september', 'október', 'november', 'december'], - SHORTMONTHS: ['jan', 'feb', 'mar', 'apr', 'máj', 'jún', 'júl', 'aug', - 'sep', 'okt', 'nov', 'dec'], - STANDALONESHORTMONTHS: ['jan', 'feb', 'mar', 'apr', 'máj', 'jún', 'júl', - 'aug', 'sep', 'okt', 'nov', 'dec'], - WEEKDAYS: ['nedeľa', 'pondelok', 'utorok', 'streda', 'štvrtok', 'piatok', - 'sobota'], - STANDALONEWEEKDAYS: ['nedeľa', 'pondelok', 'utorok', 'streda', 'štvrtok', - 'piatok', 'sobota'], - SHORTWEEKDAYS: ['ne', 'po', 'ut', 'st', 'št', 'pi', 'so'], - STANDALONESHORTWEEKDAYS: ['ne', 'po', 'ut', 'st', 'št', 'pi', 'so'], - NARROWWEEKDAYS: ['N', 'P', 'U', 'S', 'Š', 'P', 'S'], - STANDALONENARROWWEEKDAYS: ['N', 'P', 'U', 'S', 'Š', 'P', 'S'], - SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - QUARTERS: ['1. štvrťrok', '2. štvrťrok', '3. štvrťrok', - '4. štvrťrok'], - AMPMS: ['dopoludnia', 'popoludní'], - DATEFORMATS: ['EEEE, d. MMMM y', 'd. MMMM y', 'd.M.yyyy', 'd.M.yyyy'], - TIMEFORMATS: ['H:mm:ss zzzz', 'H:mm:ss z', 'H:mm:ss', 'H:mm'], +goog.i18n.DateTimeSymbols_smn = { + ERAS: ['oKr.', 'mKr.'], + ERANAMES: ['Ovdil Kristus šoddâm', 'maŋa Kristus šoddâm'], + NARROWMONTHS: ['U', 'K', 'NJ', 'C', 'V', 'K', 'S', 'P', 'Č', 'R', 'S', 'J'], + STANDALONENARROWMONTHS: ['U', 'K', 'NJ', 'C', 'V', 'K', 'S', 'P', 'Č', 'R', 'S', 'J'], + MONTHS: ['uđđâivemáánu', 'kuovâmáánu', 'njuhčâmáánu', 'cuáŋuimáánu', 'vyesimáánu', 'kesimáánu', 'syeinimáánu', 'porgemáánu', 'čohčâmáánu', 'roovvâdmáánu', 'skammâmáánu', 'juovlâmáánu'], + STANDALONEMONTHS: ['uđđâivemáánu', 'kuovâmáánu', 'njuhčâmáánu', 'cuáŋuimáánu', 'vyesimáánu', 'kesimáánu', 'syeinimáánu', 'porgemáánu', 'čohčâmáánu', 'roovvâdmáánu', 'skammâmáánu', 'juovlâmáánu'], + SHORTMONTHS: ['uđiv', 'kuovâ', 'njuhčâ', 'cuáŋui', 'vyesi', 'kesi', 'syeini', 'porge', 'čohčâ', 'roovvâd', 'skammâ', 'juovlâ'], + STANDALONESHORTMONTHS: ['uđiv', 'kuovâ', 'njuhčâ', 'cuáŋui', 'vyesi', 'kesi', 'syeini', 'porge', 'čohčâ', 'roovvâd', 'skammâ', 'juovlâ'], + WEEKDAYS: ['pasepeeivi', 'vuossaargâ', 'majebaargâ', 'koskoho', 'tuorâstuv', 'vástuppeeivi', 'lávurduv'], + STANDALONEWEEKDAYS: ['pasepeivi', 'vuossargâ', 'majebargâ', 'koskokko', 'tuorâstâh', 'vástuppeivi', 'lávurdâh'], + SHORTWEEKDAYS: ['pas', 'vuo', 'maj', 'kos', 'tuo', 'vás', 'láv'], + STANDALONESHORTWEEKDAYS: ['pas', 'vuo', 'maj', 'kos', 'tuo', 'vás', 'láv'], + NARROWWEEKDAYS: ['p', 'V', 'M', 'K', 'T', 'V', 'L'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['1. niälj.', '2. niälj.', '3. niälj.', '4. niälj.'], + QUARTERS: ['1. niäljádâs', '2. niäljádâs', '3. niäljádâs', '4. niäljádâs'], + AMPMS: ['ip.', 'ep.'], + DATEFORMATS: ['cccc, MMMM d. y', 'MMMM d. y', 'MMM d. y', 'd.M.y'], + TIMEFORMATS: ['H.mm.ss zzzz', 'H.mm.ss z', 'H.mm.ss', 'H.mm'], + DATETIMEFORMATS: ['{1} \'tme\' {0}', '{1} \'tme\' {0}', '{1} \'tme\' {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 3 @@ -11761,40 +11383,9 @@ goog.i18n.DateTimeSymbols_sk_SK = { /** - * Date/time formatting symbols for locale sl_SI. + * Date/time formatting symbols for locale smn_FI. */ -goog.i18n.DateTimeSymbols_sl_SI = { - ERAS: ['pr. n. št.', 'po Kr.'], - ERANAMES: ['pred našim štetjem', 'naše štetje'], - NARROWMONTHS: ['j', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', 'n', 'd'], - STANDALONENARROWMONTHS: ['j', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', - 'n', 'd'], - MONTHS: ['januar', 'februar', 'marec', 'april', 'maj', 'junij', 'julij', - 'avgust', 'september', 'oktober', 'november', 'december'], - STANDALONEMONTHS: ['januar', 'februar', 'marec', 'april', 'maj', 'junij', - 'julij', 'avgust', 'september', 'oktober', 'november', 'december'], - SHORTMONTHS: ['jan.', 'feb.', 'mar.', 'apr.', 'maj', 'jun.', 'jul.', 'avg.', - 'sep.', 'okt.', 'nov.', 'dec.'], - STANDALONESHORTMONTHS: ['jan', 'feb', 'mar', 'apr', 'maj', 'jun', 'jul', - 'avg', 'sep', 'okt', 'nov', 'dec'], - WEEKDAYS: ['nedelja', 'ponedeljek', 'torek', 'sreda', 'četrtek', 'petek', - 'sobota'], - STANDALONEWEEKDAYS: ['nedelja', 'ponedeljek', 'torek', 'sreda', 'četrtek', - 'petek', 'sobota'], - SHORTWEEKDAYS: ['ned.', 'pon.', 'tor.', 'sre.', 'čet.', 'pet.', 'sob.'], - STANDALONESHORTWEEKDAYS: ['ned', 'pon', 'tor', 'sre', 'čet', 'pet', 'sob'], - NARROWWEEKDAYS: ['n', 'p', 't', 's', 'č', 'p', 's'], - STANDALONENARROWWEEKDAYS: ['n', 'p', 't', 's', 'č', 'p', 's'], - SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - QUARTERS: ['1. četrtletje', '2. četrtletje', '3. četrtletje', - '4. četrtletje'], - AMPMS: ['dop.', 'pop.'], - DATEFORMATS: ['EEEE, dd. MMMM y', 'dd. MMMM y', 'd. MMM yyyy', 'd. MM. yy'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 6 -}; +goog.i18n.DateTimeSymbols_smn_FI = goog.i18n.DateTimeSymbols_smn; /** @@ -11802,33 +11393,25 @@ goog.i18n.DateTimeSymbols_sl_SI = { */ goog.i18n.DateTimeSymbols_sn = { ERAS: ['BC', 'AD'], - ERANAMES: ['Kristo asati auya', 'Kristo ashaya'], + ERANAMES: ['Kristo asati auya', 'mugore ramambo vedu'], NARROWMONTHS: ['N', 'K', 'K', 'K', 'C', 'C', 'C', 'N', 'G', 'G', 'M', 'Z'], - STANDALONENARROWMONTHS: ['N', 'K', 'K', 'K', 'C', 'C', 'C', 'N', 'G', 'G', - 'M', 'Z'], - MONTHS: ['Ndira', 'Kukadzi', 'Kurume', 'Kubvumbi', 'Chivabvu', 'Chikumi', - 'Chikunguru', 'Nyamavhuvhu', 'Gunyana', 'Gumiguru', 'Mbudzi', 'Zvita'], - STANDALONEMONTHS: ['Ndira', 'Kukadzi', 'Kurume', 'Kubvumbi', 'Chivabvu', - 'Chikumi', 'Chikunguru', 'Nyamavhuvhu', 'Gunyana', 'Gumiguru', 'Mbudzi', - 'Zvita'], - SHORTMONTHS: ['Ndi', 'Kuk', 'Kur', 'Kub', 'Chv', 'Chk', 'Chg', 'Nya', 'Gun', - 'Gum', 'Mb', 'Zvi'], - STANDALONESHORTMONTHS: ['Ndi', 'Kuk', 'Kur', 'Kub', 'Chv', 'Chk', 'Chg', - 'Nya', 'Gun', 'Gum', 'Mb', 'Zvi'], - WEEKDAYS: ['Svondo', 'Muvhuro', 'Chipiri', 'Chitatu', 'China', 'Chishanu', - 'Mugovera'], - STANDALONEWEEKDAYS: ['Svondo', 'Muvhuro', 'Chipiri', 'Chitatu', 'China', - 'Chishanu', 'Mugovera'], - SHORTWEEKDAYS: ['Svo', 'Muv', 'Chip', 'Chit', 'Chin', 'Chis', 'Mug'], - STANDALONESHORTWEEKDAYS: ['Svo', 'Muv', 'Chip', 'Chit', 'Chin', 'Chis', - 'Mug'], + STANDALONENARROWMONTHS: ['N', 'K', 'K', 'K', 'C', 'C', 'C', 'N', 'G', 'G', 'M', 'Z'], + MONTHS: ['Ndira', 'Kukadzi', 'Kurume', 'Kubvumbi', 'Chivabvu', 'Chikumi', 'Chikunguru', 'Nyamavhuvhu', 'Gunyana', 'Gumiguru', 'Mbudzi', 'Zvita'], + STANDALONEMONTHS: ['Ndira', 'Kukadzi', 'Kurume', 'Kubvumbi', 'Chivabvu', 'Chikumi', 'Chikunguru', 'Nyamavhuvhu', 'Gunyana', 'Gumiguru', 'Mbudzi', 'Zvita'], + SHORTMONTHS: ['Ndi', 'Kuk', 'Kur', 'Kub', 'Chv', 'Chk', 'Chg', 'Nya', 'Gun', 'Gum', 'Mbu', 'Zvi'], + STANDALONESHORTMONTHS: ['Ndi', 'Kuk', 'Kur', 'Kub', 'Chv', 'Chk', 'Chg', 'Nya', 'Gun', 'Gum', 'Mbu', 'Zvi'], + WEEKDAYS: ['Svondo', 'Muvhuro', 'Chipiri', 'Chitatu', 'China', 'Chishanu', 'Mugovera'], + STANDALONEWEEKDAYS: ['Svondo', 'Muvhuro', 'Chipiri', 'Chitatu', 'China', 'Chishanu', 'Mugovera'], + SHORTWEEKDAYS: ['Svo', 'Muv', 'Chp', 'Cht', 'Chn', 'Chs', 'Mug'], + STANDALONESHORTWEEKDAYS: ['Svo', 'Muv', 'Chp', 'Cht', 'Chn', 'Chs', 'Mug'], NARROWWEEKDAYS: ['S', 'M', 'C', 'C', 'C', 'C', 'M'], STANDALONENARROWWEEKDAYS: ['S', 'M', 'C', 'C', 'C', 'C', 'M'], SHORTQUARTERS: ['K1', 'K2', 'K3', 'K4'], QUARTERS: ['Kota 1', 'Kota 2', 'Kota 3', 'Kota 4'], AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yyyy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATEFORMATS: ['y MMMM d, EEEE', 'y MMMM d', 'y MMM d', 'y-MM-dd'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 6, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 5 @@ -11846,35 +11429,25 @@ goog.i18n.DateTimeSymbols_sn_ZW = goog.i18n.DateTimeSymbols_sn; */ goog.i18n.DateTimeSymbols_so = { ERAS: ['CK', 'CD'], - ERANAMES: ['Ciise ka hor (CS)', 'Ciise ka dib (CS)'], + ERANAMES: ['CK', 'CD'], NARROWMONTHS: ['K', 'L', 'S', 'A', 'S', 'L', 'T', 'S', 'S', 'T', 'K', 'L'], - STANDALONENARROWMONTHS: ['K', 'L', 'S', 'A', 'S', 'L', 'T', 'S', 'S', 'T', - 'K', 'L'], - MONTHS: ['Bisha Koobaad', 'Bisha Labaad', 'Bisha Saddexaad', 'Bisha Afraad', - 'Bisha Shanaad', 'Bisha Lixaad', 'Bisha Todobaad', 'Bisha Sideedaad', - 'Bisha Sagaalaad', 'Bisha Tobnaad', 'Bisha Kow iyo Tobnaad', - 'Bisha Laba iyo Tobnaad'], - STANDALONEMONTHS: ['Bisha Koobaad', 'Bisha Labaad', 'Bisha Saddexaad', - 'Bisha Afraad', 'Bisha Shanaad', 'Bisha Lixaad', 'Bisha Todobaad', - 'Bisha Sideedaad', 'Bisha Sagaalaad', 'Bisha Tobnaad', - 'Bisha Kow iyo Tobnaad', 'Bisha Laba iyo Tobnaad'], - SHORTMONTHS: ['Kob', 'Lab', 'Sad', 'Afr', 'Sha', 'Lix', 'Tod', 'Sid', 'Sag', - 'Tob', 'KIT', 'LIT'], - STANDALONESHORTMONTHS: ['Kob', 'Lab', 'Sad', 'Afr', 'Sha', 'Lix', 'Tod', - 'Sid', 'Sag', 'Tob', 'KIT', 'LIT'], - WEEKDAYS: ['Axad', 'Isniin', 'Talaado', 'Arbaco', 'Khamiis', 'Jimco', - 'Sabti'], - STANDALONEWEEKDAYS: ['Axad', 'Isniin', 'Talaado', 'Arbaco', 'Khamiis', - 'Jimco', 'Sabti'], + STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + MONTHS: ['Bisha Koobaad', 'Bisha Labaad', 'Bisha Saddexaad', 'Bisha Afraad', 'Bisha Shanaad', 'Bisha Lixaad', 'Bisha Todobaad', 'Bisha Sideedaad', 'Bisha Sagaalaad', 'Bisha Tobnaad', 'Bisha Kow iyo Tobnaad', 'Bisha Laba iyo Tobnaad'], + STANDALONEMONTHS: ['Bisha Koobaad', 'Bisha Labaad', 'Bisha Saddexaad', 'Bisha Afraad', 'Bisha Shanaad', 'Bisha Lixaad', 'Bisha Todobaad', 'Bisha Sideedaad', 'Bisha Sagaalaad', 'Bisha Tobnaad', 'Bisha Kow iyo Tobnaad', 'Bisha Laba iyo Tobnaad'], + SHORTMONTHS: ['Kob', 'Lab', 'Sad', 'Afr', 'Sha', 'Lix', 'Tod', 'Sid', 'Sag', 'Tob', 'KIT', 'LIT'], + STANDALONESHORTMONTHS: ['Kob', 'Lab', 'Sad', 'Afr', 'Sha', 'Lix', 'Tod', 'Sid', 'Sag', 'Tob', 'KIT', 'LIT'], + WEEKDAYS: ['Axad', 'Isniin', 'Talaado', 'Arbaco', 'Khamiis', 'Jimco', 'Sabti'], + STANDALONEWEEKDAYS: ['Axad', 'Isniin', 'Talaado', 'Arbaco', 'Khamiis', 'Jimco', 'Sabti'], SHORTWEEKDAYS: ['Axd', 'Isn', 'Tal', 'Arb', 'Kha', 'Jim', 'Sab'], STANDALONESHORTWEEKDAYS: ['Axd', 'Isn', 'Tal', 'Arb', 'Kha', 'Jim', 'Sab'], - NARROWWEEKDAYS: ['A', 'I', 'T', 'A', 'K', 'J', 'S'], - STANDALONENARROWWEEKDAYS: ['A', 'I', 'T', 'A', 'K', 'J', 'S'], + NARROWWEEKDAYS: ['A', 'I', 'T', 'A', 'Kh', 'J', 'S'], + STANDALONENARROWWEEKDAYS: ['A', 'I', 'T', 'A', 'Kh', 'J', 'S'], SHORTQUARTERS: ['R1', 'R2', 'R3', 'R4'], QUARTERS: ['Rubaca 1aad', 'Rubaca 2aad', 'Rubaca 3aad', 'Rubaca 4aad'], AMPMS: ['sn.', 'gn.'], DATEFORMATS: ['EEEE, MMMM dd, y', 'dd MMMM y', 'dd-MMM-y', 'dd/MM/yy'], TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -11884,19 +11457,91 @@ goog.i18n.DateTimeSymbols_so = { /** * Date/time formatting symbols for locale so_DJ. */ -goog.i18n.DateTimeSymbols_so_DJ = goog.i18n.DateTimeSymbols_so; +goog.i18n.DateTimeSymbols_so_DJ = { + ERAS: ['CK', 'CD'], + ERANAMES: ['CK', 'CD'], + NARROWMONTHS: ['K', 'L', 'S', 'A', 'S', 'L', 'T', 'S', 'S', 'T', 'K', 'L'], + STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + MONTHS: ['Bisha Koobaad', 'Bisha Labaad', 'Bisha Saddexaad', 'Bisha Afraad', 'Bisha Shanaad', 'Bisha Lixaad', 'Bisha Todobaad', 'Bisha Sideedaad', 'Bisha Sagaalaad', 'Bisha Tobnaad', 'Bisha Kow iyo Tobnaad', 'Bisha Laba iyo Tobnaad'], + STANDALONEMONTHS: ['Bisha Koobaad', 'Bisha Labaad', 'Bisha Saddexaad', 'Bisha Afraad', 'Bisha Shanaad', 'Bisha Lixaad', 'Bisha Todobaad', 'Bisha Sideedaad', 'Bisha Sagaalaad', 'Bisha Tobnaad', 'Bisha Kow iyo Tobnaad', 'Bisha Laba iyo Tobnaad'], + SHORTMONTHS: ['Kob', 'Lab', 'Sad', 'Afr', 'Sha', 'Lix', 'Tod', 'Sid', 'Sag', 'Tob', 'KIT', 'LIT'], + STANDALONESHORTMONTHS: ['Kob', 'Lab', 'Sad', 'Afr', 'Sha', 'Lix', 'Tod', 'Sid', 'Sag', 'Tob', 'KIT', 'LIT'], + WEEKDAYS: ['Axad', 'Isniin', 'Talaado', 'Arbaco', 'Khamiis', 'Jimco', 'Sabti'], + STANDALONEWEEKDAYS: ['Axad', 'Isniin', 'Talaado', 'Arbaco', 'Khamiis', 'Jimco', 'Sabti'], + SHORTWEEKDAYS: ['Axd', 'Isn', 'Tal', 'Arb', 'Kha', 'Jim', 'Sab'], + STANDALONESHORTWEEKDAYS: ['Axd', 'Isn', 'Tal', 'Arb', 'Kha', 'Jim', 'Sab'], + NARROWWEEKDAYS: ['A', 'I', 'T', 'A', 'Kh', 'J', 'S'], + STANDALONENARROWWEEKDAYS: ['A', 'I', 'T', 'A', 'Kh', 'J', 'S'], + SHORTQUARTERS: ['R1', 'R2', 'R3', 'R4'], + QUARTERS: ['Rubaca 1aad', 'Rubaca 2aad', 'Rubaca 3aad', 'Rubaca 4aad'], + AMPMS: ['sn.', 'gn.'], + DATEFORMATS: ['EEEE, MMMM dd, y', 'dd MMMM y', 'dd-MMM-y', 'dd/MM/yy'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 5, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 4 +}; /** * Date/time formatting symbols for locale so_ET. */ -goog.i18n.DateTimeSymbols_so_ET = goog.i18n.DateTimeSymbols_so; +goog.i18n.DateTimeSymbols_so_ET = { + ERAS: ['CK', 'CD'], + ERANAMES: ['CK', 'CD'], + NARROWMONTHS: ['K', 'L', 'S', 'A', 'S', 'L', 'T', 'S', 'S', 'T', 'K', 'L'], + STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + MONTHS: ['Bisha Koobaad', 'Bisha Labaad', 'Bisha Saddexaad', 'Bisha Afraad', 'Bisha Shanaad', 'Bisha Lixaad', 'Bisha Todobaad', 'Bisha Sideedaad', 'Bisha Sagaalaad', 'Bisha Tobnaad', 'Bisha Kow iyo Tobnaad', 'Bisha Laba iyo Tobnaad'], + STANDALONEMONTHS: ['Bisha Koobaad', 'Bisha Labaad', 'Bisha Saddexaad', 'Bisha Afraad', 'Bisha Shanaad', 'Bisha Lixaad', 'Bisha Todobaad', 'Bisha Sideedaad', 'Bisha Sagaalaad', 'Bisha Tobnaad', 'Bisha Kow iyo Tobnaad', 'Bisha Laba iyo Tobnaad'], + SHORTMONTHS: ['Kob', 'Lab', 'Sad', 'Afr', 'Sha', 'Lix', 'Tod', 'Sid', 'Sag', 'Tob', 'KIT', 'LIT'], + STANDALONESHORTMONTHS: ['Kob', 'Lab', 'Sad', 'Afr', 'Sha', 'Lix', 'Tod', 'Sid', 'Sag', 'Tob', 'KIT', 'LIT'], + WEEKDAYS: ['Axad', 'Isniin', 'Talaado', 'Arbaco', 'Khamiis', 'Jimco', 'Sabti'], + STANDALONEWEEKDAYS: ['Axad', 'Isniin', 'Talaado', 'Arbaco', 'Khamiis', 'Jimco', 'Sabti'], + SHORTWEEKDAYS: ['Axd', 'Isn', 'Tal', 'Arb', 'Kha', 'Jim', 'Sab'], + STANDALONESHORTWEEKDAYS: ['Axd', 'Isn', 'Tal', 'Arb', 'Kha', 'Jim', 'Sab'], + NARROWWEEKDAYS: ['A', 'I', 'T', 'A', 'Kh', 'J', 'S'], + STANDALONENARROWWEEKDAYS: ['A', 'I', 'T', 'A', 'Kh', 'J', 'S'], + SHORTQUARTERS: ['R1', 'R2', 'R3', 'R4'], + QUARTERS: ['Rubaca 1aad', 'Rubaca 2aad', 'Rubaca 3aad', 'Rubaca 4aad'], + AMPMS: ['sn.', 'gn.'], + DATEFORMATS: ['EEEE, MMMM dd, y', 'dd MMMM y', 'dd-MMM-y', 'dd/MM/yy'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 6, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 5 +}; /** * Date/time formatting symbols for locale so_KE. */ -goog.i18n.DateTimeSymbols_so_KE = goog.i18n.DateTimeSymbols_so; +goog.i18n.DateTimeSymbols_so_KE = { + ERAS: ['CK', 'CD'], + ERANAMES: ['CK', 'CD'], + NARROWMONTHS: ['K', 'L', 'S', 'A', 'S', 'L', 'T', 'S', 'S', 'T', 'K', 'L'], + STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + MONTHS: ['Bisha Koobaad', 'Bisha Labaad', 'Bisha Saddexaad', 'Bisha Afraad', 'Bisha Shanaad', 'Bisha Lixaad', 'Bisha Todobaad', 'Bisha Sideedaad', 'Bisha Sagaalaad', 'Bisha Tobnaad', 'Bisha Kow iyo Tobnaad', 'Bisha Laba iyo Tobnaad'], + STANDALONEMONTHS: ['Bisha Koobaad', 'Bisha Labaad', 'Bisha Saddexaad', 'Bisha Afraad', 'Bisha Shanaad', 'Bisha Lixaad', 'Bisha Todobaad', 'Bisha Sideedaad', 'Bisha Sagaalaad', 'Bisha Tobnaad', 'Bisha Kow iyo Tobnaad', 'Bisha Laba iyo Tobnaad'], + SHORTMONTHS: ['Kob', 'Lab', 'Sad', 'Afr', 'Sha', 'Lix', 'Tod', 'Sid', 'Sag', 'Tob', 'KIT', 'LIT'], + STANDALONESHORTMONTHS: ['Kob', 'Lab', 'Sad', 'Afr', 'Sha', 'Lix', 'Tod', 'Sid', 'Sag', 'Tob', 'KIT', 'LIT'], + WEEKDAYS: ['Axad', 'Isniin', 'Talaado', 'Arbaco', 'Khamiis', 'Jimco', 'Sabti'], + STANDALONEWEEKDAYS: ['Axad', 'Isniin', 'Talaado', 'Arbaco', 'Khamiis', 'Jimco', 'Sabti'], + SHORTWEEKDAYS: ['Axd', 'Isn', 'Tal', 'Arb', 'Kha', 'Jim', 'Sab'], + STANDALONESHORTWEEKDAYS: ['Axd', 'Isn', 'Tal', 'Arb', 'Kha', 'Jim', 'Sab'], + NARROWWEEKDAYS: ['A', 'I', 'T', 'A', 'Kh', 'J', 'S'], + STANDALONENARROWWEEKDAYS: ['A', 'I', 'T', 'A', 'Kh', 'J', 'S'], + SHORTQUARTERS: ['R1', 'R2', 'R3', 'R4'], + QUARTERS: ['Rubaca 1aad', 'Rubaca 2aad', 'Rubaca 3aad', 'Rubaca 4aad'], + AMPMS: ['sn.', 'gn.'], + DATEFORMATS: ['EEEE, MMMM dd, y', 'dd MMMM y', 'dd-MMM-y', 'dd/MM/yy'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 6, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 5 +}; /** @@ -11908,33 +11553,33 @@ goog.i18n.DateTimeSymbols_so_SO = goog.i18n.DateTimeSymbols_so; /** * Date/time formatting symbols for locale sq_AL. */ -goog.i18n.DateTimeSymbols_sq_AL = { - ERAS: ['p.e.r.', 'n.e.r.'], - ERANAMES: ['p.e.r.', 'n.e.r.'], - NARROWMONTHS: ['J', 'S', 'M', 'P', 'M', 'Q', 'K', 'G', 'S', 'T', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'S', 'M', 'P', 'M', 'Q', 'K', 'G', 'S', 'T', - 'N', 'D'], - MONTHS: ['janar', 'shkurt', 'mars', 'prill', 'maj', 'qershor', 'korrik', - 'gusht', 'shtator', 'tetor', 'nëntor', 'dhjetor'], - STANDALONEMONTHS: ['janar', 'shkurt', 'mars', 'prill', 'maj', 'qershor', - 'korrik', 'gusht', 'shtator', 'tetor', 'nëntor', 'dhjetor'], - SHORTMONTHS: ['Jan', 'Shk', 'Mar', 'Pri', 'Maj', 'Qer', 'Kor', 'Gsh', 'Sht', - 'Tet', 'Nën', 'Dhj'], - STANDALONESHORTMONTHS: ['Jan', 'Shk', 'Mar', 'Pri', 'Maj', 'Qer', 'Kor', - 'Gsh', 'Sht', 'Tet', 'Nën', 'Dhj'], - WEEKDAYS: ['e diel', 'e hënë', 'e martë', 'e mërkurë', 'e enjte', - 'e premte', 'e shtunë'], - STANDALONEWEEKDAYS: ['e diel', 'e hënë', 'e martë', 'e mërkurë', - 'e enjte', 'e premte', 'e shtunë'], +goog.i18n.DateTimeSymbols_sq_AL = goog.i18n.DateTimeSymbols_sq; + + +/** + * Date/time formatting symbols for locale sq_MK. + */ +goog.i18n.DateTimeSymbols_sq_MK = { + ERAS: ['p.K.', 'mb.K.'], + ERANAMES: ['para Krishtit', 'mbas Krishtit'], + NARROWMONTHS: ['j', 's', 'm', 'p', 'm', 'q', 'k', 'g', 's', 't', 'n', 'd'], + STANDALONENARROWMONTHS: ['J', 'S', 'M', 'P', 'M', 'Q', 'K', 'G', 'S', 'T', 'N', 'D'], + MONTHS: ['janar', 'shkurt', 'mars', 'prill', 'maj', 'qershor', 'korrik', 'gusht', 'shtator', 'tetor', 'nëntor', 'dhjetor'], + STANDALONEMONTHS: ['Janar', 'Shkurt', 'Mars', 'Prill', 'Maj', 'Qershor', 'Korrik', 'Gusht', 'Shtator', 'Tetor', 'Nëntor', 'Dhjetor'], + SHORTMONTHS: ['jan', 'shk', 'mar', 'pri', 'maj', 'qer', 'kor', 'gsh', 'sht', 'tet', 'nën', 'dhj'], + STANDALONESHORTMONTHS: ['Jan', 'Shk', 'Mar', 'Pri', 'Maj', 'Qer', 'Kor', 'Gsh', 'Sht', 'Tet', 'Nën', 'Dhj'], + WEEKDAYS: ['e diel', 'e hënë', 'e martë', 'e mërkurë', 'e enjte', 'e premte', 'e shtunë'], + STANDALONEWEEKDAYS: ['E diel', 'E hënë', 'E martë', 'E mërkurë', 'E enjte', 'E premte', 'E shtunë'], SHORTWEEKDAYS: ['Die', 'Hën', 'Mar', 'Mër', 'Enj', 'Pre', 'Sht'], STANDALONESHORTWEEKDAYS: ['Die', 'Hën', 'Mar', 'Mër', 'Enj', 'Pre', 'Sht'], NARROWWEEKDAYS: ['D', 'H', 'M', 'M', 'E', 'P', 'S'], STANDALONENARROWWEEKDAYS: ['D', 'H', 'M', 'M', 'E', 'P', 'S'], - SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - QUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - AMPMS: ['PD', 'MD'], - DATEFORMATS: ['EEEE, dd MMMM y', 'dd MMMM y', 'yyyy-MM-dd', 'yy-MM-dd'], - TIMEFORMATS: ['h.mm.ss.a zzzz', 'h.mm.ss.a z', 'h.mm.ss.a', 'h.mm.a'], + SHORTQUARTERS: ['tremujori I', 'tremujori II', 'tremujori III', 'tremujori IV'], + QUARTERS: ['tremujori i parë', 'tremujori i dytë', 'tremujori i tretë', 'tremujori i katërt'], + AMPMS: ['e paradites', 'e pasdites'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'd.M.yy'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'në\' {0}', '{1} \'në\' {0}', '{1}, {0}', '{1}, {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -11942,85 +11587,65 @@ goog.i18n.DateTimeSymbols_sq_AL = { /** - * Date/time formatting symbols for locale sr_Cyrl. + * Date/time formatting symbols for locale sq_XK. */ -goog.i18n.DateTimeSymbols_sr_Cyrl = { - ERAS: ['п. н. е.', 'н. е.'], - ERANAMES: ['Пре нове ере', 'Нове ере'], - NARROWMONTHS: ['ј', 'ф', 'м', 'а', 'м', 'ј', 'ј', 'а', 'с', 'о', - 'н', 'д'], - STANDALONENARROWMONTHS: ['ј', 'ф', 'м', 'а', 'м', 'ј', 'ј', 'а', 'с', - 'о', 'н', 'д'], - MONTHS: ['јануар', 'фебруар', 'март', 'април', 'мај', - 'јун', 'јул', 'август', 'септембар', - 'октобар', 'новембар', 'децембар'], - STANDALONEMONTHS: ['јануар', 'фебруар', 'март', 'април', - 'мај', 'јун', 'јул', 'август', 'септембар', - 'октобар', 'новембар', 'децембар'], - SHORTMONTHS: ['јан', 'феб', 'мар', 'апр', 'мај', 'јун', - 'јул', 'авг', 'сеп', 'окт', 'нов', 'дец'], - STANDALONESHORTMONTHS: ['јан', 'феб', 'мар', 'апр', 'мај', - 'јун', 'јул', 'авг', 'сеп', 'окт', 'нов', 'дец'], - WEEKDAYS: ['недеља', 'понедељак', 'уторак', 'среда', - 'четвртак', 'петак', 'субота'], - STANDALONEWEEKDAYS: ['недеља', 'понедељак', 'уторак', - 'среда', 'четвртак', 'петак', 'субота'], - SHORTWEEKDAYS: ['нед', 'пон', 'уто', 'сре', 'чет', 'пет', - 'суб'], - STANDALONESHORTWEEKDAYS: ['нед', 'пон', 'уто', 'сре', 'чет', - 'пет', 'суб'], - NARROWWEEKDAYS: ['н', 'п', 'у', 'с', 'ч', 'п', 'с'], - STANDALONENARROWWEEKDAYS: ['н', 'п', 'у', 'с', 'ч', 'п', 'с'], - SHORTQUARTERS: ['К1', 'К2', 'К3', 'К4'], - QUARTERS: ['Прво тромесечје', 'Друго тромесечје', - 'Треће тромесечје', 'Четврто тромесечје'], - AMPMS: ['пре подне', 'поподне'], - DATEFORMATS: ['EEEE, dd. MMMM y.', 'dd. MMMM y.', 'dd.MM.y.', 'd.M.yy.'], - TIMEFORMATS: ['HH.mm.ss zzzz', 'HH.mm.ss z', 'HH.mm.ss', 'HH.mm'], +goog.i18n.DateTimeSymbols_sq_XK = { + ERAS: ['p.K.', 'mb.K.'], + ERANAMES: ['para Krishtit', 'mbas Krishtit'], + NARROWMONTHS: ['j', 's', 'm', 'p', 'm', 'q', 'k', 'g', 's', 't', 'n', 'd'], + STANDALONENARROWMONTHS: ['J', 'S', 'M', 'P', 'M', 'Q', 'K', 'G', 'S', 'T', 'N', 'D'], + MONTHS: ['janar', 'shkurt', 'mars', 'prill', 'maj', 'qershor', 'korrik', 'gusht', 'shtator', 'tetor', 'nëntor', 'dhjetor'], + STANDALONEMONTHS: ['Janar', 'Shkurt', 'Mars', 'Prill', 'Maj', 'Qershor', 'Korrik', 'Gusht', 'Shtator', 'Tetor', 'Nëntor', 'Dhjetor'], + SHORTMONTHS: ['jan', 'shk', 'mar', 'pri', 'maj', 'qer', 'kor', 'gsh', 'sht', 'tet', 'nën', 'dhj'], + STANDALONESHORTMONTHS: ['Jan', 'Shk', 'Mar', 'Pri', 'Maj', 'Qer', 'Kor', 'Gsh', 'Sht', 'Tet', 'Nën', 'Dhj'], + WEEKDAYS: ['e diel', 'e hënë', 'e martë', 'e mërkurë', 'e enjte', 'e premte', 'e shtunë'], + STANDALONEWEEKDAYS: ['E diel', 'E hënë', 'E martë', 'E mërkurë', 'E enjte', 'E premte', 'E shtunë'], + SHORTWEEKDAYS: ['Die', 'Hën', 'Mar', 'Mër', 'Enj', 'Pre', 'Sht'], + STANDALONESHORTWEEKDAYS: ['Die', 'Hën', 'Mar', 'Mër', 'Enj', 'Pre', 'Sht'], + NARROWWEEKDAYS: ['D', 'H', 'M', 'M', 'E', 'P', 'S'], + STANDALONENARROWWEEKDAYS: ['D', 'H', 'M', 'M', 'E', 'P', 'S'], + SHORTQUARTERS: ['tremujori I', 'tremujori II', 'tremujori III', 'tremujori IV'], + QUARTERS: ['tremujori i parë', 'tremujori i dytë', 'tremujori i tretë', 'tremujori i katërt'], + AMPMS: ['e paradites', 'e pasdites'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'd.M.yy'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'në\' {0}', '{1} \'në\' {0}', '{1}, {0}', '{1}, {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 }; +/** + * Date/time formatting symbols for locale sr_Cyrl. + */ +goog.i18n.DateTimeSymbols_sr_Cyrl = goog.i18n.DateTimeSymbols_sr; + + /** * Date/time formatting symbols for locale sr_Cyrl_BA. */ goog.i18n.DateTimeSymbols_sr_Cyrl_BA = { ERAS: ['п. н. е.', 'н. е.'], - ERANAMES: ['Пре нове ере', 'Нове ере'], - NARROWMONTHS: ['ј', 'ф', 'м', 'а', 'м', 'ј', 'ј', 'а', 'с', 'о', - 'н', 'д'], - STANDALONENARROWMONTHS: ['ј', 'ф', 'м', 'а', 'м', 'ј', 'ј', 'а', 'с', - 'о', 'н', 'д'], - MONTHS: ['јануар', 'фебруар', 'март', 'април', 'мај', - 'јуни', 'јули', 'август', 'септембар', - 'октобар', 'новембар', 'децембар'], - STANDALONEMONTHS: ['јануар', 'фебруар', 'март', 'април', - 'мај', 'јуни', 'јули', 'август', 'септембар', - 'октобар', 'новембар', 'децембар'], - SHORTMONTHS: ['јан', 'феб', 'мар', 'апр', 'мај', 'јун', - 'јул', 'авг', 'сеп', 'окт', 'нов', 'дец'], - STANDALONESHORTMONTHS: ['јан', 'феб', 'мар', 'апр', 'мај', - 'јун', 'јул', 'авг', 'сеп', 'окт', 'нов', 'дец'], - WEEKDAYS: ['недеља', 'понедељак', 'уторак', - 'сриједа', 'четвртак', 'петак', 'субота'], - STANDALONEWEEKDAYS: ['недеља', 'понедељак', 'уторак', - 'сриједа', 'четвртак', 'петак', 'субота'], - SHORTWEEKDAYS: ['нед', 'пон', 'уто', 'сри', 'чет', 'пет', - 'суб'], - STANDALONESHORTWEEKDAYS: ['нед', 'пон', 'уто', 'сри', 'чет', - 'пет', 'суб'], + ERANAMES: ['прије нове ере', 'нове ере'], + NARROWMONTHS: ['ј', 'ф', 'м', 'а', 'м', 'ј', 'ј', 'а', 'с', 'о', 'н', 'д'], + STANDALONENARROWMONTHS: ['ј', 'ф', 'м', 'а', 'м', 'ј', 'ј', 'а', 'с', 'о', 'н', 'д'], + MONTHS: ['јануар', 'фебруар', 'март', 'април', 'мај', 'јун', 'јул', 'август', 'септембар', 'октобар', 'новембар', 'децембар'], + STANDALONEMONTHS: ['јануар', 'фебруар', 'март', 'април', 'мај', 'јун', 'јул', 'август', 'септембар', 'октобар', 'новембар', 'децембар'], + SHORTMONTHS: ['јан.', 'феб.', 'март', 'апр.', 'мај', 'јун', 'јул', 'авг.', 'септ.', 'окт.', 'нов.', 'дец.'], + STANDALONESHORTMONTHS: ['јан.', 'феб.', 'март', 'апр.', 'мај', 'јун', 'јул', 'авг.', 'септ.', 'окт.', 'нов.', 'дец.'], + WEEKDAYS: ['недјеља', 'понедељак', 'уторак', 'сриједа', 'четвртак', 'петак', 'субота'], + STANDALONEWEEKDAYS: ['недјеља', 'понедељак', 'уторак', 'сриједа', 'четвртак', 'петак', 'субота'], + SHORTWEEKDAYS: ['нед.', 'пон.', 'ут.', 'ср.', 'чет.', 'пет.', 'суб.'], + STANDALONESHORTWEEKDAYS: ['нед.', 'пон.', 'ут.', 'ср.', 'чет.', 'пет.', 'суб.'], NARROWWEEKDAYS: ['н', 'п', 'у', 'с', 'ч', 'п', 'с'], STANDALONENARROWWEEKDAYS: ['н', 'п', 'у', 'с', 'ч', 'п', 'с'], SHORTQUARTERS: ['К1', 'К2', 'К3', 'К4'], - QUARTERS: ['Прво тромесечје', 'Друго тромесечје', - 'Треће тромесечје', 'Четврто тромесечје'], - AMPMS: ['пре подне', 'поподне'], - DATEFORMATS: ['EEEE, dd. MMMM y.', 'dd. MMMM y.', 'yyyy-MM-dd', 'yy-MM-dd'], - TIMEFORMATS: [ - 'HH \'часова\', mm \'минута\', ss \'секунди\' zzzz', - 'HH.mm.ss z', 'HH:mm:ss', 'HH:mm'], + QUARTERS: ['први квартал', 'други квартал', 'трећи квартал', 'четврти квартал'], + AMPMS: ['прије подне', 'по подне'], + DATEFORMATS: ['EEEE, dd. MMMM y.', 'dd. MMMM y.', 'dd.MM.y.', 'd.M.yy.'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -12030,45 +11655,63 @@ goog.i18n.DateTimeSymbols_sr_Cyrl_BA = { /** * Date/time formatting symbols for locale sr_Cyrl_ME. */ -goog.i18n.DateTimeSymbols_sr_Cyrl_ME = goog.i18n.DateTimeSymbols_sr_Cyrl; +goog.i18n.DateTimeSymbols_sr_Cyrl_ME = { + ERAS: ['п. н. е.', 'н. е.'], + ERANAMES: ['прије нове ере', 'нове ере'], + NARROWMONTHS: ['ј', 'ф', 'м', 'а', 'м', 'ј', 'ј', 'а', 'с', 'о', 'н', 'д'], + STANDALONENARROWMONTHS: ['ј', 'ф', 'м', 'а', 'м', 'ј', 'ј', 'а', 'с', 'о', 'н', 'д'], + MONTHS: ['јануар', 'фебруар', 'март', 'април', 'мај', 'јун', 'јул', 'август', 'септембар', 'октобар', 'новембар', 'децембар'], + STANDALONEMONTHS: ['јануар', 'фебруар', 'март', 'април', 'мај', 'јун', 'јул', 'август', 'септембар', 'октобар', 'новембар', 'децембар'], + SHORTMONTHS: ['јан.', 'феб.', 'март', 'апр.', 'мај', 'јун', 'јул', 'авг.', 'септ.', 'окт.', 'нов.', 'дец.'], + STANDALONESHORTMONTHS: ['јан.', 'феб.', 'март', 'апр.', 'мај', 'јун', 'јул', 'авг.', 'септ.', 'окт.', 'нов.', 'дец.'], + WEEKDAYS: ['недјеља', 'понедељак', 'уторак', 'сриједа', 'четвртак', 'петак', 'субота'], + STANDALONEWEEKDAYS: ['недјеља', 'понедељак', 'уторак', 'сриједа', 'четвртак', 'петак', 'субота'], + SHORTWEEKDAYS: ['нед.', 'пон.', 'ут.', 'ср.', 'чет.', 'пет.', 'суб.'], + STANDALONESHORTWEEKDAYS: ['нед.', 'пон.', 'ут.', 'ср.', 'чет.', 'пет.', 'суб.'], + NARROWWEEKDAYS: ['н', 'п', 'у', 'с', 'ч', 'п', 'с'], + STANDALONENARROWWEEKDAYS: ['н', 'п', 'у', 'с', 'ч', 'п', 'с'], + SHORTQUARTERS: ['К1', 'К2', 'К3', 'К4'], + QUARTERS: ['први квартал', 'други квартал', 'трећи квартал', 'четврти квартал'], + AMPMS: ['прије подне', 'по подне'], + DATEFORMATS: ['EEEE, dd. MMMM y.', 'dd. MMMM y.', 'dd.MM.y.', 'd.M.yy.'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; /** * Date/time formatting symbols for locale sr_Cyrl_RS. */ -goog.i18n.DateTimeSymbols_sr_Cyrl_RS = goog.i18n.DateTimeSymbols_sr_Cyrl; +goog.i18n.DateTimeSymbols_sr_Cyrl_RS = goog.i18n.DateTimeSymbols_sr; /** - * Date/time formatting symbols for locale sr_Latn. + * Date/time formatting symbols for locale sr_Cyrl_XK. */ -goog.i18n.DateTimeSymbols_sr_Latn = { - ERAS: ['p. n. e.', 'n. e'], - ERANAMES: ['Pre nove ere', 'Nove ere'], - NARROWMONTHS: ['j', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', 'n', 'd'], - STANDALONENARROWMONTHS: ['j', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', - 'n', 'd'], - MONTHS: ['januar', 'februar', 'mart', 'april', 'maj', 'jun', 'jul', 'avgust', - 'septembar', 'oktobar', 'novembar', 'decembar'], - STANDALONEMONTHS: ['januar', 'februar', 'mart', 'april', 'maj', 'jun', 'jul', - 'avgust', 'septembar', 'oktobar', 'novembar', 'decembar'], - SHORTMONTHS: ['jan', 'feb', 'mar', 'apr', 'maj', 'jun', 'jul', 'avg', 'sep', - 'okt', 'nov', 'dec'], - STANDALONESHORTMONTHS: ['jan', 'feb', 'mar', 'apr', 'maj', 'jun', 'jul', - 'avg', 'sep', 'okt', 'nov', 'dec'], - WEEKDAYS: ['nedelja', 'ponedeljak', 'utorak', 'sreda', 'četvrtak', 'petak', - 'subota'], - STANDALONEWEEKDAYS: ['nedelja', 'ponedeljak', 'utorak', 'sreda', 'četvrtak', - 'petak', 'subota'], - SHORTWEEKDAYS: ['ned', 'pon', 'uto', 'sre', 'čet', 'pet', 'sub'], - STANDALONESHORTWEEKDAYS: ['ned', 'pon', 'uto', 'sre', 'čet', 'pet', 'sub'], - NARROWWEEKDAYS: ['n', 'p', 'u', 's', 'č', 'p', 's'], - STANDALONENARROWWEEKDAYS: ['n', 'p', 'u', 's', 'č', 'p', 's'], - SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - QUARTERS: ['1. kvartal', '2. kvartal', '3. kvartal', '4. kvartal'], - AMPMS: ['pre podne', 'popodne'], +goog.i18n.DateTimeSymbols_sr_Cyrl_XK = { + ERAS: ['п. н. е.', 'н. е.'], + ERANAMES: ['пре нове ере', 'нове ере'], + NARROWMONTHS: ['ј', 'ф', 'м', 'а', 'м', 'ј', 'ј', 'а', 'с', 'о', 'н', 'д'], + STANDALONENARROWMONTHS: ['ј', 'ф', 'м', 'а', 'м', 'ј', 'ј', 'а', 'с', 'о', 'н', 'д'], + MONTHS: ['јануар', 'фебруар', 'март', 'април', 'мај', 'јун', 'јул', 'август', 'септембар', 'октобар', 'новембар', 'децембар'], + STANDALONEMONTHS: ['јануар', 'фебруар', 'март', 'април', 'мај', 'јун', 'јул', 'август', 'септембар', 'октобар', 'новембар', 'децембар'], + SHORTMONTHS: ['јан.', 'феб.', 'март', 'апр.', 'мај', 'јун', 'јул', 'авг.', 'септ.', 'окт.', 'нов.', 'дец.'], + STANDALONESHORTMONTHS: ['јан.', 'феб.', 'март', 'апр.', 'мај', 'јун', 'јул', 'авг.', 'септ.', 'окт.', 'нов.', 'дец.'], + WEEKDAYS: ['недеља', 'понедељак', 'уторак', 'среда', 'четвртак', 'петак', 'субота'], + STANDALONEWEEKDAYS: ['недеља', 'понедељак', 'уторак', 'среда', 'четвртак', 'петак', 'субота'], + SHORTWEEKDAYS: ['нед.', 'пон.', 'ут.', 'ср.', 'чет.', 'пет.', 'суб.'], + STANDALONESHORTWEEKDAYS: ['нед.', 'пон.', 'ут.', 'ср.', 'чет.', 'пет.', 'суб.'], + NARROWWEEKDAYS: ['н', 'п', 'у', 'с', 'ч', 'п', 'с'], + STANDALONENARROWWEEKDAYS: ['н', 'п', 'у', 'с', 'ч', 'п', 'с'], + SHORTQUARTERS: ['К1', 'К2', 'К3', 'К4'], + QUARTERS: ['први квартал', 'други квартал', 'трећи квартал', 'четврти квартал'], + AMPMS: ['пре подне', 'по подне'], DATEFORMATS: ['EEEE, dd. MMMM y.', 'dd. MMMM y.', 'dd.MM.y.', 'd.M.yy.'], - TIMEFORMATS: ['HH.mm.ss zzzz', 'HH.mm.ss z', 'HH.mm.ss', 'HH.mm'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -12078,39 +11721,57 @@ goog.i18n.DateTimeSymbols_sr_Latn = { /** * Date/time formatting symbols for locale sr_Latn_BA. */ -goog.i18n.DateTimeSymbols_sr_Latn_BA = goog.i18n.DateTimeSymbols_sr_Latn; +goog.i18n.DateTimeSymbols_sr_Latn_BA = { + ERAS: ['p. n. e.', 'n. e.'], + ERANAMES: ['prije nove ere', 'nove ere'], + NARROWMONTHS: ['j', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', 'n', 'd'], + STANDALONENARROWMONTHS: ['j', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', 'n', 'd'], + MONTHS: ['januar', 'februar', 'mart', 'april', 'maj', 'jun', 'jul', 'avgust', 'septembar', 'oktobar', 'novembar', 'decembar'], + STANDALONEMONTHS: ['januar', 'februar', 'mart', 'april', 'maj', 'jun', 'jul', 'avgust', 'septembar', 'oktobar', 'novembar', 'decembar'], + SHORTMONTHS: ['jan.', 'feb.', 'mart', 'apr.', 'maj', 'jun', 'jul', 'avg.', 'sept.', 'okt.', 'nov.', 'dec.'], + STANDALONESHORTMONTHS: ['jan.', 'feb.', 'mart', 'apr.', 'maj', 'jun', 'jul', 'avg.', 'sept.', 'okt.', 'nov.', 'dec.'], + WEEKDAYS: ['nedjelja', 'ponedeljak', 'utorak', 'srijeda', 'četvrtak', 'petak', 'subota'], + STANDALONEWEEKDAYS: ['nedjelja', 'ponedeljak', 'utorak', 'srijeda', 'četvrtak', 'petak', 'subota'], + SHORTWEEKDAYS: ['ned.', 'pon.', 'ut.', 'sr.', 'čet.', 'pet.', 'sub.'], + STANDALONESHORTWEEKDAYS: ['ned.', 'pon.', 'ut.', 'sr.', 'čet.', 'pet.', 'sub.'], + NARROWWEEKDAYS: ['n', 'p', 'u', 's', 'č', 'p', 's'], + STANDALONENARROWWEEKDAYS: ['n', 'p', 'u', 's', 'č', 'p', 's'], + SHORTQUARTERS: ['K1', 'K2', 'K3', 'K4'], + QUARTERS: ['prvi kvartal', 'drugi kvartal', 'treći kvartal', 'četvrti kvartal'], + AMPMS: ['prije podne', 'po podne'], + DATEFORMATS: ['EEEE, dd. MMMM y.', 'dd. MMMM y.', 'dd.MM.y.', 'd.M.yy.'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; /** * Date/time formatting symbols for locale sr_Latn_ME. */ goog.i18n.DateTimeSymbols_sr_Latn_ME = { - ERAS: ['p. n. e.', 'n. e'], - ERANAMES: ['Pre nove ere', 'Nove ere'], + ERAS: ['p. n. e.', 'n. e.'], + ERANAMES: ['prije nove ere', 'nove ere'], NARROWMONTHS: ['j', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', 'n', 'd'], - STANDALONENARROWMONTHS: ['j', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', - 'n', 'd'], - MONTHS: ['januar', 'februar', 'mart', 'april', 'maj', 'jun', 'jul', 'avgust', - 'septembar', 'oktobar', 'novembar', 'decembar'], - STANDALONEMONTHS: ['januar', 'februar', 'mart', 'april', 'maj', 'jun', 'jul', - 'avgust', 'septembar', 'oktobar', 'novembar', 'decembar'], - SHORTMONTHS: ['jan', 'feb', 'mar', 'apr', 'maj', 'jun', 'jul', 'avg', 'sep', - 'okt', 'nov', 'dec'], - STANDALONESHORTMONTHS: ['jan', 'feb', 'mar', 'apr', 'maj', 'jun', 'jul', - 'avg', 'sep', 'okt', 'nov', 'dec'], - WEEKDAYS: ['nedelja', 'ponedeljak', 'utorak', 'sreda', 'četvrtak', 'petak', - 'subota'], - STANDALONEWEEKDAYS: ['nedelja', 'ponedeljak', 'utorak', 'sreda', 'četvrtak', - 'petak', 'subota'], - SHORTWEEKDAYS: ['ned', 'pon', 'uto', 'sre', 'čet', 'pet', 'sub'], - STANDALONESHORTWEEKDAYS: ['ned', 'pon', 'uto', 'sre', 'čet', 'pet', 'sub'], + STANDALONENARROWMONTHS: ['j', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', 'n', 'd'], + MONTHS: ['januar', 'februar', 'mart', 'april', 'maj', 'jun', 'jul', 'avgust', 'septembar', 'oktobar', 'novembar', 'decembar'], + STANDALONEMONTHS: ['januar', 'februar', 'mart', 'april', 'maj', 'jun', 'jul', 'avgust', 'septembar', 'oktobar', 'novembar', 'decembar'], + SHORTMONTHS: ['jan.', 'feb.', 'mart', 'apr.', 'maj', 'jun', 'jul', 'avg.', 'sept.', 'okt.', 'nov.', 'dec.'], + STANDALONESHORTMONTHS: ['jan.', 'feb.', 'mart', 'apr.', 'maj', 'jun', 'jul', 'avg.', 'sept.', 'okt.', 'nov.', 'dec.'], + WEEKDAYS: ['nedjelja', 'ponedeljak', 'utorak', 'srijeda', 'četvrtak', 'petak', 'subota'], + STANDALONEWEEKDAYS: ['nedjelja', 'ponedeljak', 'utorak', 'srijeda', 'četvrtak', 'petak', 'subota'], + SHORTWEEKDAYS: ['ned.', 'pon.', 'ut.', 'sr.', 'čet.', 'pet.', 'sub.'], + STANDALONESHORTWEEKDAYS: ['ned.', 'pon.', 'ut.', 'sr.', 'čet.', 'pet.', 'sub.'], NARROWWEEKDAYS: ['n', 'p', 'u', 's', 'č', 'p', 's'], STANDALONENARROWWEEKDAYS: ['n', 'p', 'u', 's', 'č', 'p', 's'], - SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - QUARTERS: ['1. kvartal', '2. kvartal', '3. kvartal', '4. kvartal'], - AMPMS: ['pre podne', 'popodne'], - DATEFORMATS: ['EEEE, dd. MMMM y.', 'd.MM.yyyy.', 'dd.MM.y.', 'd.M.yy.'], - TIMEFORMATS: ['HH.mm.ss zzzz', 'HH.mm.ss z', 'HH.mm.ss', 'HH.mm'], + SHORTQUARTERS: ['K1', 'K2', 'K3', 'K4'], + QUARTERS: ['prvi kvartal', 'drugi kvartal', 'treći kvartal', 'četvrti kvartal'], + AMPMS: ['prije podne', 'po podne'], + DATEFORMATS: ['EEEE, dd. MMMM y.', 'dd. MMMM y.', 'dd.MM.y.', 'd.M.yy.'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -12120,91 +11781,27 @@ goog.i18n.DateTimeSymbols_sr_Latn_ME = { /** * Date/time formatting symbols for locale sr_Latn_RS. */ -goog.i18n.DateTimeSymbols_sr_Latn_RS = goog.i18n.DateTimeSymbols_sr_Latn; - - -/** - * Date/time formatting symbols for locale ss. - */ -goog.i18n.DateTimeSymbols_ss = { - ERAS: ['BCE', 'CE'], - ERANAMES: ['BCE', 'CE'], - NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], - STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', - '11', '12'], - MONTHS: ['Bhimbidvwane', 'iNdlovana', 'iNdlovu-lenkhulu', 'Mabasa', - 'iNkhwekhweti', 'iNhlaba', 'Kholwane', 'iNgci', 'iNyoni', 'iMphala', - 'Lweti', 'iNgongoni'], - STANDALONEMONTHS: ['Bhimbidvwane', 'iNdlovana', 'iNdlovu-lenkhulu', 'Mabasa', - 'iNkhwekhweti', 'iNhlaba', 'Kholwane', 'iNgci', 'iNyoni', 'iMphala', - 'Lweti', 'iNgongoni'], - SHORTMONTHS: ['Bhi', 'Van', 'Vol', 'Mab', 'Nkh', 'Nhl', 'Kho', 'Ngc', 'Nyo', - 'Mph', 'Lwe', 'Ngo'], - STANDALONESHORTMONTHS: ['Bhi', 'Van', 'Vol', 'Mab', 'Nkh', 'Nhl', 'Kho', - 'Ngc', 'Nyo', 'Mph', 'Lwe', 'Ngo'], - WEEKDAYS: ['Lisontfo', 'uMsombuluko', 'Lesibili', 'Lesitsatfu', 'Lesine', - 'Lesihlanu', 'uMgcibelo'], - STANDALONEWEEKDAYS: ['Lisontfo', 'uMsombuluko', 'Lesibili', 'Lesitsatfu', - 'Lesine', 'Lesihlanu', 'uMgcibelo'], - SHORTWEEKDAYS: ['Son', 'Mso', 'Bil', 'Tsa', 'Ne', 'Hla', 'Mgc'], - STANDALONESHORTWEEKDAYS: ['Son', 'Mso', 'Bil', 'Tsa', 'Ne', 'Hla', 'Mgc'], - NARROWWEEKDAYS: ['1', '2', '3', '4', '5', '6', '7'], - STANDALONENARROWWEEKDAYS: ['1', '2', '3', '4', '5', '6', '7'], - SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - QUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE, y MMMM dd', 'y MMMM d', 'y MMM d', 'yyyy-MM-dd'], +goog.i18n.DateTimeSymbols_sr_Latn_RS = { + ERAS: ['p. n. e.', 'n. e.'], + ERANAMES: ['pre nove ere', 'nove ere'], + NARROWMONTHS: ['j', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', 'n', 'd'], + STANDALONENARROWMONTHS: ['j', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', 'n', 'd'], + MONTHS: ['januar', 'februar', 'mart', 'april', 'maj', 'jun', 'jul', 'avgust', 'septembar', 'oktobar', 'novembar', 'decembar'], + STANDALONEMONTHS: ['januar', 'februar', 'mart', 'april', 'maj', 'jun', 'jul', 'avgust', 'septembar', 'oktobar', 'novembar', 'decembar'], + SHORTMONTHS: ['jan', 'feb', 'mar', 'apr', 'maj', 'jun', 'jul', 'avg', 'sep', 'okt', 'nov', 'dec'], + STANDALONESHORTMONTHS: ['jan', 'feb', 'mar', 'apr', 'maj', 'jun', 'jul', 'avg', 'sep', 'okt', 'nov', 'dec'], + WEEKDAYS: ['nedelja', 'ponedeljak', 'utorak', 'sreda', 'četvrtak', 'petak', 'subota'], + STANDALONEWEEKDAYS: ['nedelja', 'ponedeljak', 'utorak', 'sreda', 'četvrtak', 'petak', 'subota'], + SHORTWEEKDAYS: ['ned', 'pon', 'uto', 'sre', 'čet', 'pet', 'sub'], + STANDALONESHORTWEEKDAYS: ['ned', 'pon', 'uto', 'sre', 'čet', 'pet', 'sub'], + NARROWWEEKDAYS: ['n', 'p', 'u', 's', 'č', 'p', 's'], + STANDALONENARROWWEEKDAYS: ['n', 'p', 'u', 's', 'č', 'p', 's'], + SHORTQUARTERS: ['K1', 'K2', 'K3', 'K4'], + QUARTERS: ['prvi kvartal', 'drugi kvartal', 'treći kvartal', 'četvrti kvartal'], + AMPMS: ['pre podne', 'po podne'], + DATEFORMATS: ['EEEE, dd. MMMM y.', 'dd. MMMM y.', 'dd.MM.y.', 'd.M.yy.'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 6, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 5 -}; - - -/** - * Date/time formatting symbols for locale ss_SZ. - */ -goog.i18n.DateTimeSymbols_ss_SZ = goog.i18n.DateTimeSymbols_ss; - - -/** - * Date/time formatting symbols for locale ss_ZA. - */ -goog.i18n.DateTimeSymbols_ss_ZA = goog.i18n.DateTimeSymbols_ss; - - -/** - * Date/time formatting symbols for locale ssy. - */ -goog.i18n.DateTimeSymbols_ssy = { - ERAS: ['Yaasuusuk Duma', 'Yaasuusuk Wadir'], - ERANAMES: ['Yaasuusuk Duma', 'Yaasuusuk Wadir'], - NARROWMONTHS: ['Q', 'N', 'C', 'A', 'C', 'Q', 'Q', 'L', 'W', 'D', 'X', 'K'], - STANDALONENARROWMONTHS: ['Q', 'N', 'C', 'A', 'C', 'Q', 'Q', 'L', 'W', 'D', - 'X', 'K'], - MONTHS: ['Qunxa Garablu', 'Kudo', 'Ciggilta Kudo', 'Agda Baxis', 'Caxah Alsa', - 'Qasa Dirri', 'Qado Dirri', 'Liiqen', 'Waysu', 'Diteli', 'Ximoli', - 'Kaxxa Garablu'], - STANDALONEMONTHS: ['Qunxa Garablu', 'Kudo', 'Ciggilta Kudo', 'Agda Baxis', - 'Caxah Alsa', 'Qasa Dirri', 'Qado Dirri', 'Liiqen', 'Waysu', 'Diteli', - 'Ximoli', 'Kaxxa Garablu'], - SHORTMONTHS: ['Qun', 'Nah', 'Cig', 'Agd', 'Cax', 'Qas', 'Qad', 'Leq', 'Way', - 'Dit', 'Xim', 'Kax'], - STANDALONESHORTMONTHS: ['Qun', 'Nah', 'Cig', 'Agd', 'Cax', 'Qas', 'Qad', - 'Leq', 'Way', 'Dit', 'Xim', 'Kax'], - WEEKDAYS: ['Naba Sambat', 'Sani', 'Salus', 'Rabuq', 'Camus', 'Jumqata', - 'Qunxa Sambat'], - STANDALONEWEEKDAYS: ['Naba Sambat', 'Sani', 'Salus', 'Rabuq', 'Camus', - 'Jumqata', 'Qunxa Sambat'], - SHORTWEEKDAYS: ['Nab', 'San', 'Sal', 'Rab', 'Cam', 'Jum', 'Qun'], - STANDALONESHORTWEEKDAYS: ['Nab', 'San', 'Sal', 'Rab', 'Cam', 'Jum', 'Qun'], - NARROWWEEKDAYS: ['N', 'S', 'S', 'R', 'C', 'J', 'Q'], - STANDALONENARROWWEEKDAYS: ['N', 'S', 'S', 'R', 'C', 'J', 'Q'], - SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - QUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - AMPMS: ['saaku', 'carra'], - DATEFORMATS: ['EEEE, MMMM dd, y', 'dd MMMM y', 'dd-MMM-y', 'dd/MM/yy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -12212,59 +11809,39 @@ goog.i18n.DateTimeSymbols_ssy = { /** - * Date/time formatting symbols for locale ssy_ER. - */ -goog.i18n.DateTimeSymbols_ssy_ER = goog.i18n.DateTimeSymbols_ssy; - - -/** - * Date/time formatting symbols for locale st. + * Date/time formatting symbols for locale sr_Latn_XK. */ -goog.i18n.DateTimeSymbols_st = { - ERAS: ['BCE', 'CE'], - ERANAMES: ['BCE', 'CE'], - NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], - STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', - '11', '12'], - MONTHS: ['Phesekgong', 'Hlakola', 'Hlakubele', 'Mmese', 'Motsheanong', - 'Phupjane', 'Phupu', 'Phata', 'Leotshe', 'Mphalane', 'Pundungwane', - 'Tshitwe'], - STANDALONEMONTHS: ['Phesekgong', 'Hlakola', 'Hlakubele', 'Mmese', - 'Motsheanong', 'Phupjane', 'Phupu', 'Phata', 'Leotshe', 'Mphalane', - 'Pundungwane', 'Tshitwe'], - SHORTMONTHS: ['Phe', 'Kol', 'Ube', 'Mme', 'Mot', 'Jan', 'Upu', 'Pha', 'Leo', - 'Mph', 'Pun', 'Tsh'], - STANDALONESHORTMONTHS: ['Phe', 'Kol', 'Ube', 'Mme', 'Mot', 'Jan', 'Upu', - 'Pha', 'Leo', 'Mph', 'Pun', 'Tsh'], - WEEKDAYS: ['Sontaha', 'Mmantaha', 'Labobedi', 'Laboraru', 'Labone', - 'Labohlane', 'Moqebelo'], - STANDALONEWEEKDAYS: ['Sontaha', 'Mmantaha', 'Labobedi', 'Laboraru', 'Labone', - 'Labohlane', 'Moqebelo'], - SHORTWEEKDAYS: ['Son', 'Mma', 'Bed', 'Rar', 'Ne', 'Hla', 'Moq'], - STANDALONESHORTWEEKDAYS: ['Son', 'Mma', 'Bed', 'Rar', 'Ne', 'Hla', 'Moq'], - NARROWWEEKDAYS: ['1', '2', '3', '4', '5', '6', '7'], - STANDALONENARROWWEEKDAYS: ['1', '2', '3', '4', '5', '6', '7'], - SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - QUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE, y MMMM dd', 'y MMMM d', 'y MMM d', 'yyyy-MM-dd'], +goog.i18n.DateTimeSymbols_sr_Latn_XK = { + ERAS: ['p. n. e.', 'n. e.'], + ERANAMES: ['pre nove ere', 'nove ere'], + NARROWMONTHS: ['j', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', 'n', 'd'], + STANDALONENARROWMONTHS: ['j', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', 'n', 'd'], + MONTHS: ['januar', 'februar', 'mart', 'april', 'maj', 'jun', 'jul', 'avgust', 'septembar', 'oktobar', 'novembar', 'decembar'], + STANDALONEMONTHS: ['januar', 'februar', 'mart', 'april', 'maj', 'jun', 'jul', 'avgust', 'septembar', 'oktobar', 'novembar', 'decembar'], + SHORTMONTHS: ['jan.', 'feb.', 'mart', 'apr.', 'maj', 'jun', 'jul', 'avg.', 'sept.', 'okt.', 'nov.', 'dec.'], + STANDALONESHORTMONTHS: ['jan.', 'feb.', 'mart', 'apr.', 'maj', 'jun', 'jul', 'avg.', 'sept.', 'okt.', 'nov.', 'dec.'], + WEEKDAYS: ['nedelja', 'ponedeljak', 'utorak', 'sreda', 'četvrtak', 'petak', 'subota'], + STANDALONEWEEKDAYS: ['nedelja', 'ponedeljak', 'utorak', 'sreda', 'četvrtak', 'petak', 'subota'], + SHORTWEEKDAYS: ['ned.', 'pon.', 'ut.', 'sr.', 'čet.', 'pet.', 'sub.'], + STANDALONESHORTWEEKDAYS: ['ned.', 'pon.', 'ut.', 'sr.', 'čet.', 'pet.', 'sub.'], + NARROWWEEKDAYS: ['n', 'p', 'u', 's', 'č', 'p', 's'], + STANDALONENARROWWEEKDAYS: ['n', 'p', 'u', 's', 'č', 'p', 's'], + SHORTQUARTERS: ['K1', 'K2', 'K3', 'K4'], + QUARTERS: ['prvi kvartal', 'drugi kvartal', 'treći kvartal', 'četvrti kvartal'], + AMPMS: ['pre podne', 'po podne'], + DATEFORMATS: ['EEEE, dd. MMMM y.', 'dd. MMMM y.', 'dd.MM.y.', 'd.M.yy.'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 6, + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 5 + FIRSTWEEKCUTOFFDAY: 6 }; /** - * Date/time formatting symbols for locale st_LS. + * Date/time formatting symbols for locale sv_AX. */ -goog.i18n.DateTimeSymbols_st_LS = goog.i18n.DateTimeSymbols_st; - - -/** - * Date/time formatting symbols for locale st_ZA. - */ -goog.i18n.DateTimeSymbols_st_ZA = goog.i18n.DateTimeSymbols_st; +goog.i18n.DateTimeSymbols_sv_AX = goog.i18n.DateTimeSymbols_sv; /** @@ -12274,31 +11851,23 @@ goog.i18n.DateTimeSymbols_sv_FI = { ERAS: ['f.Kr.', 'e.Kr.'], ERANAMES: ['före Kristus', 'efter Kristus'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['januari', 'februari', 'mars', 'april', 'maj', 'juni', 'juli', - 'augusti', 'september', 'oktober', 'november', 'december'], - STANDALONEMONTHS: ['januari', 'februari', 'mars', 'april', 'maj', 'juni', - 'juli', 'augusti', 'september', 'oktober', 'november', 'december'], - SHORTMONTHS: ['jan', 'feb', 'mar', 'apr', 'maj', 'jun', 'jul', 'aug', 'sep', - 'okt', 'nov', 'dec'], - STANDALONESHORTMONTHS: ['jan', 'feb', 'mar', 'apr', 'maj', 'jun', 'jul', - 'aug', 'sep', 'okt', 'nov', 'dec'], - WEEKDAYS: ['söndag', 'måndag', 'tisdag', 'onsdag', 'torsdag', 'fredag', - 'lördag'], - STANDALONEWEEKDAYS: ['söndag', 'måndag', 'tisdag', 'onsdag', 'torsdag', - 'fredag', 'lördag'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['januari', 'februari', 'mars', 'april', 'maj', 'juni', 'juli', 'augusti', 'september', 'oktober', 'november', 'december'], + STANDALONEMONTHS: ['januari', 'februari', 'mars', 'april', 'maj', 'juni', 'juli', 'augusti', 'september', 'oktober', 'november', 'december'], + SHORTMONTHS: ['jan.', 'feb.', 'mars', 'apr.', 'maj', 'juni', 'juli', 'aug.', 'sep.', 'okt.', 'nov.', 'dec.'], + STANDALONESHORTMONTHS: ['jan.', 'feb.', 'mars', 'apr.', 'maj', 'juni', 'juli', 'aug.', 'sep.', 'okt.', 'nov.', 'dec.'], + WEEKDAYS: ['söndag', 'måndag', 'tisdag', 'onsdag', 'torsdag', 'fredag', 'lördag'], + STANDALONEWEEKDAYS: ['söndag', 'måndag', 'tisdag', 'onsdag', 'torsdag', 'fredag', 'lördag'], SHORTWEEKDAYS: ['sön', 'mån', 'tis', 'ons', 'tors', 'fre', 'lör'], - STANDALONESHORTWEEKDAYS: ['sön', 'mån', 'tis', 'ons', 'tor', 'fre', 'lör'], + STANDALONESHORTWEEKDAYS: ['sön', 'mån', 'tis', 'ons', 'tors', 'fre', 'lör'], NARROWWEEKDAYS: ['S', 'M', 'T', 'O', 'T', 'F', 'L'], STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'O', 'T', 'F', 'L'], - SHORTQUARTERS: ['K1', 'K2', 'K3', 'K4'], - QUARTERS: ['1:a kvartalet', '2:a kvartalet', '3:e kvartalet', - '4:e kvartalet'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['1:a kvartalet', '2:a kvartalet', '3:e kvartalet', '4:e kvartalet'], AMPMS: ['fm', 'em'], - DATEFORMATS: ['EEEE\'en\' \'den\' d:\'e\' MMMM y', 'd MMMM y', 'd MMM y', - 'yyyy-MM-dd'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd-MM-y'], TIMEFORMATS: ['\'kl\'. HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 3 @@ -12308,39 +11877,13 @@ goog.i18n.DateTimeSymbols_sv_FI = { /** * Date/time formatting symbols for locale sv_SE. */ -goog.i18n.DateTimeSymbols_sv_SE = { - ERAS: ['f.Kr.', 'e.Kr.'], - ERANAMES: ['före Kristus', 'efter Kristus'], - NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['januari', 'februari', 'mars', 'april', 'maj', 'juni', 'juli', - 'augusti', 'september', 'oktober', 'november', 'december'], - STANDALONEMONTHS: ['januari', 'februari', 'mars', 'april', 'maj', 'juni', - 'juli', 'augusti', 'september', 'oktober', 'november', 'december'], - SHORTMONTHS: ['jan', 'feb', 'mar', 'apr', 'maj', 'jun', 'jul', 'aug', 'sep', - 'okt', 'nov', 'dec'], - STANDALONESHORTMONTHS: ['jan', 'feb', 'mar', 'apr', 'maj', 'jun', 'jul', - 'aug', 'sep', 'okt', 'nov', 'dec'], - WEEKDAYS: ['söndag', 'måndag', 'tisdag', 'onsdag', 'torsdag', 'fredag', - 'lördag'], - STANDALONEWEEKDAYS: ['söndag', 'måndag', 'tisdag', 'onsdag', 'torsdag', - 'fredag', 'lördag'], - SHORTWEEKDAYS: ['sön', 'mån', 'tis', 'ons', 'tors', 'fre', 'lör'], - STANDALONESHORTWEEKDAYS: ['sön', 'mån', 'tis', 'ons', 'tor', 'fre', 'lör'], - NARROWWEEKDAYS: ['S', 'M', 'T', 'O', 'T', 'F', 'L'], - STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'O', 'T', 'F', 'L'], - SHORTQUARTERS: ['K1', 'K2', 'K3', 'K4'], - QUARTERS: ['1:a kvartalet', '2:a kvartalet', '3:e kvartalet', - '4:e kvartalet'], - AMPMS: ['fm', 'em'], - DATEFORMATS: ['EEEE\'en\' \'den\' d:\'e\' MMMM y', 'd MMMM y', 'd MMM y', - 'yyyy-MM-dd'], - TIMEFORMATS: ['\'kl\'. HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 3 -}; +goog.i18n.DateTimeSymbols_sv_SE = goog.i18n.DateTimeSymbols_sv; + + +/** + * Date/time formatting symbols for locale sw_CD. + */ +goog.i18n.DateTimeSymbols_sw_CD = goog.i18n.DateTimeSymbols_sw; /** @@ -12350,29 +11893,23 @@ goog.i18n.DateTimeSymbols_sw_KE = { ERAS: ['KK', 'BK'], ERANAMES: ['Kabla ya Kristo', 'Baada ya Kristo'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['Januari', 'Februari', 'Machi', 'Aprili', 'Mei', 'Juni', 'Julai', - 'Agosti', 'Septemba', 'Oktoba', 'Novemba', 'Desemba'], - STANDALONEMONTHS: ['Januari', 'Februari', 'Machi', 'Aprili', 'Mei', 'Juni', - 'Julai', 'Agosti', 'Septemba', 'Oktoba', 'Novemba', 'Desemba'], - SHORTMONTHS: ['Jan', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Jul', 'Ago', 'Sep', - 'Okt', 'Nov', 'Des'], - STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Jul', - 'Ago', 'Sep', 'Okt', 'Nov', 'Des'], - WEEKDAYS: ['Jumapili', 'Jumatatu', 'Jumanne', 'Jumatano', 'Alhamisi', - 'Ijumaa', 'Jumamosi'], - STANDALONEWEEKDAYS: ['Jumapili', 'Jumatatu', 'Jumanne', 'Jumatano', - 'Alhamisi', 'Ijumaa', 'Jumamosi'], - SHORTWEEKDAYS: ['J2', 'J3', 'J4', 'J5', 'Alh', 'Ij', 'J1'], - STANDALONESHORTWEEKDAYS: ['J2', 'J3', 'J4', 'J5', 'Alh', 'Ij', 'J1'], - NARROWWEEKDAYS: ['2', '3', '4', '5', 'A', 'I', '1'], - STANDALONENARROWWEEKDAYS: ['2', '3', '4', '5', 'A', 'I', '1'], - SHORTQUARTERS: ['R1', 'R2', 'R3', 'R4'], - QUARTERS: ['Robo 1', 'Robo 2', 'Robo 3', 'Robo 4'], - AMPMS: ['asubuhi', 'alasiri'], - DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yyyy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['Januari', 'Februari', 'Machi', 'Aprili', 'Mei', 'Juni', 'Julai', 'Agosti', 'Septemba', 'Oktoba', 'Novemba', 'Desemba'], + STANDALONEMONTHS: ['Januari', 'Februari', 'Machi', 'Aprili', 'Mei', 'Juni', 'Julai', 'Agosti', 'Septemba', 'Oktoba', 'Novemba', 'Desemba'], + SHORTMONTHS: ['Jan', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Jul', 'Ago', 'Sep', 'Okt', 'Nov', 'Des'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Jul', 'Ago', 'Sep', 'Okt', 'Nov', 'Des'], + WEEKDAYS: ['Jumapili', 'Jumatatu', 'Jumanne', 'Jumatano', 'Alhamisi', 'Ijumaa', 'Jumamosi'], + STANDALONEWEEKDAYS: ['Jumapili', 'Jumatatu', 'Jumanne', 'Jumatano', 'Alhamisi', 'Ijumaa', 'Jumamosi'], + SHORTWEEKDAYS: ['Jumapili', 'Jumatatu', 'Jumanne', 'Jumatano', 'Alhamisi', 'Ijumaa', 'Jumamosi'], + STANDALONESHORTWEEKDAYS: ['Jumapili', 'Jumatatu', 'Jumanne', 'Jumatano', 'Alhamisi', 'Ijumaa', 'Jumamosi'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Robo ya 1', 'Robo ya 2', 'Robo ya 3', 'Robo ya 4'], + QUARTERS: ['Robo ya 1', 'Robo ya 2', 'Robo ya 3', 'Robo ya 4'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} \'saa\' {0}', '{1} \'saa\' {0}', '{1}, {0}', '{1}, {0}'], FIRSTDAYOFWEEK: 6, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 5 @@ -12382,191 +11919,75 @@ goog.i18n.DateTimeSymbols_sw_KE = { /** * Date/time formatting symbols for locale sw_TZ. */ -goog.i18n.DateTimeSymbols_sw_TZ = { - ERAS: ['KK', 'BK'], - ERANAMES: ['Kabla ya Kristo', 'Baada ya Kristo'], - NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['Januari', 'Februari', 'Machi', 'Aprili', 'Mei', 'Juni', 'Julai', - 'Agosti', 'Septemba', 'Oktoba', 'Novemba', 'Desemba'], - STANDALONEMONTHS: ['Januari', 'Februari', 'Machi', 'Aprili', 'Mei', 'Juni', - 'Julai', 'Agosti', 'Septemba', 'Oktoba', 'Novemba', 'Desemba'], - SHORTMONTHS: ['Jan', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Jul', 'Ago', 'Sep', - 'Okt', 'Nov', 'Des'], - STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Jul', - 'Ago', 'Sep', 'Okt', 'Nov', 'Des'], - WEEKDAYS: ['Jumapili', 'Jumatatu', 'Jumanne', 'Jumatano', 'Alhamisi', - 'Ijumaa', 'Jumamosi'], - STANDALONEWEEKDAYS: ['Jumapili', 'Jumatatu', 'Jumanne', 'Jumatano', - 'Alhamisi', 'Ijumaa', 'Jumamosi'], - SHORTWEEKDAYS: ['J2', 'J3', 'J4', 'J5', 'Alh', 'Ij', 'J1'], - STANDALONESHORTWEEKDAYS: ['J2', 'J3', 'J4', 'J5', 'Alh', 'Ij', 'J1'], - NARROWWEEKDAYS: ['2', '3', '4', '5', 'A', 'I', '1'], - STANDALONENARROWWEEKDAYS: ['2', '3', '4', '5', 'A', 'I', '1'], - SHORTQUARTERS: ['R1', 'R2', 'R3', 'R4'], - QUARTERS: ['Robo 1', 'Robo 2', 'Robo 3', 'Robo 4'], - AMPMS: ['asubuhi', 'alasiri'], - DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yyyy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 6 -}; +goog.i18n.DateTimeSymbols_sw_TZ = goog.i18n.DateTimeSymbols_sw; /** - * Date/time formatting symbols for locale swc. + * Date/time formatting symbols for locale sw_UG. */ -goog.i18n.DateTimeSymbols_swc = { - ERAS: ['mbele ya Y', 'kisha ya Y'], - ERANAMES: ['mbele ya Yezu Kristo', 'kisha ya Yezu Kristo'], - NARROWMONTHS: ['k', 'p', 't', 'i', 't', 's', 's', 'm', 't', 'k', 'm', 'm'], - STANDALONENARROWMONTHS: ['k', 'p', 't', 'i', 't', 's', 's', 'm', 't', 'k', - 'm', 'm'], - MONTHS: ['mwezi ya kwanja', 'mwezi ya pili', 'mwezi ya tatu', 'mwezi ya ine', - 'mwezi ya tanu', 'mwezi ya sita', 'mwezi ya saba', 'mwezi ya munane', - 'mwezi ya tisa', 'mwezi ya kumi', 'mwezi ya kumi na moya', - 'mwezi ya kumi ya mbili'], - STANDALONEMONTHS: ['mwezi ya kwanja', 'mwezi ya pili', 'mwezi ya tatu', - 'mwezi ya ine', 'mwezi ya tanu', 'mwezi ya sita', 'mwezi ya saba', - 'mwezi ya munane', 'mwezi ya tisa', 'mwezi ya kumi', - 'mwezi ya kumi na moya', 'mwezi ya kumi ya mbili'], - SHORTMONTHS: ['mkw', 'mpi', 'mtu', 'min', 'mtn', 'mst', 'msb', 'mun', 'mts', - 'mku', 'mkm', 'mkb'], - STANDALONESHORTMONTHS: ['mkw', 'mpi', 'mtu', 'min', 'mtn', 'mst', 'msb', - 'mun', 'mts', 'mku', 'mkm', 'mkb'], - WEEKDAYS: ['siku ya yenga', 'siku ya kwanza', 'siku ya pili', 'siku ya tatu', - 'siku ya ine', 'siku ya tanu', 'siku ya sita'], - STANDALONEWEEKDAYS: ['siku ya yenga', 'siku ya kwanza', 'siku ya pili', - 'siku ya tatu', 'siku ya ine', 'siku ya tanu', 'siku ya sita'], - SHORTWEEKDAYS: ['yen', 'kwa', 'pil', 'tat', 'ine', 'tan', 'sit'], - STANDALONESHORTWEEKDAYS: ['yen', 'kwa', 'pil', 'tat', 'ine', 'tan', 'sit'], - NARROWWEEKDAYS: ['y', 'k', 'p', 't', 'i', 't', 's'], - STANDALONENARROWWEEKDAYS: ['y', 'k', 'p', 't', 'i', 't', 's'], - SHORTQUARTERS: ['R1', 'R2', 'R3', 'R4'], - QUARTERS: ['Robo 1', 'Robo 2', 'Robo 3', 'Robo 4'], - AMPMS: ['ya asubuyi', 'ya muchana'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'd/M/yyyy'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 6 -}; +goog.i18n.DateTimeSymbols_sw_UG = goog.i18n.DateTimeSymbols_sw; /** - * Date/time formatting symbols for locale swc_CD. + * Date/time formatting symbols for locale ta_IN. */ -goog.i18n.DateTimeSymbols_swc_CD = goog.i18n.DateTimeSymbols_swc; +goog.i18n.DateTimeSymbols_ta_IN = goog.i18n.DateTimeSymbols_ta; /** - * Date/time formatting symbols for locale ta_IN. + * Date/time formatting symbols for locale ta_LK. */ -goog.i18n.DateTimeSymbols_ta_IN = { +goog.i18n.DateTimeSymbols_ta_LK = { ERAS: ['கி.மு.', 'கி.பி.'], - ERANAMES: ['கிறிஸ்துவுக்கு முன்', - 'அனோ டோமினி'], - NARROWMONTHS: ['ஜ', 'பி', 'மா', 'ஏ', 'மே', 'ஜூ', 'ஜூ', - 'ஆ', 'செ', 'அ', 'ந', 'டி'], - STANDALONENARROWMONTHS: ['ஜ', 'பி', 'மா', 'ஏ', 'மே', 'ஜூ', - 'ஜூ', 'ஆ', 'செ', 'அ', 'ந', 'டி'], - MONTHS: ['ஜனவரி', 'பிப்ரவரி', 'மார்ச்', - 'ஏப்ரல்', 'மே', 'ஜூன்', 'ஜூலை', - 'ஆகஸ்ட்', 'செப்டம்பர்', - 'அக்டோபர்', 'நவம்பர்', - 'டிசம்பர்'], - STANDALONEMONTHS: ['ஜனவரி', 'பிப்ரவரி', - 'மார்ச்', 'ஏப்ரல்', 'மே', 'ஜூன்', - 'ஜூலை', 'ஆகஸ்டு', 'செப்டம்பர்', - 'அக்டோபர்', 'நவம்பர்', - 'டிசம்பர்'], - SHORTMONTHS: ['ஜன.', 'பிப்.', 'மார்.', 'ஏப்.', - 'மே', 'ஜூன்', 'ஜூலை', 'ஆக.', 'செப்.', - 'அக்.', 'நவ.', 'டிச.'], - STANDALONESHORTMONTHS: ['ஜன.', 'பிப்.', 'மார்.', - 'ஏப்.', 'மே', 'ஜூன்', 'ஜூலை', 'ஆக.', - 'செப்.', 'அக்.', 'நவ.', 'டிச.'], - WEEKDAYS: ['ஞாயிறு', 'திங்கள்', - 'செவ்வாய்', 'புதன்', 'வியாழன்', - 'வெள்ளி', 'சனி'], - STANDALONEWEEKDAYS: ['ஞாயிறு', 'திங்கள்', - 'செவ்வாய்', 'புதன்', 'வியாழன்', - 'வெள்ளி', 'சனி'], - SHORTWEEKDAYS: ['ஞா', 'தி', 'செ', 'பு', 'வி', 'வெ', - 'ச'], - STANDALONESHORTWEEKDAYS: ['ஞா', 'தி', 'செ', 'பு', 'வி', - 'வெ', 'ச'], - NARROWWEEKDAYS: ['ஞா', 'தி', 'செ', 'பு', 'வி', 'வெ', - 'ச'], - STANDALONENARROWWEEKDAYS: ['ஞா', 'தி', 'செ', 'பு', 'வி', - 'வெ', 'ச'], - SHORTQUARTERS: ['காலாண்டு1', 'காலாண்டு2', - 'காலாண்டு3', 'காலாண்டு4'], - QUARTERS: ['முதல் காலாண்டு', - 'இரண்டாம் காலாண்டு', - 'மூன்றாம் காலாண்டு', - 'நான்காம் காலாண்டு'], - AMPMS: ['am', 'pm'], - DATEFORMATS: ['EEEE, d MMMM, y', 'd MMMM, y', 'd MMM, y', 'd-M-yy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], - FIRSTDAYOFWEEK: 6, - WEEKENDRANGE: [6, 6], - FIRSTWEEKCUTOFFDAY: 5 + ERANAMES: ['கிறிஸ்துவுக்கு முன்', 'அன்னோ டோமினி'], + NARROWMONTHS: ['ஜ', 'பி', 'மா', 'ஏ', 'மே', 'ஜூ', 'ஜூ', 'ஆ', 'செ', 'அ', 'ந', 'டி'], + STANDALONENARROWMONTHS: ['ஜ', 'பி', 'மா', 'ஏ', 'மே', 'ஜூ', 'ஜூ', 'ஆ', 'செ', 'அ', 'ந', 'டி'], + MONTHS: ['ஜனவரி', 'பிப்ரவரி', 'மார்ச்', 'ஏப்ரல்', 'மே', 'ஜூன்', 'ஜூலை', 'ஆகஸ்ட்', 'செப்டம்பர்', 'அக்டோபர்', 'நவம்பர்', 'டிசம்பர்'], + STANDALONEMONTHS: ['ஜனவரி', 'பிப்ரவரி', 'மார்ச்', 'ஏப்ரல்', 'மே', 'ஜூன்', 'ஜூலை', 'ஆகஸ்ட்', 'செப்டம்பர்', 'அக்டோபர்', 'நவம்பர்', 'டிசம்பர்'], + SHORTMONTHS: ['ஜன.', 'பிப்.', 'மார்.', 'ஏப்.', 'மே', 'ஜூன்', 'ஜூலை', 'ஆக.', 'செப்.', 'அக்.', 'நவ.', 'டிச.'], + STANDALONESHORTMONTHS: ['ஜன.', 'பிப்.', 'மார்.', 'ஏப்.', 'மே', 'ஜூன்', 'ஜூலை', 'ஆக.', 'செப்.', 'அக்.', 'நவ.', 'டிச.'], + WEEKDAYS: ['ஞாயிறு', 'திங்கள்', 'செவ்வாய்', 'புதன்', 'வியாழன்', 'வெள்ளி', 'சனி'], + STANDALONEWEEKDAYS: ['ஞாயிறு', 'திங்கள்', 'செவ்வாய்', 'புதன்', 'வியாழன்', 'வெள்ளி', 'சனி'], + SHORTWEEKDAYS: ['ஞாயி.', 'திங்.', 'செவ்.', 'புத.', 'வியா.', 'வெள்.', 'சனி'], + STANDALONESHORTWEEKDAYS: ['ஞாயி.', 'திங்.', 'செவ்.', 'புத.', 'வியா.', 'வெள்.', 'சனி'], + NARROWWEEKDAYS: ['ஞா', 'தி', 'செ', 'பு', 'வி', 'வெ', 'ச'], + STANDALONENARROWWEEKDAYS: ['ஞா', 'தி', 'செ', 'பு', 'வி', 'வெ', 'ச'], + SHORTQUARTERS: ['காலா.1', 'காலா.2', 'காலா.3', 'காலா.4'], + QUARTERS: ['ஒன்றாம் காலாண்டு', 'இரண்டாம் காலாண்டு', 'மூன்றாம் காலாண்டு', 'நான்காம் காலாண்டு'], + AMPMS: ['முற்பகல்', 'பிற்பகல்'], + DATEFORMATS: ['EEEE, d MMMM, y', 'd MMMM, y', 'd MMM, y', 'd/M/yy'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} ’அன்று’ {0}', '{1} ’அன்று’ {0}', '{1}, {0}', '{1}, {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 }; /** - * Date/time formatting symbols for locale ta_LK. + * Date/time formatting symbols for locale ta_MY. */ -goog.i18n.DateTimeSymbols_ta_LK = { +goog.i18n.DateTimeSymbols_ta_MY = { ERAS: ['கி.மு.', 'கி.பி.'], - ERANAMES: ['கிறிஸ்துவுக்கு முன்', - 'அனோ டோமினி'], - NARROWMONTHS: ['ஜ', 'பி', 'மா', 'ஏ', 'மே', 'ஜூ', 'ஜூ', - 'ஆ', 'செ', 'அ', 'ந', 'டி'], - STANDALONENARROWMONTHS: ['ஜ', 'பி', 'மா', 'ஏ', 'மே', 'ஜூ', - 'ஜூ', 'ஆ', 'செ', 'அ', 'ந', 'டி'], - MONTHS: ['ஜனவரி', 'பிப்ரவரி', 'மார்ச்', - 'ஏப்ரல்', 'மே', 'ஜூன்', 'ஜூலை', - 'ஆகஸ்ட்', 'செப்டம்பர்', - 'அக்டோபர்', 'நவம்பர்', - 'டிசம்பர்'], - STANDALONEMONTHS: ['ஜனவரி', 'பிப்ரவரி', - 'மார்ச்', 'ஏப்ரல்', 'மே', 'ஜூன்', - 'ஜூலை', 'ஆகஸ்டு', 'செப்டம்பர்', - 'அக்டோபர்', 'நவம்பர்', - 'டிசம்பர்'], - SHORTMONTHS: ['ஜன.', 'பிப்.', 'மார்.', 'ஏப்.', - 'மே', 'ஜூன்', 'ஜூலை', 'ஆக.', 'செப்.', - 'அக்.', 'நவ.', 'டிச.'], - STANDALONESHORTMONTHS: ['ஜன.', 'பிப்.', 'மார்.', - 'ஏப்.', 'மே', 'ஜூன்', 'ஜூலை', 'ஆக.', - 'செப்.', 'அக்.', 'நவ.', 'டிச.'], - WEEKDAYS: ['ஞாயிறு', 'திங்கள்', - 'செவ்வாய்', 'புதன்', 'வியாழன்', - 'வெள்ளி', 'சனி'], - STANDALONEWEEKDAYS: ['ஞாயிறு', 'திங்கள்', - 'செவ்வாய்', 'புதன்', 'வியாழன்', - 'வெள்ளி', 'சனி'], - SHORTWEEKDAYS: ['ஞா', 'தி', 'செ', 'பு', 'வி', 'வெ', - 'ச'], - STANDALONESHORTWEEKDAYS: ['ஞா', 'தி', 'செ', 'பு', 'வி', - 'வெ', 'ச'], - NARROWWEEKDAYS: ['ஞா', 'தி', 'செ', 'பு', 'வி', 'வெ', - 'ச'], - STANDALONENARROWWEEKDAYS: ['ஞா', 'தி', 'செ', 'பு', 'வி', - 'வெ', 'ச'], - SHORTQUARTERS: ['காலாண்டு1', 'காலாண்டு2', - 'காலாண்டு3', 'காலாண்டு4'], - QUARTERS: ['முதல் காலாண்டு', - 'இரண்டாம் காலாண்டு', - 'மூன்றாம் காலாண்டு', - 'நான்காம் காலாண்டு'], - AMPMS: ['am', 'pm'], - DATEFORMATS: ['EEEE, d MMMM, y', 'd MMMM, y', 'd MMM, y', 'd-M-yy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + ERANAMES: ['கிறிஸ்துவுக்கு முன்', 'அன்னோ டோமினி'], + NARROWMONTHS: ['ஜ', 'பி', 'மா', 'ஏ', 'மே', 'ஜூ', 'ஜூ', 'ஆ', 'செ', 'அ', 'ந', 'டி'], + STANDALONENARROWMONTHS: ['ஜ', 'பி', 'மா', 'ஏ', 'மே', 'ஜூ', 'ஜூ', 'ஆ', 'செ', 'அ', 'ந', 'டி'], + MONTHS: ['ஜனவரி', 'பிப்ரவரி', 'மார்ச்', 'ஏப்ரல்', 'மே', 'ஜூன்', 'ஜூலை', 'ஆகஸ்ட்', 'செப்டம்பர்', 'அக்டோபர்', 'நவம்பர்', 'டிசம்பர்'], + STANDALONEMONTHS: ['ஜனவரி', 'பிப்ரவரி', 'மார்ச்', 'ஏப்ரல்', 'மே', 'ஜூன்', 'ஜூலை', 'ஆகஸ்ட்', 'செப்டம்பர்', 'அக்டோபர்', 'நவம்பர்', 'டிசம்பர்'], + SHORTMONTHS: ['ஜன.', 'பிப்.', 'மார்.', 'ஏப்.', 'மே', 'ஜூன்', 'ஜூலை', 'ஆக.', 'செப்.', 'அக்.', 'நவ.', 'டிச.'], + STANDALONESHORTMONTHS: ['ஜன.', 'பிப்.', 'மார்.', 'ஏப்.', 'மே', 'ஜூன்', 'ஜூலை', 'ஆக.', 'செப்.', 'அக்.', 'நவ.', 'டிச.'], + WEEKDAYS: ['ஞாயிறு', 'திங்கள்', 'செவ்வாய்', 'புதன்', 'வியாழன்', 'வெள்ளி', 'சனி'], + STANDALONEWEEKDAYS: ['ஞாயிறு', 'திங்கள்', 'செவ்வாய்', 'புதன்', 'வியாழன்', 'வெள்ளி', 'சனி'], + SHORTWEEKDAYS: ['ஞாயி.', 'திங்.', 'செவ்.', 'புத.', 'வியா.', 'வெள்.', 'சனி'], + STANDALONESHORTWEEKDAYS: ['ஞாயி.', 'திங்.', 'செவ்.', 'புத.', 'வியா.', 'வெள்.', 'சனி'], + NARROWWEEKDAYS: ['ஞா', 'தி', 'செ', 'பு', 'வி', 'வெ', 'ச'], + STANDALONENARROWWEEKDAYS: ['ஞா', 'தி', 'செ', 'பு', 'வி', 'வெ', 'ச'], + SHORTQUARTERS: ['காலா.1', 'காலா.2', 'காலா.3', 'காலா.4'], + QUARTERS: ['ஒன்றாம் காலாண்டு', 'இரண்டாம் காலாண்டு', 'மூன்றாம் காலாண்டு', 'நான்காம் காலாண்டு'], + AMPMS: ['முற்பகல்', 'பிற்பகல்'], + DATEFORMATS: ['EEEE, d MMMM, y', 'd MMMM, y', 'd MMM, y', 'd/M/yy'], + TIMEFORMATS: ['a h:mm:ss zzzz', 'a h:mm:ss z', 'a h:mm:ss', 'a h:mm'], + DATETIMEFORMATS: ['{1} ’அன்று’ {0}', '{1} ’அன்று’ {0}', '{1}, {0}', '{1}, {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -12574,63 +11995,41 @@ goog.i18n.DateTimeSymbols_ta_LK = { /** - * Date/time formatting symbols for locale te_IN. + * Date/time formatting symbols for locale ta_SG. */ -goog.i18n.DateTimeSymbols_te_IN = { - ERAS: ['ఈసాపూర్వ.', 'సన్.'], - ERANAMES: ['ఈసాపూర్వ.', 'సన్.'], - NARROWMONTHS: ['జ', 'ఫి', 'మా', 'ఏ', 'మె', 'జు', 'జు', - 'ఆ', 'సె', 'అ', 'న', 'డి'], - STANDALONENARROWMONTHS: ['జ', 'ఫి', 'మ', 'ఎ', 'మె', 'జు', - 'జు', 'ఆ', 'సె', 'అ', 'న', 'డి'], - MONTHS: ['జనవరి', 'ఫిబ్రవరి', 'మార్చి', - 'ఎప్రిల్', 'మే', 'జూన్', 'జూలై', - 'ఆగస్టు', 'సెప్టెంబర్', - 'అక్టోబర్', 'నవంబర్', - 'డిసెంబర్'], - STANDALONEMONTHS: ['జనవరి', 'ఫిబ్రవరి', - 'మార్చి', 'ఎప్రిల్', 'మే', 'జూన్', - 'జూలై', 'ఆగస్టు', 'సెప్టెంబర్', - 'అక్టోబర్', 'నవంబర్', - 'డిసెంబర్'], - SHORTMONTHS: ['జన', 'ఫిబ్ర', 'మార్చి', - 'ఏప్రి', 'మే', 'జూన్', 'జూలై', - 'ఆగస్టు', 'సెప్టెంబర్', - 'అక్టోబర్', 'నవంబర్', - 'డిసెంబర్'], - STANDALONESHORTMONTHS: ['జన', 'ఫిబ్ర', 'మార్చి', - 'ఏప్రి', 'మే', 'జూన్', 'జూలై', - 'ఆగస్టు', 'సెప్టెంబర్', - 'అక్టోబర్', 'నవంబర్', - 'డిసెంబర్'], - WEEKDAYS: ['ఆదివారం', 'సోమవారం', - 'మంగళవారం', 'బుధవారం', - 'గురువారం', 'శుక్రవారం', - 'శనివారం'], - STANDALONEWEEKDAYS: ['ఆదివారం', 'సోమవారం', - 'మంగళవారం', 'బుధవారం', - 'గురువారం', 'శుక్రవారం', - 'శనివారం'], - SHORTWEEKDAYS: ['ఆది', 'సోమ', 'మంగళ', 'బుధ', - 'గురు', 'శుక్ర', 'శని'], - STANDALONESHORTWEEKDAYS: ['ఆది', 'సోమ', 'మంగళ', - 'బుధ', 'గురు', 'శుక్ర', 'శని'], - NARROWWEEKDAYS: ['ఆ', 'సో', 'మ', 'బు', 'గు', 'శు', 'శ'], - STANDALONENARROWWEEKDAYS: ['ఆ', 'సో', 'మ', 'బు', 'గు', - 'శు', 'శ'], - SHORTQUARTERS: ['ఒకటి 1', 'రెండు 2', 'మూడు 3', - 'నాలుగు 4'], - QUARTERS: ['ఒకటి 1', 'రెండు 2', 'మూడు 3', - 'నాలుగు 4'], - AMPMS: ['am', 'pm'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd-MM-yy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], +goog.i18n.DateTimeSymbols_ta_SG = { + ERAS: ['கி.மு.', 'கி.பி.'], + ERANAMES: ['கிறிஸ்துவுக்கு முன்', 'அன்னோ டோமினி'], + NARROWMONTHS: ['ஜ', 'பி', 'மா', 'ஏ', 'மே', 'ஜூ', 'ஜூ', 'ஆ', 'செ', 'அ', 'ந', 'டி'], + STANDALONENARROWMONTHS: ['ஜ', 'பி', 'மா', 'ஏ', 'மே', 'ஜூ', 'ஜூ', 'ஆ', 'செ', 'அ', 'ந', 'டி'], + MONTHS: ['ஜனவரி', 'பிப்ரவரி', 'மார்ச்', 'ஏப்ரல்', 'மே', 'ஜூன்', 'ஜூலை', 'ஆகஸ்ட்', 'செப்டம்பர்', 'அக்டோபர்', 'நவம்பர்', 'டிசம்பர்'], + STANDALONEMONTHS: ['ஜனவரி', 'பிப்ரவரி', 'மார்ச்', 'ஏப்ரல்', 'மே', 'ஜூன்', 'ஜூலை', 'ஆகஸ்ட்', 'செப்டம்பர்', 'அக்டோபர்', 'நவம்பர்', 'டிசம்பர்'], + SHORTMONTHS: ['ஜன.', 'பிப்.', 'மார்.', 'ஏப்.', 'மே', 'ஜூன்', 'ஜூலை', 'ஆக.', 'செப்.', 'அக்.', 'நவ.', 'டிச.'], + STANDALONESHORTMONTHS: ['ஜன.', 'பிப்.', 'மார்.', 'ஏப்.', 'மே', 'ஜூன்', 'ஜூலை', 'ஆக.', 'செப்.', 'அக்.', 'நவ.', 'டிச.'], + WEEKDAYS: ['ஞாயிறு', 'திங்கள்', 'செவ்வாய்', 'புதன்', 'வியாழன்', 'வெள்ளி', 'சனி'], + STANDALONEWEEKDAYS: ['ஞாயிறு', 'திங்கள்', 'செவ்வாய்', 'புதன்', 'வியாழன்', 'வெள்ளி', 'சனி'], + SHORTWEEKDAYS: ['ஞாயி.', 'திங்.', 'செவ்.', 'புத.', 'வியா.', 'வெள்.', 'சனி'], + STANDALONESHORTWEEKDAYS: ['ஞாயி.', 'திங்.', 'செவ்.', 'புத.', 'வியா.', 'வெள்.', 'சனி'], + NARROWWEEKDAYS: ['ஞா', 'தி', 'செ', 'பு', 'வி', 'வெ', 'ச'], + STANDALONENARROWWEEKDAYS: ['ஞா', 'தி', 'செ', 'பு', 'வி', 'வெ', 'ச'], + SHORTQUARTERS: ['காலா.1', 'காலா.2', 'காலா.3', 'காலா.4'], + QUARTERS: ['ஒன்றாம் காலாண்டு', 'இரண்டாம் காலாண்டு', 'மூன்றாம் காலாண்டு', 'நான்காம் காலாண்டு'], + AMPMS: ['முற்பகல்', 'பிற்பகல்'], + DATEFORMATS: ['EEEE, d MMMM, y', 'd MMMM, y', 'd MMM, y', 'd/M/yy'], + TIMEFORMATS: ['a h:mm:ss zzzz', 'a h:mm:ss z', 'a h:mm:ss', 'a h:mm'], + DATETIMEFORMATS: ['{1} ’அன்று’ {0}', '{1} ’அன்று’ {0}', '{1}, {0}', '{1}, {0}'], FIRSTDAYOFWEEK: 6, - WEEKENDRANGE: [6, 6], + WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 5 }; +/** + * Date/time formatting symbols for locale te_IN. + */ +goog.i18n.DateTimeSymbols_te_IN = goog.i18n.DateTimeSymbols_te; + + /** * Date/time formatting symbols for locale teo. */ @@ -12638,31 +12037,23 @@ goog.i18n.DateTimeSymbols_teo = { ERAS: ['KK', 'BK'], ERANAMES: ['Kabla ya Christo', 'Baada ya Christo'], NARROWMONTHS: ['R', 'M', 'K', 'D', 'M', 'M', 'J', 'P', 'S', 'T', 'L', 'P'], - STANDALONENARROWMONTHS: ['R', 'M', 'K', 'D', 'M', 'M', 'J', 'P', 'S', 'T', - 'L', 'P'], - MONTHS: ['Orara', 'Omuk', 'Okwamg\'', 'Odung\'el', 'Omaruk', - 'Omodok\'king\'ol', 'Ojola', 'Opedel', 'Osokosokoma', 'Otibar', 'Olabor', - 'Opoo'], - STANDALONEMONTHS: ['Orara', 'Omuk', 'Okwamg\'', 'Odung\'el', 'Omaruk', - 'Omodok\'king\'ol', 'Ojola', 'Opedel', 'Osokosokoma', 'Otibar', 'Olabor', - 'Opoo'], - SHORTMONTHS: ['Rar', 'Muk', 'Kwa', 'Dun', 'Mar', 'Mod', 'Jol', 'Ped', 'Sok', - 'Tib', 'Lab', 'Poo'], - STANDALONESHORTMONTHS: ['Rar', 'Muk', 'Kwa', 'Dun', 'Mar', 'Mod', 'Jol', - 'Ped', 'Sok', 'Tib', 'Lab', 'Poo'], - WEEKDAYS: ['Nakaejuma', 'Nakaebarasa', 'Nakaare', 'Nakauni', 'Nakaung\'on', - 'Nakakany', 'Nakasabiti'], - STANDALONEWEEKDAYS: ['Nakaejuma', 'Nakaebarasa', 'Nakaare', 'Nakauni', - 'Nakaung\'on', 'Nakakany', 'Nakasabiti'], + STANDALONENARROWMONTHS: ['R', 'M', 'K', 'D', 'M', 'M', 'J', 'P', 'S', 'T', 'L', 'P'], + MONTHS: ['Orara', 'Omuk', 'Okwamg’', 'Odung’el', 'Omaruk', 'Omodok’king’ol', 'Ojola', 'Opedel', 'Osokosokoma', 'Otibar', 'Olabor', 'Opoo'], + STANDALONEMONTHS: ['Orara', 'Omuk', 'Okwamg’', 'Odung’el', 'Omaruk', 'Omodok’king’ol', 'Ojola', 'Opedel', 'Osokosokoma', 'Otibar', 'Olabor', 'Opoo'], + SHORTMONTHS: ['Rar', 'Muk', 'Kwa', 'Dun', 'Mar', 'Mod', 'Jol', 'Ped', 'Sok', 'Tib', 'Lab', 'Poo'], + STANDALONESHORTMONTHS: ['Rar', 'Muk', 'Kwa', 'Dun', 'Mar', 'Mod', 'Jol', 'Ped', 'Sok', 'Tib', 'Lab', 'Poo'], + WEEKDAYS: ['Nakaejuma', 'Nakaebarasa', 'Nakaare', 'Nakauni', 'Nakaung’on', 'Nakakany', 'Nakasabiti'], + STANDALONEWEEKDAYS: ['Nakaejuma', 'Nakaebarasa', 'Nakaare', 'Nakauni', 'Nakaung’on', 'Nakakany', 'Nakasabiti'], SHORTWEEKDAYS: ['Jum', 'Bar', 'Aar', 'Uni', 'Ung', 'Kan', 'Sab'], STANDALONESHORTWEEKDAYS: ['Jum', 'Bar', 'Aar', 'Uni', 'Ung', 'Kan', 'Sab'], NARROWWEEKDAYS: ['J', 'B', 'A', 'U', 'U', 'K', 'S'], STANDALONENARROWWEEKDAYS: ['J', 'B', 'A', 'U', 'U', 'K', 'S'], SHORTQUARTERS: ['K1', 'K2', 'K3', 'K4'], - QUARTERS: ['Akwota abe', 'Akwota Aane', 'Akwota auni', 'Akwota Aung\'on'], + QUARTERS: ['Akwota abe', 'Akwota Aane', 'Akwota auni', 'Akwota Aung’on'], AMPMS: ['Taparachu', 'Ebongi'], - DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yyyy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -12672,122 +12063,43 @@ goog.i18n.DateTimeSymbols_teo = { /** * Date/time formatting symbols for locale teo_KE. */ -goog.i18n.DateTimeSymbols_teo_KE = goog.i18n.DateTimeSymbols_teo; - - -/** - * Date/time formatting symbols for locale teo_UG. - */ -goog.i18n.DateTimeSymbols_teo_UG = goog.i18n.DateTimeSymbols_teo; - - -/** - * Date/time formatting symbols for locale tg. - */ -goog.i18n.DateTimeSymbols_tg = { - ERAS: ['ПеМ', 'ПаМ'], - ERANAMES: ['Пеш аз милод', 'ПаМ'], - NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], - STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', - '11', '12'], - MONTHS: ['Январ', 'Феврал', 'Март', 'Апрел', 'Май', - 'Июн', 'Июл', 'Август', 'Сентябр', 'Октябр', - 'Ноябр', 'Декабр'], - STANDALONEMONTHS: ['Январ', 'Феврал', 'Март', 'Апрел', - 'Май', 'Июн', 'Июл', 'Август', 'Сентябр', - 'Октябр', 'Ноябр', 'Декабр'], - SHORTMONTHS: ['Янв', 'Фев', 'Мар', 'Апр', 'Май', 'Июн', - 'Июл', 'Авг', 'Сен', 'Окт', 'Ноя', 'Дек'], - STANDALONESHORTMONTHS: ['Янв', 'Фев', 'Мар', 'Апр', 'Май', - 'Июн', 'Июл', 'Авг', 'Сен', 'Окт', 'Ноя', 'Дек'], - WEEKDAYS: ['Якшанбе', 'Душанбе', 'Сешанбе', - 'Чоршанбе', 'Панҷшанбе', 'Ҷумъа', 'Шанбе'], - STANDALONEWEEKDAYS: ['Якшанбе', 'Душанбе', 'Сешанбе', - 'Чоршанбе', 'Панҷшанбе', 'Ҷумъа', 'Шанбе'], - SHORTWEEKDAYS: ['Яшб', 'Дшб', 'Сшб', 'Чшб', 'Пшб', 'Ҷмъ', - 'Шнб'], - STANDALONESHORTWEEKDAYS: ['Яшб', 'Дшб', 'Сшб', 'Чшб', 'Пшб', - 'Ҷмъ', 'Шнб'], - NARROWWEEKDAYS: ['1', '2', '3', '4', '5', '6', '7'], - STANDALONENARROWWEEKDAYS: ['1', '2', '3', '4', '5', '6', '7'], - SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - QUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - AMPMS: ['пе. чо.', 'па. чо.'], - DATEFORMATS: ['EEEE, y MMMM dd', 'y MMMM d', 'y MMM d', 'yy/MM/dd'], +goog.i18n.DateTimeSymbols_teo_KE = { + ERAS: ['KK', 'BK'], + ERANAMES: ['Kabla ya Christo', 'Baada ya Christo'], + NARROWMONTHS: ['R', 'M', 'K', 'D', 'M', 'M', 'J', 'P', 'S', 'T', 'L', 'P'], + STANDALONENARROWMONTHS: ['R', 'M', 'K', 'D', 'M', 'M', 'J', 'P', 'S', 'T', 'L', 'P'], + MONTHS: ['Orara', 'Omuk', 'Okwamg’', 'Odung’el', 'Omaruk', 'Omodok’king’ol', 'Ojola', 'Opedel', 'Osokosokoma', 'Otibar', 'Olabor', 'Opoo'], + STANDALONEMONTHS: ['Orara', 'Omuk', 'Okwamg’', 'Odung’el', 'Omaruk', 'Omodok’king’ol', 'Ojola', 'Opedel', 'Osokosokoma', 'Otibar', 'Olabor', 'Opoo'], + SHORTMONTHS: ['Rar', 'Muk', 'Kwa', 'Dun', 'Mar', 'Mod', 'Jol', 'Ped', 'Sok', 'Tib', 'Lab', 'Poo'], + STANDALONESHORTMONTHS: ['Rar', 'Muk', 'Kwa', 'Dun', 'Mar', 'Mod', 'Jol', 'Ped', 'Sok', 'Tib', 'Lab', 'Poo'], + WEEKDAYS: ['Nakaejuma', 'Nakaebarasa', 'Nakaare', 'Nakauni', 'Nakaung’on', 'Nakakany', 'Nakasabiti'], + STANDALONEWEEKDAYS: ['Nakaejuma', 'Nakaebarasa', 'Nakaare', 'Nakauni', 'Nakaung’on', 'Nakakany', 'Nakasabiti'], + SHORTWEEKDAYS: ['Jum', 'Bar', 'Aar', 'Uni', 'Ung', 'Kan', 'Sab'], + STANDALONESHORTWEEKDAYS: ['Jum', 'Bar', 'Aar', 'Uni', 'Ung', 'Kan', 'Sab'], + NARROWWEEKDAYS: ['J', 'B', 'A', 'U', 'U', 'K', 'S'], + STANDALONENARROWWEEKDAYS: ['J', 'B', 'A', 'U', 'U', 'K', 'S'], + SHORTQUARTERS: ['K1', 'K2', 'K3', 'K4'], + QUARTERS: ['Akwota abe', 'Akwota Aane', 'Akwota auni', 'Akwota Aung’on'], + AMPMS: ['Taparachu', 'Ebongi'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 0, + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 6, WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 6 + FIRSTWEEKCUTOFFDAY: 5 }; /** - * Date/time formatting symbols for locale tg_Cyrl. - */ -goog.i18n.DateTimeSymbols_tg_Cyrl = goog.i18n.DateTimeSymbols_tg; - - -/** - * Date/time formatting symbols for locale tg_Cyrl_TJ. + * Date/time formatting symbols for locale teo_UG. */ -goog.i18n.DateTimeSymbols_tg_Cyrl_TJ = goog.i18n.DateTimeSymbols_tg; +goog.i18n.DateTimeSymbols_teo_UG = goog.i18n.DateTimeSymbols_teo; /** * Date/time formatting symbols for locale th_TH. */ -goog.i18n.DateTimeSymbols_th_TH = { - ERAS: ['ปีก่อน ค.ศ.', 'ค.ศ.'], - ERANAMES: ['ปีก่อนคริสต์ศักราช', - 'คริสต์ศักราช'], - NARROWMONTHS: ['ม.ค.', 'ก.พ.', 'มี.ค.', 'เม.ย.', - 'พ.ค.', 'มิ.ย', 'ก.ค.', 'ส.ค.', 'ก.ย.', 'ต.ค.', - 'พ.ย.', 'ธ.ค.'], - STANDALONENARROWMONTHS: ['ม.ค.', 'ก.พ.', 'มี.ค.', 'เม.ย.', - 'พ.ค.', 'มิ.ย.', 'ก.ค.', 'ส.ค.', 'ก.ย.', 'ต.ค.', - 'พ.ย.', 'ธ.ค.'], - MONTHS: ['มกราคม', 'กุมภาพันธ์', - 'มีนาคม', 'เมษายน', 'พฤษภาคม', - 'มิถุนายน', 'กรกฎาคม', - 'สิงหาคม', 'กันยายน', 'ตุลาคม', - 'พฤศจิกายน', 'ธันวาคม'], - STANDALONEMONTHS: ['มกราคม', 'กุมภาพันธ์', - 'มีนาคม', 'เมษายน', 'พฤษภาคม', - 'มิถุนายน', 'กรกฎาคม', - 'สิงหาคม', 'กันยายน', 'ตุลาคม', - 'พฤศจิกายน', 'ธันวาคม'], - SHORTMONTHS: ['ม.ค.', 'ก.พ.', 'มี.ค.', 'เม.ย.', - 'พ.ค.', 'มิ.ย.', 'ก.ค.', 'ส.ค.', 'ก.ย.', 'ต.ค.', - 'พ.ย.', 'ธ.ค.'], - STANDALONESHORTMONTHS: ['ม.ค.', 'ก.พ.', 'มี.ค.', 'เม.ย.', - 'พ.ค.', 'มิ.ย.', 'ก.ค.', 'ส.ค.', 'ก.ย.', 'ต.ค.', - 'พ.ย.', 'ธ.ค.'], - WEEKDAYS: ['วันอาทิตย์', 'วันจันทร์', - 'วันอังคาร', 'วันพุธ', - 'วันพฤหัสบดี', 'วันศุกร์', - 'วันเสาร์'], - STANDALONEWEEKDAYS: ['วันอาทิตย์', - 'วันจันทร์', 'วันอังคาร', - 'วันพุธ', 'วันพฤหัสบดี', - 'วันศุกร์', 'วันเสาร์'], - SHORTWEEKDAYS: ['อา.', 'จ.', 'อ.', 'พ.', 'พฤ.', 'ศ.', 'ส.'], - STANDALONESHORTWEEKDAYS: ['อา.', 'จ.', 'อ.', 'พ.', 'พฤ.', - 'ศ.', 'ส.'], - NARROWWEEKDAYS: ['อ', 'จ', 'อ', 'พ', 'พ', 'ศ', 'ส'], - STANDALONENARROWWEEKDAYS: ['อ', 'จ', 'อ', 'พ', 'พ', 'ศ', 'ส'], - SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - QUARTERS: ['ไตรมาส 1', 'ไตรมาส 2', - 'ไตรมาส 3', 'ไตรมาส 4'], - AMPMS: ['ก่อนเที่ยง', 'หลังเที่ยง'], - DATEFORMATS: ['EEEEที่ d MMMM G y', 'd MMMM y', 'd MMM y', 'd/M/yyyy'], - TIMEFORMATS: [ - 'H นาฬิกา m นาที ss วินาที zzzz', - 'H นาฬิกา m นาที ss วินาที z', 'H:mm:ss', - 'H:mm'], - FIRSTDAYOFWEEK: 6, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 5 -}; +goog.i18n.DateTimeSymbols_th_TH = goog.i18n.DateTimeSymbols_th; /** @@ -12795,43 +12107,28 @@ goog.i18n.DateTimeSymbols_th_TH = { */ goog.i18n.DateTimeSymbols_ti = { ERAS: ['ዓ/ዓ', 'ዓ/ም'], - ERANAMES: ['ዓ/ዓ', 'ዓ/ም'], - NARROWMONTHS: ['ጃ', 'ፌ', 'ማ', 'ኤ', 'ሜ', 'ጁ', 'ጁ', 'ኦ', 'ሴ', - 'ኦ', 'ኖ', 'ዲ'], - STANDALONENARROWMONTHS: ['ጃ', 'ፌ', 'ማ', 'ኤ', 'ሜ', 'ጁ', 'ጁ', - 'ኦ', 'ሴ', 'ኦ', 'ኖ', 'ዲ'], - MONTHS: ['ጃንዩወሪ', 'ፌብሩወሪ', 'ማርች', 'ኤፕረል', - 'ሜይ', 'ጁን', 'ጁላይ', 'ኦገስት', 'ሴፕቴምበር', - 'ኦክተውበር', 'ኖቬምበር', 'ዲሴምበር'], - STANDALONEMONTHS: ['ጃንዩወሪ', 'ፌብሩወሪ', 'ማርች', - 'ኤፕረል', 'ሜይ', 'ጁን', 'ጁላይ', 'ኦገስት', - 'ሴፕቴምበር', 'ኦክተውበር', 'ኖቬምበር', - 'ዲሴምበር'], - SHORTMONTHS: ['ጃንዩ', 'ፌብሩ', 'ማርች', 'ኤፕረ', 'ሜይ', - 'ጁን', 'ጁላይ', 'ኦገስ', 'ሴፕቴ', 'ኦክተ', 'ኖቬም', - 'ዲሴም'], - STANDALONESHORTMONTHS: ['ጃንዩ', 'ፌብሩ', 'ማርች', 'ኤፕረ', - 'ሜይ', 'ጁን', 'ጁላይ', 'ኦገስ', 'ሴፕቴ', 'ኦክተ', - 'ኖቬም', 'ዲሴም'], - WEEKDAYS: ['ሰንበት', 'ሰኑይ', 'ሠሉስ', 'ረቡዕ', 'ኃሙስ', - 'ዓርቢ', 'ቀዳም'], - STANDALONEWEEKDAYS: ['ሰንበት', 'ሰኑይ', 'ሠሉስ', 'ረቡዕ', - 'ኃሙስ', 'ዓርቢ', 'ቀዳም'], - SHORTWEEKDAYS: ['ሰንበት', 'ሰኑይ', 'ሠሉስ', 'ረቡዕ', - 'ኃሙስ', 'ዓርቢ', 'ቀዳም'], - STANDALONESHORTWEEKDAYS: ['ሰንበት', 'ሰኑይ', 'ሠሉስ', - 'ረቡዕ', 'ኃሙስ', 'ዓርቢ', 'ቀዳም'], - NARROWWEEKDAYS: ['ሰ', 'ሰ', 'ሠ', 'ረ', 'ኃ', 'ዓ', 'ቀ'], - STANDALONENARROWWEEKDAYS: ['ሰ', 'ሰ', 'ሠ', 'ረ', 'ኃ', 'ዓ', 'ቀ'], - SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - QUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + ERANAMES: ['ዓ/ዓ', 'ዓመተ ምህረት'], + NARROWMONTHS: ['ጥ', 'ለ', 'መ', 'ሚ', 'ግ', 'ሰ', 'ሓ', 'ነ', 'መ', 'ጥ', 'ሕ', 'ታ'], + STANDALONENARROWMONTHS: ['ጥ', 'ለ', 'መ', 'ሚ', 'ግ', 'ሰ', 'ሓ', 'ነ', 'መ', 'ጥ', 'ሕ', 'ታ'], + MONTHS: ['ጥሪ', 'ለካቲት', 'መጋቢት', 'ሚያዝያ', 'ግንቦት', 'ሰነ', 'ሓምለ', 'ነሓሰ', 'መስከረም', 'ጥቅምቲ', 'ሕዳር', 'ታሕሳስ'], + STANDALONEMONTHS: ['ጥሪ', 'ለካቲት', 'መጋቢት', 'ሚያዝያ', 'ግንቦት', 'ሰነ', 'ሓምለ', 'ነሓሰ', 'መስከረም', 'ጥቅምቲ', 'ሕዳር', 'ታሕሳስ'], + SHORTMONTHS: ['ጥሪ', 'ለካ', 'መጋ', 'ሚያ', 'ግን', 'ሰነ', 'ሓም', 'ነሓ', 'መስ', 'ጥቅ', 'ሕዳ', 'ታሕ'], + STANDALONESHORTMONTHS: ['ጥሪ', 'ለካ', 'መጋ', 'ሚያ', 'ግን', 'ሰነ', 'ሓም', 'ነሓ', 'መስ', 'ጥቅ', 'ሕዳ', 'ታሕ'], + WEEKDAYS: ['ሰንበት', 'ሰኑይ', 'ሠሉስ', 'ረቡዕ', 'ኃሙስ', 'ዓርቢ', 'ቀዳም'], + STANDALONEWEEKDAYS: ['ሰንበት', 'ሰኑይ', 'ሰሉስ', 'ረቡዕ', 'ሓሙስ', 'ዓርቢ', 'ቀዳም'], + SHORTWEEKDAYS: ['ሰን', 'ሰኑ', 'ሰሉ', 'ረቡ', 'ሓሙ', 'ዓር', 'ቀዳ'], + STANDALONESHORTWEEKDAYS: ['ሰን', 'ሰኑ', 'ሰሉ', 'ረቡ', 'ሓሙ', 'ዓር', 'ቀዳ'], + NARROWWEEKDAYS: ['ሰ', 'ሰ', 'ሰ', 'ረ', 'ሓ', 'ዓ', 'ቀ'], + STANDALONENARROWWEEKDAYS: ['ሰ', 'ሰ', 'ሠ', 'ረ', 'ሓ', 'ዓ', 'ቀ'], + SHORTQUARTERS: ['ር1', 'ር2', 'ር3', 'ር4'], + QUARTERS: ['ቀዳማይ ርብዒ', 'ካልኣይ ርብዒ', 'ሳልሳይ ርብዒ', 'ራብዓይ ርብዒ'], AMPMS: ['ንጉሆ ሰዓተ', 'ድሕር ሰዓት'], - DATEFORMATS: ['EEEE፣ dd MMMM መዓልቲ y G', 'dd MMMM y', 'dd-MMM-y', - 'dd/MM/yy'], + DATEFORMATS: ['EEEE፣ dd MMMM መዓልቲ y G', 'dd MMMM y', 'dd-MMM-y', 'dd/MM/yy'], TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], - FIRSTDAYOFWEEK: 0, + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 6, WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 6 + FIRSTWEEKCUTOFFDAY: 5 }; @@ -12840,39 +12137,25 @@ goog.i18n.DateTimeSymbols_ti = { */ goog.i18n.DateTimeSymbols_ti_ER = { ERAS: ['ዓ/ዓ', 'ዓ/ም'], - ERANAMES: ['ዓ/ዓ', 'ዓ/ም'], - NARROWMONTHS: ['ጃ', 'ፌ', 'ማ', 'ኤ', 'ሜ', 'ጁ', 'ጁ', 'ኦ', 'ሴ', - 'ኦ', 'ኖ', 'ዲ'], - STANDALONENARROWMONTHS: ['ጃ', 'ፌ', 'ማ', 'ኤ', 'ሜ', 'ጁ', 'ጁ', - 'ኦ', 'ሴ', 'ኦ', 'ኖ', 'ዲ'], - MONTHS: ['ጥሪ', 'ለካቲት', 'መጋቢት', 'ሚያዝያ', - 'ግንቦት', 'ሰነ', 'ሓምለ', 'ነሓሰ', 'መስከረም', - 'ጥቅምቲ', 'ሕዳር', 'ታሕሳስ'], - STANDALONEMONTHS: ['ጥሪ', 'ለካቲት', 'መጋቢት', 'ሚያዝያ', - 'ግንቦት', 'ሰነ', 'ሓምለ', 'ነሓሰ', 'መስከረም', - 'ጥቅምቲ', 'ሕዳር', 'ታሕሳስ'], - SHORTMONTHS: ['ጥሪ', 'ለካቲ', 'መጋቢ', 'ሚያዝ', 'ግንቦ', - 'ሰነ', 'ሓምለ', 'ነሓሰ', 'መስከ', 'ጥቅም', 'ሕዳር', - 'ታሕሳ'], - STANDALONESHORTMONTHS: ['ጥሪ', 'ለካቲ', 'መጋቢ', 'ሚያዝ', - 'ግንቦ', 'ሰነ', 'ሓምለ', 'ነሓሰ', 'መስከ', 'ጥቅም', - 'ሕዳር', 'ታሕሳ'], - WEEKDAYS: ['ሰንበት', 'ሰኑይ', 'ሰሉስ', 'ረቡዕ', 'ሓሙስ', - 'ዓርቢ', 'ቀዳም'], - STANDALONEWEEKDAYS: ['ሰንበት', 'ሰኑይ', 'ሰሉስ', 'ረቡዕ', - 'ሓሙስ', 'ዓርቢ', 'ቀዳም'], - SHORTWEEKDAYS: ['ሰንበት', 'ሰኑይ', 'ሰሉስ', 'ረቡዕ', - 'ሓሙስ', 'ዓርቢ', 'ቀዳም'], - STANDALONESHORTWEEKDAYS: ['ሰንበት', 'ሰኑይ', 'ሰሉስ', - 'ረቡዕ', 'ሓሙስ', 'ዓርቢ', 'ቀዳም'], - NARROWWEEKDAYS: ['ሰ', 'ሰ', 'ሠ', 'ረ', 'ኃ', 'ዓ', 'ቀ'], - STANDALONENARROWWEEKDAYS: ['ሰ', 'ሰ', 'ሠ', 'ረ', 'ኃ', 'ዓ', 'ቀ'], - SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - QUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + ERANAMES: ['ዓመተ ዓለም', 'ዓመተ ምህረት'], + NARROWMONTHS: ['ጥ', 'ለ', 'መ', 'ሚ', 'ግ', 'ሰ', 'ሓ', 'ነ', 'መ', 'ጥ', 'ሕ', 'ታ'], + STANDALONENARROWMONTHS: ['ጥ', 'ለ', 'መ', 'ሚ', 'ግ', 'ሰ', 'ሓ', 'ነ', 'መ', 'ጥ', 'ሕ', 'ታ'], + MONTHS: ['ጥሪ', 'ለካቲት', 'መጋቢት', 'ሚያዝያ', 'ግንቦት', 'ሰነ', 'ሓምለ', 'ነሓሰ', 'መስከረም', 'ጥቅምቲ', 'ሕዳር', 'ታሕሳስ'], + STANDALONEMONTHS: ['ጥሪ', 'ለካቲት', 'መጋቢት', 'ሚያዝያ', 'ግንቦት', 'ሰነ', 'ሓምለ', 'ነሓሰ', 'መስከረም', 'ጥቅምቲ', 'ሕዳር', 'ታሕሳስ'], + SHORTMONTHS: ['ጥሪ', 'ለካ', 'መጋ', 'ሚያ', 'ግን', 'ሰነ', 'ሓም', 'ነሓ', 'መስ', 'ጥቅ', 'ሕዳ', 'ታሕ'], + STANDALONESHORTMONTHS: ['ጥሪ', 'ለካ', 'መጋ', 'ሚያ', 'ግን', 'ሰነ', 'ሓም', 'ነሓ', 'መስ', 'ጥቅ', 'ሕዳ', 'ታሕ'], + WEEKDAYS: ['ሰንበት', 'ሰኑይ', 'ሠሉስ', 'ረቡዕ', 'ኃሙስ', 'ዓርቢ', 'ቀዳም'], + STANDALONEWEEKDAYS: ['ሰንበት', 'ሰኑይ', 'ሰሉስ', 'ረቡዕ', 'ሓሙስ', 'ዓርቢ', 'ቀዳም'], + SHORTWEEKDAYS: ['ሰን', 'ሰኑ', 'ሰሉ', 'ረቡ', 'ሓሙ', 'ዓር', 'ቀዳ'], + STANDALONESHORTWEEKDAYS: ['ሰን', 'ሰኑ', 'ሰሉ', 'ረቡ', 'ሓሙ', 'ዓር', 'ቀዳ'], + NARROWWEEKDAYS: ['ሰ', 'ሰ', 'ሰ', 'ረ', 'ሓ', 'ዓ', 'ቀ'], + STANDALONENARROWWEEKDAYS: ['ሰ', 'ሰ', 'ሰ', 'ረ', 'ሓ', 'ዓ', 'ቀ'], + SHORTQUARTERS: ['ር1', 'ር2', 'ር3', 'ር4'], + QUARTERS: ['ቀዳማይ ርብዒ', 'ካልኣይ ርብዒ', 'ሳልሳይ ርብዒ', 'ራብዓይ ርብዒ'], AMPMS: ['ንጉሆ ሰዓተ', 'ድሕር ሰዓት'], - DATEFORMATS: ['EEEE፡ dd MMMM መዓልቲ y G', 'dd MMMM y', 'dd-MMM-y', - 'dd/MM/yy'], + DATEFORMATS: ['EEEE፣ dd MMMM መዓልቲ y G', 'dd MMMM y', 'dd-MMM-y', 'dd/MM/yy'], TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -12885,101 +12168,6 @@ goog.i18n.DateTimeSymbols_ti_ER = { goog.i18n.DateTimeSymbols_ti_ET = goog.i18n.DateTimeSymbols_ti; -/** - * Date/time formatting symbols for locale tig. - */ -goog.i18n.DateTimeSymbols_tig = { - ERAS: ['ዓ/ዓ', 'ዓ/ም'], - ERANAMES: ['ዓ/ዓ', 'ዓ/ም'], - NARROWMONTHS: ['ጃ', 'ፌ', 'ማ', 'ኤ', 'ሜ', 'ጁ', 'ጁ', 'ኦ', 'ሴ', - 'ኦ', 'ኖ', 'ዲ'], - STANDALONENARROWMONTHS: ['ጃ', 'ፌ', 'ማ', 'ኤ', 'ሜ', 'ጁ', 'ጁ', - 'ኦ', 'ሴ', 'ኦ', 'ኖ', 'ዲ'], - MONTHS: ['ጃንዩወሪ', 'ፌብሩወሪ', 'ማርች', 'ኤፕረል', - 'ሜይ', 'ጁን', 'ጁላይ', 'ኦገስት', 'ሴፕቴምበር', - 'ኦክተውበር', 'ኖቬምበር', 'ዲሴምበር'], - STANDALONEMONTHS: ['ጃንዩወሪ', 'ፌብሩወሪ', 'ማርች', - 'ኤፕረል', 'ሜይ', 'ጁን', 'ጁላይ', 'ኦገስት', - 'ሴፕቴምበር', 'ኦክተውበር', 'ኖቬምበር', - 'ዲሴምበር'], - SHORTMONTHS: ['ጃንዩ', 'ፌብሩ', 'ማርች', 'ኤፕረ', 'ሜይ', - 'ጁን', 'ጁላይ', 'ኦገስ', 'ሴፕቴ', 'ኦክተ', 'ኖቬም', - 'ዲሴም'], - STANDALONESHORTMONTHS: ['ጃንዩ', 'ፌብሩ', 'ማርች', 'ኤፕረ', - 'ሜይ', 'ጁን', 'ጁላይ', 'ኦገስ', 'ሴፕቴ', 'ኦክተ', - 'ኖቬም', 'ዲሴም'], - WEEKDAYS: ['ሰንበት ዓባይ', 'ሰኖ', 'ታላሸኖ', - 'ኣረርባዓ', 'ከሚሽ', 'ጅምዓት', 'ሰንበት ንኢሽ'], - STANDALONEWEEKDAYS: ['ሰንበት ዓባይ', 'ሰኖ', 'ታላሸኖ', - 'ኣረርባዓ', 'ከሚሽ', 'ጅምዓት', 'ሰንበት ንኢሽ'], - SHORTWEEKDAYS: ['ሰ/ዓ', 'ሰኖ', 'ታላሸ', 'ኣረር', 'ከሚሽ', - 'ጅምዓ', 'ሰ/ን'], - STANDALONESHORTWEEKDAYS: ['ሰ/ዓ', 'ሰኖ', 'ታላሸ', 'ኣረር', - 'ከሚሽ', 'ጅምዓ', 'ሰ/ን'], - NARROWWEEKDAYS: ['ሰ', 'ሰ', 'ታ', 'ኣ', 'ከ', 'ጅ', 'ሰ'], - STANDALONENARROWWEEKDAYS: ['ሰ', 'ሰ', 'ታ', 'ኣ', 'ከ', 'ጅ', 'ሰ'], - SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - QUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - AMPMS: ['ቀደም ሰርምዕል', 'ሓቆ ስርምዕል'], - DATEFORMATS: ['EEEE፡ dd MMMM ዮም y G', 'dd MMMM y', 'dd-MMM-y', - 'dd/MM/yy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 6 -}; - - -/** - * Date/time formatting symbols for locale tig_ER. - */ -goog.i18n.DateTimeSymbols_tig_ER = goog.i18n.DateTimeSymbols_tig; - - -/** - * Date/time formatting symbols for locale tn. - */ -goog.i18n.DateTimeSymbols_tn = { - ERAS: ['BCE', 'CE'], - ERANAMES: ['BCE', 'CE'], - NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], - STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', - '11', '12'], - MONTHS: ['Ferikgong', 'Tlhakole', 'Mopitlo', 'Moranang', 'Motsheganang', - 'Seetebosigo', 'Phukwi', 'Phatwe', 'Lwetse', 'Diphalane', 'Ngwanatsele', - 'Sedimonthole'], - STANDALONEMONTHS: ['Ferikgong', 'Tlhakole', 'Mopitlo', 'Moranang', - 'Motsheganang', 'Seetebosigo', 'Phukwi', 'Phatwe', 'Lwetse', 'Diphalane', - 'Ngwanatsele', 'Sedimonthole'], - SHORTMONTHS: ['Fer', 'Tlh', 'Mop', 'Mor', 'Mot', 'See', 'Phu', 'Pha', 'Lwe', - 'Dip', 'Ngw', 'Sed'], - STANDALONESHORTMONTHS: ['Fer', 'Tlh', 'Mop', 'Mor', 'Mot', 'See', 'Phu', - 'Pha', 'Lwe', 'Dip', 'Ngw', 'Sed'], - WEEKDAYS: ['Tshipi', 'Mosopulogo', 'Labobedi', 'Laboraro', 'Labone', - 'Labotlhano', 'Matlhatso'], - STANDALONEWEEKDAYS: ['Tshipi', 'Mosopulogo', 'Labobedi', 'Laboraro', 'Labone', - 'Labotlhano', 'Matlhatso'], - SHORTWEEKDAYS: ['Tsh', 'Mos', 'Bed', 'Rar', 'Ne', 'Tla', 'Mat'], - STANDALONESHORTWEEKDAYS: ['Tsh', 'Mos', 'Bed', 'Rar', 'Ne', 'Tla', 'Mat'], - NARROWWEEKDAYS: ['1', '2', '3', '4', '5', '6', '7'], - STANDALONENARROWWEEKDAYS: ['1', '2', '3', '4', '5', '6', '7'], - SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - QUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE, y MMMM dd', 'y MMMM d', 'y MMM d', 'yyyy-MM-dd'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 6, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 5 -}; - - -/** - * Date/time formatting symbols for locale tn_ZA. - */ -goog.i18n.DateTimeSymbols_tn_ZA = goog.i18n.DateTimeSymbols_tn; - - /** * Date/time formatting symbols for locale to. */ @@ -12987,31 +12175,23 @@ goog.i18n.DateTimeSymbols_to = { ERAS: ['KM', 'TS'], ERANAMES: ['ki muʻa', 'taʻu ʻo Sīsū'], NARROWMONTHS: ['S', 'F', 'M', 'E', 'M', 'S', 'S', 'A', 'S', 'O', 'N', 'T'], - STANDALONENARROWMONTHS: ['S', 'F', 'M', 'E', 'M', 'S', 'S', 'A', 'S', 'O', - 'N', 'T'], - MONTHS: ['Sānuali', 'Fēpueli', 'Maʻasi', 'ʻEpeleli', 'Mē', 'Sune', - 'Siulai', 'ʻAokosi', 'Sepitema', 'ʻOkatopa', 'Nōvema', 'Tīsema'], - STANDALONEMONTHS: ['Sānuali', 'Fēpueli', 'Maʻasi', 'ʻEpeleli', 'Mē', - 'Sune', 'Siulai', 'ʻAokosi', 'Sēpitema', 'ʻOkatopa', 'Nōvema', - 'Tīsema'], - SHORTMONTHS: ['Sān', 'Fēp', 'Maʻa', 'ʻEpe', 'Mē', 'Sun', 'Siu', 'ʻAok', - 'Sep', 'ʻOka', 'Nōv', 'Tīs'], - STANDALONESHORTMONTHS: ['Sān', 'Fēp', 'Maʻa', 'ʻEpe', 'Mē', 'Sun', 'Siu', - 'ʻAok', 'Sēp', 'ʻOka', 'Nōv', 'Tīs'], - WEEKDAYS: ['Sāpate', 'Mōnite', 'Tūsite', 'Pulelulu', 'Tuʻapulelulu', - 'Falaite', 'Tokonaki'], - STANDALONEWEEKDAYS: ['Sāpate', 'Mōnite', 'Tūsite', 'Pulelulu', - 'Tuʻapulelulu', 'Falaite', 'Tokonaki'], + STANDALONENARROWMONTHS: ['S', 'F', 'M', 'E', 'M', 'S', 'S', 'A', 'S', 'O', 'N', 'T'], + MONTHS: ['Sānuali', 'Fēpueli', 'Maʻasi', 'ʻEpeleli', 'Mē', 'Sune', 'Siulai', 'ʻAokosi', 'Sepitema', 'ʻOkatopa', 'Nōvema', 'Tīsema'], + STANDALONEMONTHS: ['Sānuali', 'Fēpueli', 'Maʻasi', 'ʻEpeleli', 'Mē', 'Sune', 'Siulai', 'ʻAokosi', 'Sepitema', 'ʻOkatopa', 'Nōvema', 'Tīsema'], + SHORTMONTHS: ['Sān', 'Fēp', 'Maʻa', 'ʻEpe', 'Mē', 'Sun', 'Siu', 'ʻAok', 'Sep', 'ʻOka', 'Nōv', 'Tīs'], + STANDALONESHORTMONTHS: ['Sān', 'Fēp', 'Maʻa', 'ʻEpe', 'Mē', 'Sun', 'Siu', 'ʻAok', 'Sep', 'ʻOka', 'Nōv', 'Tīs'], + WEEKDAYS: ['Sāpate', 'Mōnite', 'Tūsite', 'Pulelulu', 'Tuʻapulelulu', 'Falaite', 'Tokonaki'], + STANDALONEWEEKDAYS: ['Sāpate', 'Mōnite', 'Tūsite', 'Pulelulu', 'Tuʻapulelulu', 'Falaite', 'Tokonaki'], SHORTWEEKDAYS: ['Sāp', 'Mōn', 'Tūs', 'Pul', 'Tuʻa', 'Fal', 'Tok'], - STANDALONESHORTWEEKDAYS: ['Sāp', 'Mōn', 'Tūs', 'Pul', 'Tuʻa', 'Fal', - 'Tok'], + STANDALONESHORTWEEKDAYS: ['Sāp', 'Mōn', 'Tūs', 'Pul', 'Tuʻa', 'Fal', 'Tok'], NARROWWEEKDAYS: ['S', 'M', 'T', 'P', 'T', 'F', 'T'], STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'P', 'T', 'F', 'T'], SHORTQUARTERS: ['K1', 'K2', 'K3', 'K4'], QUARTERS: ['kuata ʻuluaki', 'kuata ua', 'kuata tolu', 'kuata fā'], - AMPMS: ['AM', 'PM'], + AMPMS: ['hengihengi', 'efiafi'], DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'd/M/yy'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1}, {0}', '{1}, {0}', '{1}, {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -13025,35 +12205,29 @@ goog.i18n.DateTimeSymbols_to_TO = goog.i18n.DateTimeSymbols_to; /** - * Date/time formatting symbols for locale tr_TR. + * Date/time formatting symbols for locale tr_CY. */ -goog.i18n.DateTimeSymbols_tr_TR = { +goog.i18n.DateTimeSymbols_tr_CY = { ERAS: ['MÖ', 'MS'], ERANAMES: ['Milattan Önce', 'Milattan Sonra'], NARROWMONTHS: ['O', 'Ş', 'M', 'N', 'M', 'H', 'T', 'A', 'E', 'E', 'K', 'A'], - STANDALONENARROWMONTHS: ['O', 'Ş', 'M', 'N', 'M', 'H', 'T', 'A', 'E', 'E', - 'K', 'A'], - MONTHS: ['Ocak', 'Şubat', 'Mart', 'Nisan', 'Mayıs', 'Haziran', 'Temmuz', - 'Ağustos', 'Eylül', 'Ekim', 'Kasım', 'Aralık'], - STANDALONEMONTHS: ['Ocak', 'Şubat', 'Mart', 'Nisan', 'Mayıs', 'Haziran', - 'Temmuz', 'Ağustos', 'Eylül', 'Ekim', 'Kasım', 'Aralık'], - SHORTMONTHS: ['Oca', 'Şub', 'Mar', 'Nis', 'May', 'Haz', 'Tem', 'Ağu', 'Eyl', - 'Eki', 'Kas', 'Ara'], - STANDALONESHORTMONTHS: ['Oca', 'Şub', 'Mar', 'Nis', 'May', 'Haz', 'Tem', - 'Ağu', 'Eyl', 'Eki', 'Kas', 'Ara'], - WEEKDAYS: ['Pazar', 'Pazartesi', 'Salı', 'Çarşamba', 'Perşembe', 'Cuma', - 'Cumartesi'], - STANDALONEWEEKDAYS: ['Pazar', 'Pazartesi', 'Salı', 'Çarşamba', 'Perşembe', - 'Cuma', 'Cumartesi'], + STANDALONENARROWMONTHS: ['O', 'Ş', 'M', 'N', 'M', 'H', 'T', 'A', 'E', 'E', 'K', 'A'], + MONTHS: ['Ocak', 'Şubat', 'Mart', 'Nisan', 'Mayıs', 'Haziran', 'Temmuz', 'Ağustos', 'Eylül', 'Ekim', 'Kasım', 'Aralık'], + STANDALONEMONTHS: ['Ocak', 'Şubat', 'Mart', 'Nisan', 'Mayıs', 'Haziran', 'Temmuz', 'Ağustos', 'Eylül', 'Ekim', 'Kasım', 'Aralık'], + SHORTMONTHS: ['Oca', 'Şub', 'Mar', 'Nis', 'May', 'Haz', 'Tem', 'Ağu', 'Eyl', 'Eki', 'Kas', 'Ara'], + STANDALONESHORTMONTHS: ['Oca', 'Şub', 'Mar', 'Nis', 'May', 'Haz', 'Tem', 'Ağu', 'Eyl', 'Eki', 'Kas', 'Ara'], + WEEKDAYS: ['Pazar', 'Pazartesi', 'Salı', 'Çarşamba', 'Perşembe', 'Cuma', 'Cumartesi'], + STANDALONEWEEKDAYS: ['Pazar', 'Pazartesi', 'Salı', 'Çarşamba', 'Perşembe', 'Cuma', 'Cumartesi'], SHORTWEEKDAYS: ['Paz', 'Pzt', 'Sal', 'Çar', 'Per', 'Cum', 'Cmt'], STANDALONESHORTWEEKDAYS: ['Paz', 'Pzt', 'Sal', 'Çar', 'Per', 'Cum', 'Cmt'], NARROWWEEKDAYS: ['P', 'P', 'S', 'Ç', 'P', 'C', 'C'], STANDALONENARROWWEEKDAYS: ['P', 'P', 'S', 'Ç', 'P', 'C', 'C'], SHORTQUARTERS: ['Ç1', 'Ç2', 'Ç3', 'Ç4'], QUARTERS: ['1. çeyrek', '2. çeyrek', '3. çeyrek', '4. çeyrek'], - AMPMS: ['AM', 'PM'], - DATEFORMATS: ['d MMMM y EEEE', 'd MMMM y', 'd MMM y', 'dd MM yyyy'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + AMPMS: ['ÖÖ', 'ÖS'], + DATEFORMATS: ['d MMMM y EEEE', 'd MMMM y', 'd MMM y', 'd.MM.y'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -13061,48 +12235,9 @@ goog.i18n.DateTimeSymbols_tr_TR = { /** - * Date/time formatting symbols for locale ts. - */ -goog.i18n.DateTimeSymbols_ts = { - ERAS: ['BCE', 'CE'], - ERANAMES: ['BCE', 'CE'], - NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], - STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', - '11', '12'], - MONTHS: ['Sunguti', 'Nyenyenyani', 'Nyenyankulu', 'Dzivamisoko', 'Mudyaxihi', - 'Khotavuxika', 'Mawuwani', 'Mhawuri', 'Ndzhati', 'Nhlangula', 'Hukuri', - 'N\'wendzamhala'], - STANDALONEMONTHS: ['Sunguti', 'Nyenyenyani', 'Nyenyankulu', 'Dzivamisoko', - 'Mudyaxihi', 'Khotavuxika', 'Mawuwani', 'Mhawuri', 'Ndzhati', 'Nhlangula', - 'Hukuri', 'N\'wendzamhala'], - SHORTMONTHS: ['Sun', 'Yan', 'Kul', 'Dzi', 'Mud', 'Kho', 'Maw', 'Mha', 'Ndz', - 'Nhl', 'Huk', 'N\'w'], - STANDALONESHORTMONTHS: ['Sun', 'Yan', 'Kul', 'Dzi', 'Mud', 'Kho', 'Maw', - 'Mha', 'Ndz', 'Nhl', 'Huk', 'N\'w'], - WEEKDAYS: ['Sonto', 'Musumbhunuku', 'Ravumbirhi', 'Ravunharhu', 'Ravumune', - 'Ravuntlhanu', 'Mugqivela'], - STANDALONEWEEKDAYS: ['Sonto', 'Musumbhunuku', 'Ravumbirhi', 'Ravunharhu', - 'Ravumune', 'Ravuntlhanu', 'Mugqivela'], - SHORTWEEKDAYS: ['Son', 'Mus', 'Bir', 'Har', 'Ne', 'Tlh', 'Mug'], - STANDALONESHORTWEEKDAYS: ['Son', 'Mus', 'Bir', 'Har', 'Ne', 'Tlh', 'Mug'], - NARROWWEEKDAYS: ['1', '2', '3', '4', '5', '6', '7'], - STANDALONENARROWWEEKDAYS: ['1', '2', '3', '4', '5', '6', '7'], - SHORTQUARTERS: ['K1', 'K2', 'K3', 'K4'], - QUARTERS: ['Kotara yo sungula', 'Kotara ya vumbirhi', 'Kotara ya vunharhu', - 'Kotara ya vumune'], - AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE, y MMMM dd', 'y MMMM d', 'y MMM d', 'yyyy-MM-dd'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 6, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 5 -}; - - -/** - * Date/time formatting symbols for locale ts_ZA. + * Date/time formatting symbols for locale tr_TR. */ -goog.i18n.DateTimeSymbols_ts_ZA = goog.i18n.DateTimeSymbols_ts; +goog.i18n.DateTimeSymbols_tr_TR = goog.i18n.DateTimeSymbols_tr; /** @@ -13112,30 +12247,23 @@ goog.i18n.DateTimeSymbols_twq = { ERAS: ['IJ', 'IZ'], ERANAMES: ['Isaa jine', 'Isaa zamanoo'], NARROWMONTHS: ['Ž', 'F', 'M', 'A', 'M', 'Ž', 'Ž', 'U', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['Ž', 'F', 'M', 'A', 'M', 'Ž', 'Ž', 'U', 'S', 'O', - 'N', 'D'], - MONTHS: ['Žanwiye', 'Feewiriye', 'Marsi', 'Awiril', 'Me', 'Žuweŋ', - 'Žuyye', 'Ut', 'Sektanbur', 'Oktoobur', 'Noowanbur', 'Deesanbur'], - STANDALONEMONTHS: ['Žanwiye', 'Feewiriye', 'Marsi', 'Awiril', 'Me', - 'Žuweŋ', 'Žuyye', 'Ut', 'Sektanbur', 'Oktoobur', 'Noowanbur', - 'Deesanbur'], - SHORTMONTHS: ['Žan', 'Fee', 'Mar', 'Awi', 'Me', 'Žuw', 'Žuy', 'Ut', 'Sek', - 'Okt', 'Noo', 'Dee'], - STANDALONESHORTMONTHS: ['Žan', 'Fee', 'Mar', 'Awi', 'Me', 'Žuw', 'Žuy', - 'Ut', 'Sek', 'Okt', 'Noo', 'Dee'], - WEEKDAYS: ['Alhadi', 'Atinni', 'Atalaata', 'Alarba', 'Alhamiisa', 'Alzuma', - 'Asibti'], - STANDALONEWEEKDAYS: ['Alhadi', 'Atinni', 'Atalaata', 'Alarba', 'Alhamiisa', - 'Alzuma', 'Asibti'], + STANDALONENARROWMONTHS: ['Ž', 'F', 'M', 'A', 'M', 'Ž', 'Ž', 'U', 'S', 'O', 'N', 'D'], + MONTHS: ['Žanwiye', 'Feewiriye', 'Marsi', 'Awiril', 'Me', 'Žuweŋ', 'Žuyye', 'Ut', 'Sektanbur', 'Oktoobur', 'Noowanbur', 'Deesanbur'], + STANDALONEMONTHS: ['Žanwiye', 'Feewiriye', 'Marsi', 'Awiril', 'Me', 'Žuweŋ', 'Žuyye', 'Ut', 'Sektanbur', 'Oktoobur', 'Noowanbur', 'Deesanbur'], + SHORTMONTHS: ['Žan', 'Fee', 'Mar', 'Awi', 'Me', 'Žuw', 'Žuy', 'Ut', 'Sek', 'Okt', 'Noo', 'Dee'], + STANDALONESHORTMONTHS: ['Žan', 'Fee', 'Mar', 'Awi', 'Me', 'Žuw', 'Žuy', 'Ut', 'Sek', 'Okt', 'Noo', 'Dee'], + WEEKDAYS: ['Alhadi', 'Atinni', 'Atalaata', 'Alarba', 'Alhamiisa', 'Alzuma', 'Asibti'], + STANDALONEWEEKDAYS: ['Alhadi', 'Atinni', 'Atalaata', 'Alarba', 'Alhamiisa', 'Alzuma', 'Asibti'], SHORTWEEKDAYS: ['Alh', 'Ati', 'Ata', 'Ala', 'Alm', 'Alz', 'Asi'], STANDALONESHORTWEEKDAYS: ['Alh', 'Ati', 'Ata', 'Ala', 'Alm', 'Alz', 'Asi'], NARROWWEEKDAYS: ['H', 'T', 'T', 'L', 'L', 'L', 'S'], STANDALONENARROWWEEKDAYS: ['H', 'T', 'T', 'L', 'L', 'L', 'S'], SHORTQUARTERS: ['A1', 'A2', 'A3', 'A4'], QUARTERS: ['Arrubu 1', 'Arrubu 2', 'Arrubu 3', 'Arrubu 4'], - AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'd/M/yyyy'], + AMPMS: ['Subbaahi', 'Zaarikay b'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'd/M/y'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -13155,90 +12283,75 @@ goog.i18n.DateTimeSymbols_tzm = { ERAS: ['ZƐ', 'ḌƐ'], ERANAMES: ['Zdat Ɛisa (TAƔ)', 'Ḍeffir Ɛisa (TAƔ)'], NARROWMONTHS: ['Y', 'Y', 'M', 'I', 'M', 'Y', 'Y', 'Ɣ', 'C', 'K', 'N', 'D'], - STANDALONENARROWMONTHS: ['Y', 'Y', 'M', 'I', 'M', 'Y', 'Y', 'Ɣ', 'C', 'K', - 'N', 'D'], - MONTHS: ['Yennayer', 'Yebrayer', 'Mars', 'Ibrir', 'Mayyu', 'Yunyu', 'Yulyuz', - 'Ɣuct', 'Cutanbir', 'Kṭuber', 'Nwanbir', 'Dujanbir'], - STANDALONEMONTHS: ['Yennayer', 'Yebrayer', 'Mars', 'Ibrir', 'Mayyu', 'Yunyu', - 'Yulyuz', 'Ɣuct', 'Cutanbir', 'Kṭuber', 'Nwanbir', 'Dujanbir'], - SHORTMONTHS: ['Yen', 'Yeb', 'Mar', 'Ibr', 'May', 'Yun', 'Yul', 'Ɣuc', 'Cut', - 'Kṭu', 'Nwa', 'Duj'], - STANDALONESHORTMONTHS: ['Yen', 'Yeb', 'Mar', 'Ibr', 'May', 'Yun', 'Yul', - 'Ɣuc', 'Cut', 'Kṭu', 'Nwa', 'Duj'], - WEEKDAYS: ['Asamas', 'Aynas', 'Asinas', 'Akras', 'Akwas', 'Asimwas', - 'Asiḍyas'], - STANDALONEWEEKDAYS: ['Asamas', 'Aynas', 'Asinas', 'Akras', 'Akwas', 'Asimwas', - 'Asiḍyas'], + STANDALONENARROWMONTHS: ['Y', 'Y', 'M', 'I', 'M', 'Y', 'Y', 'Ɣ', 'C', 'K', 'N', 'D'], + MONTHS: ['Yennayer', 'Yebrayer', 'Mars', 'Ibrir', 'Mayyu', 'Yunyu', 'Yulyuz', 'Ɣuct', 'Cutanbir', 'Kṭuber', 'Nwanbir', 'Dujanbir'], + STANDALONEMONTHS: ['Yennayer', 'Yebrayer', 'Mars', 'Ibrir', 'Mayyu', 'Yunyu', 'Yulyuz', 'Ɣuct', 'Cutanbir', 'Kṭuber', 'Nwanbir', 'Dujanbir'], + SHORTMONTHS: ['Yen', 'Yeb', 'Mar', 'Ibr', 'May', 'Yun', 'Yul', 'Ɣuc', 'Cut', 'Kṭu', 'Nwa', 'Duj'], + STANDALONESHORTMONTHS: ['Yen', 'Yeb', 'Mar', 'Ibr', 'May', 'Yun', 'Yul', 'Ɣuc', 'Cut', 'Kṭu', 'Nwa', 'Duj'], + WEEKDAYS: ['Asamas', 'Aynas', 'Asinas', 'Akras', 'Akwas', 'Asimwas', 'Asiḍyas'], + STANDALONEWEEKDAYS: ['Asamas', 'Aynas', 'Asinas', 'Akras', 'Akwas', 'Asimwas', 'Asiḍyas'], SHORTWEEKDAYS: ['Asa', 'Ayn', 'Asn', 'Akr', 'Akw', 'Asm', 'Asḍ'], STANDALONESHORTWEEKDAYS: ['Asa', 'Ayn', 'Asn', 'Akr', 'Akw', 'Asm', 'Asḍ'], NARROWWEEKDAYS: ['A', 'A', 'A', 'A', 'A', 'A', 'A'], STANDALONENARROWWEEKDAYS: ['A', 'A', 'A', 'A', 'A', 'A', 'A'], SHORTQUARTERS: ['IA1', 'IA2', 'IA3', 'IA4'], - QUARTERS: ['Imir adamsan 1', 'Imir adamsan 2', 'Imir adamsan 3', - 'Imir adamsan 4'], + QUARTERS: ['Imir adamsan 1', 'Imir adamsan 2', 'Imir adamsan 3', 'Imir adamsan 4'], AMPMS: ['Zdat azal', 'Ḍeffir aza'], - DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yyyy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 6 + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 5, + WEEKENDRANGE: [4, 5], + FIRSTWEEKCUTOFFDAY: 4 }; /** - * Date/time formatting symbols for locale tzm_Latn. + * Date/time formatting symbols for locale tzm_MA. + */ +goog.i18n.DateTimeSymbols_tzm_MA = goog.i18n.DateTimeSymbols_tzm; + + +/** + * Date/time formatting symbols for locale ug. */ -goog.i18n.DateTimeSymbols_tzm_Latn = goog.i18n.DateTimeSymbols_tzm; +goog.i18n.DateTimeSymbols_ug = { + ERAS: ['BCE', 'مىلادىيە'], + ERANAMES: ['مىلادىيەدىن بۇرۇن', 'مىلادىيە'], + NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + MONTHS: ['يانۋار', 'فېۋرال', 'مارت', 'ئاپرېل', 'ماي', 'ئىيۇن', 'ئىيۇل', 'ئاۋغۇست', 'سېنتەبىر', 'ئۆكتەبىر', 'نويابىر', 'دېكابىر'], + STANDALONEMONTHS: ['يانۋار', 'فېۋرال', 'مارت', 'ئاپرېل', 'ماي', 'ئىيۇن', 'ئىيۇل', 'ئاۋغۇست', 'سېنتەبىر', 'ئۆكتەبىر', 'نويابىر', 'دېكابىر'], + SHORTMONTHS: ['يانۋار', 'فېۋرال', 'مارت', 'ئاپرېل', 'ماي', 'ئىيۇن', 'ئىيۇل', 'ئاۋغۇست', 'سېنتەبىر', 'ئۆكتەبىر', 'نويابىر', 'دېكابىر'], + STANDALONESHORTMONTHS: ['يانۋار', 'فېۋرال', 'مارت', 'ئاپرېل', 'ماي', 'ئىيۇن', 'ئىيۇل', 'ئاۋغۇست', 'سېنتەبىر', 'ئۆكتەبىر', 'نويابىر', 'دېكابىر'], + WEEKDAYS: ['يەكشەنبە', 'دۈشەنبە', 'سەيشەنبە', 'چارشەنبە', 'پەيشەنبە', 'جۈمە', 'شەنبە'], + STANDALONEWEEKDAYS: ['يەكشەنبە', 'دۈشەنبە', 'سەيشەنبە', 'چارشەنبە', 'پەيشەنبە', 'جۈمە', 'شەنبە'], + SHORTWEEKDAYS: ['يە', 'دۈ', 'سە', 'چا', 'پە', 'جۈ', 'شە'], + STANDALONESHORTWEEKDAYS: ['يە', 'دۈ', 'سە', 'چا', 'پە', 'جۈ', 'شە'], + NARROWWEEKDAYS: ['ي', 'د', 'س', 'چ', 'پ', 'ج', 'ش'], + STANDALONENARROWWEEKDAYS: ['ي', 'د', 'س', 'چ', 'پ', 'ج', 'ش'], + SHORTQUARTERS: ['1-پەسىل', '2-پەسىل', '3-پەسىل', '4-پەسىل'], + QUARTERS: ['بىرىنچى پەسىل', 'ئىككىنچى پەسىل', 'ئۈچىنچى پەسىل', 'تۆتىنچى پەسىل'], + AMPMS: ['چۈشتىن بۇرۇن', 'چۈشتىن كېيىن'], + DATEFORMATS: ['y d-MMMM، EEEE', 'd-MMMM، y', 'd-MMM، y', 'y-MM-dd'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1}، {0}', '{1}، {0}'], + FIRSTDAYOFWEEK: 6, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 5 +}; /** - * Date/time formatting symbols for locale tzm_Latn_MA. + * Date/time formatting symbols for locale ug_CN. */ -goog.i18n.DateTimeSymbols_tzm_Latn_MA = goog.i18n.DateTimeSymbols_tzm; +goog.i18n.DateTimeSymbols_ug_CN = goog.i18n.DateTimeSymbols_ug; /** * Date/time formatting symbols for locale uk_UA. */ -goog.i18n.DateTimeSymbols_uk_UA = { - ERAS: ['до н.е.', 'н.е.'], - ERANAMES: ['до нашої ери', 'нашої ери'], - NARROWMONTHS: ['С', 'Л', 'Б', 'К', 'Т', 'Ч', 'Л', 'С', 'В', 'Ж', - 'Л', 'Г'], - STANDALONENARROWMONTHS: ['С', 'Л', 'Б', 'К', 'Т', 'Ч', 'Л', 'С', 'В', - 'Ж', 'Л', 'Г'], - MONTHS: ['січня', 'лютого', 'березня', 'квітня', - 'травня', 'червня', 'липня', 'серпня', - 'вересня', 'жовтня', 'листопада', 'грудня'], - STANDALONEMONTHS: ['Січень', 'Лютий', 'Березень', - 'Квітень', 'Травень', 'Червень', 'Липень', - 'Серпень', 'Вересень', 'Жовтень', - 'Листопад', 'Грудень'], - SHORTMONTHS: ['січ.', 'лют.', 'бер.', 'квіт.', 'трав.', - 'черв.', 'лип.', 'серп.', 'вер.', 'жовт.', 'лист.', - 'груд.'], - STANDALONESHORTMONTHS: ['Січ', 'Лют', 'Бер', 'Кві', 'Тра', - 'Чер', 'Лип', 'Сер', 'Вер', 'Жов', 'Лис', 'Гру'], - WEEKDAYS: ['Неділя', 'Понеділок', 'Вівторок', - 'Середа', 'Четвер', 'Пʼятниця', 'Субота'], - STANDALONEWEEKDAYS: ['Неділя', 'Понеділок', 'Вівторок', - 'Середа', 'Четвер', 'Пʼятниця', 'Субота'], - SHORTWEEKDAYS: ['Нд', 'Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб'], - STANDALONESHORTWEEKDAYS: ['Нд', 'Пн', 'Вт', 'Ср', 'Чт', 'Пт', - 'Сб'], - NARROWWEEKDAYS: ['Н', 'П', 'В', 'С', 'Ч', 'П', 'С'], - STANDALONENARROWWEEKDAYS: ['Н', 'П', 'В', 'С', 'Ч', 'П', 'С'], - SHORTQUARTERS: ['I кв.', 'II кв.', 'III кв.', 'IV кв.'], - QUARTERS: ['I квартал', 'II квартал', 'III квартал', - 'IV квартал'], - AMPMS: ['дп', 'пп'], - DATEFORMATS: ['EEEE, d MMMM y \'р\'.', 'd MMMM y \'р\'.', 'd MMM y', - 'dd.MM.yy'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 6 -}; +goog.i18n.DateTimeSymbols_uk_UA = goog.i18n.DateTimeSymbols_uk; /** @@ -13246,40 +12359,26 @@ goog.i18n.DateTimeSymbols_uk_UA = { */ goog.i18n.DateTimeSymbols_ur_IN = { ZERODIGIT: 0x06F0, - ERAS: ['ق م', 'عيسوی سن'], - ERANAMES: ['قبل مسيح', 'عيسوی سن'], - NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], - STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', - '11', '12'], - MONTHS: ['جنوری', 'فروری', 'مارچ', 'اپريل', 'مئ', - 'جون', 'جولائ', 'اگست', 'ستمبر', 'اکتوبر', - 'نومبر', 'دسمبر'], - STANDALONEMONTHS: ['جنوری', 'فروری', 'مارچ', 'اپريل', - 'مئ', 'جون', 'جولائ', 'اگست', 'ستمبر', 'اکتوبر', - 'نومبر', 'دسمبر'], - SHORTMONTHS: ['جنوری', 'فروری', 'مارچ', 'اپريل', 'مئ', - 'جون', 'جولائ', 'اگست', 'ستمبر', 'اکتوبر', - 'نومبر', 'دسمبر'], - STANDALONESHORTMONTHS: ['جنوری', 'فروری', 'مارچ', 'اپريل', - 'مئ', 'جون', 'جولائ', 'اگست', 'ستمبر', 'اکتوبر', - 'نومبر', 'دسمبر'], - WEEKDAYS: ['اتوار', 'پير', 'منگل', 'بده', 'جمعرات', - 'جمعہ', 'ہفتہ'], - STANDALONEWEEKDAYS: ['اتوار', 'پير', 'منگل', 'بده', - 'جمعرات', 'جمعہ', 'ہفتہ'], - SHORTWEEKDAYS: ['اتوار', 'پير', 'منگل', 'بده', 'جمعرات', - 'جمعہ', 'ہفتہ'], - STANDALONESHORTWEEKDAYS: ['اتوار', 'پير', 'منگل', 'بده', - 'جمعرات', 'جمعہ', 'ہفتہ'], - NARROWWEEKDAYS: ['1', '2', '3', '4', '5', '6', '7'], - STANDALONENARROWWEEKDAYS: ['1', '2', '3', '4', '5', '6', '7'], - SHORTQUARTERS: ['پہلی سہ ماہی', 'دوسری سہ ماہی', - 'تيسری سہ ماہی', 'چوتهی سہ ماہی'], - QUARTERS: ['پہلی سہ ماہی', 'دوسری سہ ماہی', - 'تيسری سہ ماہی', 'چوتهی سہ ماہی'], - AMPMS: ['دن', 'رات'], - DATEFORMATS: ['EEEE؍ d؍ MMMM y', 'd؍ MMMM y', 'd؍ MMM y', 'd/M/yy'], + ERAS: ['قبل مسیح', 'عیسوی'], + ERANAMES: ['قبل مسیح', 'عیسوی'], + NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['جنوری', 'فروری', 'مارچ', 'اپریل', 'مئی', 'جون', 'جولائی', 'اگست', 'ستمبر', 'اکتوبر', 'نومبر', 'دسمبر'], + STANDALONEMONTHS: ['جنوری', 'فروری', 'مارچ', 'اپریل', 'مئی', 'جون', 'جولائی', 'اگست', 'ستمبر', 'اکتوبر', 'نومبر', 'دسمبر'], + SHORTMONTHS: ['جنوری', 'فروری', 'مارچ', 'اپریل', 'مئی', 'جون', 'جولائی', 'اگست', 'ستمبر', 'اکتوبر', 'نومبر', 'دسمبر'], + STANDALONESHORTMONTHS: ['جنوری', 'فروری', 'مارچ', 'اپریل', 'مئی', 'جون', 'جولائی', 'اگست', 'ستمبر', 'اکتوبر', 'نومبر', 'دسمبر'], + WEEKDAYS: ['اتوار', 'پیر', 'منگل', 'بدھ', 'جمعرات', 'جمعہ', 'ہفتہ'], + STANDALONEWEEKDAYS: ['اتوار', 'پیر', 'منگل', 'بدھ', 'جمعرات', 'جمعہ', 'ہفتہ'], + SHORTWEEKDAYS: ['اتوار', 'پیر', 'منگل', 'بدھ', 'جمعرات', 'جمعہ', 'ہفتہ'], + STANDALONESHORTWEEKDAYS: ['اتوار', 'پیر', 'منگل', 'بدھ', 'جمعرات', 'جمعہ', 'ہفتہ'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['پہلی سہ ماہی', 'دوسری سہ ماہی', 'تیسری سہ ماہی', 'چوتهی سہ ماہی'], + QUARTERS: ['پہلی سہ ماہی', 'دوسری سہ ماہی', 'تیسری سہ ماہی', 'چوتهی سہ ماہی'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE، d MMMM، y', 'd MMMM، y', 'y MMM d', 'd/M/yy'], TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 6, WEEKENDRANGE: [6, 6], FIRSTWEEKCUTOFFDAY: 5 @@ -13289,188 +12388,141 @@ goog.i18n.DateTimeSymbols_ur_IN = { /** * Date/time formatting symbols for locale ur_PK. */ -goog.i18n.DateTimeSymbols_ur_PK = { - ERAS: ['ق م', 'عيسوی سن'], - ERANAMES: ['قبل مسيح', 'عيسوی سن'], - NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], - STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', - '11', '12'], - MONTHS: ['جنوری', 'فروری', 'مارچ', 'اپريل', 'مئ', - 'جون', 'جولائ', 'اگست', 'ستمبر', 'اکتوبر', - 'نومبر', 'دسمبر'], - STANDALONEMONTHS: ['جنوری', 'فروری', 'مارچ', 'اپريل', - 'مئ', 'جون', 'جولائ', 'اگست', 'ستمبر', 'اکتوبر', - 'نومبر', 'دسمبر'], - SHORTMONTHS: ['جنوری', 'فروری', 'مارچ', 'اپريل', 'مئ', - 'جون', 'جولائ', 'اگست', 'ستمبر', 'اکتوبر', - 'نومبر', 'دسمبر'], - STANDALONESHORTMONTHS: ['جنوری', 'فروری', 'مارچ', 'اپريل', - 'مئ', 'جون', 'جولائ', 'اگست', 'ستمبر', 'اکتوبر', - 'نومبر', 'دسمبر'], - WEEKDAYS: ['اتوار', 'پير', 'منگل', 'بده', 'جمعرات', - 'جمعہ', 'ہفتہ'], - STANDALONEWEEKDAYS: ['اتوار', 'پير', 'منگل', 'بده', - 'جمعرات', 'جمعہ', 'ہفتہ'], - SHORTWEEKDAYS: ['اتوار', 'پير', 'منگل', 'بده', 'جمعرات', - 'جمعہ', 'ہفتہ'], - STANDALONESHORTWEEKDAYS: ['اتوار', 'پير', 'منگل', 'بده', - 'جمعرات', 'جمعہ', 'ہفتہ'], - NARROWWEEKDAYS: ['1', '2', '3', '4', '5', '6', '7'], - STANDALONENARROWWEEKDAYS: ['1', '2', '3', '4', '5', '6', '7'], - SHORTQUARTERS: ['پہلی سہ ماہی', 'دوسری سہ ماہی', - 'تيسری سہ ماہی', 'چوتهی سہ ماہی'], - QUARTERS: ['پہلی سہ ماہی', 'دوسری سہ ماہی', - 'تيسری سہ ماہی', 'چوتهی سہ ماہی'], - AMPMS: ['دن', 'رات'], - DATEFORMATS: ['EEEE؍ d؍ MMMM y', 'd؍ MMMM y', 'd؍ MMM y', 'd/M/yy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], - FIRSTDAYOFWEEK: 6, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 5 -}; +goog.i18n.DateTimeSymbols_ur_PK = goog.i18n.DateTimeSymbols_ur; /** - * Date/time formatting symbols for locale uz. + * Date/time formatting symbols for locale uz_Arab. */ -goog.i18n.DateTimeSymbols_uz = { +goog.i18n.DateTimeSymbols_uz_Arab = { + ZERODIGIT: 0x06F0, ERAS: ['BCE', 'CE'], ERANAMES: ['BCE', 'CE'], - NARROWMONTHS: ['Я', 'Ф', 'М', 'А', 'М', 'И', 'И', 'А', 'С', 'О', - 'Н', 'Д'], - STANDALONENARROWMONTHS: ['Я', 'Ф', 'М', 'А', 'М', 'И', 'И', 'А', 'С', - 'О', 'Н', 'Д'], - MONTHS: ['Январ', 'Феврал', 'Март', 'Апрел', 'Май', - 'Июн', 'Июл', 'Август', 'Сентябр', 'Октябр', - 'Ноябр', 'Декабр'], - STANDALONEMONTHS: ['Январ', 'Феврал', 'Март', 'Апрел', - 'Май', 'Июн', 'Июл', 'Август', 'Сентябр', - 'Октябр', 'Ноябр', 'Декабр'], - SHORTMONTHS: ['Янв', 'Фев', 'Мар', 'Апр', 'Май', 'Июн', - 'Июл', 'Авг', 'Сен', 'Окт', 'Ноя', 'Дек'], - STANDALONESHORTMONTHS: ['Янв', 'Фев', 'Мар', 'Апр', 'Май', - 'Июн', 'Июл', 'Авг', 'Сен', 'Окт', 'Ноя', 'Дек'], - WEEKDAYS: ['якшанба', 'душанба', 'сешанба', - 'чоршанба', 'пайшанба', 'жума', 'шанба'], - STANDALONEWEEKDAYS: ['якшанба', 'душанба', 'сешанба', - 'чоршанба', 'пайшанба', 'жума', 'шанба'], - SHORTWEEKDAYS: ['Якш', 'Душ', 'Сеш', 'Чор', 'Пай', 'Жум', - 'Шан'], - STANDALONESHORTWEEKDAYS: ['Якш', 'Душ', 'Сеш', 'Чор', 'Пай', - 'Жум', 'Шан'], - NARROWWEEKDAYS: ['Я', 'Д', 'С', 'Ч', 'П', 'Ж', 'Ш'], - STANDALONENARROWWEEKDAYS: ['Я', 'Д', 'С', 'Ч', 'П', 'Ж', 'Ш'], + NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + MONTHS: ['جنوری', 'فبروری', 'مارچ', 'اپریل', 'می', 'جون', 'جولای', 'اگست', 'سپتمبر', 'اکتوبر', 'نومبر', 'دسمبر'], + STANDALONEMONTHS: ['جنوری', 'فبروری', 'مارچ', 'اپریل', 'می', 'جون', 'جولای', 'اگست', 'سپتمبر', 'اکتوبر', 'نومبر', 'دسمبر'], + SHORTMONTHS: ['جنو', 'فبر', 'مار', 'اپر', 'می', 'جون', 'جول', 'اگس', 'سپت', 'اکت', 'نوم', 'دسم'], + STANDALONESHORTMONTHS: ['جنو', 'فبر', 'مار', 'اپر', 'می', 'جون', 'جول', 'اگس', 'سپت', 'اکت', 'نوم', 'دسم'], + WEEKDAYS: ['یکشنبه', 'دوشنبه', 'سه‌شنبه', 'چهارشنبه', 'پنجشنبه', 'جمعه', 'شنبه'], + STANDALONEWEEKDAYS: ['یکشنبه', 'دوشنبه', 'سه‌شنبه', 'چهارشنبه', 'پنجشنبه', 'جمعه', 'شنبه'], + SHORTWEEKDAYS: ['ی.', 'د.', 'س.', 'چ.', 'پ.', 'ج.', 'ش.'], + STANDALONESHORTWEEKDAYS: ['ی.', 'د.', 'س.', 'چ.', 'پ.', 'ج.', 'ش.'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], QUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE, y MMMM dd', 'y MMMM d', 'y MMM d', 'yy/MM/dd'], + DATEFORMATS: ['y MMMM d, EEEE', 'y MMMM d', 'y MMM d', 'y-MM-dd'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 6 + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 5, + WEEKENDRANGE: [3, 4], + FIRSTWEEKCUTOFFDAY: 4 }; /** - * Date/time formatting symbols for locale uz_Arab. + * Date/time formatting symbols for locale uz_Arab_AF. */ -goog.i18n.DateTimeSymbols_uz_Arab = { +goog.i18n.DateTimeSymbols_uz_Arab_AF = { ZERODIGIT: 0x06F0, - ERAS: ['ق.م.', 'م.'], - ERANAMES: ['ق.م.', 'م.'], - NARROWMONTHS: ['Я', 'Ф', 'М', 'А', 'М', 'И', 'И', 'А', 'С', 'О', - 'Н', 'Д'], - STANDALONENARROWMONTHS: ['Я', 'Ф', 'М', 'А', 'М', 'И', 'И', 'А', 'С', - 'О', 'Н', 'Д'], - MONTHS: ['جنوری', 'فبروری', 'مارچ', 'اپریل', 'می', - 'جون', 'جولای', 'اگست', 'سپتمبر', 'اکتوبر', - 'نومبر', 'دسمبر'], - STANDALONEMONTHS: ['جنوری', 'فبروری', 'مارچ', 'اپریل', - 'می', 'جون', 'جولای', 'اگست', 'سپتمبر', - 'اکتوبر', 'نومبر', 'دسمبر'], - SHORTMONTHS: ['جنو', 'فبر', 'مار', 'اپر', 'مـی', 'جون', - 'جول', 'اگس', 'سپت', 'اکت', 'نوم', 'دسم'], - STANDALONESHORTMONTHS: ['جنو', 'فبر', 'مار', 'اپر', 'مـی', - 'جون', 'جول', 'اگس', 'سپت', 'اکت', 'نوم', 'دسم'], - WEEKDAYS: ['یکشنبه', 'دوشنبه', 'سه‌شنبه', - 'چهارشنبه', 'پنجشنبه', 'جمعه', 'شنبه'], - STANDALONEWEEKDAYS: ['یکشنبه', 'دوشنبه', 'سه‌شنبه', - 'چهارشنبه', 'پنجشنبه', 'جمعه', 'شنبه'], + ERAS: ['BCE', 'CE'], + ERANAMES: ['BCE', 'CE'], + NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + MONTHS: ['جنوری', 'فبروری', 'مارچ', 'اپریل', 'می', 'جون', 'جولای', 'اگست', 'سپتمبر', 'اکتوبر', 'نومبر', 'دسمبر'], + STANDALONEMONTHS: ['جنوری', 'فبروری', 'مارچ', 'اپریل', 'می', 'جون', 'جولای', 'اگست', 'سپتمبر', 'اکتوبر', 'نومبر', 'دسمبر'], + SHORTMONTHS: ['جنو', 'فبر', 'مار', 'اپر', 'می', 'جون', 'جول', 'اگس', 'سپت', 'اکت', 'نوم', 'دسم'], + STANDALONESHORTMONTHS: ['جنو', 'فبر', 'مار', 'اپر', 'می', 'جون', 'جول', 'اگس', 'سپت', 'اکت', 'نوم', 'دسم'], + WEEKDAYS: ['یکشنبه', 'دوشنبه', 'سه‌شنبه', 'چهارشنبه', 'پنجشنبه', 'جمعه', 'شنبه'], + STANDALONEWEEKDAYS: ['یکشنبه', 'دوشنبه', 'سه‌شنبه', 'چهارشنبه', 'پنجشنبه', 'جمعه', 'شنبه'], SHORTWEEKDAYS: ['ی.', 'د.', 'س.', 'چ.', 'پ.', 'ج.', 'ش.'], STANDALONESHORTWEEKDAYS: ['ی.', 'د.', 'س.', 'چ.', 'پ.', 'ج.', 'ش.'], - NARROWWEEKDAYS: ['Я', 'Д', 'С', 'Ч', 'П', 'Ж', 'Ш'], - STANDALONENARROWWEEKDAYS: ['Я', 'Д', 'С', 'Ч', 'П', 'Ж', 'Ш'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], QUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], AMPMS: ['AM', 'PM'], - DATEFORMATS: ['y نچی ییل d نچی MMMM EEEE کونی', - 'd نچی MMMM y', 'd MMM y', 'yyyy/M/d'], - TIMEFORMATS: ['H:mm:ss (zzzz)', 'H:mm:ss (z)', 'H:mm:ss', 'H:mm'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 6 + DATEFORMATS: ['y MMMM d, EEEE', 'y MMMM d', 'y MMM d', 'y-MM-dd'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 5, + WEEKENDRANGE: [3, 4], + FIRSTWEEKCUTOFFDAY: 4 }; -/** - * Date/time formatting symbols for locale uz_Arab_AF. - */ -goog.i18n.DateTimeSymbols_uz_Arab_AF = goog.i18n.DateTimeSymbols_uz_Arab; - - /** * Date/time formatting symbols for locale uz_Cyrl. */ -goog.i18n.DateTimeSymbols_uz_Cyrl = goog.i18n.DateTimeSymbols_uz; +goog.i18n.DateTimeSymbols_uz_Cyrl = { + ERAS: ['м.а.', 'милодий'], + ERANAMES: ['милоддан аввалги', 'милодий'], + NARROWMONTHS: ['Я', 'Ф', 'М', 'А', 'М', 'И', 'И', 'А', 'С', 'О', 'Н', 'Д'], + STANDALONENARROWMONTHS: ['Я', 'Ф', 'М', 'А', 'М', 'И', 'И', 'А', 'С', 'О', 'Н', 'Д'], + MONTHS: ['январ', 'феврал', 'март', 'апрел', 'май', 'июн', 'июл', 'август', 'сентябр', 'октябр', 'ноябр', 'декабр'], + STANDALONEMONTHS: ['Январ', 'Феврал', 'Март', 'Апрел', 'Май', 'Июн', 'Июл', 'Август', 'Сентябр', 'Октябр', 'Ноябр', 'Декабр'], + SHORTMONTHS: ['янв', 'фев', 'мар', 'апр', 'май', 'июн', 'июл', 'авг', 'сен', 'окт', 'ноя', 'дек'], + STANDALONESHORTMONTHS: ['Янв', 'Фев', 'Мар', 'Апр', 'Май', 'Июн', 'Июл', 'Авг', 'Сен', 'Окт', 'Ноя', 'Дек'], + WEEKDAYS: ['якшанба', 'душанба', 'сешанба', 'чоршанба', 'пайшанба', 'жума', 'шанба'], + STANDALONEWEEKDAYS: ['Якшанба', 'Душанба', 'Сешанба', 'Чоршанба', 'Пайшанба', 'Жума', 'Шанба'], + SHORTWEEKDAYS: ['якш', 'душ', 'сеш', 'чор', 'пай', 'жум', 'шан'], + STANDALONESHORTWEEKDAYS: ['Якш', 'Душ', 'Сеш', 'Чор', 'Пай', 'Жум', 'Шан'], + NARROWWEEKDAYS: ['Я', 'Д', 'С', 'Ч', 'П', 'Ж', 'Ш'], + STANDALONENARROWWEEKDAYS: ['Я', 'Д', 'С', 'Ч', 'П', 'Ж', 'Ш'], + SHORTQUARTERS: ['1-ч', '2-ч', '3-ч', '4-ч'], + QUARTERS: ['1-чорак', '2-чорак', '3-чорак', '4-чорак'], + AMPMS: ['ТО', 'ТК'], + DATEFORMATS: ['EEEE, dd MMMM, y', 'd MMMM, y', 'd MMM, y', 'dd/MM/yy'], + TIMEFORMATS: ['HH:mm:ss (zzzz)', 'HH:mm:ss (z)', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; /** * Date/time formatting symbols for locale uz_Cyrl_UZ. */ -goog.i18n.DateTimeSymbols_uz_Cyrl_UZ = goog.i18n.DateTimeSymbols_uz; - - -/** - * Date/time formatting symbols for locale uz_Latn. - */ -goog.i18n.DateTimeSymbols_uz_Latn = { - ERAS: ['BCE', 'CE'], - ERANAMES: ['BCE', 'CE'], - NARROWMONTHS: ['Y', 'F', 'M', 'A', 'M', 'I', 'I', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['Y', 'F', 'M', 'A', 'M', 'I', 'I', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['Yanvar', 'Fevral', 'Mart', 'Aprel', 'May', 'Iyun', 'Iyul', 'Avgust', - 'Sentyabr', 'Oktyabr', 'Noyabr', 'Dekabr'], - STANDALONEMONTHS: ['Yanvar', 'Fevral', 'Mart', 'Aprel', 'May', 'Iyun', 'Iyul', - 'Avgust', 'Sentyabr', 'Oktyabr', 'Noyabr', 'Dekabr'], - SHORTMONTHS: ['Yanv', 'Fev', 'Mar', 'Apr', 'May', 'Iyun', 'Iyul', 'Avg', - 'Sen', 'Okt', 'Noya', 'Dek'], - STANDALONESHORTMONTHS: ['Yanv', 'Fev', 'Mar', 'Apr', 'May', 'Iyun', 'Iyul', - 'Avg', 'Sen', 'Okt', 'Noya', 'Dek'], - WEEKDAYS: ['yakshanba', 'dushanba', 'seshanba', 'chorshanba', 'payshanba', - 'cuma', 'shanba'], - STANDALONEWEEKDAYS: ['yakshanba', 'dushanba', 'seshanba', 'chorshanba', - 'payshanba', 'cuma', 'shanba'], - SHORTWEEKDAYS: ['Yaksh', 'Dush', 'Sesh', 'Chor', 'Pay', 'Cum', 'Shan'], - STANDALONESHORTWEEKDAYS: ['Yaksh', 'Dush', 'Sesh', 'Chor', 'Pay', 'Cum', - 'Shan'], - NARROWWEEKDAYS: ['Y', 'D', 'S', 'C', 'P', 'C', 'S'], - STANDALONENARROWWEEKDAYS: ['Y', 'D', 'S', 'C', 'P', 'C', 'S'], - SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - QUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE, y MMMM dd', 'y MMMM d', 'y MMM d', 'yy/MM/dd'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], +goog.i18n.DateTimeSymbols_uz_Cyrl_UZ = { + ERAS: ['м.а.', 'милодий'], + ERANAMES: ['милоддан аввалги', 'милодий'], + NARROWMONTHS: ['Я', 'Ф', 'М', 'А', 'М', 'И', 'И', 'А', 'С', 'О', 'Н', 'Д'], + STANDALONENARROWMONTHS: ['Я', 'Ф', 'М', 'А', 'М', 'И', 'И', 'А', 'С', 'О', 'Н', 'Д'], + MONTHS: ['январ', 'феврал', 'март', 'апрел', 'май', 'июн', 'июл', 'август', 'сентябр', 'октябр', 'ноябр', 'декабр'], + STANDALONEMONTHS: ['Январ', 'Феврал', 'Март', 'Апрел', 'Май', 'Июн', 'Июл', 'Август', 'Сентябр', 'Октябр', 'Ноябр', 'Декабр'], + SHORTMONTHS: ['янв', 'фев', 'мар', 'апр', 'май', 'июн', 'июл', 'авг', 'сен', 'окт', 'ноя', 'дек'], + STANDALONESHORTMONTHS: ['Янв', 'Фев', 'Мар', 'Апр', 'Май', 'Июн', 'Июл', 'Авг', 'Сен', 'Окт', 'Ноя', 'Дек'], + WEEKDAYS: ['якшанба', 'душанба', 'сешанба', 'чоршанба', 'пайшанба', 'жума', 'шанба'], + STANDALONEWEEKDAYS: ['Якшанба', 'Душанба', 'Сешанба', 'Чоршанба', 'Пайшанба', 'Жума', 'Шанба'], + SHORTWEEKDAYS: ['якш', 'душ', 'сеш', 'чор', 'пай', 'жум', 'шан'], + STANDALONESHORTWEEKDAYS: ['Якш', 'Душ', 'Сеш', 'Чор', 'Пай', 'Жум', 'Шан'], + NARROWWEEKDAYS: ['Я', 'Д', 'С', 'Ч', 'П', 'Ж', 'Ш'], + STANDALONENARROWWEEKDAYS: ['Я', 'Д', 'С', 'Ч', 'П', 'Ж', 'Ш'], + SHORTQUARTERS: ['1-ч', '2-ч', '3-ч', '4-ч'], + QUARTERS: ['1-чорак', '2-чорак', '3-чорак', '4-чорак'], + AMPMS: ['ТО', 'ТК'], + DATEFORMATS: ['EEEE, dd MMMM, y', 'd MMMM, y', 'd MMM, y', 'dd/MM/yy'], + TIMEFORMATS: ['HH:mm:ss (zzzz)', 'HH:mm:ss (z)', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 }; +/** + * Date/time formatting symbols for locale uz_Latn. + */ +goog.i18n.DateTimeSymbols_uz_Latn = goog.i18n.DateTimeSymbols_uz; + + /** * Date/time formatting symbols for locale uz_Latn_UZ. */ -goog.i18n.DateTimeSymbols_uz_Latn_UZ = goog.i18n.DateTimeSymbols_uz_Latn; +goog.i18n.DateTimeSymbols_uz_Latn_UZ = goog.i18n.DateTimeSymbols_uz; /** @@ -13480,35 +12532,23 @@ goog.i18n.DateTimeSymbols_vai = { ERAS: ['BCE', 'CE'], ERANAMES: ['BCE', 'CE'], NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], - STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', - '11', '12'], - MONTHS: ['ꖨꕪꖃ ꔞꕮ', 'ꕒꕡꖝꖕ', 'ꕾꖺ', 'ꖢꖕ', 'ꖑꕱ', - '6', '7', 'ꗛꔕ', 'ꕢꕌ', 'ꕭꖃ', 'ꔞꘋꕔꕿ ꕸꖃꗏ', - 'ꖨꕪꕱ ꗏꕮ'], - STANDALONEMONTHS: ['ꖨꕪꖃ ꔞꕮ', 'ꕒꕡꖝꖕ', 'ꕾꖺ', 'ꖢꖕ', - 'ꖑꕱ', '6', '7', 'ꗛꔕ', 'ꕢꕌ', 'ꕭꖃ', - 'ꔞꘋꕔꕿ ꕸꖃꗏ', 'ꖨꕪꕱ ꗏꕮ'], - SHORTMONTHS: ['ꖨꕪꖃ ꔞꕮ', 'ꕒꕡꖝꖕ', 'ꕾꖺ', 'ꖢꖕ', - 'ꖑꕱ', '6', '7', 'ꗛꔕ', 'ꕢꕌ', 'ꕭꖃ', - 'ꔞꘋꕔꕿ ꕸꖃꗏ', 'ꖨꕪꕱ ꗏꕮ'], - STANDALONESHORTMONTHS: ['ꖨꕪꖃ ꔞꕮ', 'ꕒꕡꖝꖕ', 'ꕾꖺ', - 'ꖢꖕ', 'ꖑꕱ', '6', '7', 'ꗛꔕ', 'ꕢꕌ', 'ꕭꖃ', - 'ꔞꘋꕔꕿ ꕸꖃꗏ', 'ꖨꕪꕱ ꗏꕮ'], - WEEKDAYS: ['ꕞꕌꔵ', 'ꗳꗡꘉ', 'ꕚꕞꕚ', 'ꕉꕞꕒ', 'ꕉꔤꕆꕢ', - 'ꕉꔤꕀꕮ', 'ꔻꔬꔳ'], - STANDALONEWEEKDAYS: ['ꕞꕌꔵ', 'ꗳꗡꘉ', 'ꕚꕞꕚ', 'ꕉꕞꕒ', - 'ꕉꔤꕆꕢ', 'ꕉꔤꕀꕮ', 'ꔻꔬꔳ'], - SHORTWEEKDAYS: ['ꕞꕌꔵ', 'ꗳꗡꘉ', 'ꕚꕞꕚ', 'ꕉꕞꕒ', - 'ꕉꔤꕆꕢ', 'ꕉꔤꕀꕮ', 'ꔻꔬꔳ'], - STANDALONESHORTWEEKDAYS: ['ꕞꕌꔵ', 'ꗳꗡꘉ', 'ꕚꕞꕚ', 'ꕉꕞꕒ', - 'ꕉꔤꕆꕢ', 'ꕉꔤꕀꕮ', 'ꔻꔬꔳ'], - NARROWWEEKDAYS: ['1', '2', '3', '4', '5', '6', '7'], - STANDALONENARROWWEEKDAYS: ['1', '2', '3', '4', '5', '6', '7'], + STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + MONTHS: ['ꖨꕪꖃ ꔞꕮ', 'ꕒꕡꖝꖕ', 'ꕾꖺ', 'ꖢꖕ', 'ꖑꕱ', '6', '7', 'ꗛꔕ', 'ꕢꕌ', 'ꕭꖃ', 'ꔞꘋꕔꕿ ꕸꖃꗏ', 'ꖨꕪꕱ ꗏꕮ'], + STANDALONEMONTHS: ['ꖨꕪꖃ ꔞꕮ', 'ꕒꕡꖝꖕ', 'ꕾꖺ', 'ꖢꖕ', 'ꖑꕱ', '6', '7', 'ꗛꔕ', 'ꕢꕌ', 'ꕭꖃ', 'ꔞꘋꕔꕿ ꕸꖃꗏ', 'ꖨꕪꕱ ꗏꕮ'], + SHORTMONTHS: ['ꖨꕪꖃ ꔞꕮ', 'ꕒꕡꖝꖕ', 'ꕾꖺ', 'ꖢꖕ', 'ꖑꕱ', '6', '7', 'ꗛꔕ', 'ꕢꕌ', 'ꕭꖃ', 'ꔞꘋꕔꕿ ꕸꖃꗏ', 'ꖨꕪꕱ ꗏꕮ'], + STANDALONESHORTMONTHS: ['ꖨꕪꖃ ꔞꕮ', 'ꕒꕡꖝꖕ', 'ꕾꖺ', 'ꖢꖕ', 'ꖑꕱ', '6', '7', 'ꗛꔕ', 'ꕢꕌ', 'ꕭꖃ', 'ꔞꘋꕔꕿ ꕸꖃꗏ', 'ꖨꕪꕱ ꗏꕮ'], + WEEKDAYS: ['ꕞꕌꔵ', 'ꗳꗡꘉ', 'ꕚꕞꕚ', 'ꕉꕞꕒ', 'ꕉꔤꕆꕢ', 'ꕉꔤꕀꕮ', 'ꔻꔬꔳ'], + STANDALONEWEEKDAYS: ['ꕞꕌꔵ', 'ꗳꗡꘉ', 'ꕚꕞꕚ', 'ꕉꕞꕒ', 'ꕉꔤꕆꕢ', 'ꕉꔤꕀꕮ', 'ꔻꔬꔳ'], + SHORTWEEKDAYS: ['ꕞꕌꔵ', 'ꗳꗡꘉ', 'ꕚꕞꕚ', 'ꕉꕞꕒ', 'ꕉꔤꕆꕢ', 'ꕉꔤꕀꕮ', 'ꔻꔬꔳ'], + STANDALONESHORTWEEKDAYS: ['ꕞꕌꔵ', 'ꗳꗡꘉ', 'ꕚꕞꕚ', 'ꕉꕞꕒ', 'ꕉꔤꕆꕢ', 'ꕉꔤꕀꕮ', 'ꔻꔬꔳ'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], QUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yyyy'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -13522,31 +12562,23 @@ goog.i18n.DateTimeSymbols_vai_Latn = { ERAS: ['BCE', 'CE'], ERANAMES: ['BCE', 'CE'], NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], - STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', - '11', '12'], - MONTHS: ['luukao kemã', 'ɓandaɓu', 'vɔɔ', 'fulu', 'goo', '6', '7', - 'kɔnde', 'saah', 'galo', 'kenpkato ɓololɔ', 'luukao lɔma'], - STANDALONEMONTHS: ['luukao kemã', 'ɓandaɓu', 'vɔɔ', 'fulu', 'goo', '6', - '7', 'kɔnde', 'saah', 'galo', 'kenpkato ɓololɔ', 'luukao lɔma'], - SHORTMONTHS: ['luukao kemã', 'ɓandaɓu', 'vɔɔ', 'fulu', 'goo', '6', '7', - 'kɔnde', 'saah', 'galo', 'kenpkato ɓololɔ', 'luukao lɔma'], - STANDALONESHORTMONTHS: ['luukao kemã', 'ɓandaɓu', 'vɔɔ', 'fulu', 'goo', - '6', '7', 'kɔnde', 'saah', 'galo', 'kenpkato ɓololɔ', 'luukao lɔma'], - WEEKDAYS: ['lahadi', 'tɛɛnɛɛ', 'talata', 'alaba', 'aimisa', 'aijima', - 'siɓiti'], - STANDALONEWEEKDAYS: ['lahadi', 'tɛɛnɛɛ', 'talata', 'alaba', 'aimisa', - 'aijima', 'siɓiti'], - SHORTWEEKDAYS: ['lahadi', 'tɛɛnɛɛ', 'talata', 'alaba', 'aimisa', 'aijima', - 'siɓiti'], - STANDALONESHORTWEEKDAYS: ['lahadi', 'tɛɛnɛɛ', 'talata', 'alaba', 'aimisa', - 'aijima', 'siɓiti'], - NARROWWEEKDAYS: ['1', '2', '3', '4', '5', '6', '7'], - STANDALONENARROWWEEKDAYS: ['1', '2', '3', '4', '5', '6', '7'], + STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + MONTHS: ['luukao kemã', 'ɓandaɓu', 'vɔɔ', 'fulu', 'goo', '6', '7', 'kɔnde', 'saah', 'galo', 'kenpkato ɓololɔ', 'luukao lɔma'], + STANDALONEMONTHS: ['luukao kemã', 'ɓandaɓu', 'vɔɔ', 'fulu', 'goo', '6', '7', 'kɔnde', 'saah', 'galo', 'kenpkato ɓololɔ', 'luukao lɔma'], + SHORTMONTHS: ['luukao kemã', 'ɓandaɓu', 'vɔɔ', 'fulu', 'goo', '6', '7', 'kɔnde', 'saah', 'galo', 'kenpkato ɓololɔ', 'luukao lɔma'], + STANDALONESHORTMONTHS: ['luukao kemã', 'ɓandaɓu', 'vɔɔ', 'fulu', 'goo', '6', '7', 'kɔnde', 'saah', 'galo', 'kenpkato ɓololɔ', 'luukao lɔma'], + WEEKDAYS: ['lahadi', 'tɛɛnɛɛ', 'talata', 'alaba', 'aimisa', 'aijima', 'siɓiti'], + STANDALONEWEEKDAYS: ['lahadi', 'tɛɛnɛɛ', 'talata', 'alaba', 'aimisa', 'aijima', 'siɓiti'], + SHORTWEEKDAYS: ['lahadi', 'tɛɛnɛɛ', 'talata', 'alaba', 'aimisa', 'aijima', 'siɓiti'], + STANDALONESHORTWEEKDAYS: ['lahadi', 'tɛɛnɛɛ', 'talata', 'alaba', 'aimisa', 'aijima', 'siɓiti'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], QUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yyyy'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -13556,7 +12588,31 @@ goog.i18n.DateTimeSymbols_vai_Latn = { /** * Date/time formatting symbols for locale vai_Latn_LR. */ -goog.i18n.DateTimeSymbols_vai_Latn_LR = goog.i18n.DateTimeSymbols_vai_Latn; +goog.i18n.DateTimeSymbols_vai_Latn_LR = { + ERAS: ['BCE', 'CE'], + ERANAMES: ['BCE', 'CE'], + NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + MONTHS: ['luukao kemã', 'ɓandaɓu', 'vɔɔ', 'fulu', 'goo', '6', '7', 'kɔnde', 'saah', 'galo', 'kenpkato ɓololɔ', 'luukao lɔma'], + STANDALONEMONTHS: ['luukao kemã', 'ɓandaɓu', 'vɔɔ', 'fulu', 'goo', '6', '7', 'kɔnde', 'saah', 'galo', 'kenpkato ɓololɔ', 'luukao lɔma'], + SHORTMONTHS: ['luukao kemã', 'ɓandaɓu', 'vɔɔ', 'fulu', 'goo', '6', '7', 'kɔnde', 'saah', 'galo', 'kenpkato ɓololɔ', 'luukao lɔma'], + STANDALONESHORTMONTHS: ['luukao kemã', 'ɓandaɓu', 'vɔɔ', 'fulu', 'goo', '6', '7', 'kɔnde', 'saah', 'galo', 'kenpkato ɓololɔ', 'luukao lɔma'], + WEEKDAYS: ['lahadi', 'tɛɛnɛɛ', 'talata', 'alaba', 'aimisa', 'aijima', 'siɓiti'], + STANDALONEWEEKDAYS: ['lahadi', 'tɛɛnɛɛ', 'talata', 'alaba', 'aimisa', 'aijima', 'siɓiti'], + SHORTWEEKDAYS: ['lahadi', 'tɛɛnɛɛ', 'talata', 'alaba', 'aimisa', 'aijima', 'siɓiti'], + STANDALONESHORTWEEKDAYS: ['lahadi', 'tɛɛnɛɛ', 'talata', 'alaba', 'aimisa', 'aijima', 'siɓiti'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + AMPMS: ['AM', 'PM'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; /** @@ -13571,91 +12627,10 @@ goog.i18n.DateTimeSymbols_vai_Vaii = goog.i18n.DateTimeSymbols_vai; goog.i18n.DateTimeSymbols_vai_Vaii_LR = goog.i18n.DateTimeSymbols_vai; -/** - * Date/time formatting symbols for locale ve. - */ -goog.i18n.DateTimeSymbols_ve = { - ERAS: ['BCE', 'CE'], - ERANAMES: ['BCE', 'CE'], - NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], - STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', - '11', '12'], - MONTHS: ['Phando', 'Luhuhi', 'Ṱhafamuhwe', 'Lambamai', 'Shundunthule', - 'Fulwi', 'Fulwana', 'Ṱhangule', 'Khubvumedzi', 'Tshimedzi', 'Ḽara', - 'Nyendavhusiku'], - STANDALONEMONTHS: ['Phando', 'Luhuhi', 'Ṱhafamuhwe', 'Lambamai', - 'Shundunthule', 'Fulwi', 'Fulwana', 'Ṱhangule', 'Khubvumedzi', - 'Tshimedzi', 'Ḽara', 'Nyendavhusiku'], - SHORTMONTHS: ['Pha', 'Luh', 'Ṱhf', 'Lam', 'Shu', 'Lwi', 'Lwa', 'Ṱha', - 'Khu', 'Tsh', 'Ḽar', 'Nye'], - STANDALONESHORTMONTHS: ['Pha', 'Luh', 'Ṱhf', 'Lam', 'Shu', 'Lwi', 'Lwa', - 'Ṱha', 'Khu', 'Tsh', 'Ḽar', 'Nye'], - WEEKDAYS: ['Swondaha', 'Musumbuluwo', 'Ḽavhuvhili', 'Ḽavhuraru', - 'Ḽavhuṋa', 'Ḽavhuṱanu', 'Mugivhela'], - STANDALONEWEEKDAYS: ['Swondaha', 'Musumbuluwo', 'Ḽavhuvhili', 'Ḽavhuraru', - 'Ḽavhuṋa', 'Ḽavhuṱanu', 'Mugivhela'], - SHORTWEEKDAYS: ['Swo', 'Mus', 'Vhi', 'Rar', 'Ṋa', 'Ṱan', 'Mug'], - STANDALONESHORTWEEKDAYS: ['Swo', 'Mus', 'Vhi', 'Rar', 'Ṋa', 'Ṱan', 'Mug'], - NARROWWEEKDAYS: ['1', '2', '3', '4', '5', '6', '7'], - STANDALONENARROWWEEKDAYS: ['1', '2', '3', '4', '5', '6', '7'], - SHORTQUARTERS: ['K1', 'K2', 'K3', 'K4'], - QUARTERS: ['Kotara ya u thoma', 'Kotara ya vhuvhili', 'Kotara ya vhuraru', - 'Kotara ya vhuṋa'], - AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE, y MMMM dd', 'y MMMM d', 'y MMM d', 'yyyy-MM-dd'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 6, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 5 -}; - - -/** - * Date/time formatting symbols for locale ve_ZA. - */ -goog.i18n.DateTimeSymbols_ve_ZA = goog.i18n.DateTimeSymbols_ve; - - /** * Date/time formatting symbols for locale vi_VN. */ -goog.i18n.DateTimeSymbols_vi_VN = { - ERAS: ['tr. CN', 'sau CN'], - ERANAMES: ['tr. CN', 'sau CN'], - NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], - STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', - '11', '12'], - MONTHS: ['tháng một', 'tháng hai', 'tháng ba', 'tháng tư', - 'tháng năm', 'tháng sáu', 'tháng bảy', 'tháng tám', - 'tháng chín', 'tháng mười', 'tháng mười một', - 'tháng mười hai'], - STANDALONEMONTHS: ['tháng một', 'tháng hai', 'tháng ba', 'tháng tư', - 'tháng năm', 'tháng sáu', 'tháng bảy', 'tháng tám', - 'tháng chín', 'tháng mười', 'tháng mười một', - 'tháng mười hai'], - SHORTMONTHS: ['thg 1', 'thg 2', 'thg 3', 'thg 4', 'thg 5', 'thg 6', 'thg 7', - 'thg 8', 'thg 9', 'thg 10', 'thg 11', 'thg 12'], - STANDALONESHORTMONTHS: ['thg 1', 'thg 2', 'thg 3', 'thg 4', 'thg 5', 'thg 6', - 'thg 7', 'thg 8', 'thg 9', 'thg 10', 'thg 11', 'thg 12'], - WEEKDAYS: ['Chủ nhật', 'Thứ hai', 'Thứ ba', 'Thứ tư', 'Thứ năm', - 'Thứ sáu', 'Thứ bảy'], - STANDALONEWEEKDAYS: ['Chủ nhật', 'Thứ hai', 'Thứ ba', 'Thứ tư', - 'Thứ năm', 'Thứ sáu', 'Thứ bảy'], - SHORTWEEKDAYS: ['CN', 'Th 2', 'Th 3', 'Th 4', 'Th 5', 'Th 6', 'Th 7'], - STANDALONESHORTWEEKDAYS: ['CN', 'Th 2', 'Th 3', 'Th 4', 'Th 5', 'Th 6', - 'Th 7'], - NARROWWEEKDAYS: ['CN', 'T2', 'T3', 'T4', 'T5', 'T6', 'T7'], - STANDALONENARROWWEEKDAYS: ['CN', 'T2', 'T3', 'T4', 'T5', 'T6', 'T7'], - SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - QUARTERS: ['Quý 1', 'Quý 2', 'Quý 3', 'Quý 4'], - AMPMS: ['SA', 'CH'], - DATEFORMATS: ['EEEE, \'ngày\' dd MMMM \'năm\' y', - '\'Ngày\' dd \'tháng\' M \'năm\' y', 'dd-MM-yyyy', 'dd/MM/yyyy'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 6 -}; +goog.i18n.DateTimeSymbols_vi_VN = goog.i18n.DateTimeSymbols_vi; /** @@ -13665,20 +12640,13 @@ goog.i18n.DateTimeSymbols_vun = { ERAS: ['KK', 'BK'], ERANAMES: ['Kabla ya Kristu', 'Baada ya Kristu'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['Januari', 'Februari', 'Machi', 'Aprilyi', 'Mei', 'Junyi', 'Julyai', - 'Agusti', 'Septemba', 'Oktoba', 'Novemba', 'Desemba'], - STANDALONEMONTHS: ['Januari', 'Februari', 'Machi', 'Aprilyi', 'Mei', 'Junyi', - 'Julyai', 'Agusti', 'Septemba', 'Oktoba', 'Novemba', 'Desemba'], - SHORTMONTHS: ['Jan', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Jul', 'Ago', 'Sep', - 'Okt', 'Nov', 'Des'], - STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Jul', - 'Ago', 'Sep', 'Okt', 'Nov', 'Des'], - WEEKDAYS: ['Jumapilyi', 'Jumatatuu', 'Jumanne', 'Jumatanu', 'Alhamisi', - 'Ijumaa', 'Jumamosi'], - STANDALONEWEEKDAYS: ['Jumapilyi', 'Jumatatuu', 'Jumanne', 'Jumatanu', - 'Alhamisi', 'Ijumaa', 'Jumamosi'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['Januari', 'Februari', 'Machi', 'Aprilyi', 'Mei', 'Junyi', 'Julyai', 'Agusti', 'Septemba', 'Oktoba', 'Novemba', 'Desemba'], + STANDALONEMONTHS: ['Januari', 'Februari', 'Machi', 'Aprilyi', 'Mei', 'Junyi', 'Julyai', 'Agusti', 'Septemba', 'Oktoba', 'Novemba', 'Desemba'], + SHORTMONTHS: ['Jan', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Jul', 'Ago', 'Sep', 'Okt', 'Nov', 'Des'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Jul', 'Ago', 'Sep', 'Okt', 'Nov', 'Des'], + WEEKDAYS: ['Jumapilyi', 'Jumatatuu', 'Jumanne', 'Jumatanu', 'Alhamisi', 'Ijumaa', 'Jumamosi'], + STANDALONEWEEKDAYS: ['Jumapilyi', 'Jumatatuu', 'Jumanne', 'Jumatanu', 'Alhamisi', 'Ijumaa', 'Jumamosi'], SHORTWEEKDAYS: ['Jpi', 'Jtt', 'Jnn', 'Jtn', 'Alh', 'Iju', 'Jmo'], STANDALONESHORTWEEKDAYS: ['Jpi', 'Jtt', 'Jnn', 'Jtn', 'Alh', 'Iju', 'Jmo'], NARROWWEEKDAYS: ['J', 'J', 'J', 'J', 'A', 'I', 'J'], @@ -13686,8 +12654,9 @@ goog.i18n.DateTimeSymbols_vun = { SHORTQUARTERS: ['R1', 'R2', 'R3', 'R4'], QUARTERS: ['Robo 1', 'Robo 2', 'Robo 3', 'Robo 4'], AMPMS: ['utuko', 'kyiukonyi'], - DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yyyy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -13707,22 +12676,13 @@ goog.i18n.DateTimeSymbols_wae = { ERAS: ['v. Chr.', 'n. Chr'], ERANAMES: ['v. Chr.', 'n. Chr'], NARROWMONTHS: ['J', 'H', 'M', 'A', 'M', 'B', 'H', 'Ö', 'H', 'W', 'W', 'C'], - STANDALONENARROWMONTHS: ['J', 'H', 'M', 'A', 'M', 'B', 'H', 'Ö', 'H', 'W', - 'W', 'C'], - MONTHS: ['Jenner', 'Hornig', 'Märze', 'Abrille', 'Meije', 'Bráčet', - 'Heiwet', 'Öigšte', 'Herbštmánet', 'Wímánet', 'Wintermánet', - 'Chrištmánet'], - STANDALONEMONTHS: ['Jenner', 'Hornig', 'Märze', 'Abrille', 'Meije', - 'Bráčet', 'Heiwet', 'Öigšte', 'Herbštmánet', 'Wímánet', - 'Wintermánet', 'Chrištmánet'], - SHORTMONTHS: ['Jen', 'Hor', 'Mär', 'Abr', 'Mei', 'Brá', 'Hei', 'Öig', - 'Her', 'Wím', 'Win', 'Chr'], - STANDALONESHORTMONTHS: ['Jen', 'Hor', 'Mär', 'Abr', 'Mei', 'Brá', 'Hei', - 'Öig', 'Her', 'Wím', 'Win', 'Chr'], - WEEKDAYS: ['Sunntag', 'Mäntag', 'Zištag', 'Mittwuč', 'Fróntag', 'Fritag', - 'Samštag'], - STANDALONEWEEKDAYS: ['Sunntag', 'Mäntag', 'Zištag', 'Mittwuč', 'Fróntag', - 'Fritag', 'Samštag'], + STANDALONENARROWMONTHS: ['J', 'H', 'M', 'A', 'M', 'B', 'H', 'Ö', 'H', 'W', 'W', 'C'], + MONTHS: ['Jenner', 'Hornig', 'Märze', 'Abrille', 'Meije', 'Bráčet', 'Heiwet', 'Öigšte', 'Herbštmánet', 'Wímánet', 'Wintermánet', 'Chrištmánet'], + STANDALONEMONTHS: ['Jenner', 'Hornig', 'Märze', 'Abrille', 'Meije', 'Bráčet', 'Heiwet', 'Öigšte', 'Herbštmánet', 'Wímánet', 'Wintermánet', 'Chrištmánet'], + SHORTMONTHS: ['Jen', 'Hor', 'Mär', 'Abr', 'Mei', 'Brá', 'Hei', 'Öig', 'Her', 'Wím', 'Win', 'Chr'], + STANDALONESHORTMONTHS: ['Jen', 'Hor', 'Mär', 'Abr', 'Mei', 'Brá', 'Hei', 'Öig', 'Her', 'Wím', 'Win', 'Chr'], + WEEKDAYS: ['Sunntag', 'Mäntag', 'Zištag', 'Mittwuč', 'Fróntag', 'Fritag', 'Samštag'], + STANDALONEWEEKDAYS: ['Sunntag', 'Mäntag', 'Zištag', 'Mittwuč', 'Fróntag', 'Fritag', 'Samštag'], SHORTWEEKDAYS: ['Sun', 'Män', 'Ziš', 'Mit', 'Fró', 'Fri', 'Sam'], STANDALONESHORTWEEKDAYS: ['Sun', 'Män', 'Ziš', 'Mit', 'Fró', 'Fri', 'Sam'], NARROWWEEKDAYS: ['S', 'M', 'Z', 'M', 'F', 'F', 'S'], @@ -13730,11 +12690,12 @@ goog.i18n.DateTimeSymbols_wae = { SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], QUARTERS: ['1. quartal', '2. quartal', '3. quartal', '4. quartal'], AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE, d. MMMM y', 'd. MMMM y', 'd. MMM y', 'yyyy-MM-dd'], + DATEFORMATS: ['EEEE, d. MMMM y', 'd. MMMM y', 'd. MMM y', 'y-MM-dd'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 6 + FIRSTWEEKCUTOFFDAY: 3 }; @@ -13744,100 +12705,6 @@ goog.i18n.DateTimeSymbols_wae = { goog.i18n.DateTimeSymbols_wae_CH = goog.i18n.DateTimeSymbols_wae; -/** - * Date/time formatting symbols for locale wal. - */ -goog.i18n.DateTimeSymbols_wal = { - ERAS: ['አዳ ዎዴ', 'ግሮተታ ላይታ'], - ERANAMES: ['አዳ ዎዴ', 'ግሮተታ ላይታ'], - NARROWMONTHS: ['ጃ', 'ፌ', 'ማ', 'ኤ', 'ሜ', 'ጁ', 'ጁ', 'ኦ', 'ሴ', - 'ኦ', 'ኖ', 'ዲ'], - STANDALONENARROWMONTHS: ['ጃ', 'ፌ', 'ማ', 'ኤ', 'ሜ', 'ጁ', 'ጁ', - 'ኦ', 'ሴ', 'ኦ', 'ኖ', 'ዲ'], - MONTHS: ['ጃንዩወሪ', 'ፌብሩወሪ', 'ማርች', 'ኤፕረል', - 'ሜይ', 'ጁን', 'ጁላይ', 'ኦገስት', 'ሴፕቴምበር', - 'ኦክተውበር', 'ኖቬምበር', 'ዲሴምበር'], - STANDALONEMONTHS: ['ጃንዩወሪ', 'ፌብሩወሪ', 'ማርች', - 'ኤፕረል', 'ሜይ', 'ጁን', 'ጁላይ', 'ኦገስት', - 'ሴፕቴምበር', 'ኦክተውበር', 'ኖቬምበር', - 'ዲሴምበር'], - SHORTMONTHS: ['ጃንዩ', 'ፌብሩ', 'ማርች', 'ኤፕረ', 'ሜይ', - 'ጁን', 'ጁላይ', 'ኦገስ', 'ሴፕቴ', 'ኦክተ', 'ኖቬም', - 'ዲሴም'], - STANDALONESHORTMONTHS: ['ጃንዩ', 'ፌብሩ', 'ማርች', 'ኤፕረ', - 'ሜይ', 'ጁን', 'ጁላይ', 'ኦገስ', 'ሴፕቴ', 'ኦክተ', - 'ኖቬም', 'ዲሴም'], - WEEKDAYS: ['ወጋ', 'ሳይኖ', 'ማቆሳኛ', 'አሩዋ', 'ሃሙሳ', - 'አርባ', 'ቄራ'], - STANDALONEWEEKDAYS: ['ወጋ', 'ሳይኖ', 'ማቆሳኛ', 'አሩዋ', - 'ሃሙሳ', 'አርባ', 'ቄራ'], - SHORTWEEKDAYS: ['ወጋ', 'ሳይኖ', 'ማቆሳኛ', 'አሩዋ', - 'ሃሙሳ', 'አርባ', 'ቄራ'], - STANDALONESHORTWEEKDAYS: ['ወጋ', 'ሳይኖ', 'ማቆሳኛ', 'አሩዋ', - 'ሃሙሳ', 'አርባ', 'ቄራ'], - NARROWWEEKDAYS: ['ወ', 'ሳ', 'ማ', 'አ', 'ሃ', 'አ', 'ቄ'], - STANDALONENARROWWEEKDAYS: ['ወ', 'ሳ', 'ማ', 'አ', 'ሃ', 'አ', 'ቄ'], - SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - QUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - AMPMS: ['ማለዶ', 'ቃማ'], - DATEFORMATS: ['EEEE፥ dd MMMM ጋላሳ y G', 'dd MMMM y', 'dd-MMM-y', - 'dd/MM/yy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 6 -}; - - -/** - * Date/time formatting symbols for locale wal_ET. - */ -goog.i18n.DateTimeSymbols_wal_ET = goog.i18n.DateTimeSymbols_wal; - - -/** - * Date/time formatting symbols for locale xh. - */ -goog.i18n.DateTimeSymbols_xh = { - ERAS: ['BC', 'AD'], - ERANAMES: ['BC', 'umnyaka wokuzalwa kukaYesu'], - NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], - STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', - '11', '12'], - MONTHS: ['Janyuwari', 'Februwari', 'Matshi', 'Epreli', 'Meyi', 'Juni', - 'Julayi', 'Agasti', 'Septemba', 'Okthoba', 'Novemba', 'Disemba'], - STANDALONEMONTHS: ['Janyuwari', 'Februwari', 'Matshi', 'Epreli', 'Meyi', - 'Juni', 'Julayi', 'Agasti', 'Septemba', 'Okthoba', 'Novemba', 'Disemba'], - SHORTMONTHS: ['Jan', 'Feb', 'Mat', 'Epr', 'Mey', 'Jun', 'Jul', 'Aga', 'Sep', - 'Okt', 'Nov', 'Dis'], - STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mat', 'Epr', 'Mey', 'Jun', 'Jul', - 'Aga', 'Sep', 'Okt', 'Nov', 'Dis'], - WEEKDAYS: ['Cawe', 'Mvulo', 'Lwesibini', 'Lwesithathu', 'Lwesine', - 'Lwesihlanu', 'Mgqibelo'], - STANDALONEWEEKDAYS: ['Cawe', 'Mvulo', 'Lwesibini', 'Lwesithathu', 'Lwesine', - 'Lwesihlanu', 'Mgqibelo'], - SHORTWEEKDAYS: ['Caw', 'Mvu', 'Bin', 'Tha', 'Sin', 'Hla', 'Mgq'], - STANDALONESHORTWEEKDAYS: ['Caw', 'Mvu', 'Bin', 'Tha', 'Sin', 'Hla', 'Mgq'], - NARROWWEEKDAYS: ['1', '2', '3', '4', '5', '6', '7'], - STANDALONENARROWWEEKDAYS: ['1', '2', '3', '4', '5', '6', '7'], - SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - QUARTERS: ['1 unyangantathu', '2 unyangantathu', '3 unyangantathu', - '4 unyangantathu'], - AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE, y MMMM dd', 'y MMMM d', 'y MMM d', 'yyyy-MM-dd'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 6, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 5 -}; - - -/** - * Date/time formatting symbols for locale xh_ZA. - */ -goog.i18n.DateTimeSymbols_xh_ZA = goog.i18n.DateTimeSymbols_xh; - - /** * Date/time formatting symbols for locale xog. */ @@ -13845,32 +12712,23 @@ goog.i18n.DateTimeSymbols_xog = { ERAS: ['AZ', 'AF'], ERANAMES: ['Kulisto nga azilawo', 'Kulisto nga affile'], NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['Janwaliyo', 'Febwaliyo', 'Marisi', 'Apuli', 'Maayi', 'Juuni', - 'Julaayi', 'Agusito', 'Sebuttemba', 'Okitobba', 'Novemba', 'Desemba'], - STANDALONEMONTHS: ['Janwaliyo', 'Febwaliyo', 'Marisi', 'Apuli', 'Maayi', - 'Juuni', 'Julaayi', 'Agusito', 'Sebuttemba', 'Okitobba', 'Novemba', - 'Desemba'], - SHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apu', 'Maa', 'Juu', 'Jul', 'Agu', 'Seb', - 'Oki', 'Nov', 'Des'], - STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apu', 'Maa', 'Juu', 'Jul', - 'Agu', 'Seb', 'Oki', 'Nov', 'Des'], - WEEKDAYS: ['Sabiiti', 'Balaza', 'Owokubili', 'Owokusatu', 'Olokuna', - 'Olokutaanu', 'Olomukaaga'], - STANDALONEWEEKDAYS: ['Sabiiti', 'Balaza', 'Owokubili', 'Owokusatu', 'Olokuna', - 'Olokutaanu', 'Olomukaaga'], + STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + MONTHS: ['Janwaliyo', 'Febwaliyo', 'Marisi', 'Apuli', 'Maayi', 'Juuni', 'Julaayi', 'Agusito', 'Sebuttemba', 'Okitobba', 'Novemba', 'Desemba'], + STANDALONEMONTHS: ['Janwaliyo', 'Febwaliyo', 'Marisi', 'Apuli', 'Maayi', 'Juuni', 'Julaayi', 'Agusito', 'Sebuttemba', 'Okitobba', 'Novemba', 'Desemba'], + SHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apu', 'Maa', 'Juu', 'Jul', 'Agu', 'Seb', 'Oki', 'Nov', 'Des'], + STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apu', 'Maa', 'Juu', 'Jul', 'Agu', 'Seb', 'Oki', 'Nov', 'Des'], + WEEKDAYS: ['Sabiiti', 'Balaza', 'Owokubili', 'Owokusatu', 'Olokuna', 'Olokutaanu', 'Olomukaaga'], + STANDALONEWEEKDAYS: ['Sabiiti', 'Balaza', 'Owokubili', 'Owokusatu', 'Olokuna', 'Olokutaanu', 'Olomukaaga'], SHORTWEEKDAYS: ['Sabi', 'Bala', 'Kubi', 'Kusa', 'Kuna', 'Kuta', 'Muka'], - STANDALONESHORTWEEKDAYS: ['Sabi', 'Bala', 'Kubi', 'Kusa', 'Kuna', 'Kuta', - 'Muka'], + STANDALONESHORTWEEKDAYS: ['Sabi', 'Bala', 'Kubi', 'Kusa', 'Kuna', 'Kuta', 'Muka'], NARROWWEEKDAYS: ['S', 'B', 'B', 'S', 'K', 'K', 'M'], STANDALONENARROWWEEKDAYS: ['S', 'B', 'B', 'S', 'K', 'K', 'M'], SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - QUARTERS: ['Ebisera ebyomwaka ebisoka', 'Ebisera ebyomwaka ebyokubiri', - 'Ebisera ebyomwaka ebyokusatu', 'Ebisera ebyomwaka ebyokuna'], + QUARTERS: ['Ebisera ebyomwaka ebisoka', 'Ebisera ebyomwaka ebyokubiri', 'Ebisera ebyomwaka ebyokusatu', 'Ebisera ebyomwaka ebyokuna'], AMPMS: ['Munkyo', 'Eigulo'], - DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yyyy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -13887,29 +12745,16 @@ goog.i18n.DateTimeSymbols_xog_UG = goog.i18n.DateTimeSymbols_xog; * Date/time formatting symbols for locale yav. */ goog.i18n.DateTimeSymbols_yav = { - ERAS: ['-J.C.', '+J.C.'], + ERAS: ['k.Y.', '+J.C.'], ERANAMES: ['katikupíen Yésuse', 'ékélémkúnupíén n'], NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], - STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', - '11', '12'], - MONTHS: ['pikítíkítie, oólí ú kutúan', 'siɛyɛ́, oóli ú kándíɛ', - 'ɔnsúmbɔl, oóli ú kátátúɛ', 'mesiŋ, oóli ú kénie', - 'ensil, oóli ú kátánuɛ', 'ɔsɔn', 'efute', 'pisuyú', - 'imɛŋ i puɔs', 'imɛŋ i putúk,oóli ú kátíɛ', 'makandikɛ', - 'pilɔndɔ́'], - STANDALONEMONTHS: ['pikítíkítie, oólí ú kutúan', - 'siɛyɛ́, oóli ú kándíɛ', 'ɔnsúmbɔl, oóli ú kátátúɛ', - 'mesiŋ, oóli ú kénie', 'ensil, oóli ú kátánuɛ', 'ɔsɔn', - 'efute', 'pisuyú', 'imɛŋ i puɔs', 'imɛŋ i putúk,oóli ú kátíɛ', - 'makandikɛ', 'pilɔndɔ́'], - SHORTMONTHS: ['o.1', 'o.2', 'o.3', 'o.4', 'o.5', 'o.6', 'o.7', 'o.8', 'o.9', - 'o.10', 'o.11', 'o.12'], - STANDALONESHORTMONTHS: ['o.1', 'o.2', 'o.3', 'o.4', 'o.5', 'o.6', 'o.7', - 'o.8', 'o.9', 'o.10', 'o.11', 'o.12'], - WEEKDAYS: ['sɔ́ndiɛ', 'móndie', 'muányáŋmóndie', 'metúkpíápɛ', - 'kúpélimetúkpiapɛ', 'feléte', 'séselé'], - STANDALONEWEEKDAYS: ['sɔ́ndiɛ', 'móndie', 'muányáŋmóndie', - 'metúkpíápɛ', 'kúpélimetúkpiapɛ', 'feléte', 'séselé'], + STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + MONTHS: ['pikítíkítie, oólí ú kutúan', 'siɛyɛ́, oóli ú kándíɛ', 'ɔnsúmbɔl, oóli ú kátátúɛ', 'mesiŋ, oóli ú kénie', 'ensil, oóli ú kátánuɛ', 'ɔsɔn', 'efute', 'pisuyú', 'imɛŋ i puɔs', 'imɛŋ i putúk,oóli ú kátíɛ', 'makandikɛ', 'pilɔndɔ́'], + STANDALONEMONTHS: ['pikítíkítie, oólí ú kutúan', 'siɛyɛ́, oóli ú kándíɛ', 'ɔnsúmbɔl, oóli ú kátátúɛ', 'mesiŋ, oóli ú kénie', 'ensil, oóli ú kátánuɛ', 'ɔsɔn', 'efute', 'pisuyú', 'imɛŋ i puɔs', 'imɛŋ i putúk,oóli ú kátíɛ', 'makandikɛ', 'pilɔndɔ́'], + SHORTMONTHS: ['o.1', 'o.2', 'o.3', 'o.4', 'o.5', 'o.6', 'o.7', 'o.8', 'o.9', 'o.10', 'o.11', 'o.12'], + STANDALONESHORTMONTHS: ['o.1', 'o.2', 'o.3', 'o.4', 'o.5', 'o.6', 'o.7', 'o.8', 'o.9', 'o.10', 'o.11', 'o.12'], + WEEKDAYS: ['sɔ́ndiɛ', 'móndie', 'muányáŋmóndie', 'metúkpíápɛ', 'kúpélimetúkpiapɛ', 'feléte', 'séselé'], + STANDALONEWEEKDAYS: ['sɔ́ndiɛ', 'móndie', 'muányáŋmóndie', 'metúkpíápɛ', 'kúpélimetúkpiapɛ', 'feléte', 'séselé'], SHORTWEEKDAYS: ['sd', 'md', 'mw', 'et', 'kl', 'fl', 'ss'], STANDALONESHORTWEEKDAYS: ['sd', 'md', 'mw', 'et', 'kl', 'fl', 'ss'], NARROWWEEKDAYS: ['s', 'm', 'm', 'e', 'k', 'f', 's'], @@ -13917,8 +12762,9 @@ goog.i18n.DateTimeSymbols_yav = { SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], QUARTERS: ['ndátúɛ 1', 'ndátúɛ 2', 'ndátúɛ 3', 'ndátúɛ 4'], AMPMS: ['kiɛmɛ́ɛm', 'kisɛ́ndɛ'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'd/M/yyyy'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'd/M/y'], TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -13931,47 +12777,96 @@ goog.i18n.DateTimeSymbols_yav = { goog.i18n.DateTimeSymbols_yav_CM = goog.i18n.DateTimeSymbols_yav; +/** + * Date/time formatting symbols for locale yi. + */ +goog.i18n.DateTimeSymbols_yi = { + ERAS: ['BCE', 'CE'], + ERANAMES: ['BCE', 'CE'], + NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + MONTHS: ['יאַנואַר', 'פֿעברואַר', 'מערץ', 'אַפּריל', 'מיי', 'יוני', 'יולי', 'אויגוסט', 'סעפּטעמבער', 'אקטאבער', 'נאוועמבער', 'דעצעמבער'], + STANDALONEMONTHS: ['יאַנואַר', 'פֿעברואַר', 'מערץ', 'אַפּריל', 'מיי', 'יוני', 'יולי', 'אויגוסט', 'סעפּטעמבער', 'אקטאבער', 'נאוועמבער', 'דעצעמבער'], + SHORTMONTHS: ['יאַנואַר', 'פֿעברואַר', 'מערץ', 'אַפּריל', 'מיי', 'יוני', 'יולי', 'אויגוסט', 'סעפּטעמבער', 'אקטאבער', 'נאוועמבער', 'דעצעמבער'], + STANDALONESHORTMONTHS: ['יאַנ', 'פֿעב', 'מערץ', 'אַפּר', 'מיי', 'יוני', 'יולי', 'אויג', 'סעפּ', 'אקט', 'נאוו', 'דעצ'], + WEEKDAYS: ['זונטיק', 'מאָנטיק', 'דינסטיק', 'מיטוואך', 'דאנערשטיק', 'פֿרײַטיק', 'שבת'], + STANDALONEWEEKDAYS: ['זונטיק', 'מאָנטיק', 'דינסטיק', 'מיטוואך', 'דאנערשטיק', 'פֿרײַטיק', 'שבת'], + SHORTWEEKDAYS: ['זונטיק', 'מאָנטיק', 'דינסטיק', 'מיטוואך', 'דאנערשטיק', 'פֿרײַטיק', 'שבת'], + STANDALONESHORTWEEKDAYS: ['זונטיק', 'מאָנטיק', 'דינסטיק', 'מיטוואך', 'דאנערשטיק', 'פֿרײַטיק', 'שבת'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + AMPMS: ['פֿאַרמיטאָג', 'נאָכמיטאָג'], + DATEFORMATS: ['EEEE, dטן MMMM y', 'dטן MMMM y', 'dטן MMM y', 'dd/MM/yy'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1}, {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale yi_001. + */ +goog.i18n.DateTimeSymbols_yi_001 = goog.i18n.DateTimeSymbols_yi; + + /** * Date/time formatting symbols for locale yo. */ goog.i18n.DateTimeSymbols_yo = { - ERAS: ['SK', 'LK'], + ERAS: ['BCE', 'LK'], ERANAMES: ['Saju Kristi', 'Lehin Kristi'], NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], - STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', - '11', '12'], - MONTHS: ['Oṣù Ṣẹ́rẹ́', 'Oṣù Èrèlè', 'Oṣù Ẹrẹ̀nà', - 'Oṣù Ìgbé', 'Oṣù Ẹ̀bibi', 'Oṣù Òkúdu', 'Oṣù Agẹmọ', - 'Oṣù Ògún', 'Oṣù Owewe', 'Oṣù Ọ̀wàrà', 'Oṣù Bélú', - 'Oṣù Ọ̀pẹ̀'], - STANDALONEMONTHS: ['Oṣù Ṣẹ́rẹ́', 'Oṣù Èrèlè', - 'Oṣù Ẹrẹ̀nà', 'Oṣù Ìgbé', 'Oṣù Ẹ̀bibi', - 'Oṣù Òkúdu', 'Oṣù Agẹmọ', 'Oṣù Ògún', 'Oṣù Owewe', - 'Oṣù Ọ̀wàrà', 'Oṣù Bélú', 'Oṣù Ọ̀pẹ̀'], - SHORTMONTHS: ['Ṣẹ́rẹ́', 'Èrèlè', 'Ẹrẹ̀nà', 'Ìgbé', - 'Ẹ̀bibi', 'Òkúdu', 'Agẹmọ', 'Ògún', 'Owewe', 'Ọ̀wàrà', - 'Bélú', 'Ọ̀pẹ̀'], - STANDALONESHORTMONTHS: ['Ṣẹ́rẹ́', 'Èrèlè', 'Ẹrẹ̀nà', - 'Ìgbé', 'Ẹ̀bibi', 'Òkúdu', 'Agẹmọ', 'Ògún', 'Owewe', - 'Ọ̀wàrà', 'Bélú', 'Ọ̀pẹ̀'], - WEEKDAYS: ['Ọjọ́ Àìkú', 'Ọjọ́ Ajé', 'Ọjọ́ Ìsẹ́gun', - 'Ọjọ́rú', 'Ọjọ́bọ', 'Ọjọ́ Ẹtì', - 'Ọjọ́ Àbámẹ́ta'], - STANDALONEWEEKDAYS: ['Ọjọ́ Àìkú', 'Ọjọ́ Ajé', - 'Ọjọ́ Ìsẹ́gun', 'Ọjọ́rú', 'Ọjọ́bọ', - 'Ọjọ́ Ẹtì', 'Ọjọ́ Àbámẹ́ta'], - SHORTWEEKDAYS: ['Àìkú', 'Ajé', 'Ìsẹ́gun', 'Ọjọ́rú', - 'Ọjọ́bọ', 'Ẹtì', 'Àbámẹ́ta'], - STANDALONESHORTWEEKDAYS: ['Àìkú', 'Ajé', 'Ìsẹ́gun', 'Ọjọ́rú', - 'Ọjọ́bọ', 'Ẹtì', 'Àbámẹ́ta'], - NARROWWEEKDAYS: ['1', '2', '3', '4', '5', '6', '7'], - STANDALONENARROWWEEKDAYS: ['1', '2', '3', '4', '5', '6', '7'], + STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + MONTHS: ['Oṣù Ṣẹ́rẹ́', 'Oṣù Èrèlè', 'Oṣù Ẹrẹ̀nà', 'Oṣù Ìgbé', 'Oṣù Ẹ̀bibi', 'Oṣù Òkúdu', 'Oṣù Agẹmọ', 'Oṣù Ògún', 'Oṣù Owewe', 'Oṣù Ọ̀wàrà', 'Oṣù Bélú', 'Oṣù Ọ̀pẹ̀'], + STANDALONEMONTHS: ['Oṣù Ṣẹ́rẹ́', 'Oṣù Èrèlè', 'Oṣù Ẹrẹ̀nà', 'Oṣù Ìgbé', 'Oṣù Ẹ̀bibi', 'Oṣù Òkúdu', 'Oṣù Agẹmọ', 'Oṣù Ògún', 'Oṣù Owewe', 'Oṣù Ọ̀wàrà', 'Oṣù Bélú', 'Oṣù Ọ̀pẹ̀'], + SHORTMONTHS: ['Ṣẹ́rẹ́', 'Èrèlè', 'Ẹrẹ̀nà', 'Ìgbé', 'Ẹ̀bibi', 'Òkúdu', 'Agẹmọ', 'Ògún', 'Owewe', 'Ọ̀wàrà', 'Bélú', 'Ọ̀pẹ̀'], + STANDALONESHORTMONTHS: ['Ṣẹ́rẹ́', 'Èrèlè', 'Ẹrẹ̀nà', 'Ìgbé', 'Ẹ̀bibi', 'Òkúdu', 'Agẹmọ', 'Ògún', 'Owewe', 'Ọ̀wàrà', 'Bélú', 'Ọ̀pẹ̀'], + WEEKDAYS: ['Ọjọ́ Àìkú', 'Ọjọ́ Ajé', 'Ọjọ́ Ìsẹ́gun', 'Ọjọ́rú', 'Ọjọ́bọ', 'Ọjọ́ Ẹtì', 'Ọjọ́ Àbámẹ́ta'], + STANDALONEWEEKDAYS: ['Ọjọ́ Àìkú', 'Ọjọ́ Ajé', 'Ọjọ́ Ìsẹ́gun', 'Ọjọ́rú', 'Ọjọ́bọ', 'Ọjọ́ Ẹtì', 'Ọjọ́ Àbámẹ́ta'], + SHORTWEEKDAYS: ['Àìkú', 'Ajé', 'Ìsẹ́gun', 'Ọjọ́rú', 'Ọjọ́bọ', 'Ẹtì', 'Àbámẹ́ta'], + STANDALONESHORTWEEKDAYS: ['Àìkú', 'Ajé', 'Ìsẹ́gun', 'Ọjọ́rú', 'Ọjọ́bọ', 'Ẹtì', 'Àbámẹ́ta'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], SHORTQUARTERS: ['K1', 'K2', 'K3', 'K4'], - QUARTERS: ['Kọ́tà Kínní', 'Kọ́tà Kejì', 'Kọ́à Keta', - 'Kọ́tà Kẹrin'], + QUARTERS: ['Kọ́tà Kínní', 'Kọ́tà Kejì', 'Kọ́à Keta', 'Kọ́tà Kẹrin'], AMPMS: ['Àárọ̀', 'Ọ̀sán'], - DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yyyy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 0, + WEEKENDRANGE: [5, 6], + FIRSTWEEKCUTOFFDAY: 6 +}; + + +/** + * Date/time formatting symbols for locale yo_BJ. + */ +goog.i18n.DateTimeSymbols_yo_BJ = { + ERAS: ['BCE', 'LK'], + ERANAMES: ['Saju Kristi', 'Lehin Kristi'], + NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + MONTHS: ['Oshù Shɛ́rɛ́', 'Oshù Èrèlè', 'Oshù Ɛrɛ̀nà', 'Oshù Ìgbé', 'Oshù Ɛ̀bibi', 'Oshù Òkúdu', 'Oshù Agɛmɔ', 'Oshù Ògún', 'Oshù Owewe', 'Oshù Ɔ̀wàrà', 'Oshù Bélú', 'Oshù Ɔ̀pɛ̀'], + STANDALONEMONTHS: ['Oshù Shɛ́rɛ́', 'Oshù Èrèlè', 'Oshù Ɛrɛ̀nà', 'Oshù Ìgbé', 'Oshù Ɛ̀bibi', 'Oshù Òkúdu', 'Oshù Agɛmɔ', 'Oshù Ògún', 'Oshù Owewe', 'Oshù Ɔ̀wàrà', 'Oshù Bélú', 'Oshù Ɔ̀pɛ̀'], + SHORTMONTHS: ['Shɛ́rɛ́', 'Èrèlè', 'Ɛrɛ̀nà', 'Ìgbé', 'Ɛ̀bibi', 'Òkúdu', 'Agɛmɔ', 'Ògún', 'Owewe', 'Ɔ̀wàrà', 'Bélú', 'Ɔ̀pɛ̀'], + STANDALONESHORTMONTHS: ['Shɛ́rɛ́', 'Èrèlè', 'Ɛrɛ̀nà', 'Ìgbé', 'Ɛ̀bibi', 'Òkúdu', 'Agɛmɔ', 'Ògún', 'Owewe', 'Ɔ̀wàrà', 'Bélú', 'Ɔ̀pɛ̀'], + WEEKDAYS: ['Ɔjɔ́ Àìkú', 'Ɔjɔ́ Ajé', 'Ɔjɔ́ Ìsɛ́gun', 'Ɔjɔ́rú', 'Ɔjɔ́bɔ', 'Ɔjɔ́ Ɛtì', 'Ɔjɔ́ Àbámɛ́ta'], + STANDALONEWEEKDAYS: ['Ɔjɔ́ Àìkú', 'Ɔjɔ́ Ajé', 'Ɔjɔ́ Ìsɛ́gun', 'Ɔjɔ́rú', 'Ɔjɔ́bɔ', 'Ɔjɔ́ Ɛtì', 'Ɔjɔ́ Àbámɛ́ta'], + SHORTWEEKDAYS: ['Àìkú', 'Ajé', 'Ìsɛ́gun', 'Ɔjɔ́rú', 'Ɔjɔ́bɔ', 'Ɛtì', 'Àbámɛ́ta'], + STANDALONESHORTWEEKDAYS: ['Àìkú', 'Ajé', 'Ìsɛ́gun', 'Ɔjɔ́rú', 'Ɔjɔ́bɔ', 'Ɛtì', 'Àbámɛ́ta'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['K1', 'K2', 'K3', 'K4'], + QUARTERS: ['Kɔ́tà Kínní', 'Kɔ́tà Kejì', 'Kɔ́à Keta', 'Kɔ́tà Kɛrin'], + AMPMS: ['Àárɔ̀', 'Ɔ̀sán'], + DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 0, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 6 @@ -13985,48 +12880,87 @@ goog.i18n.DateTimeSymbols_yo_NG = goog.i18n.DateTimeSymbols_yo; /** - * Date/time formatting symbols for locale zh_Hans. + * Date/time formatting symbols for locale yue. */ -goog.i18n.DateTimeSymbols_zh_Hans = { - ERAS: ['公元前', '公元'], - ERANAMES: ['公元前', '公元'], +goog.i18n.DateTimeSymbols_yue = { + ERAS: ['西元前', '西元'], + ERANAMES: ['西元前', '西元'], NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], - STANDALONENARROWMONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', - '7月', '8月', '9月', '10月', '11月', '12月'], - MONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', - '9月', '10月', '11月', '12月'], - STANDALONEMONTHS: ['一月', '二月', '三月', '四月', '五月', '六月', - '七月', '八月', '九月', '十月', '十一月', '十二月'], - SHORTMONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', - '9月', '10月', '11月', '12月'], - STANDALONESHORTMONTHS: ['一月', '二月', '三月', '四月', '五月', - '六月', '七月', '八月', '九月', '十月', '十一月', - '十二月'], - WEEKDAYS: ['星期日', '星期一', '星期二', '星期三', '星期四', - '星期五', '星期六'], - STANDALONEWEEKDAYS: ['星期日', '星期一', '星期二', '星期三', - '星期四', '星期五', '星期六'], - SHORTWEEKDAYS: ['周日', '周一', '周二', '周三', '周四', '周五', - '周六'], - STANDALONESHORTWEEKDAYS: ['周日', '周一', '周二', '周三', '周四', - '周五', '周六'], + STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + MONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'], + STANDALONEMONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'], + SHORTMONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'], + STANDALONESHORTMONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'], + WEEKDAYS: ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'], + STANDALONEWEEKDAYS: ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'], + SHORTWEEKDAYS: ['週日', '週一', '週二', '週三', '週四', '週五', '週六'], + STANDALONESHORTWEEKDAYS: ['週日', '週一', '週二', '週三', '週四', '週五', '週六'], NARROWWEEKDAYS: ['日', '一', '二', '三', '四', '五', '六'], STANDALONENARROWWEEKDAYS: ['日', '一', '二', '三', '四', '五', '六'], - SHORTQUARTERS: ['1季', '2季', '3季', '4季'], - QUARTERS: ['第1季度', '第2季度', '第3季度', '第4季度'], + SHORTQUARTERS: ['第1季', '第2季', '第3季', '第4季'], + QUARTERS: ['第1季', '第2季', '第3季', '第4季'], AMPMS: ['上午', '下午'], - DATEFORMATS: ['y年M月d日EEEE', 'y年M月d日', 'yyyy-M-d', 'yy-M-d'], - TIMEFORMATS: ['zzzzah时mm分ss秒', 'zah时mm分ss秒', 'ah:mm:ss', 'ah:mm'], + DATEFORMATS: ['y年M月d日 EEEE', 'y年M月d日', 'y年M月d日', 'y/M/d'], + TIMEFORMATS: ['ah:mm:ss [zzzz]', 'ah:mm:ss [z]', 'ah:mm:ss', 'ah:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 6, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 5 }; +/** + * Date/time formatting symbols for locale yue_HK. + */ +goog.i18n.DateTimeSymbols_yue_HK = goog.i18n.DateTimeSymbols_yue; + + +/** + * Date/time formatting symbols for locale zgh. + */ +goog.i18n.DateTimeSymbols_zgh = { + ERAS: ['ⴷⴰⵄ', 'ⴷⴼⵄ'], + ERANAMES: ['ⴷⴰⵜ ⵏ ⵄⵉⵙⴰ', 'ⴷⴼⴼⵉⵔ ⵏ ⵄⵉⵙⴰ'], + NARROWMONTHS: ['ⵉ', 'ⴱ', 'ⵎ', 'ⵉ', 'ⵎ', 'ⵢ', 'ⵢ', 'ⵖ', 'ⵛ', 'ⴽ', 'ⵏ', 'ⴷ'], + STANDALONENARROWMONTHS: ['ⵉ', 'ⴱ', 'ⵎ', 'ⵉ', 'ⵎ', 'ⵢ', 'ⵢ', 'ⵖ', 'ⵛ', 'ⴽ', 'ⵏ', 'ⴷ'], + MONTHS: ['ⵉⵏⵏⴰⵢⵔ', 'ⴱⵕⴰⵢⵕ', 'ⵎⴰⵕⵚ', 'ⵉⴱⵔⵉⵔ', 'ⵎⴰⵢⵢⵓ', 'ⵢⵓⵏⵢⵓ', 'ⵢⵓⵍⵢⵓⵣ', 'ⵖⵓⵛⵜ', 'ⵛⵓⵜⴰⵏⴱⵉⵔ', 'ⴽⵜⵓⴱⵔ', 'ⵏⵓⵡⴰⵏⴱⵉⵔ', 'ⴷⵓⵊⴰⵏⴱⵉⵔ'], + STANDALONEMONTHS: ['ⵉⵏⵏⴰⵢⵔ', 'ⴱⵕⴰⵢⵕ', 'ⵎⴰⵕⵚ', 'ⵉⴱⵔⵉⵔ', 'ⵎⴰⵢⵢⵓ', 'ⵢⵓⵏⵢⵓ', 'ⵢⵓⵍⵢⵓⵣ', 'ⵖⵓⵛⵜ', 'ⵛⵓⵜⴰⵏⴱⵉⵔ', 'ⴽⵜⵓⴱⵔ', 'ⵏⵓⵡⴰⵏⴱⵉⵔ', 'ⴷⵓⵊⴰⵏⴱⵉⵔ'], + SHORTMONTHS: ['ⵉⵏⵏ', 'ⴱⵕⴰ', 'ⵎⴰⵕ', 'ⵉⴱⵔ', 'ⵎⴰⵢ', 'ⵢⵓⵏ', 'ⵢⵓⵍ', 'ⵖⵓⵛ', 'ⵛⵓⵜ', 'ⴽⵜⵓ', 'ⵏⵓⵡ', 'ⴷⵓⵊ'], + STANDALONESHORTMONTHS: ['ⵉⵏⵏ', 'ⴱⵕⴰ', 'ⵎⴰⵕ', 'ⵉⴱⵔ', 'ⵎⴰⵢ', 'ⵢⵓⵏ', 'ⵢⵓⵍ', 'ⵖⵓⵛ', 'ⵛⵓⵜ', 'ⴽⵜⵓ', 'ⵏⵓⵡ', 'ⴷⵓⵊ'], + WEEKDAYS: ['ⴰⵙⴰⵎⴰⵙ', 'ⴰⵢⵏⴰⵙ', 'ⴰⵙⵉⵏⴰⵙ', 'ⴰⴽⵕⴰⵙ', 'ⴰⴽⵡⴰⵙ', 'ⴰⵙⵉⵎⵡⴰⵙ', 'ⴰⵙⵉⴹⵢⴰⵙ'], + STANDALONEWEEKDAYS: ['ⴰⵙⴰⵎⴰⵙ', 'ⴰⵢⵏⴰⵙ', 'ⴰⵙⵉⵏⴰⵙ', 'ⴰⴽⵕⴰⵙ', 'ⴰⴽⵡⴰⵙ', 'ⴰⵙⵉⵎⵡⴰⵙ', 'ⴰⵙⵉⴹⵢⴰⵙ'], + SHORTWEEKDAYS: ['ⴰⵙⴰ', 'ⴰⵢⵏ', 'ⴰⵙⵉ', 'ⴰⴽⵕ', 'ⴰⴽⵡ', 'ⴰⵙⵉⵎ', 'ⴰⵙⵉⴹ'], + STANDALONESHORTWEEKDAYS: ['ⴰⵙⴰ', 'ⴰⵢⵏ', 'ⴰⵙⵉ', 'ⴰⴽⵕ', 'ⴰⴽⵡ', 'ⴰⵙⵉⵎ', 'ⴰⵙⵉⴹ'], + NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + SHORTQUARTERS: ['ⴰⴽ 1', 'ⴰⴽ 2', 'ⴰⴽ 3', 'ⴰⴽ 4'], + QUARTERS: ['ⴰⴽⵕⴰⴹⵢⵓⵔ 1', 'ⴰⴽⵕⴰⴹⵢⵓⵔ 2', 'ⴰⴽⵕⴰⴹⵢⵓⵔ 3', 'ⴰⴽⵕⴰⴹⵢⵓⵔ 4'], + AMPMS: ['ⵜⵉⴼⴰⵡⵜ', 'ⵜⴰⴷⴳⴳⵯⴰⵜ'], + DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM, y', 'd/M/y'], + TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], + FIRSTDAYOFWEEK: 5, + WEEKENDRANGE: [4, 5], + FIRSTWEEKCUTOFFDAY: 4 +}; + + +/** + * Date/time formatting symbols for locale zgh_MA. + */ +goog.i18n.DateTimeSymbols_zgh_MA = goog.i18n.DateTimeSymbols_zgh; + + +/** + * Date/time formatting symbols for locale zh_Hans. + */ +goog.i18n.DateTimeSymbols_zh_Hans = goog.i18n.DateTimeSymbols_zh; + + /** * Date/time formatting symbols for locale zh_Hans_CN. */ -goog.i18n.DateTimeSymbols_zh_Hans_CN = goog.i18n.DateTimeSymbols_zh_Hans; +goog.i18n.DateTimeSymbols_zh_Hans_CN = goog.i18n.DateTimeSymbols_zh; /** @@ -14036,31 +12970,23 @@ goog.i18n.DateTimeSymbols_zh_Hans_HK = { ERAS: ['公元前', '公元'], ERANAMES: ['公元前', '公元'], NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], - STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', - '11', '12'], - MONTHS: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', - '八月', '九月', '十月', '十一月', '十二月'], - STANDALONEMONTHS: ['一月', '二月', '三月', '四月', '五月', '六月', - '七月', '八月', '九月', '十月', '十一月', '十二月'], - SHORTMONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', - '9月', '10月', '11月', '12月'], - STANDALONESHORTMONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', - '7月', '8月', '9月', '10月', '11月', '12月'], - WEEKDAYS: ['星期日', '星期一', '星期二', '星期三', '星期四', - '星期五', '星期六'], - STANDALONEWEEKDAYS: ['星期日', '星期一', '星期二', '星期三', - '星期四', '星期五', '星期六'], - SHORTWEEKDAYS: ['周日', '周一', '周二', '周三', '周四', '周五', - '周六'], - STANDALONESHORTWEEKDAYS: ['周日', '周一', '周二', '周三', '周四', - '周五', '周六'], + STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + MONTHS: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'], + STANDALONEMONTHS: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'], + SHORTMONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'], + STANDALONESHORTMONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'], + WEEKDAYS: ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'], + STANDALONEWEEKDAYS: ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'], + SHORTWEEKDAYS: ['周日', '周一', '周二', '周三', '周四', '周五', '周六'], + STANDALONESHORTWEEKDAYS: ['周日', '周一', '周二', '周三', '周四', '周五', '周六'], NARROWWEEKDAYS: ['日', '一', '二', '三', '四', '五', '六'], STANDALONENARROWWEEKDAYS: ['日', '一', '二', '三', '四', '五', '六'], SHORTQUARTERS: ['1季度', '2季度', '3季度', '4季度'], QUARTERS: ['第一季度', '第二季度', '第三季度', '第四季度'], AMPMS: ['上午', '下午'], DATEFORMATS: ['y年M月d日EEEE', 'y年M月d日', 'y年M月d日', 'd/M/yy'], - TIMEFORMATS: ['zzzzah:mm:ss', 'zah:mm:ss', 'ah:mm:ss', 'ah:mm'], + TIMEFORMATS: ['zzzz ah:mm:ss', 'z ah:mm:ss', 'ah:mm:ss', 'ah:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 6, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 5 @@ -14074,31 +13000,23 @@ goog.i18n.DateTimeSymbols_zh_Hans_MO = { ERAS: ['公元前', '公元'], ERANAMES: ['公元前', '公元'], NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], - STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', - '11', '12'], - MONTHS: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', - '八月', '九月', '十月', '十一月', '十二月'], - STANDALONEMONTHS: ['一月', '二月', '三月', '四月', '五月', '六月', - '七月', '八月', '九月', '十月', '十一月', '十二月'], - SHORTMONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', - '9月', '10月', '11月', '12月'], - STANDALONESHORTMONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', - '7月', '8月', '9月', '10月', '11月', '12月'], - WEEKDAYS: ['星期日', '星期一', '星期二', '星期三', '星期四', - '星期五', '星期六'], - STANDALONEWEEKDAYS: ['星期日', '星期一', '星期二', '星期三', - '星期四', '星期五', '星期六'], - SHORTWEEKDAYS: ['周日', '周一', '周二', '周三', '周四', '周五', - '周六'], - STANDALONESHORTWEEKDAYS: ['周日', '周一', '周二', '周三', '周四', - '周五', '周六'], + STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + MONTHS: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'], + STANDALONEMONTHS: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'], + SHORTMONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'], + STANDALONESHORTMONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'], + WEEKDAYS: ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'], + STANDALONEWEEKDAYS: ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'], + SHORTWEEKDAYS: ['周日', '周一', '周二', '周三', '周四', '周五', '周六'], + STANDALONESHORTWEEKDAYS: ['周日', '周一', '周二', '周三', '周四', '周五', '周六'], NARROWWEEKDAYS: ['日', '一', '二', '三', '四', '五', '六'], STANDALONENARROWWEEKDAYS: ['日', '一', '二', '三', '四', '五', '六'], SHORTQUARTERS: ['1季度', '2季度', '3季度', '4季度'], QUARTERS: ['第一季度', '第二季度', '第三季度', '第四季度'], AMPMS: ['上午', '下午'], DATEFORMATS: ['y年M月d日EEEE', 'y年M月d日', 'y年M月d日', 'd/M/yy'], - TIMEFORMATS: ['zzzzah:mm:ss', 'zah:mm:ss', 'ah:mm:ss', 'ah:mm'], + TIMEFORMATS: ['zzzz ah:mm:ss', 'z ah:mm:ss', 'ah:mm:ss', 'ah:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 6, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 5 @@ -14112,31 +13030,23 @@ goog.i18n.DateTimeSymbols_zh_Hans_SG = { ERAS: ['公元前', '公元'], ERANAMES: ['公元前', '公元'], NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], - STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', - '11', '12'], - MONTHS: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', - '八月', '九月', '十月', '十一月', '十二月'], - STANDALONEMONTHS: ['一月', '二月', '三月', '四月', '五月', '六月', - '七月', '八月', '九月', '十月', '十一月', '十二月'], - SHORTMONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', - '9月', '10月', '11月', '12月'], - STANDALONESHORTMONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', - '7月', '8月', '9月', '10月', '11月', '12月'], - WEEKDAYS: ['星期日', '星期一', '星期二', '星期三', '星期四', - '星期五', '星期六'], - STANDALONEWEEKDAYS: ['星期日', '星期一', '星期二', '星期三', - '星期四', '星期五', '星期六'], - SHORTWEEKDAYS: ['周日', '周一', '周二', '周三', '周四', '周五', - '周六'], - STANDALONESHORTWEEKDAYS: ['周日', '周一', '周二', '周三', '周四', - '周五', '周六'], + STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + MONTHS: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'], + STANDALONEMONTHS: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'], + SHORTMONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'], + STANDALONESHORTMONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'], + WEEKDAYS: ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'], + STANDALONEWEEKDAYS: ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'], + SHORTWEEKDAYS: ['周日', '周一', '周二', '周三', '周四', '周五', '周六'], + STANDALONESHORTWEEKDAYS: ['周日', '周一', '周二', '周三', '周四', '周五', '周六'], NARROWWEEKDAYS: ['日', '一', '二', '三', '四', '五', '六'], STANDALONENARROWWEEKDAYS: ['日', '一', '二', '三', '四', '五', '六'], SHORTQUARTERS: ['1季度', '2季度', '3季度', '4季度'], QUARTERS: ['第一季度', '第二季度', '第三季度', '第四季度'], AMPMS: ['上午', '下午'], DATEFORMATS: ['y年M月d日EEEE', 'y年M月d日', 'y年M月d日', 'dd/MM/yy'], - TIMEFORMATS: ['zzzzah:mm:ss', 'ahh:mm:ssz', 'ah:mm:ss', 'ahh:mm'], + TIMEFORMATS: ['zzzz ah:mm:ss', 'z ah:mm:ss', 'ah:mm:ss', 'ah:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 6, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 5 @@ -14150,31 +13060,23 @@ goog.i18n.DateTimeSymbols_zh_Hant = { ERAS: ['西元前', '西元'], ERANAMES: ['西元前', '西元'], NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], - STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', - '11', '12'], - MONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', - '9月', '10月', '11月', '12月'], - STANDALONEMONTHS: ['一月', '二月', '三月', '四月', '五月', '六月', - '七月', '八月', '九月', '十月', '十一月', '十二月'], - SHORTMONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', - '9月', '10月', '11月', '12月'], - STANDALONESHORTMONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', - '7月', '8月', '9月', '10月', '11月', '12月'], - WEEKDAYS: ['星期日', '星期一', '星期二', '星期三', '星期四', - '星期五', '星期六'], - STANDALONEWEEKDAYS: ['星期日', '星期一', '星期二', '星期三', - '星期四', '星期五', '星期六'], - SHORTWEEKDAYS: ['週日', '週一', '週二', '週三', '週四', '週五', - '週六'], - STANDALONESHORTWEEKDAYS: ['周日', '周一', '周二', '周三', '周四', - '周五', '周六'], + STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + MONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'], + STANDALONEMONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'], + SHORTMONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'], + STANDALONESHORTMONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'], + WEEKDAYS: ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'], + STANDALONEWEEKDAYS: ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'], + SHORTWEEKDAYS: ['週日', '週一', '週二', '週三', '週四', '週五', '週六'], + STANDALONESHORTWEEKDAYS: ['週日', '週一', '週二', '週三', '週四', '週五', '週六'], NARROWWEEKDAYS: ['日', '一', '二', '三', '四', '五', '六'], STANDALONENARROWWEEKDAYS: ['日', '一', '二', '三', '四', '五', '六'], SHORTQUARTERS: ['1季', '2季', '3季', '4季'], QUARTERS: ['第1季', '第2季', '第3季', '第4季'], AMPMS: ['上午', '下午'], - DATEFORMATS: ['y年M月d日EEEE', 'y年M月d日', 'yyyy/M/d', 'y/M/d'], - TIMEFORMATS: ['zzzzah時mm分ss秒', 'zah時mm分ss秒', 'ah:mm:ss', 'ah:mm'], + DATEFORMATS: ['y年M月d日 EEEE', 'y年M月d日', 'y年M月d日', 'y/M/d'], + TIMEFORMATS: ['ah:mm:ss [zzzz]', 'ah:mm:ss [z]', 'ah:mm:ss', 'ah:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 6, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 5 @@ -14185,35 +13087,26 @@ goog.i18n.DateTimeSymbols_zh_Hant = { * Date/time formatting symbols for locale zh_Hant_HK. */ goog.i18n.DateTimeSymbols_zh_Hant_HK = { - ERAS: ['西元前', '西元'], - ERANAMES: ['西元前', '西元'], + ERAS: ['公元前', '公元'], + ERANAMES: ['公元前', '公元'], NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], - STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', - '11', '12'], - MONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', - '9月', '10月', '11月', '12月'], - STANDALONEMONTHS: ['一月', '二月', '三月', '四月', '五月', '六月', - '七月', '八月', '九月', '十月', '十一月', '十二月'], - SHORTMONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', - '9月', '10月', '11月', '12月'], - STANDALONESHORTMONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', - '7月', '8月', '9月', '10月', '11月', '12月'], - WEEKDAYS: ['星期日', '星期一', '星期二', '星期三', '星期四', - '星期五', '星期六'], - STANDALONEWEEKDAYS: ['星期日', '星期一', '星期二', '星期三', - '星期四', '星期五', '星期六'], - SHORTWEEKDAYS: ['週日', '週一', '週二', '週三', '週四', '週五', - '週六'], - STANDALONESHORTWEEKDAYS: ['周日', '周一', '周二', '周三', '周四', - '周五', '周六'], + STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + MONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'], + STANDALONEMONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'], + SHORTMONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'], + STANDALONESHORTMONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'], + WEEKDAYS: ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'], + STANDALONEWEEKDAYS: ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'], + SHORTWEEKDAYS: ['週日', '週一', '週二', '週三', '週四', '週五', '週六'], + STANDALONESHORTWEEKDAYS: ['週日', '週一', '週二', '週三', '週四', '週五', '週六'], NARROWWEEKDAYS: ['日', '一', '二', '三', '四', '五', '六'], STANDALONENARROWWEEKDAYS: ['日', '一', '二', '三', '四', '五', '六'], - SHORTQUARTERS: ['1季', '2季', '3季', '4季'], - QUARTERS: ['第1季', '第2季', '第3季', '第4季'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['第1季度', '第2季度', '第3季度', '第4季度'], AMPMS: ['上午', '下午'], - DATEFORMATS: ['y年M月d日EEEE', 'y年M月d日', 'y年M月d日', - 'yy年M月d日'], - TIMEFORMATS: ['ah:mm:ss [zzzz]', 'ah:mm:ss [z]', 'ahh:mm:ss', 'ah:mm'], + DATEFORMATS: ['y年M月d日EEEE', 'y年M月d日', 'y年M月d日', 'd/M/y'], + TIMEFORMATS: ['ah:mm:ss [zzzz]', 'ah:mm:ss [z]', 'ah:mm:ss', 'ah:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 6, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 5 @@ -14224,35 +13117,26 @@ goog.i18n.DateTimeSymbols_zh_Hant_HK = { * Date/time formatting symbols for locale zh_Hant_MO. */ goog.i18n.DateTimeSymbols_zh_Hant_MO = { - ERAS: ['西元前', '西元'], - ERANAMES: ['西元前', '西元'], + ERAS: ['公元前', '公元'], + ERANAMES: ['公元前', '公元'], NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], - STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', - '11', '12'], - MONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', - '9月', '10月', '11月', '12月'], - STANDALONEMONTHS: ['一月', '二月', '三月', '四月', '五月', '六月', - '七月', '八月', '九月', '十月', '十一月', '十二月'], - SHORTMONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', - '9月', '10月', '11月', '12月'], - STANDALONESHORTMONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', - '7月', '8月', '9月', '10月', '11月', '12月'], - WEEKDAYS: ['星期日', '星期一', '星期二', '星期三', '星期四', - '星期五', '星期六'], - STANDALONEWEEKDAYS: ['星期日', '星期一', '星期二', '星期三', - '星期四', '星期五', '星期六'], - SHORTWEEKDAYS: ['週日', '週一', '週二', '週三', '週四', '週五', - '週六'], - STANDALONESHORTWEEKDAYS: ['周日', '周一', '周二', '周三', '周四', - '周五', '周六'], + STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + MONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'], + STANDALONEMONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'], + SHORTMONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'], + STANDALONESHORTMONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'], + WEEKDAYS: ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'], + STANDALONEWEEKDAYS: ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'], + SHORTWEEKDAYS: ['週日', '週一', '週二', '週三', '週四', '週五', '週六'], + STANDALONESHORTWEEKDAYS: ['週日', '週一', '週二', '週三', '週四', '週五', '週六'], NARROWWEEKDAYS: ['日', '一', '二', '三', '四', '五', '六'], STANDALONENARROWWEEKDAYS: ['日', '一', '二', '三', '四', '五', '六'], - SHORTQUARTERS: ['1季', '2季', '3季', '4季'], - QUARTERS: ['第1季', '第2季', '第3季', '第4季'], + SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], + QUARTERS: ['第1季度', '第2季度', '第3季度', '第4季度'], AMPMS: ['上午', '下午'], - DATEFORMATS: ['y年MM月dd日EEEE', 'y年MM月dd日', 'y年M月d日', - 'yy年M月d日'], - TIMEFORMATS: ['ah:mm:ss [zzzz]', 'ah:mm:ss [z]', 'ahh:mm:ss', 'ah:mm'], + DATEFORMATS: ['y年M月d日EEEE', 'y年M月d日', 'y年M月d日', 'd/M/y'], + TIMEFORMATS: ['ah:mm:ss [zzzz]', 'ah:mm:ss [z]', 'ah:mm:ss', 'ah:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 6, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 5 @@ -14262,40 +13146,27 @@ goog.i18n.DateTimeSymbols_zh_Hant_MO = { /** * Date/time formatting symbols for locale zh_Hant_TW. */ -goog.i18n.DateTimeSymbols_zh_Hant_TW = goog.i18n.DateTimeSymbols_zh_Hant; - - -/** - * Date/time formatting symbols for locale zu_ZA. - */ -goog.i18n.DateTimeSymbols_zu_ZA = { - ERAS: ['BC', 'AD'], - ERANAMES: ['BC', 'AD'], - NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['Januwari', 'Februwari', 'Mashi', 'Apreli', 'Meyi', 'Juni', 'Julayi', - 'Agasti', 'Septhemba', 'Okthoba', 'Novemba', 'Disemba'], - STANDALONEMONTHS: ['uJanuwari', 'uFebruwari', 'uMashi', 'u-Apreli', 'uMeyi', - 'uJuni', 'uJulayi', 'uAgasti', 'uSepthemba', 'u-Okthoba', 'uNovemba', - 'uDisemba'], - SHORTMONTHS: ['Jan', 'Feb', 'Mas', 'Apr', 'Mey', 'Jun', 'Jul', 'Aga', 'Sep', - 'Okt', 'Nov', 'Dis'], - STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mas', 'Apr', 'Mey', 'Jun', 'Jul', - 'Aga', 'Sep', 'Okt', 'Nov', 'Dis'], - WEEKDAYS: ['Sonto', 'Msombuluko', 'Lwesibili', 'Lwesithathu', 'uLwesine', - 'Lwesihlanu', 'Mgqibelo'], - STANDALONEWEEKDAYS: ['Sonto', 'Msombuluko', 'Lwesibili', 'Lwesithathu', - 'uLwesine', 'Lwesihlanu', 'Mgqibelo'], - SHORTWEEKDAYS: ['Son', 'Mso', 'Bil', 'Tha', 'Sin', 'Hla', 'Mgq'], - STANDALONESHORTWEEKDAYS: ['Son', 'Mso', 'Bil', 'Tha', 'Sin', 'Hla', 'Mgq'], - NARROWWEEKDAYS: ['S', 'M', 'B', 'T', 'S', 'H', 'M'], - STANDALONENARROWWEEKDAYS: ['S', 'M', 'B', 'T', 'S', 'H', 'M'], - SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - QUARTERS: ['ikota yoku-1', 'ikota yesi-2', 'ikota yesi-3', 'ikota yesi-4'], - AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE dd MMMM y', 'd MMMM y', 'd MMM y', 'yyyy-MM-dd'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], +goog.i18n.DateTimeSymbols_zh_Hant_TW = { + ERAS: ['西元前', '西元'], + ERANAMES: ['西元前', '西元'], + NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + MONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'], + STANDALONEMONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'], + SHORTMONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'], + STANDALONESHORTMONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'], + WEEKDAYS: ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'], + STANDALONEWEEKDAYS: ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'], + SHORTWEEKDAYS: ['週日', '週一', '週二', '週三', '週四', '週五', '週六'], + STANDALONESHORTWEEKDAYS: ['週日', '週一', '週二', '週三', '週四', '週五', '週六'], + NARROWWEEKDAYS: ['日', '一', '二', '三', '四', '五', '六'], + STANDALONENARROWWEEKDAYS: ['日', '一', '二', '三', '四', '五', '六'], + SHORTQUARTERS: ['1季', '2季', '3季', '4季'], + QUARTERS: ['第1季', '第2季', '第3季', '第4季'], + AMPMS: ['上午', '下午'], + DATEFORMATS: ['y年M月d日 EEEE', 'y年M月d日', 'y年M月d日', 'y/M/d'], + TIMEFORMATS: ['ah:mm:ss [zzzz]', 'ah:mm:ss [z]', 'ah:mm:ss', 'ah:mm'], + DATETIMEFORMATS: ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'], FIRSTDAYOFWEEK: 6, WEEKENDRANGE: [5, 6], FIRSTWEEKCUTOFFDAY: 5 @@ -14303,24 +13174,14 @@ goog.i18n.DateTimeSymbols_zu_ZA = { /** - * Selected date/time formatting symbols by locale. + * Date/time formatting symbols for locale zu_ZA. */ -if (goog.LOCALE == 'aa') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_aa; -} - -if (goog.LOCALE == 'aa_DJ' || goog.LOCALE == 'aa-DJ') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_aa_DJ; -} - -if (goog.LOCALE == 'aa_ER' || goog.LOCALE == 'aa-ER') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_aa; -} +goog.i18n.DateTimeSymbols_zu_ZA = goog.i18n.DateTimeSymbols_zu; -if (goog.LOCALE == 'aa_ET' || goog.LOCALE == 'aa-ET') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_aa; -} +/** + * Selected date/time formatting symbols by locale. + */ if (goog.LOCALE == 'af_NA' || goog.LOCALE == 'af-NA') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_af_NA; } @@ -14334,7 +13195,7 @@ if (goog.LOCALE == 'agq') { } if (goog.LOCALE == 'agq_CM' || goog.LOCALE == 'agq-CM') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_agq; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_agq_CM; } if (goog.LOCALE == 'ak') { @@ -14342,13 +13203,17 @@ if (goog.LOCALE == 'ak') { } if (goog.LOCALE == 'ak_GH' || goog.LOCALE == 'ak-GH') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ak; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ak_GH; } if (goog.LOCALE == 'am_ET' || goog.LOCALE == 'am-ET') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_am_ET; } +if (goog.LOCALE == 'ar_001' || goog.LOCALE == 'ar-001') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ar_001; +} + if (goog.LOCALE == 'ar_AE' || goog.LOCALE == 'ar-AE') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ar_AE; } @@ -14357,14 +13222,26 @@ if (goog.LOCALE == 'ar_BH' || goog.LOCALE == 'ar-BH') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ar_BH; } -if (goog.LOCALE == 'ar_DZ' || goog.LOCALE == 'ar-DZ') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ar_DZ; +if (goog.LOCALE == 'ar_DJ' || goog.LOCALE == 'ar-DJ') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ar_DJ; } if (goog.LOCALE == 'ar_EG' || goog.LOCALE == 'ar-EG') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ar_EG; } +if (goog.LOCALE == 'ar_EH' || goog.LOCALE == 'ar-EH') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ar_EH; +} + +if (goog.LOCALE == 'ar_ER' || goog.LOCALE == 'ar-ER') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ar_ER; +} + +if (goog.LOCALE == 'ar_IL' || goog.LOCALE == 'ar-IL') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ar_IL; +} + if (goog.LOCALE == 'ar_IQ' || goog.LOCALE == 'ar-IQ') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ar_IQ; } @@ -14373,6 +13250,10 @@ if (goog.LOCALE == 'ar_JO' || goog.LOCALE == 'ar-JO') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ar_JO; } +if (goog.LOCALE == 'ar_KM' || goog.LOCALE == 'ar-KM') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ar_KM; +} + if (goog.LOCALE == 'ar_KW' || goog.LOCALE == 'ar-KW') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ar_KW; } @@ -14389,10 +13270,18 @@ if (goog.LOCALE == 'ar_MA' || goog.LOCALE == 'ar-MA') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ar_MA; } +if (goog.LOCALE == 'ar_MR' || goog.LOCALE == 'ar-MR') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ar_MR; +} + if (goog.LOCALE == 'ar_OM' || goog.LOCALE == 'ar-OM') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ar_OM; } +if (goog.LOCALE == 'ar_PS' || goog.LOCALE == 'ar-PS') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ar_PS; +} + if (goog.LOCALE == 'ar_QA' || goog.LOCALE == 'ar-QA') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ar_QA; } @@ -14405,14 +13294,30 @@ if (goog.LOCALE == 'ar_SD' || goog.LOCALE == 'ar-SD') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ar_SD; } +if (goog.LOCALE == 'ar_SO' || goog.LOCALE == 'ar-SO') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ar_SO; +} + +if (goog.LOCALE == 'ar_SS' || goog.LOCALE == 'ar-SS') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ar_SS; +} + if (goog.LOCALE == 'ar_SY' || goog.LOCALE == 'ar-SY') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ar_SY; } +if (goog.LOCALE == 'ar_TD' || goog.LOCALE == 'ar-TD') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ar_TD; +} + if (goog.LOCALE == 'ar_TN' || goog.LOCALE == 'ar-TN') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ar_TN; } +if (goog.LOCALE == 'ar_XB' || goog.LOCALE == 'ar-XB') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ar_XB; +} + if (goog.LOCALE == 'ar_YE' || goog.LOCALE == 'ar-YE') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ar_YE; } @@ -14422,7 +13327,7 @@ if (goog.LOCALE == 'as') { } if (goog.LOCALE == 'as_IN' || goog.LOCALE == 'as-IN') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_as; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_as_IN; } if (goog.LOCALE == 'asa') { @@ -14430,11 +13335,15 @@ if (goog.LOCALE == 'asa') { } if (goog.LOCALE == 'asa_TZ' || goog.LOCALE == 'asa-TZ') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_asa; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_asa_TZ; +} + +if (goog.LOCALE == 'ast') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ast; } -if (goog.LOCALE == 'az') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_az; +if (goog.LOCALE == 'ast_ES' || goog.LOCALE == 'ast-ES') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ast_ES; } if (goog.LOCALE == 'az_Cyrl' || goog.LOCALE == 'az-Cyrl') { @@ -14442,15 +13351,15 @@ if (goog.LOCALE == 'az_Cyrl' || goog.LOCALE == 'az-Cyrl') { } if (goog.LOCALE == 'az_Cyrl_AZ' || goog.LOCALE == 'az-Cyrl-AZ') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_az_Cyrl; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_az_Cyrl_AZ; } if (goog.LOCALE == 'az_Latn' || goog.LOCALE == 'az-Latn') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_az; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_az_Latn; } if (goog.LOCALE == 'az_Latn_AZ' || goog.LOCALE == 'az-Latn-AZ') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_az; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_az_Latn_AZ; } if (goog.LOCALE == 'bas') { @@ -14458,15 +13367,11 @@ if (goog.LOCALE == 'bas') { } if (goog.LOCALE == 'bas_CM' || goog.LOCALE == 'bas-CM') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_bas; -} - -if (goog.LOCALE == 'be') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_be; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_bas_CM; } if (goog.LOCALE == 'be_BY' || goog.LOCALE == 'be-BY') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_be; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_be_BY; } if (goog.LOCALE == 'bem') { @@ -14474,7 +13379,7 @@ if (goog.LOCALE == 'bem') { } if (goog.LOCALE == 'bem_ZM' || goog.LOCALE == 'bem-ZM') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_bem; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_bem_ZM; } if (goog.LOCALE == 'bez') { @@ -14482,7 +13387,7 @@ if (goog.LOCALE == 'bez') { } if (goog.LOCALE == 'bez_TZ' || goog.LOCALE == 'bez-TZ') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_bez; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_bez_TZ; } if (goog.LOCALE == 'bg_BG' || goog.LOCALE == 'bg-BG') { @@ -14494,7 +13399,7 @@ if (goog.LOCALE == 'bm') { } if (goog.LOCALE == 'bm_ML' || goog.LOCALE == 'bm-ML') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_bm; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_bm_ML; } if (goog.LOCALE == 'bn_BD' || goog.LOCALE == 'bn-BD') { @@ -14510,19 +13415,15 @@ if (goog.LOCALE == 'bo') { } if (goog.LOCALE == 'bo_CN' || goog.LOCALE == 'bo-CN') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_bo; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_bo_CN; } if (goog.LOCALE == 'bo_IN' || goog.LOCALE == 'bo-IN') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_bo; -} - -if (goog.LOCALE == 'br') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_br; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_bo_IN; } if (goog.LOCALE == 'br_FR' || goog.LOCALE == 'br-FR') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_br; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_br_FR; } if (goog.LOCALE == 'brx') { @@ -14530,71 +13431,71 @@ if (goog.LOCALE == 'brx') { } if (goog.LOCALE == 'brx_IN' || goog.LOCALE == 'brx-IN') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_brx; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_brx_IN; } -if (goog.LOCALE == 'bs') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_bs; +if (goog.LOCALE == 'bs_Cyrl' || goog.LOCALE == 'bs-Cyrl') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_bs_Cyrl; } -if (goog.LOCALE == 'bs_BA' || goog.LOCALE == 'bs-BA') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_bs; +if (goog.LOCALE == 'bs_Cyrl_BA' || goog.LOCALE == 'bs-Cyrl-BA') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_bs_Cyrl_BA; } -if (goog.LOCALE == 'byn') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_byn; +if (goog.LOCALE == 'bs_Latn' || goog.LOCALE == 'bs-Latn') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_bs_Latn; } -if (goog.LOCALE == 'byn_ER' || goog.LOCALE == 'byn-ER') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_byn; +if (goog.LOCALE == 'bs_Latn_BA' || goog.LOCALE == 'bs-Latn-BA') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_bs_Latn_BA; } -if (goog.LOCALE == 'ca_ES' || goog.LOCALE == 'ca-ES') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ca_ES; +if (goog.LOCALE == 'ca_AD' || goog.LOCALE == 'ca-AD') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ca_AD; } -if (goog.LOCALE == 'cgg') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_cgg; +if (goog.LOCALE == 'ca_ES' || goog.LOCALE == 'ca-ES') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ca_ES; } -if (goog.LOCALE == 'cgg_UG' || goog.LOCALE == 'cgg-UG') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_cgg; +if (goog.LOCALE == 'ca_FR' || goog.LOCALE == 'ca-FR') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ca_FR; } -if (goog.LOCALE == 'chr_US' || goog.LOCALE == 'chr-US') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_chr_US; +if (goog.LOCALE == 'ca_IT' || goog.LOCALE == 'ca-IT') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ca_IT; } -if (goog.LOCALE == 'ckb') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ckb; +if (goog.LOCALE == 'ce') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ce; } -if (goog.LOCALE == 'ckb_Arab' || goog.LOCALE == 'ckb-Arab') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ckb; +if (goog.LOCALE == 'ce_RU' || goog.LOCALE == 'ce-RU') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ce_RU; } -if (goog.LOCALE == 'ckb_Arab_IQ' || goog.LOCALE == 'ckb-Arab-IQ') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ckb; +if (goog.LOCALE == 'cgg') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_cgg; } -if (goog.LOCALE == 'ckb_Arab_IR' || goog.LOCALE == 'ckb-Arab-IR') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ckb; +if (goog.LOCALE == 'cgg_UG' || goog.LOCALE == 'cgg-UG') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_cgg_UG; } -if (goog.LOCALE == 'ckb_IQ' || goog.LOCALE == 'ckb-IQ') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ckb; +if (goog.LOCALE == 'chr_US' || goog.LOCALE == 'chr-US') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_chr_US; } -if (goog.LOCALE == 'ckb_IR' || goog.LOCALE == 'ckb-IR') { +if (goog.LOCALE == 'ckb') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ckb; } -if (goog.LOCALE == 'ckb_Latn' || goog.LOCALE == 'ckb-Latn') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ckb; +if (goog.LOCALE == 'ckb_IQ' || goog.LOCALE == 'ckb-IQ') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ckb_IQ; } -if (goog.LOCALE == 'ckb_Latn_IQ' || goog.LOCALE == 'ckb-Latn-IQ') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ckb; +if (goog.LOCALE == 'ckb_IR' || goog.LOCALE == 'ckb-IR') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ckb_IR; } if (goog.LOCALE == 'cs_CZ' || goog.LOCALE == 'cs-CZ') { @@ -14609,12 +13510,16 @@ if (goog.LOCALE == 'da_DK' || goog.LOCALE == 'da-DK') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_da_DK; } +if (goog.LOCALE == 'da_GL' || goog.LOCALE == 'da-GL') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_da_GL; +} + if (goog.LOCALE == 'dav') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_dav; } if (goog.LOCALE == 'dav_KE' || goog.LOCALE == 'dav-KE') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_dav; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_dav_KE; } if (goog.LOCALE == 'de_BE' || goog.LOCALE == 'de-BE') { @@ -14625,6 +13530,10 @@ if (goog.LOCALE == 'de_DE' || goog.LOCALE == 'de-DE') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_de_DE; } +if (goog.LOCALE == 'de_IT' || goog.LOCALE == 'de-IT') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_de_IT; +} + if (goog.LOCALE == 'de_LI' || goog.LOCALE == 'de-LI') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_de_LI; } @@ -14638,7 +13547,15 @@ if (goog.LOCALE == 'dje') { } if (goog.LOCALE == 'dje_NE' || goog.LOCALE == 'dje-NE') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_dje; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_dje_NE; +} + +if (goog.LOCALE == 'dsb') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_dsb; +} + +if (goog.LOCALE == 'dsb_DE' || goog.LOCALE == 'dsb-DE') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_dsb_DE; } if (goog.LOCALE == 'dua') { @@ -14646,7 +13563,7 @@ if (goog.LOCALE == 'dua') { } if (goog.LOCALE == 'dua_CM' || goog.LOCALE == 'dua-CM') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_dua; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_dua_CM; } if (goog.LOCALE == 'dyo') { @@ -14654,7 +13571,7 @@ if (goog.LOCALE == 'dyo') { } if (goog.LOCALE == 'dyo_SN' || goog.LOCALE == 'dyo-SN') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_dyo; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_dyo_SN; } if (goog.LOCALE == 'dz') { @@ -14662,7 +13579,7 @@ if (goog.LOCALE == 'dz') { } if (goog.LOCALE == 'dz_BT' || goog.LOCALE == 'dz-BT') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_dz; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_dz_BT; } if (goog.LOCALE == 'ebu') { @@ -14670,7 +13587,7 @@ if (goog.LOCALE == 'ebu') { } if (goog.LOCALE == 'ebu_KE' || goog.LOCALE == 'ebu-KE') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ebu; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ebu_KE; } if (goog.LOCALE == 'ee') { @@ -14678,11 +13595,11 @@ if (goog.LOCALE == 'ee') { } if (goog.LOCALE == 'ee_GH' || goog.LOCALE == 'ee-GH') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ee; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ee_GH; } if (goog.LOCALE == 'ee_TG' || goog.LOCALE == 'ee-TG') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ee; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ee_TG; } if (goog.LOCALE == 'el_CY' || goog.LOCALE == 'el-CY') { @@ -14693,10 +13610,30 @@ if (goog.LOCALE == 'el_GR' || goog.LOCALE == 'el-GR') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_el_GR; } +if (goog.LOCALE == 'en_001' || goog.LOCALE == 'en-001') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_001; +} + +if (goog.LOCALE == 'en_150' || goog.LOCALE == 'en-150') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_150; +} + +if (goog.LOCALE == 'en_AG' || goog.LOCALE == 'en-AG') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_AG; +} + +if (goog.LOCALE == 'en_AI' || goog.LOCALE == 'en-AI') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_AI; +} + if (goog.LOCALE == 'en_AS' || goog.LOCALE == 'en-AS') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_AS; } +if (goog.LOCALE == 'en_AT' || goog.LOCALE == 'en-AT') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_AT; +} + if (goog.LOCALE == 'en_BB' || goog.LOCALE == 'en-BB') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_BB; } @@ -14705,10 +13642,18 @@ if (goog.LOCALE == 'en_BE' || goog.LOCALE == 'en-BE') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_BE; } +if (goog.LOCALE == 'en_BI' || goog.LOCALE == 'en-BI') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_BI; +} + if (goog.LOCALE == 'en_BM' || goog.LOCALE == 'en-BM') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_BM; } +if (goog.LOCALE == 'en_BS' || goog.LOCALE == 'en-BS') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_BS; +} + if (goog.LOCALE == 'en_BW' || goog.LOCALE == 'en-BW') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_BW; } @@ -14717,16 +13662,84 @@ if (goog.LOCALE == 'en_BZ' || goog.LOCALE == 'en-BZ') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_BZ; } -if (goog.LOCALE == 'en_CA' || goog.LOCALE == 'en-CA') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_CA; +if (goog.LOCALE == 'en_CC' || goog.LOCALE == 'en-CC') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_CC; +} + +if (goog.LOCALE == 'en_CH' || goog.LOCALE == 'en-CH') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_CH; +} + +if (goog.LOCALE == 'en_CK' || goog.LOCALE == 'en-CK') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_CK; +} + +if (goog.LOCALE == 'en_CM' || goog.LOCALE == 'en-CM') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_CM; +} + +if (goog.LOCALE == 'en_CX' || goog.LOCALE == 'en-CX') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_CX; +} + +if (goog.LOCALE == 'en_CY' || goog.LOCALE == 'en-CY') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_CY; +} + +if (goog.LOCALE == 'en_DE' || goog.LOCALE == 'en-DE') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_DE; +} + +if (goog.LOCALE == 'en_DG' || goog.LOCALE == 'en-DG') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_DG; +} + +if (goog.LOCALE == 'en_DK' || goog.LOCALE == 'en-DK') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_DK; +} + +if (goog.LOCALE == 'en_DM' || goog.LOCALE == 'en-DM') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_DM; +} + +if (goog.LOCALE == 'en_ER' || goog.LOCALE == 'en-ER') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_ER; +} + +if (goog.LOCALE == 'en_FI' || goog.LOCALE == 'en-FI') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_FI; +} + +if (goog.LOCALE == 'en_FJ' || goog.LOCALE == 'en-FJ') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_FJ; +} + +if (goog.LOCALE == 'en_FK' || goog.LOCALE == 'en-FK') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_FK; } -if (goog.LOCALE == 'en_Dsrt' || goog.LOCALE == 'en-Dsrt') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_Dsrt; +if (goog.LOCALE == 'en_FM' || goog.LOCALE == 'en-FM') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_FM; } -if (goog.LOCALE == 'en_Dsrt_US' || goog.LOCALE == 'en-Dsrt-US') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_Dsrt; +if (goog.LOCALE == 'en_GD' || goog.LOCALE == 'en-GD') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_GD; +} + +if (goog.LOCALE == 'en_GG' || goog.LOCALE == 'en-GG') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_GG; +} + +if (goog.LOCALE == 'en_GH' || goog.LOCALE == 'en-GH') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_GH; +} + +if (goog.LOCALE == 'en_GI' || goog.LOCALE == 'en-GI') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_GI; +} + +if (goog.LOCALE == 'en_GM' || goog.LOCALE == 'en-GM') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_GM; } if (goog.LOCALE == 'en_GU' || goog.LOCALE == 'en-GU') { @@ -14741,18 +13754,74 @@ if (goog.LOCALE == 'en_HK' || goog.LOCALE == 'en-HK') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_HK; } +if (goog.LOCALE == 'en_IL' || goog.LOCALE == 'en-IL') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_IL; +} + +if (goog.LOCALE == 'en_IM' || goog.LOCALE == 'en-IM') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_IM; +} + +if (goog.LOCALE == 'en_IO' || goog.LOCALE == 'en-IO') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_IO; +} + +if (goog.LOCALE == 'en_JE' || goog.LOCALE == 'en-JE') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_JE; +} + if (goog.LOCALE == 'en_JM' || goog.LOCALE == 'en-JM') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_JM; } +if (goog.LOCALE == 'en_KE' || goog.LOCALE == 'en-KE') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_KE; +} + +if (goog.LOCALE == 'en_KI' || goog.LOCALE == 'en-KI') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_KI; +} + +if (goog.LOCALE == 'en_KN' || goog.LOCALE == 'en-KN') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_KN; +} + +if (goog.LOCALE == 'en_KY' || goog.LOCALE == 'en-KY') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_KY; +} + +if (goog.LOCALE == 'en_LC' || goog.LOCALE == 'en-LC') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_LC; +} + +if (goog.LOCALE == 'en_LR' || goog.LOCALE == 'en-LR') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_LR; +} + +if (goog.LOCALE == 'en_LS' || goog.LOCALE == 'en-LS') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_LS; +} + +if (goog.LOCALE == 'en_MG' || goog.LOCALE == 'en-MG') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_MG; +} + if (goog.LOCALE == 'en_MH' || goog.LOCALE == 'en-MH') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_MH; } +if (goog.LOCALE == 'en_MO' || goog.LOCALE == 'en-MO') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_MO; +} + if (goog.LOCALE == 'en_MP' || goog.LOCALE == 'en-MP') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_MP; } +if (goog.LOCALE == 'en_MS' || goog.LOCALE == 'en-MS') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_MS; +} + if (goog.LOCALE == 'en_MT' || goog.LOCALE == 'en-MT') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_MT; } @@ -14761,14 +13830,46 @@ if (goog.LOCALE == 'en_MU' || goog.LOCALE == 'en-MU') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_MU; } +if (goog.LOCALE == 'en_MW' || goog.LOCALE == 'en-MW') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_MW; +} + +if (goog.LOCALE == 'en_MY' || goog.LOCALE == 'en-MY') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_MY; +} + if (goog.LOCALE == 'en_NA' || goog.LOCALE == 'en-NA') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_NA; } +if (goog.LOCALE == 'en_NF' || goog.LOCALE == 'en-NF') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_NF; +} + +if (goog.LOCALE == 'en_NG' || goog.LOCALE == 'en-NG') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_NG; +} + +if (goog.LOCALE == 'en_NL' || goog.LOCALE == 'en-NL') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_NL; +} + +if (goog.LOCALE == 'en_NR' || goog.LOCALE == 'en-NR') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_NR; +} + +if (goog.LOCALE == 'en_NU' || goog.LOCALE == 'en-NU') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_NU; +} + if (goog.LOCALE == 'en_NZ' || goog.LOCALE == 'en-NZ') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_NZ; } +if (goog.LOCALE == 'en_PG' || goog.LOCALE == 'en-PG') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_PG; +} + if (goog.LOCALE == 'en_PH' || goog.LOCALE == 'en-PH') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_PH; } @@ -14777,18 +13878,126 @@ if (goog.LOCALE == 'en_PK' || goog.LOCALE == 'en-PK') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_PK; } +if (goog.LOCALE == 'en_PN' || goog.LOCALE == 'en-PN') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_PN; +} + +if (goog.LOCALE == 'en_PR' || goog.LOCALE == 'en-PR') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_PR; +} + +if (goog.LOCALE == 'en_PW' || goog.LOCALE == 'en-PW') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_PW; +} + +if (goog.LOCALE == 'en_RW' || goog.LOCALE == 'en-RW') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_RW; +} + +if (goog.LOCALE == 'en_SB' || goog.LOCALE == 'en-SB') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_SB; +} + +if (goog.LOCALE == 'en_SC' || goog.LOCALE == 'en-SC') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_SC; +} + +if (goog.LOCALE == 'en_SD' || goog.LOCALE == 'en-SD') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_SD; +} + +if (goog.LOCALE == 'en_SE' || goog.LOCALE == 'en-SE') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_SE; +} + +if (goog.LOCALE == 'en_SH' || goog.LOCALE == 'en-SH') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_SH; +} + +if (goog.LOCALE == 'en_SI' || goog.LOCALE == 'en-SI') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_SI; +} + +if (goog.LOCALE == 'en_SL' || goog.LOCALE == 'en-SL') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_SL; +} + +if (goog.LOCALE == 'en_SS' || goog.LOCALE == 'en-SS') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_SS; +} + +if (goog.LOCALE == 'en_SX' || goog.LOCALE == 'en-SX') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_SX; +} + +if (goog.LOCALE == 'en_SZ' || goog.LOCALE == 'en-SZ') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_SZ; +} + +if (goog.LOCALE == 'en_TC' || goog.LOCALE == 'en-TC') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_TC; +} + +if (goog.LOCALE == 'en_TK' || goog.LOCALE == 'en-TK') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_TK; +} + +if (goog.LOCALE == 'en_TO' || goog.LOCALE == 'en-TO') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_TO; +} + if (goog.LOCALE == 'en_TT' || goog.LOCALE == 'en-TT') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_TT; } +if (goog.LOCALE == 'en_TV' || goog.LOCALE == 'en-TV') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_TV; +} + +if (goog.LOCALE == 'en_TZ' || goog.LOCALE == 'en-TZ') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_TZ; +} + +if (goog.LOCALE == 'en_UG' || goog.LOCALE == 'en-UG') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_UG; +} + if (goog.LOCALE == 'en_UM' || goog.LOCALE == 'en-UM') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_UM; } +if (goog.LOCALE == 'en_US_POSIX' || goog.LOCALE == 'en-US-POSIX') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_US_POSIX; +} + +if (goog.LOCALE == 'en_VC' || goog.LOCALE == 'en-VC') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_VC; +} + +if (goog.LOCALE == 'en_VG' || goog.LOCALE == 'en-VG') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_VG; +} + if (goog.LOCALE == 'en_VI' || goog.LOCALE == 'en-VI') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_VI; } +if (goog.LOCALE == 'en_VU' || goog.LOCALE == 'en-VU') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_VU; +} + +if (goog.LOCALE == 'en_WS' || goog.LOCALE == 'en-WS') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_WS; +} + +if (goog.LOCALE == 'en_XA' || goog.LOCALE == 'en-XA') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_XA; +} + +if (goog.LOCALE == 'en_ZM' || goog.LOCALE == 'en-ZM') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_ZM; +} + if (goog.LOCALE == 'en_ZW' || goog.LOCALE == 'en-ZW') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_ZW; } @@ -14805,6 +14014,14 @@ if (goog.LOCALE == 'es_BO' || goog.LOCALE == 'es-BO') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_es_BO; } +if (goog.LOCALE == 'es_BR' || goog.LOCALE == 'es-BR') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_es_BR; +} + +if (goog.LOCALE == 'es_BZ' || goog.LOCALE == 'es-BZ') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_es_BZ; +} + if (goog.LOCALE == 'es_CL' || goog.LOCALE == 'es-CL') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_es_CL; } @@ -14817,16 +14034,20 @@ if (goog.LOCALE == 'es_CR' || goog.LOCALE == 'es-CR') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_es_CR; } +if (goog.LOCALE == 'es_CU' || goog.LOCALE == 'es-CU') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_es_CU; +} + if (goog.LOCALE == 'es_DO' || goog.LOCALE == 'es-DO') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_es_DO; } -if (goog.LOCALE == 'es_EC' || goog.LOCALE == 'es-EC') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_es_EC; +if (goog.LOCALE == 'es_EA' || goog.LOCALE == 'es-EA') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_es_EA; } -if (goog.LOCALE == 'es_ES' || goog.LOCALE == 'es-ES') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_es_ES; +if (goog.LOCALE == 'es_EC' || goog.LOCALE == 'es-EC') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_es_EC; } if (goog.LOCALE == 'es_GQ' || goog.LOCALE == 'es-GQ') { @@ -14841,8 +14062,8 @@ if (goog.LOCALE == 'es_HN' || goog.LOCALE == 'es-HN') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_es_HN; } -if (goog.LOCALE == 'es_MX' || goog.LOCALE == 'es-MX') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_es_MX; +if (goog.LOCALE == 'es_IC' || goog.LOCALE == 'es-IC') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_es_IC; } if (goog.LOCALE == 'es_NI' || goog.LOCALE == 'es-NI') { @@ -14857,6 +14078,10 @@ if (goog.LOCALE == 'es_PE' || goog.LOCALE == 'es-PE') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_es_PE; } +if (goog.LOCALE == 'es_PH' || goog.LOCALE == 'es-PH') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_es_PH; +} + if (goog.LOCALE == 'es_PR' || goog.LOCALE == 'es-PR') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_es_PR; } @@ -14869,10 +14094,6 @@ if (goog.LOCALE == 'es_SV' || goog.LOCALE == 'es-SV') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_es_SV; } -if (goog.LOCALE == 'es_US' || goog.LOCALE == 'es-US') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_es_US; -} - if (goog.LOCALE == 'es_UY' || goog.LOCALE == 'es-UY') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_es_UY; } @@ -14894,7 +14115,7 @@ if (goog.LOCALE == 'ewo') { } if (goog.LOCALE == 'ewo_CM' || goog.LOCALE == 'ewo-CM') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ewo; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ewo_CM; } if (goog.LOCALE == 'fa_AF' || goog.LOCALE == 'fa-AF') { @@ -14909,8 +14130,20 @@ if (goog.LOCALE == 'ff') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ff; } +if (goog.LOCALE == 'ff_CM' || goog.LOCALE == 'ff-CM') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ff_CM; +} + +if (goog.LOCALE == 'ff_GN' || goog.LOCALE == 'ff-GN') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ff_GN; +} + +if (goog.LOCALE == 'ff_MR' || goog.LOCALE == 'ff-MR') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ff_MR; +} + if (goog.LOCALE == 'ff_SN' || goog.LOCALE == 'ff-SN') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ff; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ff_SN; } if (goog.LOCALE == 'fi_FI' || goog.LOCALE == 'fi-FI') { @@ -14925,8 +14158,12 @@ if (goog.LOCALE == 'fo') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_fo; } +if (goog.LOCALE == 'fo_DK' || goog.LOCALE == 'fo-DK') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_fo_DK; +} + if (goog.LOCALE == 'fo_FO' || goog.LOCALE == 'fo-FO') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_fo; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_fo_FO; } if (goog.LOCALE == 'fr_BE' || goog.LOCALE == 'fr-BE') { @@ -14977,6 +14214,10 @@ if (goog.LOCALE == 'fr_DJ' || goog.LOCALE == 'fr-DJ') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_fr_DJ; } +if (goog.LOCALE == 'fr_DZ' || goog.LOCALE == 'fr-DZ') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_fr_DZ; +} + if (goog.LOCALE == 'fr_FR' || goog.LOCALE == 'fr-FR') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_fr_FR; } @@ -15001,6 +14242,10 @@ if (goog.LOCALE == 'fr_GQ' || goog.LOCALE == 'fr-GQ') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_fr_GQ; } +if (goog.LOCALE == 'fr_HT' || goog.LOCALE == 'fr-HT') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_fr_HT; +} + if (goog.LOCALE == 'fr_KM' || goog.LOCALE == 'fr-KM') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_fr_KM; } @@ -15009,6 +14254,10 @@ if (goog.LOCALE == 'fr_LU' || goog.LOCALE == 'fr-LU') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_fr_LU; } +if (goog.LOCALE == 'fr_MA' || goog.LOCALE == 'fr-MA') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_fr_MA; +} + if (goog.LOCALE == 'fr_MC' || goog.LOCALE == 'fr-MC') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_fr_MC; } @@ -15029,10 +14278,30 @@ if (goog.LOCALE == 'fr_MQ' || goog.LOCALE == 'fr-MQ') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_fr_MQ; } +if (goog.LOCALE == 'fr_MR' || goog.LOCALE == 'fr-MR') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_fr_MR; +} + +if (goog.LOCALE == 'fr_MU' || goog.LOCALE == 'fr-MU') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_fr_MU; +} + +if (goog.LOCALE == 'fr_NC' || goog.LOCALE == 'fr-NC') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_fr_NC; +} + if (goog.LOCALE == 'fr_NE' || goog.LOCALE == 'fr-NE') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_fr_NE; } +if (goog.LOCALE == 'fr_PF' || goog.LOCALE == 'fr-PF') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_fr_PF; +} + +if (goog.LOCALE == 'fr_PM' || goog.LOCALE == 'fr-PM') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_fr_PM; +} + if (goog.LOCALE == 'fr_RE' || goog.LOCALE == 'fr-RE') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_fr_RE; } @@ -15041,10 +14310,18 @@ if (goog.LOCALE == 'fr_RW' || goog.LOCALE == 'fr-RW') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_fr_RW; } +if (goog.LOCALE == 'fr_SC' || goog.LOCALE == 'fr-SC') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_fr_SC; +} + if (goog.LOCALE == 'fr_SN' || goog.LOCALE == 'fr-SN') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_fr_SN; } +if (goog.LOCALE == 'fr_SY' || goog.LOCALE == 'fr-SY') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_fr_SY; +} + if (goog.LOCALE == 'fr_TD' || goog.LOCALE == 'fr-TD') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_fr_TD; } @@ -15053,6 +14330,18 @@ if (goog.LOCALE == 'fr_TG' || goog.LOCALE == 'fr-TG') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_fr_TG; } +if (goog.LOCALE == 'fr_TN' || goog.LOCALE == 'fr-TN') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_fr_TN; +} + +if (goog.LOCALE == 'fr_VU' || goog.LOCALE == 'fr-VU') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_fr_VU; +} + +if (goog.LOCALE == 'fr_WF' || goog.LOCALE == 'fr-WF') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_fr_WF; +} + if (goog.LOCALE == 'fr_YT' || goog.LOCALE == 'fr-YT') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_fr_YT; } @@ -15062,15 +14351,27 @@ if (goog.LOCALE == 'fur') { } if (goog.LOCALE == 'fur_IT' || goog.LOCALE == 'fur-IT') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_fur; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_fur_IT; +} + +if (goog.LOCALE == 'fy') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_fy; } -if (goog.LOCALE == 'ga') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ga; +if (goog.LOCALE == 'fy_NL' || goog.LOCALE == 'fy-NL') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_fy_NL; } if (goog.LOCALE == 'ga_IE' || goog.LOCALE == 'ga-IE') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ga; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ga_IE; +} + +if (goog.LOCALE == 'gd') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_gd; +} + +if (goog.LOCALE == 'gd_GB' || goog.LOCALE == 'gd-GB') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_gd_GB; } if (goog.LOCALE == 'gl_ES' || goog.LOCALE == 'gl-ES') { @@ -15081,6 +14382,14 @@ if (goog.LOCALE == 'gsw_CH' || goog.LOCALE == 'gsw-CH') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_gsw_CH; } +if (goog.LOCALE == 'gsw_FR' || goog.LOCALE == 'gsw-FR') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_gsw_FR; +} + +if (goog.LOCALE == 'gsw_LI' || goog.LOCALE == 'gsw-LI') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_gsw_LI; +} + if (goog.LOCALE == 'gu_IN' || goog.LOCALE == 'gu-IN') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_gu_IN; } @@ -15090,35 +14399,31 @@ if (goog.LOCALE == 'guz') { } if (goog.LOCALE == 'guz_KE' || goog.LOCALE == 'guz-KE') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_guz; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_guz_KE; } if (goog.LOCALE == 'gv') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_gv; } -if (goog.LOCALE == 'gv_GB' || goog.LOCALE == 'gv-GB') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_gv; +if (goog.LOCALE == 'gv_IM' || goog.LOCALE == 'gv-IM') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_gv_IM; } if (goog.LOCALE == 'ha') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ha; } -if (goog.LOCALE == 'ha_Latn' || goog.LOCALE == 'ha-Latn') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ha; -} - -if (goog.LOCALE == 'ha_Latn_GH' || goog.LOCALE == 'ha-Latn-GH') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ha; +if (goog.LOCALE == 'ha_GH' || goog.LOCALE == 'ha-GH') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ha_GH; } -if (goog.LOCALE == 'ha_Latn_NE' || goog.LOCALE == 'ha-Latn-NE') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ha; +if (goog.LOCALE == 'ha_NE' || goog.LOCALE == 'ha-NE') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ha_NE; } -if (goog.LOCALE == 'ha_Latn_NG' || goog.LOCALE == 'ha-Latn-NG') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ha; +if (goog.LOCALE == 'ha_NG' || goog.LOCALE == 'ha-NG') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ha_NG; } if (goog.LOCALE == 'haw_US' || goog.LOCALE == 'haw-US') { @@ -15133,24 +14438,28 @@ if (goog.LOCALE == 'hi_IN' || goog.LOCALE == 'hi-IN') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_hi_IN; } +if (goog.LOCALE == 'hr_BA' || goog.LOCALE == 'hr-BA') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_hr_BA; +} + if (goog.LOCALE == 'hr_HR' || goog.LOCALE == 'hr-HR') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_hr_HR; } -if (goog.LOCALE == 'hu_HU' || goog.LOCALE == 'hu-HU') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_hu_HU; +if (goog.LOCALE == 'hsb') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_hsb; } -if (goog.LOCALE == 'hy') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_hy; +if (goog.LOCALE == 'hsb_DE' || goog.LOCALE == 'hsb-DE') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_hsb_DE; } -if (goog.LOCALE == 'hy_AM' || goog.LOCALE == 'hy-AM') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_hy; +if (goog.LOCALE == 'hu_HU' || goog.LOCALE == 'hu-HU') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_hu_HU; } -if (goog.LOCALE == 'ia') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ia; +if (goog.LOCALE == 'hy_AM' || goog.LOCALE == 'hy-AM') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_hy_AM; } if (goog.LOCALE == 'id_ID' || goog.LOCALE == 'id-ID') { @@ -15162,7 +14471,7 @@ if (goog.LOCALE == 'ig') { } if (goog.LOCALE == 'ig_NG' || goog.LOCALE == 'ig-NG') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ig; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ig_NG; } if (goog.LOCALE == 'ii') { @@ -15170,7 +14479,7 @@ if (goog.LOCALE == 'ii') { } if (goog.LOCALE == 'ii_CN' || goog.LOCALE == 'ii-CN') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ii; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ii_CN; } if (goog.LOCALE == 'is_IS' || goog.LOCALE == 'is-IS') { @@ -15181,28 +14490,40 @@ if (goog.LOCALE == 'it_CH' || goog.LOCALE == 'it-CH') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_it_CH; } -if (goog.LOCALE == 'it_IT' || goog.LOCALE == 'it-IT') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_it_IT; +if (goog.LOCALE == 'it_IT' || goog.LOCALE == 'it-IT') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_it_IT; +} + +if (goog.LOCALE == 'it_SM' || goog.LOCALE == 'it-SM') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_it_SM; +} + +if (goog.LOCALE == 'it_VA' || goog.LOCALE == 'it-VA') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_it_VA; } if (goog.LOCALE == 'ja_JP' || goog.LOCALE == 'ja-JP') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ja_JP; } -if (goog.LOCALE == 'jmc') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_jmc; +if (goog.LOCALE == 'jgo') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_jgo; } -if (goog.LOCALE == 'jmc_TZ' || goog.LOCALE == 'jmc-TZ') { +if (goog.LOCALE == 'jgo_CM' || goog.LOCALE == 'jgo-CM') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_jgo_CM; +} + +if (goog.LOCALE == 'jmc') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_jmc; } -if (goog.LOCALE == 'ka') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ka; +if (goog.LOCALE == 'jmc_TZ' || goog.LOCALE == 'jmc-TZ') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_jmc_TZ; } if (goog.LOCALE == 'ka_GE' || goog.LOCALE == 'ka-GE') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ka; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ka_GE; } if (goog.LOCALE == 'kab') { @@ -15210,7 +14531,7 @@ if (goog.LOCALE == 'kab') { } if (goog.LOCALE == 'kab_DZ' || goog.LOCALE == 'kab-DZ') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_kab; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_kab_DZ; } if (goog.LOCALE == 'kam') { @@ -15218,7 +14539,7 @@ if (goog.LOCALE == 'kam') { } if (goog.LOCALE == 'kam_KE' || goog.LOCALE == 'kam-KE') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_kam; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_kam_KE; } if (goog.LOCALE == 'kde') { @@ -15226,7 +14547,7 @@ if (goog.LOCALE == 'kde') { } if (goog.LOCALE == 'kde_TZ' || goog.LOCALE == 'kde-TZ') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_kde; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_kde_TZ; } if (goog.LOCALE == 'kea') { @@ -15234,7 +14555,7 @@ if (goog.LOCALE == 'kea') { } if (goog.LOCALE == 'kea_CV' || goog.LOCALE == 'kea-CV') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_kea; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_kea_CV; } if (goog.LOCALE == 'khq') { @@ -15242,7 +14563,7 @@ if (goog.LOCALE == 'khq') { } if (goog.LOCALE == 'khq_ML' || goog.LOCALE == 'khq-ML') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_khq; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_khq_ML; } if (goog.LOCALE == 'ki') { @@ -15250,19 +14571,19 @@ if (goog.LOCALE == 'ki') { } if (goog.LOCALE == 'ki_KE' || goog.LOCALE == 'ki-KE') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ki; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ki_KE; } -if (goog.LOCALE == 'kk') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_kk; +if (goog.LOCALE == 'kk_KZ' || goog.LOCALE == 'kk-KZ') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_kk_KZ; } -if (goog.LOCALE == 'kk_Cyrl' || goog.LOCALE == 'kk-Cyrl') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_kk; +if (goog.LOCALE == 'kkj') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_kkj; } -if (goog.LOCALE == 'kk_Cyrl_KZ' || goog.LOCALE == 'kk-Cyrl-KZ') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_kk; +if (goog.LOCALE == 'kkj_CM' || goog.LOCALE == 'kkj-CM') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_kkj_CM; } if (goog.LOCALE == 'kl') { @@ -15270,7 +14591,7 @@ if (goog.LOCALE == 'kl') { } if (goog.LOCALE == 'kl_GL' || goog.LOCALE == 'kl-GL') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_kl; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_kl_GL; } if (goog.LOCALE == 'kln') { @@ -15278,21 +14599,21 @@ if (goog.LOCALE == 'kln') { } if (goog.LOCALE == 'kln_KE' || goog.LOCALE == 'kln-KE') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_kln; -} - -if (goog.LOCALE == 'km') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_km; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_kln_KE; } if (goog.LOCALE == 'km_KH' || goog.LOCALE == 'km-KH') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_km; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_km_KH; } if (goog.LOCALE == 'kn_IN' || goog.LOCALE == 'kn-IN') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_kn_IN; } +if (goog.LOCALE == 'ko_KP' || goog.LOCALE == 'ko-KP') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ko_KP; +} + if (goog.LOCALE == 'ko_KR' || goog.LOCALE == 'ko-KR') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ko_KR; } @@ -15302,7 +14623,15 @@ if (goog.LOCALE == 'kok') { } if (goog.LOCALE == 'kok_IN' || goog.LOCALE == 'kok-IN') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_kok; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_kok_IN; +} + +if (goog.LOCALE == 'ks') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ks; +} + +if (goog.LOCALE == 'ks_IN' || goog.LOCALE == 'ks-IN') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ks_IN; } if (goog.LOCALE == 'ksb') { @@ -15310,7 +14639,7 @@ if (goog.LOCALE == 'ksb') { } if (goog.LOCALE == 'ksb_TZ' || goog.LOCALE == 'ksb-TZ') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ksb; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ksb_TZ; } if (goog.LOCALE == 'ksf') { @@ -15318,7 +14647,7 @@ if (goog.LOCALE == 'ksf') { } if (goog.LOCALE == 'ksf_CM' || goog.LOCALE == 'ksf-CM') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ksf; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ksf_CM; } if (goog.LOCALE == 'ksh') { @@ -15326,11 +14655,7 @@ if (goog.LOCALE == 'ksh') { } if (goog.LOCALE == 'ksh_DE' || goog.LOCALE == 'ksh-DE') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ksh; -} - -if (goog.LOCALE == 'ku') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ku; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ksh_DE; } if (goog.LOCALE == 'kw') { @@ -15338,7 +14663,11 @@ if (goog.LOCALE == 'kw') { } if (goog.LOCALE == 'kw_GB' || goog.LOCALE == 'kw-GB') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_kw; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_kw_GB; +} + +if (goog.LOCALE == 'ky_KG' || goog.LOCALE == 'ky-KG') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ky_KG; } if (goog.LOCALE == 'lag') { @@ -15346,7 +14675,15 @@ if (goog.LOCALE == 'lag') { } if (goog.LOCALE == 'lag_TZ' || goog.LOCALE == 'lag-TZ') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_lag; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_lag_TZ; +} + +if (goog.LOCALE == 'lb') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_lb; +} + +if (goog.LOCALE == 'lb_LU' || goog.LOCALE == 'lb-LU') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_lb_LU; } if (goog.LOCALE == 'lg') { @@ -15354,23 +14691,47 @@ if (goog.LOCALE == 'lg') { } if (goog.LOCALE == 'lg_UG' || goog.LOCALE == 'lg-UG') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_lg; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_lg_UG; +} + +if (goog.LOCALE == 'lkt') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_lkt; +} + +if (goog.LOCALE == 'lkt_US' || goog.LOCALE == 'lkt-US') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_lkt_US; +} + +if (goog.LOCALE == 'ln_AO' || goog.LOCALE == 'ln-AO') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ln_AO; } if (goog.LOCALE == 'ln_CD' || goog.LOCALE == 'ln-CD') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ln_CD; } +if (goog.LOCALE == 'ln_CF' || goog.LOCALE == 'ln-CF') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ln_CF; +} + if (goog.LOCALE == 'ln_CG' || goog.LOCALE == 'ln-CG') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ln_CG; } -if (goog.LOCALE == 'lo') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_lo; +if (goog.LOCALE == 'lo_LA' || goog.LOCALE == 'lo-LA') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_lo_LA; } -if (goog.LOCALE == 'lo_LA' || goog.LOCALE == 'lo-LA') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_lo; +if (goog.LOCALE == 'lrc') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_lrc; +} + +if (goog.LOCALE == 'lrc_IQ' || goog.LOCALE == 'lrc-IQ') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_lrc_IQ; +} + +if (goog.LOCALE == 'lrc_IR' || goog.LOCALE == 'lrc-IR') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_lrc_IR; } if (goog.LOCALE == 'lt_LT' || goog.LOCALE == 'lt-LT') { @@ -15382,7 +14743,7 @@ if (goog.LOCALE == 'lu') { } if (goog.LOCALE == 'lu_CD' || goog.LOCALE == 'lu-CD') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_lu; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_lu_CD; } if (goog.LOCALE == 'luo') { @@ -15390,7 +14751,7 @@ if (goog.LOCALE == 'luo') { } if (goog.LOCALE == 'luo_KE' || goog.LOCALE == 'luo-KE') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_luo; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_luo_KE; } if (goog.LOCALE == 'luy') { @@ -15398,7 +14759,7 @@ if (goog.LOCALE == 'luy') { } if (goog.LOCALE == 'luy_KE' || goog.LOCALE == 'luy-KE') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_luy; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_luy_KE; } if (goog.LOCALE == 'lv_LV' || goog.LOCALE == 'lv-LV') { @@ -15410,11 +14771,11 @@ if (goog.LOCALE == 'mas') { } if (goog.LOCALE == 'mas_KE' || goog.LOCALE == 'mas-KE') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_mas; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_mas_KE; } if (goog.LOCALE == 'mas_TZ' || goog.LOCALE == 'mas-TZ') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_mas; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_mas_TZ; } if (goog.LOCALE == 'mer') { @@ -15422,7 +14783,7 @@ if (goog.LOCALE == 'mer') { } if (goog.LOCALE == 'mer_KE' || goog.LOCALE == 'mer-KE') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_mer; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_mer_KE; } if (goog.LOCALE == 'mfe') { @@ -15430,7 +14791,7 @@ if (goog.LOCALE == 'mfe') { } if (goog.LOCALE == 'mfe_MU' || goog.LOCALE == 'mfe-MU') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_mfe; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_mfe_MU; } if (goog.LOCALE == 'mg') { @@ -15438,7 +14799,7 @@ if (goog.LOCALE == 'mg') { } if (goog.LOCALE == 'mg_MG' || goog.LOCALE == 'mg-MG') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_mg; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_mg_MG; } if (goog.LOCALE == 'mgh') { @@ -15446,21 +14807,29 @@ if (goog.LOCALE == 'mgh') { } if (goog.LOCALE == 'mgh_MZ' || goog.LOCALE == 'mgh-MZ') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_mgh; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_mgh_MZ; +} + +if (goog.LOCALE == 'mgo') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_mgo; } -if (goog.LOCALE == 'mk') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_mk; +if (goog.LOCALE == 'mgo_CM' || goog.LOCALE == 'mgo-CM') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_mgo_CM; } if (goog.LOCALE == 'mk_MK' || goog.LOCALE == 'mk-MK') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_mk; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_mk_MK; } if (goog.LOCALE == 'ml_IN' || goog.LOCALE == 'ml-IN') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ml_IN; } +if (goog.LOCALE == 'mn_MN' || goog.LOCALE == 'mn-MN') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_mn_MN; +} + if (goog.LOCALE == 'mr_IN' || goog.LOCALE == 'mr-IN') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_mr_IN; } @@ -15473,6 +14842,10 @@ if (goog.LOCALE == 'ms_MY' || goog.LOCALE == 'ms-MY') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ms_MY; } +if (goog.LOCALE == 'ms_SG' || goog.LOCALE == 'ms-SG') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ms_SG; +} + if (goog.LOCALE == 'mt_MT' || goog.LOCALE == 'mt-MT') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_mt_MT; } @@ -15482,15 +14855,19 @@ if (goog.LOCALE == 'mua') { } if (goog.LOCALE == 'mua_CM' || goog.LOCALE == 'mua-CM') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_mua; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_mua_CM; } -if (goog.LOCALE == 'my') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_my; +if (goog.LOCALE == 'my_MM' || goog.LOCALE == 'my-MM') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_my_MM; } -if (goog.LOCALE == 'my_MM' || goog.LOCALE == 'my-MM') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_my; +if (goog.LOCALE == 'mzn') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_mzn; +} + +if (goog.LOCALE == 'mzn_IR' || goog.LOCALE == 'mzn-IR') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_mzn_IR; } if (goog.LOCALE == 'naq') { @@ -15498,15 +14875,15 @@ if (goog.LOCALE == 'naq') { } if (goog.LOCALE == 'naq_NA' || goog.LOCALE == 'naq-NA') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_naq; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_naq_NA; } -if (goog.LOCALE == 'nb') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_nb; +if (goog.LOCALE == 'nb_NO' || goog.LOCALE == 'nb-NO') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_nb_NO; } -if (goog.LOCALE == 'nb_NO' || goog.LOCALE == 'nb-NO') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_nb; +if (goog.LOCALE == 'nb_SJ' || goog.LOCALE == 'nb-SJ') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_nb_SJ; } if (goog.LOCALE == 'nd') { @@ -15514,11 +14891,19 @@ if (goog.LOCALE == 'nd') { } if (goog.LOCALE == 'nd_ZW' || goog.LOCALE == 'nd-ZW') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_nd; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_nd_ZW; +} + +if (goog.LOCALE == 'nds') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_nds; } -if (goog.LOCALE == 'ne') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ne; +if (goog.LOCALE == 'nds_DE' || goog.LOCALE == 'nds-DE') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_nds_DE; +} + +if (goog.LOCALE == 'nds_NL' || goog.LOCALE == 'nds-NL') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_nds_NL; } if (goog.LOCALE == 'ne_IN' || goog.LOCALE == 'ne-IN') { @@ -15526,7 +14911,7 @@ if (goog.LOCALE == 'ne_IN' || goog.LOCALE == 'ne-IN') { } if (goog.LOCALE == 'ne_NP' || goog.LOCALE == 'ne-NP') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ne; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ne_NP; } if (goog.LOCALE == 'nl_AW' || goog.LOCALE == 'nl-AW') { @@ -15537,16 +14922,32 @@ if (goog.LOCALE == 'nl_BE' || goog.LOCALE == 'nl-BE') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_nl_BE; } +if (goog.LOCALE == 'nl_BQ' || goog.LOCALE == 'nl-BQ') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_nl_BQ; +} + +if (goog.LOCALE == 'nl_CW' || goog.LOCALE == 'nl-CW') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_nl_CW; +} + if (goog.LOCALE == 'nl_NL' || goog.LOCALE == 'nl-NL') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_nl_NL; } +if (goog.LOCALE == 'nl_SR' || goog.LOCALE == 'nl-SR') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_nl_SR; +} + +if (goog.LOCALE == 'nl_SX' || goog.LOCALE == 'nl-SX') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_nl_SX; +} + if (goog.LOCALE == 'nmg') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_nmg; } if (goog.LOCALE == 'nmg_CM' || goog.LOCALE == 'nmg-CM') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_nmg; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_nmg_CM; } if (goog.LOCALE == 'nn') { @@ -15554,31 +14955,23 @@ if (goog.LOCALE == 'nn') { } if (goog.LOCALE == 'nn_NO' || goog.LOCALE == 'nn-NO') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_nn; -} - -if (goog.LOCALE == 'nr') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_nr; -} - -if (goog.LOCALE == 'nr_ZA' || goog.LOCALE == 'nr-ZA') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_nr; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_nn_NO; } -if (goog.LOCALE == 'nso') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_nso; +if (goog.LOCALE == 'nnh') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_nnh; } -if (goog.LOCALE == 'nso_ZA' || goog.LOCALE == 'nso-ZA') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_nso; +if (goog.LOCALE == 'nnh_CM' || goog.LOCALE == 'nnh-CM') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_nnh_CM; } if (goog.LOCALE == 'nus') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_nus; } -if (goog.LOCALE == 'nus_SD' || goog.LOCALE == 'nus-SD') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_nus; +if (goog.LOCALE == 'nus_SS' || goog.LOCALE == 'nus-SS') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_nus_SS; } if (goog.LOCALE == 'nyn') { @@ -15586,7 +14979,7 @@ if (goog.LOCALE == 'nyn') { } if (goog.LOCALE == 'nyn_UG' || goog.LOCALE == 'nyn-UG') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_nyn; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_nyn_UG; } if (goog.LOCALE == 'om') { @@ -15594,19 +14987,27 @@ if (goog.LOCALE == 'om') { } if (goog.LOCALE == 'om_ET' || goog.LOCALE == 'om-ET') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_om; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_om_ET; } if (goog.LOCALE == 'om_KE' || goog.LOCALE == 'om-KE') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_om; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_om_KE; } if (goog.LOCALE == 'or_IN' || goog.LOCALE == 'or-IN') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_or_IN; } -if (goog.LOCALE == 'pa') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_pa; +if (goog.LOCALE == 'os') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_os; +} + +if (goog.LOCALE == 'os_GE' || goog.LOCALE == 'os-GE') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_os_GE; +} + +if (goog.LOCALE == 'os_RU' || goog.LOCALE == 'os-RU') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_os_RU; } if (goog.LOCALE == 'pa_Arab' || goog.LOCALE == 'pa-Arab') { @@ -15614,15 +15015,15 @@ if (goog.LOCALE == 'pa_Arab' || goog.LOCALE == 'pa-Arab') { } if (goog.LOCALE == 'pa_Arab_PK' || goog.LOCALE == 'pa-Arab-PK') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_pa_Arab; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_pa_Arab_PK; } if (goog.LOCALE == 'pa_Guru' || goog.LOCALE == 'pa-Guru') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_pa; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_pa_Guru; } if (goog.LOCALE == 'pa_Guru_IN' || goog.LOCALE == 'pa-Guru-IN') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_pa; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_pa_Guru_IN; } if (goog.LOCALE == 'pl_PL' || goog.LOCALE == 'pl-PL') { @@ -15634,17 +15035,37 @@ if (goog.LOCALE == 'ps') { } if (goog.LOCALE == 'ps_AF' || goog.LOCALE == 'ps-AF') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ps; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ps_AF; } if (goog.LOCALE == 'pt_AO' || goog.LOCALE == 'pt-AO') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_pt_AO; } +if (goog.LOCALE == 'pt_CH' || goog.LOCALE == 'pt-CH') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_pt_CH; +} + +if (goog.LOCALE == 'pt_CV' || goog.LOCALE == 'pt-CV') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_pt_CV; +} + +if (goog.LOCALE == 'pt_GQ' || goog.LOCALE == 'pt-GQ') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_pt_GQ; +} + if (goog.LOCALE == 'pt_GW' || goog.LOCALE == 'pt-GW') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_pt_GW; } +if (goog.LOCALE == 'pt_LU' || goog.LOCALE == 'pt-LU') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_pt_LU; +} + +if (goog.LOCALE == 'pt_MO' || goog.LOCALE == 'pt-MO') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_pt_MO; +} + if (goog.LOCALE == 'pt_MZ' || goog.LOCALE == 'pt-MZ') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_pt_MZ; } @@ -15653,12 +15074,32 @@ if (goog.LOCALE == 'pt_ST' || goog.LOCALE == 'pt-ST') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_pt_ST; } +if (goog.LOCALE == 'pt_TL' || goog.LOCALE == 'pt-TL') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_pt_TL; +} + +if (goog.LOCALE == 'qu') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_qu; +} + +if (goog.LOCALE == 'qu_BO' || goog.LOCALE == 'qu-BO') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_qu_BO; +} + +if (goog.LOCALE == 'qu_EC' || goog.LOCALE == 'qu-EC') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_qu_EC; +} + +if (goog.LOCALE == 'qu_PE' || goog.LOCALE == 'qu-PE') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_qu_PE; +} + if (goog.LOCALE == 'rm') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_rm; } if (goog.LOCALE == 'rm_CH' || goog.LOCALE == 'rm-CH') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_rm; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_rm_CH; } if (goog.LOCALE == 'rn') { @@ -15666,7 +15107,7 @@ if (goog.LOCALE == 'rn') { } if (goog.LOCALE == 'rn_BI' || goog.LOCALE == 'rn-BI') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_rn; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_rn_BI; } if (goog.LOCALE == 'ro_MD' || goog.LOCALE == 'ro-MD') { @@ -15682,7 +15123,19 @@ if (goog.LOCALE == 'rof') { } if (goog.LOCALE == 'rof_TZ' || goog.LOCALE == 'rof-TZ') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_rof; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_rof_TZ; +} + +if (goog.LOCALE == 'ru_BY' || goog.LOCALE == 'ru-BY') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ru_BY; +} + +if (goog.LOCALE == 'ru_KG' || goog.LOCALE == 'ru-KG') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ru_KG; +} + +if (goog.LOCALE == 'ru_KZ' || goog.LOCALE == 'ru-KZ') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ru_KZ; } if (goog.LOCALE == 'ru_MD' || goog.LOCALE == 'ru-MD') { @@ -15702,7 +15155,7 @@ if (goog.LOCALE == 'rw') { } if (goog.LOCALE == 'rw_RW' || goog.LOCALE == 'rw-RW') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_rw; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_rw_RW; } if (goog.LOCALE == 'rwk') { @@ -15710,7 +15163,7 @@ if (goog.LOCALE == 'rwk') { } if (goog.LOCALE == 'rwk_TZ' || goog.LOCALE == 'rwk-TZ') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_rwk; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_rwk_TZ; } if (goog.LOCALE == 'sah') { @@ -15718,7 +15171,7 @@ if (goog.LOCALE == 'sah') { } if (goog.LOCALE == 'sah_RU' || goog.LOCALE == 'sah-RU') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_sah; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_sah_RU; } if (goog.LOCALE == 'saq') { @@ -15726,7 +15179,7 @@ if (goog.LOCALE == 'saq') { } if (goog.LOCALE == 'saq_KE' || goog.LOCALE == 'saq-KE') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_saq; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_saq_KE; } if (goog.LOCALE == 'sbp') { @@ -15734,7 +15187,7 @@ if (goog.LOCALE == 'sbp') { } if (goog.LOCALE == 'sbp_TZ' || goog.LOCALE == 'sbp-TZ') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_sbp; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_sbp_TZ; } if (goog.LOCALE == 'se') { @@ -15746,7 +15199,11 @@ if (goog.LOCALE == 'se_FI' || goog.LOCALE == 'se-FI') { } if (goog.LOCALE == 'se_NO' || goog.LOCALE == 'se-NO') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_se; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_se_NO; +} + +if (goog.LOCALE == 'se_SE' || goog.LOCALE == 'se-SE') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_se_SE; } if (goog.LOCALE == 'seh') { @@ -15754,7 +15211,7 @@ if (goog.LOCALE == 'seh') { } if (goog.LOCALE == 'seh_MZ' || goog.LOCALE == 'seh-MZ') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_seh; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_seh_MZ; } if (goog.LOCALE == 'ses') { @@ -15762,7 +15219,7 @@ if (goog.LOCALE == 'ses') { } if (goog.LOCALE == 'ses_ML' || goog.LOCALE == 'ses-ML') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ses; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ses_ML; } if (goog.LOCALE == 'sg') { @@ -15770,7 +15227,7 @@ if (goog.LOCALE == 'sg') { } if (goog.LOCALE == 'sg_CF' || goog.LOCALE == 'sg-CF') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_sg; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_sg_CF; } if (goog.LOCALE == 'shi') { @@ -15778,11 +15235,11 @@ if (goog.LOCALE == 'shi') { } if (goog.LOCALE == 'shi_Latn' || goog.LOCALE == 'shi-Latn') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_shi; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_shi_Latn; } if (goog.LOCALE == 'shi_Latn_MA' || goog.LOCALE == 'shi-Latn-MA') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_shi; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_shi_Latn_MA; } if (goog.LOCALE == 'shi_Tfng' || goog.LOCALE == 'shi-Tfng') { @@ -15790,15 +15247,11 @@ if (goog.LOCALE == 'shi_Tfng' || goog.LOCALE == 'shi-Tfng') { } if (goog.LOCALE == 'shi_Tfng_MA' || goog.LOCALE == 'shi-Tfng-MA') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_shi_Tfng; -} - -if (goog.LOCALE == 'si') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_si; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_shi_Tfng_MA; } if (goog.LOCALE == 'si_LK' || goog.LOCALE == 'si-LK') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_si; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_si_LK; } if (goog.LOCALE == 'sk_SK' || goog.LOCALE == 'sk-SK') { @@ -15809,12 +15262,20 @@ if (goog.LOCALE == 'sl_SI' || goog.LOCALE == 'sl-SI') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_sl_SI; } +if (goog.LOCALE == 'smn') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_smn; +} + +if (goog.LOCALE == 'smn_FI' || goog.LOCALE == 'smn-FI') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_smn_FI; +} + if (goog.LOCALE == 'sn') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_sn; } if (goog.LOCALE == 'sn_ZW' || goog.LOCALE == 'sn-ZW') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_sn; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_sn_ZW; } if (goog.LOCALE == 'so') { @@ -15822,25 +15283,33 @@ if (goog.LOCALE == 'so') { } if (goog.LOCALE == 'so_DJ' || goog.LOCALE == 'so-DJ') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_so; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_so_DJ; } if (goog.LOCALE == 'so_ET' || goog.LOCALE == 'so-ET') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_so; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_so_ET; } if (goog.LOCALE == 'so_KE' || goog.LOCALE == 'so-KE') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_so; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_so_KE; } if (goog.LOCALE == 'so_SO' || goog.LOCALE == 'so-SO') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_so; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_so_SO; } if (goog.LOCALE == 'sq_AL' || goog.LOCALE == 'sq-AL') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_sq_AL; } +if (goog.LOCALE == 'sq_MK' || goog.LOCALE == 'sq-MK') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_sq_MK; +} + +if (goog.LOCALE == 'sq_XK' || goog.LOCALE == 'sq-XK') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_sq_XK; +} + if (goog.LOCALE == 'sr_Cyrl' || goog.LOCALE == 'sr-Cyrl') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_sr_Cyrl; } @@ -15850,19 +15319,19 @@ if (goog.LOCALE == 'sr_Cyrl_BA' || goog.LOCALE == 'sr-Cyrl-BA') { } if (goog.LOCALE == 'sr_Cyrl_ME' || goog.LOCALE == 'sr-Cyrl-ME') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_sr_Cyrl; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_sr_Cyrl_ME; } if (goog.LOCALE == 'sr_Cyrl_RS' || goog.LOCALE == 'sr-Cyrl-RS') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_sr_Cyrl; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_sr_Cyrl_RS; } -if (goog.LOCALE == 'sr_Latn' || goog.LOCALE == 'sr-Latn') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_sr_Latn; +if (goog.LOCALE == 'sr_Cyrl_XK' || goog.LOCALE == 'sr-Cyrl-XK') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_sr_Cyrl_XK; } if (goog.LOCALE == 'sr_Latn_BA' || goog.LOCALE == 'sr-Latn-BA') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_sr_Latn; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_sr_Latn_BA; } if (goog.LOCALE == 'sr_Latn_ME' || goog.LOCALE == 'sr-Latn-ME') { @@ -15870,39 +15339,15 @@ if (goog.LOCALE == 'sr_Latn_ME' || goog.LOCALE == 'sr-Latn-ME') { } if (goog.LOCALE == 'sr_Latn_RS' || goog.LOCALE == 'sr-Latn-RS') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_sr_Latn; -} - -if (goog.LOCALE == 'ss') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ss; -} - -if (goog.LOCALE == 'ss_SZ' || goog.LOCALE == 'ss-SZ') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ss; -} - -if (goog.LOCALE == 'ss_ZA' || goog.LOCALE == 'ss-ZA') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ss; -} - -if (goog.LOCALE == 'ssy') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ssy; -} - -if (goog.LOCALE == 'ssy_ER' || goog.LOCALE == 'ssy-ER') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ssy; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_sr_Latn_RS; } -if (goog.LOCALE == 'st') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_st; +if (goog.LOCALE == 'sr_Latn_XK' || goog.LOCALE == 'sr-Latn-XK') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_sr_Latn_XK; } -if (goog.LOCALE == 'st_LS' || goog.LOCALE == 'st-LS') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_st; -} - -if (goog.LOCALE == 'st_ZA' || goog.LOCALE == 'st-ZA') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_st; +if (goog.LOCALE == 'sv_AX' || goog.LOCALE == 'sv-AX') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_sv_AX; } if (goog.LOCALE == 'sv_FI' || goog.LOCALE == 'sv-FI') { @@ -15913,6 +15358,10 @@ if (goog.LOCALE == 'sv_SE' || goog.LOCALE == 'sv-SE') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_sv_SE; } +if (goog.LOCALE == 'sw_CD' || goog.LOCALE == 'sw-CD') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_sw_CD; +} + if (goog.LOCALE == 'sw_KE' || goog.LOCALE == 'sw-KE') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_sw_KE; } @@ -15921,12 +15370,8 @@ if (goog.LOCALE == 'sw_TZ' || goog.LOCALE == 'sw-TZ') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_sw_TZ; } -if (goog.LOCALE == 'swc') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_swc; -} - -if (goog.LOCALE == 'swc_CD' || goog.LOCALE == 'swc-CD') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_swc; +if (goog.LOCALE == 'sw_UG' || goog.LOCALE == 'sw-UG') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_sw_UG; } if (goog.LOCALE == 'ta_IN' || goog.LOCALE == 'ta-IN') { @@ -15937,6 +15382,14 @@ if (goog.LOCALE == 'ta_LK' || goog.LOCALE == 'ta-LK') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ta_LK; } +if (goog.LOCALE == 'ta_MY' || goog.LOCALE == 'ta-MY') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ta_MY; +} + +if (goog.LOCALE == 'ta_SG' || goog.LOCALE == 'ta-SG') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ta_SG; +} + if (goog.LOCALE == 'te_IN' || goog.LOCALE == 'te-IN') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_te_IN; } @@ -15946,23 +15399,11 @@ if (goog.LOCALE == 'teo') { } if (goog.LOCALE == 'teo_KE' || goog.LOCALE == 'teo-KE') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_teo; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_teo_KE; } if (goog.LOCALE == 'teo_UG' || goog.LOCALE == 'teo-UG') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_teo; -} - -if (goog.LOCALE == 'tg') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_tg; -} - -if (goog.LOCALE == 'tg_Cyrl' || goog.LOCALE == 'tg-Cyrl') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_tg; -} - -if (goog.LOCALE == 'tg_Cyrl_TJ' || goog.LOCALE == 'tg-Cyrl-TJ') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_tg; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_teo_UG; } if (goog.LOCALE == 'th_TH' || goog.LOCALE == 'th-TH') { @@ -15978,23 +15419,7 @@ if (goog.LOCALE == 'ti_ER' || goog.LOCALE == 'ti-ER') { } if (goog.LOCALE == 'ti_ET' || goog.LOCALE == 'ti-ET') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ti; -} - -if (goog.LOCALE == 'tig') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_tig; -} - -if (goog.LOCALE == 'tig_ER' || goog.LOCALE == 'tig-ER') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_tig; -} - -if (goog.LOCALE == 'tn') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_tn; -} - -if (goog.LOCALE == 'tn_ZA' || goog.LOCALE == 'tn-ZA') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_tn; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ti_ET; } if (goog.LOCALE == 'to') { @@ -16002,19 +15427,15 @@ if (goog.LOCALE == 'to') { } if (goog.LOCALE == 'to_TO' || goog.LOCALE == 'to-TO') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_to; -} - -if (goog.LOCALE == 'tr_TR' || goog.LOCALE == 'tr-TR') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_tr_TR; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_to_TO; } -if (goog.LOCALE == 'ts') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ts; +if (goog.LOCALE == 'tr_CY' || goog.LOCALE == 'tr-CY') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_tr_CY; } -if (goog.LOCALE == 'ts_ZA' || goog.LOCALE == 'ts-ZA') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ts; +if (goog.LOCALE == 'tr_TR' || goog.LOCALE == 'tr-TR') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_tr_TR; } if (goog.LOCALE == 'twq') { @@ -16022,19 +15443,23 @@ if (goog.LOCALE == 'twq') { } if (goog.LOCALE == 'twq_NE' || goog.LOCALE == 'twq-NE') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_twq; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_twq_NE; } if (goog.LOCALE == 'tzm') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_tzm; } -if (goog.LOCALE == 'tzm_Latn' || goog.LOCALE == 'tzm-Latn') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_tzm; +if (goog.LOCALE == 'tzm_MA' || goog.LOCALE == 'tzm-MA') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_tzm_MA; } -if (goog.LOCALE == 'tzm_Latn_MA' || goog.LOCALE == 'tzm-Latn-MA') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_tzm; +if (goog.LOCALE == 'ug') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ug; +} + +if (goog.LOCALE == 'ug_CN' || goog.LOCALE == 'ug-CN') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ug_CN; } if (goog.LOCALE == 'uk_UA' || goog.LOCALE == 'uk-UA') { @@ -16049,24 +15474,20 @@ if (goog.LOCALE == 'ur_PK' || goog.LOCALE == 'ur-PK') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ur_PK; } -if (goog.LOCALE == 'uz') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_uz; -} - if (goog.LOCALE == 'uz_Arab' || goog.LOCALE == 'uz-Arab') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_uz_Arab; } if (goog.LOCALE == 'uz_Arab_AF' || goog.LOCALE == 'uz-Arab-AF') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_uz_Arab; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_uz_Arab_AF; } if (goog.LOCALE == 'uz_Cyrl' || goog.LOCALE == 'uz-Cyrl') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_uz; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_uz_Cyrl; } if (goog.LOCALE == 'uz_Cyrl_UZ' || goog.LOCALE == 'uz-Cyrl-UZ') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_uz; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_uz_Cyrl_UZ; } if (goog.LOCALE == 'uz_Latn' || goog.LOCALE == 'uz-Latn') { @@ -16074,7 +15495,7 @@ if (goog.LOCALE == 'uz_Latn' || goog.LOCALE == 'uz-Latn') { } if (goog.LOCALE == 'uz_Latn_UZ' || goog.LOCALE == 'uz-Latn-UZ') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_uz_Latn; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_uz_Latn_UZ; } if (goog.LOCALE == 'vai') { @@ -16086,23 +15507,15 @@ if (goog.LOCALE == 'vai_Latn' || goog.LOCALE == 'vai-Latn') { } if (goog.LOCALE == 'vai_Latn_LR' || goog.LOCALE == 'vai-Latn-LR') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_vai_Latn; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_vai_Latn_LR; } if (goog.LOCALE == 'vai_Vaii' || goog.LOCALE == 'vai-Vaii') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_vai; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_vai_Vaii; } if (goog.LOCALE == 'vai_Vaii_LR' || goog.LOCALE == 'vai-Vaii-LR') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_vai; -} - -if (goog.LOCALE == 've') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ve; -} - -if (goog.LOCALE == 've_ZA' || goog.LOCALE == 've-ZA') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ve; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_vai_Vaii_LR; } if (goog.LOCALE == 'vi_VN' || goog.LOCALE == 'vi-VN') { @@ -16114,7 +15527,7 @@ if (goog.LOCALE == 'vun') { } if (goog.LOCALE == 'vun_TZ' || goog.LOCALE == 'vun-TZ') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_vun; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_vun_TZ; } if (goog.LOCALE == 'wae') { @@ -16122,23 +15535,7 @@ if (goog.LOCALE == 'wae') { } if (goog.LOCALE == 'wae_CH' || goog.LOCALE == 'wae-CH') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_wae; -} - -if (goog.LOCALE == 'wal') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_wal; -} - -if (goog.LOCALE == 'wal_ET' || goog.LOCALE == 'wal-ET') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_wal; -} - -if (goog.LOCALE == 'xh') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_xh; -} - -if (goog.LOCALE == 'xh_ZA' || goog.LOCALE == 'xh-ZA') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_xh; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_wae_CH; } if (goog.LOCALE == 'xog') { @@ -16146,7 +15543,7 @@ if (goog.LOCALE == 'xog') { } if (goog.LOCALE == 'xog_UG' || goog.LOCALE == 'xog-UG') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_xog; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_xog_UG; } if (goog.LOCALE == 'yav') { @@ -16154,15 +15551,43 @@ if (goog.LOCALE == 'yav') { } if (goog.LOCALE == 'yav_CM' || goog.LOCALE == 'yav-CM') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_yav; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_yav_CM; +} + +if (goog.LOCALE == 'yi') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_yi; +} + +if (goog.LOCALE == 'yi_001' || goog.LOCALE == 'yi-001') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_yi_001; } if (goog.LOCALE == 'yo') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_yo; } +if (goog.LOCALE == 'yo_BJ' || goog.LOCALE == 'yo-BJ') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_yo_BJ; +} + if (goog.LOCALE == 'yo_NG' || goog.LOCALE == 'yo-NG') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_yo; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_yo_NG; +} + +if (goog.LOCALE == 'yue') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_yue; +} + +if (goog.LOCALE == 'yue_HK' || goog.LOCALE == 'yue-HK') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_yue_HK; +} + +if (goog.LOCALE == 'zgh') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_zgh; +} + +if (goog.LOCALE == 'zgh_MA' || goog.LOCALE == 'zgh-MA') { + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_zgh_MA; } if (goog.LOCALE == 'zh_Hans' || goog.LOCALE == 'zh-Hans') { @@ -16170,7 +15595,7 @@ if (goog.LOCALE == 'zh_Hans' || goog.LOCALE == 'zh-Hans') { } if (goog.LOCALE == 'zh_Hans_CN' || goog.LOCALE == 'zh-Hans-CN') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_zh_Hans; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_zh_Hans_CN; } if (goog.LOCALE == 'zh_Hans_HK' || goog.LOCALE == 'zh-Hans-HK') { @@ -16198,10 +15623,9 @@ if (goog.LOCALE == 'zh_Hant_MO' || goog.LOCALE == 'zh-Hant-MO') { } if (goog.LOCALE == 'zh_Hant_TW' || goog.LOCALE == 'zh-Hant-TW') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_zh_Hant; + goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_zh_Hant_TW; } if (goog.LOCALE == 'zu_ZA' || goog.LOCALE == 'zu-ZA') { goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_zu_ZA; } - diff --git a/i18n/closure/datetimesymbols.js b/i18n/closure/datetimesymbols.js deleted file mode 100644 index 7d3e66145d95..000000000000 --- a/i18n/closure/datetimesymbols.js +++ /dev/null @@ -1,3551 +0,0 @@ -// Copyright 2011 The Closure Library Authors. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS-IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -/** - * @fileoverview Date/time formatting symbols for all locales. - * - * This file is autogenerated by script. See - * http://go/generate_datetime_constants.py using the --for_closure flag. - * - * To reduce the file size (which may cause issues in some JS - * developing environments), this file will only contain locales - * that are usually supported by google products. It is a super - * set of 40 languages. Rest of the data can be found in another file - * named "datetimesymbolsext.js", which will be generated at the same - * time as this file. - * Before checkin, this file could have been manually edited. This is - * to incorporate changes before we could correct CLDR. All manual - * modification must be documented in this section, and should be - * removed after those changes land to CLDR. - */ - -goog.provide('goog.i18n.DateTimeSymbols'); -goog.provide('goog.i18n.DateTimeSymbols_af'); -goog.provide('goog.i18n.DateTimeSymbols_am'); -goog.provide('goog.i18n.DateTimeSymbols_ar'); -goog.provide('goog.i18n.DateTimeSymbols_bg'); -goog.provide('goog.i18n.DateTimeSymbols_bn'); -goog.provide('goog.i18n.DateTimeSymbols_ca'); -goog.provide('goog.i18n.DateTimeSymbols_chr'); -goog.provide('goog.i18n.DateTimeSymbols_cs'); -goog.provide('goog.i18n.DateTimeSymbols_cy'); -goog.provide('goog.i18n.DateTimeSymbols_da'); -goog.provide('goog.i18n.DateTimeSymbols_de'); -goog.provide('goog.i18n.DateTimeSymbols_de_AT'); -goog.provide('goog.i18n.DateTimeSymbols_de_CH'); -goog.provide('goog.i18n.DateTimeSymbols_el'); -goog.provide('goog.i18n.DateTimeSymbols_en'); -goog.provide('goog.i18n.DateTimeSymbols_en_AU'); -goog.provide('goog.i18n.DateTimeSymbols_en_GB'); -goog.provide('goog.i18n.DateTimeSymbols_en_IE'); -goog.provide('goog.i18n.DateTimeSymbols_en_IN'); -goog.provide('goog.i18n.DateTimeSymbols_en_ISO'); -goog.provide('goog.i18n.DateTimeSymbols_en_SG'); -goog.provide('goog.i18n.DateTimeSymbols_en_US'); -goog.provide('goog.i18n.DateTimeSymbols_en_ZA'); -goog.provide('goog.i18n.DateTimeSymbols_es'); -goog.provide('goog.i18n.DateTimeSymbols_es_419'); -goog.provide('goog.i18n.DateTimeSymbols_et'); -goog.provide('goog.i18n.DateTimeSymbols_eu'); -goog.provide('goog.i18n.DateTimeSymbols_fa'); -goog.provide('goog.i18n.DateTimeSymbols_fi'); -goog.provide('goog.i18n.DateTimeSymbols_fil'); -goog.provide('goog.i18n.DateTimeSymbols_fr'); -goog.provide('goog.i18n.DateTimeSymbols_fr_CA'); -goog.provide('goog.i18n.DateTimeSymbols_gl'); -goog.provide('goog.i18n.DateTimeSymbols_gsw'); -goog.provide('goog.i18n.DateTimeSymbols_gu'); -goog.provide('goog.i18n.DateTimeSymbols_haw'); -goog.provide('goog.i18n.DateTimeSymbols_he'); -goog.provide('goog.i18n.DateTimeSymbols_hi'); -goog.provide('goog.i18n.DateTimeSymbols_hr'); -goog.provide('goog.i18n.DateTimeSymbols_hu'); -goog.provide('goog.i18n.DateTimeSymbols_id'); -goog.provide('goog.i18n.DateTimeSymbols_in'); -goog.provide('goog.i18n.DateTimeSymbols_is'); -goog.provide('goog.i18n.DateTimeSymbols_it'); -goog.provide('goog.i18n.DateTimeSymbols_iw'); -goog.provide('goog.i18n.DateTimeSymbols_ja'); -goog.provide('goog.i18n.DateTimeSymbols_kn'); -goog.provide('goog.i18n.DateTimeSymbols_ko'); -goog.provide('goog.i18n.DateTimeSymbols_ln'); -goog.provide('goog.i18n.DateTimeSymbols_lt'); -goog.provide('goog.i18n.DateTimeSymbols_lv'); -goog.provide('goog.i18n.DateTimeSymbols_ml'); -goog.provide('goog.i18n.DateTimeSymbols_mr'); -goog.provide('goog.i18n.DateTimeSymbols_ms'); -goog.provide('goog.i18n.DateTimeSymbols_mt'); -goog.provide('goog.i18n.DateTimeSymbols_nl'); -goog.provide('goog.i18n.DateTimeSymbols_no'); -goog.provide('goog.i18n.DateTimeSymbols_or'); -goog.provide('goog.i18n.DateTimeSymbols_pl'); -goog.provide('goog.i18n.DateTimeSymbols_pt'); -goog.provide('goog.i18n.DateTimeSymbols_pt_BR'); -goog.provide('goog.i18n.DateTimeSymbols_pt_PT'); -goog.provide('goog.i18n.DateTimeSymbols_ro'); -goog.provide('goog.i18n.DateTimeSymbols_ru'); -goog.provide('goog.i18n.DateTimeSymbols_sk'); -goog.provide('goog.i18n.DateTimeSymbols_sl'); -goog.provide('goog.i18n.DateTimeSymbols_sq'); -goog.provide('goog.i18n.DateTimeSymbols_sr'); -goog.provide('goog.i18n.DateTimeSymbols_sv'); -goog.provide('goog.i18n.DateTimeSymbols_sw'); -goog.provide('goog.i18n.DateTimeSymbols_ta'); -goog.provide('goog.i18n.DateTimeSymbols_te'); -goog.provide('goog.i18n.DateTimeSymbols_th'); -goog.provide('goog.i18n.DateTimeSymbols_tl'); -goog.provide('goog.i18n.DateTimeSymbols_tr'); -goog.provide('goog.i18n.DateTimeSymbols_uk'); -goog.provide('goog.i18n.DateTimeSymbols_ur'); -goog.provide('goog.i18n.DateTimeSymbols_vi'); -goog.provide('goog.i18n.DateTimeSymbols_zh'); -goog.provide('goog.i18n.DateTimeSymbols_zh_CN'); -goog.provide('goog.i18n.DateTimeSymbols_zh_HK'); -goog.provide('goog.i18n.DateTimeSymbols_zh_TW'); -goog.provide('goog.i18n.DateTimeSymbols_zu'); - - -/** - * Date/time formatting symbols for locale en_ISO. - */ -goog.i18n.DateTimeSymbols_en_ISO = { - ERAS: ['BC', 'AD'], - ERANAMES: ['Before Christ', 'Anno Domini'], - NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', - 'August', 'September', 'October', 'November', 'December'], - STANDALONEMONTHS: ['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'], - STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', - 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], - WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', - 'Saturday'], - STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', - 'Friday', 'Saturday'], - SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], - STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], - NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], - STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], - SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], - AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE, y MMMM dd', 'y MMMM d', 'y MMM d', 'yyyy-MM-dd'], - TIMEFORMATS: ['HH:mm:ss v', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - AVAILABLEFORMATS: {'Md': 'M/d', 'MMMMd': 'MMMM d', 'MMMd': 'MMM d'}, - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 3 -}; - - -/** - * Date/time formatting symbols for locale af. - */ -goog.i18n.DateTimeSymbols_af = { - ERAS: ['v.C.', 'n.C.'], - ERANAMES: ['voor Christus', 'na Christus'], - NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['Januarie', 'Februarie', 'Maart', 'April', 'Mei', 'Junie', 'Julie', - 'Augustus', 'September', 'Oktober', 'November', 'Desember'], - STANDALONEMONTHS: ['Januarie', 'Februarie', 'Maart', 'April', 'Mei', 'Junie', - 'Julie', 'Augustus', 'September', 'Oktober', 'November', 'Desember'], - SHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'Mei', 'Jun', 'Jul', 'Aug', 'Sep', - 'Okt', 'Nov', 'Des'], - STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'Mei', 'Jun', 'Jul', - 'Aug', 'Sep', 'Okt', 'Nov', 'Des'], - WEEKDAYS: ['Sondag', 'Maandag', 'Dinsdag', 'Woensdag', 'Donderdag', 'Vrydag', - 'Saterdag'], - STANDALONEWEEKDAYS: ['Sondag', 'Maandag', 'Dinsdag', 'Woensdag', 'Donderdag', - 'Vrydag', 'Saterdag'], - SHORTWEEKDAYS: ['So', 'Ma', 'Di', 'Wo', 'Do', 'Vr', 'Sa'], - STANDALONESHORTWEEKDAYS: ['So', 'Ma', 'Di', 'Wo', 'Do', 'Vr', 'Sa'], - NARROWWEEKDAYS: ['S', 'M', 'D', 'W', 'D', 'V', 'S'], - STANDALONENARROWWEEKDAYS: ['S', 'M', 'D', 'W', 'D', 'V', 'S'], - SHORTQUARTERS: ['K1', 'K2', 'K3', 'K4'], - QUARTERS: ['1ste kwartaal', '2de kwartaal', '3de kwartaal', '4de kwartaal'], - AMPMS: ['vm.', 'nm.'], - DATEFORMATS: ['EEEE dd MMMM y', 'dd MMMM y', 'dd MMM y', 'yyyy-MM-dd'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], - FIRSTDAYOFWEEK: 6, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 5 -}; - - -/** - * Date/time formatting symbols for locale am. - */ -goog.i18n.DateTimeSymbols_am = { - ERAS: ['ዓ/ዓ', 'ዓ/ም'], - ERANAMES: ['ዓመተ ዓለም', 'ዓመተ ምሕረት'], - NARROWMONTHS: ['ጃ', 'ፌ', 'ማ', 'ኤ', 'ሜ', 'ጁ', 'ጁ', 'ኦ', 'ሴ', - 'ኦ', 'ኖ', 'ዲ'], - STANDALONENARROWMONTHS: ['ጃ', 'ፌ', 'ማ', 'ኤ', 'ሜ', 'ጁ', 'ጁ', - 'ኦ', 'ሴ', 'ኦ', 'ኖ', 'ዲ'], - MONTHS: ['ጃንዩወሪ', 'ፌብሩወሪ', 'ማርች', 'ኤፕረል', - 'ሜይ', 'ጁን', 'ጁላይ', 'ኦገስት', 'ሴፕቴምበር', - 'ኦክተውበር', 'ኖቬምበር', 'ዲሴምበር'], - STANDALONEMONTHS: ['ጃንዩወሪ', 'ፌብሩወሪ', 'ማርች', - 'ኤፕረል', 'ሜይ', 'ጁን', 'ጁላይ', 'ኦገስት', - 'ሴፕቴምበር', 'ኦክተውበር', 'ኖቬምበር', - 'ዲሴምበር'], - SHORTMONTHS: ['ጃንዩ', 'ፌብሩ', 'ማርች', 'ኤፕረ', 'ሜይ', - 'ጁን', 'ጁላይ', 'ኦገስ', 'ሴፕቴ', 'ኦክተ', 'ኖቬም', - 'ዲሴም'], - STANDALONESHORTMONTHS: ['ጃንዩ', 'ፌብሩ', 'ማርች', 'ኤፕረ', - 'ሜይ', 'ጁን', 'ጁላይ', 'ኦገስ', 'ሴፕቴ', 'ኦክተ', - 'ኖቬም', 'ዲሴም'], - WEEKDAYS: ['እሑድ', 'ሰኞ', 'ማክሰኞ', 'ረቡዕ', 'ሐሙስ', - 'ዓርብ', 'ቅዳሜ'], - STANDALONEWEEKDAYS: ['እሑድ', 'ሰኞ', 'ማክሰኞ', 'ረቡዕ', - 'ሐሙስ', 'ዓርብ', 'ቅዳሜ'], - SHORTWEEKDAYS: ['እሑድ', 'ሰኞ', 'ማክሰ', 'ረቡዕ', 'ሐሙስ', - 'ዓርብ', 'ቅዳሜ'], - STANDALONESHORTWEEKDAYS: ['እሑድ', 'ሰኞ', 'ማክሰ', 'ረቡዕ', - 'ሐሙስ', 'ዓርብ', 'ቅዳሜ'], - NARROWWEEKDAYS: ['እ', 'ሰ', 'ማ', 'ረ', 'ሐ', 'ዓ', 'ቅ'], - STANDALONENARROWWEEKDAYS: ['እ', 'ሰ', 'ማ', 'ረ', 'ሐ', 'ዓ', 'ቅ'], - SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - QUARTERS: ['1ኛው ሩብ', 'ሁለተኛው ሩብ', '3ኛው ሩብ', - '4ኛው ሩብ'], - AMPMS: ['ጡዋት', 'ከሳዓት'], - DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yyyy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], - FIRSTDAYOFWEEK: 6, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 5 -}; - - -/** - * Date/time formatting symbols for locale ar. - */ -goog.i18n.DateTimeSymbols_ar = { - ZERODIGIT: 0x0660, - ERAS: ['ق.م', 'م'], - ERANAMES: ['قبل الميلاد', 'ميلادي'], - NARROWMONTHS: ['ي', 'ف', 'م', 'أ', 'و', 'ن', 'ل', 'غ', 'س', 'ك', - 'ب', 'د'], - STANDALONENARROWMONTHS: ['ي', 'ف', 'م', 'أ', 'و', 'ن', 'ل', 'غ', 'س', - 'ك', 'ب', 'د'], - MONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', - 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', - 'نوفمبر', 'ديسمبر'], - STANDALONEMONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', - 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', - 'أكتوبر', 'نوفمبر', 'ديسمبر'], - SHORTMONTHS: ['يناير', 'فبراير', 'مارس', 'أبريل', - 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', - 'أكتوبر', 'نوفمبر', 'ديسمبر'], - STANDALONESHORTMONTHS: ['يناير', 'فبراير', 'مارس', - 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', - 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'], - WEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', - 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - STANDALONEWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', - 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - SHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', - 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - STANDALONESHORTWEEKDAYS: ['الأحد', 'الاثنين', 'الثلاثاء', - 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - NARROWWEEKDAYS: ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'], - STANDALONENARROWWEEKDAYS: ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'], - SHORTQUARTERS: ['الربع الأول', 'الربع الثاني', - 'الربع الثالث', 'الربع الرابع'], - QUARTERS: ['الربع الأول', 'الربع الثاني', - 'الربع الثالث', 'الربع الرابع'], - AMPMS: ['ص', 'م'], - DATEFORMATS: ['EEEE، d MMMM، y', 'd MMMM، y', 'dd‏/MM‏/yyyy', - 'd‏/M‏/yyyy'], - TIMEFORMATS: ['zzzz h:mm:ss a', 'z h:mm:ss a', 'h:mm:ss a', 'h:mm a'], - FIRSTDAYOFWEEK: 5, - WEEKENDRANGE: [4, 5], - FIRSTWEEKCUTOFFDAY: 4 -}; - - -/** - * Date/time formatting symbols for locale bg. - */ -goog.i18n.DateTimeSymbols_bg = { - ERAS: ['пр. н. е.', 'от н. е.'], - ERANAMES: ['пр.Хр.', 'сл.Хр.'], - NARROWMONTHS: ['я', 'ф', 'м', 'а', 'м', 'ю', 'ю', 'а', 'с', 'о', - 'н', 'д'], - STANDALONENARROWMONTHS: ['я', 'ф', 'м', 'а', 'м', 'ю', 'ю', 'а', 'с', - 'о', 'н', 'д'], - MONTHS: ['януари', 'февруари', 'март', 'април', - 'май', 'юни', 'юли', 'август', 'септември', - 'октомври', 'ноември', 'декември'], - STANDALONEMONTHS: ['януари', 'февруари', 'март', - 'април', 'май', 'юни', 'юли', 'август', - 'септември', 'октомври', 'ноември', - 'декември'], - SHORTMONTHS: ['ян.', 'февр.', 'март', 'апр.', 'май', 'юни', - 'юли', 'авг.', 'септ.', 'окт.', 'ноем.', 'дек.'], - STANDALONESHORTMONTHS: ['ян.', 'февр.', 'март', 'апр.', 'май', - 'юни', 'юли', 'авг.', 'септ.', 'окт.', 'ноем.', - 'дек.'], - WEEKDAYS: ['неделя', 'понеделник', 'вторник', - 'сряда', 'четвъртък', 'петък', 'събота'], - STANDALONEWEEKDAYS: ['неделя', 'понеделник', 'вторник', - 'сряда', 'четвъртък', 'петък', 'събота'], - SHORTWEEKDAYS: ['нд', 'пн', 'вт', 'ср', 'чт', 'пт', 'сб'], - STANDALONESHORTWEEKDAYS: ['нд', 'пн', 'вт', 'ср', 'чт', 'пт', - 'сб'], - NARROWWEEKDAYS: ['н', 'п', 'в', 'с', 'ч', 'п', 'с'], - STANDALONENARROWWEEKDAYS: ['н', 'п', 'в', 'с', 'ч', 'п', 'с'], - SHORTQUARTERS: ['I трим.', 'II трим.', 'III трим.', - 'IV трим.'], - QUARTERS: ['1-во тримесечие', '2-ро тримесечие', - '3-то тримесечие', '4-то тримесечие'], - AMPMS: ['пр. об.', 'сл. об.'], - DATEFORMATS: ['dd MMMM y, EEEE', 'dd MMMM y', 'dd.MM.yyyy', 'dd.MM.yy'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 3 -}; - - -/** - * Date/time formatting symbols for locale bn. - */ -goog.i18n.DateTimeSymbols_bn = { - ZERODIGIT: 0x09E6, - ERAS: ['খৃষ্টপূর্ব', 'খৃষ্টাব্দ'], - ERANAMES: ['খৃষ্টপূর্ব', 'খৃষ্টাব্দ'], - NARROWMONTHS: ['জা', 'ফে', 'মা', 'এ', 'মে', 'জুন', - 'জু', 'আ', 'সে', 'অ', 'ন', 'ডি'], - STANDALONENARROWMONTHS: ['জা', 'ফে', 'মা', 'এ', 'মে', - 'জুন', 'জু', 'আ', 'সে', 'অ', 'ন', 'ডি'], - MONTHS: ['জানুয়ারী', 'ফেব্রুয়ারী', - 'মার্চ', 'এপ্রিল', 'মে', 'জুন', - 'জুলাই', 'আগস্ট', 'সেপ্টেম্বর', - 'অক্টোবর', 'নভেম্বর', - 'ডিসেম্বর'], - STANDALONEMONTHS: ['জানুয়ারী', - 'ফেব্রুয়ারী', 'মার্চ', - 'এপ্রিল', 'মে', 'জুন', 'জুলাই', - 'আগস্ট', 'সেপ্টেম্বর', - 'অক্টোবর', 'নভেম্বর', - 'ডিসেম্বর'], - SHORTMONTHS: ['জানুয়ারী', - 'ফেব্রুয়ারী', 'মার্চ', - 'এপ্রিল', 'মে', 'জুন', 'জুলাই', - 'আগস্ট', 'সেপ্টেম্বর', - 'অক্টোবর', 'নভেম্বর', - 'ডিসেম্বর'], - STANDALONESHORTMONTHS: ['জানুয়ারী', - 'ফেব্রুয়ারী', 'মার্চ', - 'এপ্রিল', 'মে', 'জুন', 'জুলাই', - 'আগস্ট', 'সেপ্টেম্বর', - 'অক্টোবর', 'নভেম্বর', - 'ডিসেম্বর'], - WEEKDAYS: ['রবিবার', 'সোমবার', - 'মঙ্গলবার', 'বুধবার', - 'বৃহষ্পতিবার', 'শুক্রবার', - 'শনিবার'], - STANDALONEWEEKDAYS: ['রবিবার', 'সোমবার', - 'মঙ্গলবার', 'বুধবার', - 'বৃহষ্পতিবার', 'শুক্রবার', - 'শনিবার'], - SHORTWEEKDAYS: ['রবি', 'সোম', 'মঙ্গল', 'বুধ', - 'বৃহস্পতি', 'শুক্র', 'শনি'], - STANDALONESHORTWEEKDAYS: ['রবি', 'সোম', 'মঙ্গল', - 'বুধ', 'বৃহস্পতি', 'শুক্র', 'শনি'], - NARROWWEEKDAYS: ['র', 'সো', 'ম', 'বু', 'বৃ', 'শু', 'শ'], - STANDALONENARROWWEEKDAYS: ['র', 'সো', 'ম', 'বু', 'বৃ', - 'শু', 'শ'], - SHORTQUARTERS: ['চতুর্থাংশ ১', - 'চতুর্থাংশ ২', 'চতুর্থাংশ ৩', - 'চতুর্থাংশ ৪'], - QUARTERS: ['প্রথম চতুর্থাংশ', - 'দ্বিতীয় চতুর্থাংশ', - 'তৃতীয় চতুর্থাংশ', - 'চতুর্থ চতুর্থাংশ'], - AMPMS: ['am', 'pm'], - DATEFORMATS: ['EEEE, d MMMM, y', 'd MMMM, y', 'd MMM, y', 'd/M/yy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], - FIRSTDAYOFWEEK: 4, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 3 -}; - - -/** - * Date/time formatting symbols for locale ca. - */ -goog.i18n.DateTimeSymbols_ca = { - ERAS: ['aC', 'dC'], - ERANAMES: ['abans de Crist', 'després de Crist'], - NARROWMONTHS: ['G', 'F', 'M', 'A', 'M', 'J', 'G', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['g', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', - 'n', 'd'], - MONTHS: ['de gener', 'de febrer', 'de març', 'd’abril', 'de maig', - 'de juny', 'de juliol', 'd’agost', 'de setembre', 'd’octubre', - 'de novembre', 'de desembre'], - STANDALONEMONTHS: ['gener', 'febrer', 'març', 'abril', 'maig', 'juny', - 'juliol', 'agost', 'setembre', 'octubre', 'novembre', 'desembre'], - SHORTMONTHS: ['de gen.', 'de febr.', 'de març', 'd’abr.', 'de maig', - 'de juny', 'de jul.', 'd’ag.', 'de set.', 'd’oct.', 'de nov.', - 'de des.'], - STANDALONESHORTMONTHS: ['gen.', 'febr.', 'març', 'abr.', 'maig', 'juny', - 'jul.', 'ag.', 'set.', 'oct.', 'nov.', 'des.'], - WEEKDAYS: ['diumenge', 'dilluns', 'dimarts', 'dimecres', 'dijous', - 'divendres', 'dissabte'], - STANDALONEWEEKDAYS: ['Diumenge', 'Dilluns', 'Dimarts', 'Dimecres', 'Dijous', - 'Divendres', 'Dissabte'], - SHORTWEEKDAYS: ['dg.', 'dl.', 'dt.', 'dc.', 'dj.', 'dv.', 'ds.'], - STANDALONESHORTWEEKDAYS: ['dg', 'dl', 'dt', 'dc', 'dj', 'dv', 'ds'], - NARROWWEEKDAYS: ['G', 'l', 'T', 'C', 'J', 'V', 'S'], - STANDALONENARROWWEEKDAYS: ['g', 'l', 't', 'c', 'j', 'v', 's'], - SHORTQUARTERS: ['1T', '2T', '3T', '4T'], - QUARTERS: ['1r trimestre', '2n trimestre', '3r trimestre', '4t trimestre'], - AMPMS: ['a.m.', 'p.m.'], - DATEFORMATS: ['EEEE d MMMM \'de\' y', 'd MMMM \'de\' y', 'dd/MM/yyyy', - 'dd/MM/yy'], - TIMEFORMATS: ['H:mm:ss zzzz', 'H:mm:ss z', 'H:mm:ss', 'H:mm'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 3 -}; - - -/** - * Date/time formatting symbols for locale chr. - */ -goog.i18n.DateTimeSymbols_chr = { - ERAS: ['ᎤᏓᎷᎸ', 'ᎤᎶᏐᏅ'], - ERANAMES: ['Ꮟ ᏥᏌ ᎾᏕᎲᏍᎬᎾ', - 'ᎠᎩᏃᎮᎵᏓᏍᏗᏱ ᎠᏕᏘᏱᏍᎬ ᏱᎰᏩ ᏧᏓᏂᎸᎢᏍᏗ'], - NARROWMONTHS: ['Ꭴ', 'Ꭷ', 'Ꭰ', 'Ꭷ', 'Ꭰ', 'Ꮥ', 'Ꭻ', 'Ꭶ', 'Ꮪ', - 'Ꮪ', 'Ꮕ', 'Ꭴ'], - STANDALONENARROWMONTHS: ['Ꭴ', 'Ꭷ', 'Ꭰ', 'Ꭷ', 'Ꭰ', 'Ꮥ', 'Ꭻ', - 'Ꭶ', 'Ꮪ', 'Ꮪ', 'Ꮕ', 'Ꭴ'], - MONTHS: ['ᎤᏃᎸᏔᏅ', 'ᎧᎦᎵ', 'ᎠᏅᏱ', 'ᎧᏬᏂ', - 'ᎠᏂᏍᎬᏘ', 'ᏕᎭᎷᏱ', 'ᎫᏰᏉᏂ', 'ᎦᎶᏂ', - 'ᏚᎵᏍᏗ', 'ᏚᏂᏅᏗ', 'ᏅᏓᏕᏆ', 'ᎤᏍᎩᏱ'], - STANDALONEMONTHS: ['ᎤᏃᎸᏔᏅ', 'ᎧᎦᎵ', 'ᎠᏅᏱ', 'ᎧᏬᏂ', - 'ᎠᏂᏍᎬᏘ', 'ᏕᎭᎷᏱ', 'ᎫᏰᏉᏂ', 'ᎦᎶᏂ', - 'ᏚᎵᏍᏗ', 'ᏚᏂᏅᏗ', 'ᏅᏓᏕᏆ', 'ᎤᏍᎩᏱ'], - SHORTMONTHS: ['ᎤᏃ', 'ᎧᎦ', 'ᎠᏅ', 'ᎧᏬ', 'ᎠᏂ', 'ᏕᎭ', - 'ᎫᏰ', 'ᎦᎶ', 'ᏚᎵ', 'ᏚᏂ', 'ᏅᏓ', 'ᎤᏍ'], - STANDALONESHORTMONTHS: ['ᎤᏃ', 'ᎧᎦ', 'ᎠᏅ', 'ᎧᏬ', 'ᎠᏂ', - 'ᏕᎭ', 'ᎫᏰ', 'ᎦᎶ', 'ᏚᎵ', 'ᏚᏂ', 'ᏅᏓ', 'ᎤᏍ'], - WEEKDAYS: ['ᎤᎾᏙᏓᏆᏍᎬ', 'ᎤᎾᏙᏓᏉᏅᎯ', - 'ᏔᎵᏁᎢᎦ', 'ᏦᎢᏁᎢᎦ', 'ᏅᎩᏁᎢᎦ', - 'ᏧᎾᎩᎶᏍᏗ', 'ᎤᎾᏙᏓᏈᏕᎾ'], - STANDALONEWEEKDAYS: ['ᎤᎾᏙᏓᏆᏍᎬ', 'ᎤᎾᏙᏓᏉᏅᎯ', - 'ᏔᎵᏁᎢᎦ', 'ᏦᎢᏁᎢᎦ', 'ᏅᎩᏁᎢᎦ', - 'ᏧᎾᎩᎶᏍᏗ', 'ᎤᎾᏙᏓᏈᏕᎾ'], - SHORTWEEKDAYS: ['ᏆᏍᎬ', 'ᏉᏅᎯ', 'ᏔᎵᏁ', 'ᏦᎢᏁ', - 'ᏅᎩᏁ', 'ᏧᎾᎩ', 'ᏈᏕᎾ'], - STANDALONESHORTWEEKDAYS: ['ᏆᏍᎬ', 'ᏉᏅᎯ', 'ᏔᎵᏁ', 'ᏦᎢᏁ', - 'ᏅᎩᏁ', 'ᏧᎾᎩ', 'ᏈᏕᎾ'], - NARROWWEEKDAYS: ['Ꮖ', 'Ꮙ', 'Ꮤ', 'Ꮶ', 'Ꮕ', 'Ꮷ', 'Ꭴ'], - STANDALONENARROWWEEKDAYS: ['Ꮖ', 'Ꮙ', 'Ꮤ', 'Ꮶ', 'Ꮕ', 'Ꮷ', 'Ꭴ'], - SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - QUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - AMPMS: ['ᏌᎾᎴ', 'ᏒᎯᏱᎢᏗᏢ'], - DATEFORMATS: ['EEEE, MMMM d, y', 'MMMM d, y', 'MMM d, y', 'M/d/yy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 6 -}; - - -/** - * Date/time formatting symbols for locale cs. - */ -goog.i18n.DateTimeSymbols_cs = { - ERAS: ['př. n. l.', 'n. l.'], - ERANAMES: ['př. n. l.', 'n. l.'], - NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], - STANDALONENARROWMONTHS: ['l', 'ú', 'b', 'd', 'k', 'č', 'č', 's', 'z', 'ř', - 'l', 'p'], - MONTHS: ['ledna', 'února', 'března', 'dubna', 'května', 'června', - 'července', 'srpna', 'září', 'října', 'listopadu', 'prosince'], - STANDALONEMONTHS: ['leden', 'únor', 'březen', 'duben', 'květen', 'červen', - 'červenec', 'srpen', 'září', 'říjen', 'listopad', 'prosinec'], - SHORTMONTHS: ['Led', 'Úno', 'Bře', 'Dub', 'Kvě', 'Čer', 'Čvc', 'Srp', - 'Zář', 'Říj', 'Lis', 'Pro'], - STANDALONESHORTMONTHS: ['1.', '2.', '3.', '4.', '5.', '6.', '7.', '8.', '9.', - '10.', '11.', '12.'], - WEEKDAYS: ['neděle', 'pondělí', 'úterý', 'středa', 'čtvrtek', 'pátek', - 'sobota'], - STANDALONEWEEKDAYS: ['neděle', 'pondělí', 'úterý', 'středa', 'čtvrtek', - 'pátek', 'sobota'], - SHORTWEEKDAYS: ['ne', 'po', 'út', 'st', 'čt', 'pá', 'so'], - STANDALONESHORTWEEKDAYS: ['ne', 'po', 'út', 'st', 'čt', 'pá', 'so'], - NARROWWEEKDAYS: ['N', 'P', 'Ú', 'S', 'Č', 'P', 'S'], - STANDALONENARROWWEEKDAYS: ['N', 'P', 'Ú', 'S', 'Č', 'P', 'S'], - SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - QUARTERS: ['1. čtvrtletí', '2. čtvrtletí', '3. čtvrtletí', - '4. čtvrtletí'], - AMPMS: ['dop.', 'odp.'], - DATEFORMATS: ['EEEE, d. MMMM y', 'd. MMMM y', 'd. M. yyyy', 'dd.MM.yy'], - TIMEFORMATS: ['H:mm:ss zzzz', 'H:mm:ss z', 'H:mm:ss', 'H:mm'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 3 -}; - - -/** - * Date/time formatting symbols for locale cy. - */ -goog.i18n.DateTimeSymbols_cy = { - ERAS: ['CC', 'OC'], - ERANAMES: ['Cyn Crist', 'Oed Crist'], - NARROWMONTHS: ['I', 'C', 'M', 'E', 'M', 'M', 'G', 'A', 'M', 'H', 'T', 'R'], - STANDALONENARROWMONTHS: ['I', 'C', 'M', 'E', 'M', 'M', 'G', 'A', 'M', 'H', - 'T', 'R'], - MONTHS: ['Ionawr', 'Chwefror', 'Mawrth', 'Ebrill', 'Mai', 'Mehefin', - 'Gorffenaf', 'Awst', 'Medi', 'Hydref', 'Tachwedd', 'Rhagfyr'], - STANDALONEMONTHS: ['Ionawr', 'Chwefror', 'Mawrth', 'Ebrill', 'Mai', 'Mehefin', - 'Gorffennaf', 'Awst', 'Medi', 'Hydref', 'Tachwedd', 'Rhagfyr'], - SHORTMONTHS: ['Ion', 'Chwef', 'Mawrth', 'Ebrill', 'Mai', 'Meh', 'Gorff', - 'Awst', 'Medi', 'Hyd', 'Tach', 'Rhag'], - STANDALONESHORTMONTHS: ['Ion', 'Chwe', 'Maw', 'Ebr', 'Mai', 'Meh', 'Gor', - 'Awst', 'Medi', 'Hyd', 'Tach', 'Rhag'], - WEEKDAYS: ['Dydd Sul', 'Dydd Llun', 'Dydd Mawrth', 'Dydd Mercher', 'Dydd Iau', - 'Dydd Gwener', 'Dydd Sadwrn'], - STANDALONEWEEKDAYS: ['Dydd Sul', 'Dydd Llun', 'Dydd Mawrth', 'Dydd Mercher', - 'Dydd Iau', 'Dydd Gwener', 'Dydd Sadwrn'], - SHORTWEEKDAYS: ['Sul', 'Llun', 'Maw', 'Mer', 'Iau', 'Gwen', 'Sad'], - STANDALONESHORTWEEKDAYS: ['Sul', 'Llun', 'Maw', 'Mer', 'Iau', 'Gwe', 'Sad'], - NARROWWEEKDAYS: ['S', 'L', 'M', 'M', 'I', 'G', 'S'], - STANDALONENARROWWEEKDAYS: ['S', 'L', 'M', 'M', 'I', 'G', 'S'], - SHORTQUARTERS: ['Ch1', 'Ch2', 'Ch3', 'Ch4'], - QUARTERS: ['Chwarter 1af', '2il chwarter', '3ydd chwarter', '4ydd chwarter'], - AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yyyy'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 3 -}; - - -/** - * Date/time formatting symbols for locale da. - */ -goog.i18n.DateTimeSymbols_da = { - ERAS: ['f.Kr.', 'e.Kr.'], - ERANAMES: ['f.Kr.', 'e.Kr.'], - NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['januar', 'februar', 'marts', 'april', 'maj', 'juni', 'juli', - 'august', 'september', 'oktober', 'november', 'december'], - STANDALONEMONTHS: ['januar', 'februar', 'marts', 'april', 'maj', 'juni', - 'juli', 'august', 'september', 'oktober', 'november', 'december'], - SHORTMONTHS: ['jan.', 'feb.', 'mar.', 'apr.', 'maj', 'jun.', 'jul.', 'aug.', - 'sep.', 'okt.', 'nov.', 'dec.'], - STANDALONESHORTMONTHS: ['jan', 'feb', 'mar', 'apr', 'maj', 'jun', 'jul', - 'aug', 'sep', 'okt', 'nov', 'dec'], - WEEKDAYS: ['søndag', 'mandag', 'tirsdag', 'onsdag', 'torsdag', 'fredag', - 'lørdag'], - STANDALONEWEEKDAYS: ['søndag', 'mandag', 'tirsdag', 'onsdag', 'torsdag', - 'fredag', 'lørdag'], - SHORTWEEKDAYS: ['søn', 'man', 'tir', 'ons', 'tor', 'fre', 'lør'], - STANDALONESHORTWEEKDAYS: ['søn', 'man', 'tir', 'ons', 'tor', 'fre', 'lør'], - NARROWWEEKDAYS: ['S', 'M', 'T', 'O', 'T', 'F', 'L'], - STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'O', 'T', 'F', 'L'], - SHORTQUARTERS: ['K1', 'K2', 'K3', 'K4'], - QUARTERS: ['1. kvartal', '2. kvartal', '3. kvartal', '4. kvartal'], - AMPMS: ['f.m.', 'e.m.'], - DATEFORMATS: ['EEEE \'den\' d. MMMM y', 'd. MMM y', 'dd/MM/yyyy', 'dd/MM/yy'], - TIMEFORMATS: ['HH.mm.ss zzzz', 'HH.mm.ss z', 'HH.mm.ss', 'HH.mm'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 3 -}; - - -/** - * Date/time formatting symbols for locale de. - */ -goog.i18n.DateTimeSymbols_de = { - ERAS: ['v. Chr.', 'n. Chr.'], - ERANAMES: ['v. Chr.', 'n. Chr.'], - NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', - 'August', 'September', 'Oktober', 'November', 'Dezember'], - STANDALONEMONTHS: ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', - 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'], - SHORTMONTHS: ['Jan', 'Feb', 'Mär', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', - 'Okt', 'Nov', 'Dez'], - STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mär', 'Apr', 'Mai', 'Jun', 'Jul', - 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'], - WEEKDAYS: ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', - 'Freitag', 'Samstag'], - STANDALONEWEEKDAYS: ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', - 'Donnerstag', 'Freitag', 'Samstag'], - SHORTWEEKDAYS: ['So.', 'Mo.', 'Di.', 'Mi.', 'Do.', 'Fr.', 'Sa.'], - STANDALONESHORTWEEKDAYS: ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'], - NARROWWEEKDAYS: ['S', 'M', 'D', 'M', 'D', 'F', 'S'], - STANDALONENARROWWEEKDAYS: ['S', 'M', 'D', 'M', 'D', 'F', 'S'], - SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - QUARTERS: ['1. Quartal', '2. Quartal', '3. Quartal', '4. Quartal'], - AMPMS: ['vorm.', 'nachm.'], - DATEFORMATS: ['EEEE, d. MMMM y', 'd. MMMM y', 'dd.MM.yyyy', 'dd.MM.yy'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 3 -}; - - -/** - * Date/time formatting symbols for locale de_AT. - */ -goog.i18n.DateTimeSymbols_de_AT = { - ERAS: ['v. Chr.', 'n. Chr.'], - ERANAMES: ['v. Chr.', 'n. Chr.'], - NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['Jänner', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', - 'August', 'September', 'Oktober', 'November', 'Dezember'], - STANDALONEMONTHS: ['Jänner', 'Februar', 'März', 'April', 'Mai', 'Juni', - 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'], - SHORTMONTHS: ['Jän', 'Feb', 'Mär', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', - 'Okt', 'Nov', 'Dez'], - STANDALONESHORTMONTHS: ['Jän', 'Feb', 'Mär', 'Apr', 'Mai', 'Jun', 'Jul', - 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'], - WEEKDAYS: ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', - 'Freitag', 'Samstag'], - STANDALONEWEEKDAYS: ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', - 'Donnerstag', 'Freitag', 'Samstag'], - SHORTWEEKDAYS: ['So.', 'Mo.', 'Di.', 'Mi.', 'Do.', 'Fr.', 'Sa.'], - STANDALONESHORTWEEKDAYS: ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'], - NARROWWEEKDAYS: ['S', 'M', 'D', 'M', 'D', 'F', 'S'], - STANDALONENARROWWEEKDAYS: ['S', 'M', 'D', 'M', 'D', 'F', 'S'], - SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - QUARTERS: ['1. Quartal', '2. Quartal', '3. Quartal', '4. Quartal'], - AMPMS: ['vorm.', 'nachm.'], - DATEFORMATS: ['EEEE, dd. MMMM y', 'dd. MMMM y', 'dd.MM.yyyy', 'dd.MM.yy'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 3 -}; - - -/** - * Date/time formatting symbols for locale de_CH. - */ -goog.i18n.DateTimeSymbols_de_CH = goog.i18n.DateTimeSymbols_de; - - -/** - * Date/time formatting symbols for locale el. - */ -goog.i18n.DateTimeSymbols_el = { - ERAS: ['π.Χ.', 'μ.Χ.'], - ERANAMES: ['π.Χ.', 'μ.Χ.'], - NARROWMONTHS: ['Ι', 'Φ', 'Μ', 'Α', 'Μ', 'Ι', 'Ι', 'Α', 'Σ', 'Ο', - 'Ν', 'Δ'], - STANDALONENARROWMONTHS: ['Ι', 'Φ', 'Μ', 'Α', 'Μ', 'Ι', 'Ι', 'Α', 'Σ', - 'Ο', 'Ν', 'Δ'], - MONTHS: ['Ιανουαρίου', 'Φεβρουαρίου', 'Μαρτίου', - 'Απριλίου', 'Μαΐου', 'Ιουνίου', 'Ιουλίου', - 'Αυγούστου', 'Σεπτεμβρίου', 'Οκτωβρίου', - 'Νοεμβρίου', 'Δεκεμβρίου'], - STANDALONEMONTHS: ['Ιανουάριος', 'Φεβρουάριος', - 'Μάρτιος', 'Απρίλιος', 'Μάιος', 'Ιούνιος', - 'Ιούλιος', 'Αύγουστος', 'Σεπτέμβριος', - 'Οκτώβριος', 'Νοέμβριος', 'Δεκέμβριος'], - SHORTMONTHS: ['Ιαν', 'Φεβ', 'Μαρ', 'Απρ', 'Μαϊ', 'Ιουν', - 'Ιουλ', 'Αυγ', 'Σεπ', 'Οκτ', 'Νοε', 'Δεκ'], - STANDALONESHORTMONTHS: ['Ιαν', 'Φεβ', 'Μάρ', 'Απρ', 'Μάι', - 'Ιούν', 'Ιούλ', 'Αυγ', 'Σεπ', 'Οκτ', 'Νοέ', 'Δεκ'], - WEEKDAYS: ['Κυριακή', 'Δευτέρα', 'Τρίτη', 'Τετάρτη', - 'Πέμπτη', 'Παρασκευή', 'Σάββατο'], - STANDALONEWEEKDAYS: ['Κυριακή', 'Δευτέρα', 'Τρίτη', - 'Τετάρτη', 'Πέμπτη', 'Παρασκευή', 'Σάββατο'], - SHORTWEEKDAYS: ['Κυρ', 'Δευ', 'Τρι', 'Τετ', 'Πεμ', 'Παρ', - 'Σαβ'], - STANDALONESHORTWEEKDAYS: ['Κυρ', 'Δευ', 'Τρί', 'Τετ', 'Πέμ', - 'Παρ', 'Σάβ'], - NARROWWEEKDAYS: ['Κ', 'Δ', 'Τ', 'Τ', 'Π', 'Π', 'Σ'], - STANDALONENARROWWEEKDAYS: ['Κ', 'Δ', 'Τ', 'Τ', 'Π', 'Π', 'Σ'], - SHORTQUARTERS: ['Τ1', 'Τ2', 'Τ3', 'Τ4'], - QUARTERS: ['1ο τρίμηνο', '2ο τρίμηνο', '3ο τρίμηνο', - '4ο τρίμηνο'], - AMPMS: ['π.μ.', 'μ.μ.'], - DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'd/M/yy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 3 -}; - - -/** - * Date/time formatting symbols for locale en. - */ -goog.i18n.DateTimeSymbols_en = { - ERAS: ['BC', 'AD'], - ERANAMES: ['Before Christ', 'Anno Domini'], - NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', - 'August', 'September', 'October', 'November', 'December'], - STANDALONEMONTHS: ['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'], - STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', - 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], - WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', - 'Saturday'], - STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', - 'Friday', 'Saturday'], - SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], - STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], - NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], - STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], - SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], - AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE, MMMM d, y', 'MMMM d, y', 'MMM d, y', 'M/d/yy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], - FIRSTDAYOFWEEK: 6, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 5 -}; - - -/** - * Date/time formatting symbols for locale en_AU. - */ -goog.i18n.DateTimeSymbols_en_AU = { - ERAS: ['BC', 'AD'], - ERANAMES: ['Before Christ', 'Anno Domini'], - NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', - 'August', 'September', 'October', 'November', 'December'], - STANDALONEMONTHS: ['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'], - STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', - 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], - WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', - 'Saturday'], - STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', - 'Friday', 'Saturday'], - SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], - STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], - NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], - STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], - SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], - AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'dd/MM/yyyy', 'd/MM/yy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], - FIRSTDAYOFWEEK: 6, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 5 -}; - - -/** - * Date/time formatting symbols for locale en_GB. - */ -goog.i18n.DateTimeSymbols_en_GB = { - ERAS: ['BC', 'AD'], - ERANAMES: ['Before Christ', 'Anno Domini'], - NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', - 'August', 'September', 'October', 'November', 'December'], - STANDALONEMONTHS: ['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'], - STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', - 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], - WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', - 'Saturday'], - STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', - 'Friday', 'Saturday'], - SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], - STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], - NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], - STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], - SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], - AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yyyy'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 3 -}; - - -/** - * Date/time formatting symbols for locale en_IE. - */ -goog.i18n.DateTimeSymbols_en_IE = { - ERAS: ['BC', 'AD'], - ERANAMES: ['Before Christ', 'Anno Domini'], - NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', - 'August', 'September', 'October', 'November', 'December'], - STANDALONEMONTHS: ['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'], - STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', - 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], - WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', - 'Saturday'], - STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', - 'Friday', 'Saturday'], - SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], - STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], - NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], - STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], - SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], - AMPMS: ['a.m.', 'p.m.'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yyyy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 3 -}; - - -/** - * Date/time formatting symbols for locale en_IN. - */ -goog.i18n.DateTimeSymbols_en_IN = { - ERAS: ['BC', 'AD'], - ERANAMES: ['Before Christ', 'Anno Domini'], - NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', - 'August', 'September', 'October', 'November', 'December'], - STANDALONEMONTHS: ['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'], - STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', - 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], - WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', - 'Saturday'], - STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', - 'Friday', 'Saturday'], - SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], - STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], - NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], - STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], - SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], - AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'dd-MMM-y', 'dd/MM/yy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], - FIRSTDAYOFWEEK: 6, - WEEKENDRANGE: [6, 6], - FIRSTWEEKCUTOFFDAY: 5 -}; - - -/** - * Date/time formatting symbols for locale en_SG. - */ -goog.i18n.DateTimeSymbols_en_SG = { - ERAS: ['BC', 'AD'], - ERANAMES: ['Before Christ', 'Anno Domini'], - NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', - 'August', 'September', 'October', 'November', 'December'], - STANDALONEMONTHS: ['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'], - STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', - 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], - WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', - 'Saturday'], - STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', - 'Friday', 'Saturday'], - SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], - STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], - NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], - STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], - SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], - AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE, d MMMM, y', 'd MMMM, y', 'd MMM, y', 'd/M/yy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], - FIRSTDAYOFWEEK: 6, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 5 -}; - - -/** - * Date/time formatting symbols for locale en_US. - */ -goog.i18n.DateTimeSymbols_en_US = goog.i18n.DateTimeSymbols_en; - - -/** - * Date/time formatting symbols for locale en_ZA. - */ -goog.i18n.DateTimeSymbols_en_ZA = { - ERAS: ['BC', 'AD'], - ERANAMES: ['Before Christ', 'Anno Domini'], - NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', - 'August', 'September', 'October', 'November', 'December'], - STANDALONEMONTHS: ['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'], - STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', - 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], - WEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', - 'Saturday'], - STANDALONEWEEKDAYS: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', - 'Friday', 'Saturday'], - SHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], - STANDALONESHORTWEEKDAYS: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], - NARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], - STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], - SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - QUARTERS: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'], - AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE dd MMMM y', 'dd MMMM y', 'dd MMM y', 'yyyy/MM/dd'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], - FIRSTDAYOFWEEK: 6, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 5 -}; - - -/** - * Date/time formatting symbols for locale es. - */ -goog.i18n.DateTimeSymbols_es = { - ERAS: ['a.C.', 'd.C.'], - ERANAMES: ['antes de Cristo', 'anno Dómini'], - NARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', - 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], - STANDALONEMONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', - 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], - SHORTMONTHS: ['ene', 'feb', 'mar', 'abr', 'may', 'jun', 'jul', 'ago', 'sep', - 'oct', 'nov', 'dic'], - STANDALONESHORTMONTHS: ['ene', 'feb', 'mar', 'abr', 'mayo', 'jun', 'jul', - 'ago', 'sep', 'oct', 'nov', 'dic'], - WEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', - 'sábado'], - STANDALONEWEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', - 'viernes', 'sábado'], - SHORTWEEKDAYS: ['dom', 'lun', 'mar', 'mié', 'jue', 'vie', 'sáb'], - STANDALONESHORTWEEKDAYS: ['dom', 'lun', 'mar', 'mié', 'jue', 'vie', 'sáb'], - NARROWWEEKDAYS: ['D', 'L', 'M', 'X', 'J', 'V', 'S'], - STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'X', 'J', 'V', 'S'], - SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], - QUARTERS: ['1er trimestre', '2º trimestre', '3er trimestre', - '4º trimestre'], - AMPMS: ['a.m.', 'p.m.'], - DATEFORMATS: ['EEEE, d \'de\' MMMM \'de\' y', 'd \'de\' MMMM \'de\' y', - 'dd/MM/yyyy', 'dd/MM/yy'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 6, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 5 -}; - - -/** - * Date/time formatting symbols for locale es_419. - */ -goog.i18n.DateTimeSymbols_es_419 = { - ERAS: ['a.C.', 'd.C.'], - ERANAMES: ['antes de Cristo', 'anno Dómini'], - NARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', - 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], - STANDALONEMONTHS: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', - 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], - SHORTMONTHS: ['ene', 'feb', 'mar', 'abr', 'may', 'jun', 'jul', 'ago', 'sep', - 'oct', 'nov', 'dic'], - STANDALONESHORTMONTHS: ['ene', 'feb', 'mar', 'abr', 'mayo', 'jun', 'jul', - 'ago', 'sep', 'oct', 'nov', 'dic'], - WEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', - 'sábado'], - STANDALONEWEEKDAYS: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', - 'viernes', 'sábado'], - SHORTWEEKDAYS: ['dom', 'lun', 'mar', 'mié', 'jue', 'vie', 'sáb'], - STANDALONESHORTWEEKDAYS: ['dom', 'lun', 'mar', 'mié', 'jue', 'vie', 'sáb'], - NARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], - STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], - SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], - QUARTERS: ['1er trimestre', '2º trimestre', '3er trimestre', - '4º trimestre'], - AMPMS: ['a.m.', 'p.m.'], - DATEFORMATS: ['EEEE, d \'de\' MMMM \'de\' y', 'd \'de\' MMMM \'de\' y', - 'dd/MM/yyyy', 'dd/MM/yy'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 6, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 5 -}; - - -/** - * Date/time formatting symbols for locale et. - */ -goog.i18n.DateTimeSymbols_et = { - ERAS: ['e.m.a.', 'm.a.j.'], - ERANAMES: ['enne meie aega', 'meie aja järgi'], - NARROWMONTHS: ['J', 'V', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'V', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['jaanuar', 'veebruar', 'märts', 'aprill', 'mai', 'juuni', 'juuli', - 'august', 'september', 'oktoober', 'november', 'detsember'], - STANDALONEMONTHS: ['jaanuar', 'veebruar', 'märts', 'aprill', 'mai', 'juuni', - 'juuli', 'august', 'september', 'oktoober', 'november', 'detsember'], - SHORTMONTHS: ['jaan', 'veebr', 'märts', 'apr', 'mai', 'juuni', 'juuli', - 'aug', 'sept', 'okt', 'nov', 'dets'], - STANDALONESHORTMONTHS: ['jaan', 'veebr', 'märts', 'apr', 'mai', 'juuni', - 'juuli', 'aug', 'sept', 'okt', 'nov', 'dets'], - WEEKDAYS: ['pühapäev', 'esmaspäev', 'teisipäev', 'kolmapäev', - 'neljapäev', 'reede', 'laupäev'], - STANDALONEWEEKDAYS: ['pühapäev', 'esmaspäev', 'teisipäev', 'kolmapäev', - 'neljapäev', 'reede', 'laupäev'], - SHORTWEEKDAYS: ['P', 'E', 'T', 'K', 'N', 'R', 'L'], - STANDALONESHORTWEEKDAYS: ['P', 'E', 'T', 'K', 'N', 'R', 'L'], - NARROWWEEKDAYS: ['P', 'E', 'T', 'K', 'N', 'R', 'L'], - STANDALONENARROWWEEKDAYS: ['P', 'E', 'T', 'K', 'N', 'R', 'L'], - SHORTQUARTERS: ['K1', 'K2', 'K3', 'K4'], - QUARTERS: ['1. kvartal', '2. kvartal', '3. kvartal', '4. kvartal'], - AMPMS: ['enne keskpäeva', 'pärast keskpäeva'], - DATEFORMATS: ['EEEE, d. MMMM y', 'd. MMMM y', 'dd.MM.yyyy', 'dd.MM.yy'], - TIMEFORMATS: ['H:mm.ss zzzz', 'H:mm.ss z', 'H:mm.ss', 'H:mm'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 3 -}; - - -/** - * Date/time formatting symbols for locale eu. - */ -goog.i18n.DateTimeSymbols_eu = { - ERAS: ['K.a.', 'K.o.'], - ERANAMES: ['K.a.', 'K.o.'], - NARROWMONTHS: ['U', 'O', 'M', 'A', 'M', 'E', 'U', 'A', 'I', 'U', 'A', 'A'], - STANDALONENARROWMONTHS: ['U', 'O', 'M', 'A', 'M', 'E', 'U', 'A', 'I', 'U', - 'A', 'A'], - MONTHS: ['urtarrila', 'otsaila', 'martxoa', 'apirila', 'maiatza', 'ekaina', - 'uztaila', 'abuztua', 'iraila', 'urria', 'azaroa', 'abendua'], - STANDALONEMONTHS: ['urtarrila', 'otsaila', 'martxoa', 'apirila', 'maiatza', - 'ekaina', 'uztaila', 'abuztua', 'iraila', 'urria', 'azaroa', 'abendua'], - SHORTMONTHS: ['urt', 'ots', 'mar', 'api', 'mai', 'eka', 'uzt', 'abu', 'ira', - 'urr', 'aza', 'abe'], - STANDALONESHORTMONTHS: ['urt', 'ots', 'mar', 'api', 'mai', 'eka', 'uzt', - 'abu', 'ira', 'urr', 'aza', 'abe'], - WEEKDAYS: ['igandea', 'astelehena', 'asteartea', 'asteazkena', 'osteguna', - 'ostirala', 'larunbata'], - STANDALONEWEEKDAYS: ['igandea', 'astelehena', 'asteartea', 'asteazkena', - 'osteguna', 'ostirala', 'larunbata'], - SHORTWEEKDAYS: ['ig', 'al', 'as', 'az', 'og', 'or', 'lr'], - STANDALONESHORTWEEKDAYS: ['ig', 'al', 'as', 'az', 'og', 'or', 'lr'], - NARROWWEEKDAYS: ['I', 'M', 'A', 'A', 'A', 'O', 'I'], - STANDALONENARROWWEEKDAYS: ['I', 'M', 'A', 'L', 'A', 'O', 'I'], - SHORTQUARTERS: ['1Hh', '2Hh', '3Hh', '4Hh'], - QUARTERS: ['1. hiruhilekoa', '2. hiruhilekoa', '3. hiruhilekoa', - '4. hiruhilekoa'], - AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE, y\'eko\' MMMM\'ren\' dd\'a\'', - 'y\'eko\' MMM\'ren\' dd\'a\'', 'y MMM d', 'yyyy-MM-dd'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 3 -}; - - -/** - * Date/time formatting symbols for locale fa. - */ -goog.i18n.DateTimeSymbols_fa = { - ZERODIGIT: 0x06F0, - ERAS: ['ق.م.', 'م.'], - ERANAMES: ['قبل از میلاد', 'میلادی'], - NARROWMONTHS: ['ژ', 'ف', 'م', 'آ', 'م', 'ژ', 'ژ', 'ا', 'س', 'ا', - 'ن', 'د'], - STANDALONENARROWMONTHS: ['ژ', 'ف', 'م', 'آ', 'م', 'ژ', 'ژ', 'ا', 'س', - 'ا', 'ن', 'د'], - MONTHS: ['ژانویهٔ', 'فوریهٔ', 'مارس', 'آوریل', 'مهٔ', - 'ژوئن', 'ژوئیهٔ', 'اوت', 'سپتامبر', 'اکتبر', - 'نوامبر', 'دسامبر'], - STANDALONEMONTHS: ['ژانویه', 'فوریه', 'مارس', 'آوریل', - 'مه', 'ژوئن', 'ژوئیه', 'اوت', 'سپتامبر', - 'اکتبر', 'نوامبر', 'دسامبر'], - SHORTMONTHS: ['ژانویهٔ', 'فوریهٔ', 'مارس', 'آوریل', - 'مهٔ', 'ژوئن', 'ژوئیهٔ', 'اوت', 'سپتامبر', - 'اکتبر', 'نوامبر', 'دسامبر'], - STANDALONESHORTMONTHS: ['ژانویه', 'فوریه', 'مارس', - 'آوریل', 'مه', 'ژوئن', 'ژوئیه', 'اوت', - 'سپتامبر', 'اکتبر', 'نوامبر', 'دسامبر'], - WEEKDAYS: ['یکشنبه', 'دوشنبه', 'سه‌شنبه', - 'چهارشنبه', 'پنجشنبه', 'جمعه', 'شنبه'], - STANDALONEWEEKDAYS: ['یکشنبه', 'دوشنبه', 'سه‌شنبه', - 'چهارشنبه', 'پنجشنبه', 'جمعه', 'شنبه'], - SHORTWEEKDAYS: ['یکشنبه', 'دوشنبه', 'سه‌شنبه', - 'چهارشنبه', 'پنجشنبه', 'جمعه', 'شنبه'], - STANDALONESHORTWEEKDAYS: ['یکشنبه', 'دوشنبه', 'سه‌شنبه', - 'چهارشنبه', 'پنجشنبه', 'جمعه', 'شنبه'], - NARROWWEEKDAYS: ['ی', 'د', 'س', 'چ', 'پ', 'ج', 'ش'], - STANDALONENARROWWEEKDAYS: ['ی', 'د', 'س', 'چ', 'پ', 'ج', 'ش'], - SHORTQUARTERS: ['س‌م۱', 'س‌م۲', 'س‌م۳', 'س‌م۴'], - QUARTERS: ['سه‌ماههٔ اول', 'سه‌ماههٔ دوم', - 'سه‌ماههٔ سوم', 'سه‌ماههٔ چهارم'], - AMPMS: ['قبل‌ازظهر', 'بعدازظهر'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'yyyy/M/d'], - TIMEFORMATS: ['H:mm:ss (zzzz)', 'H:mm:ss (z)', 'H:mm:ss', 'H:mm'], - FIRSTDAYOFWEEK: 5, - WEEKENDRANGE: [3, 4], - FIRSTWEEKCUTOFFDAY: 4 -}; - - -/** - * Date/time formatting symbols for locale fi. - */ -goog.i18n.DateTimeSymbols_fi = { - ERAS: ['eKr.', 'jKr.'], - ERANAMES: ['ennen Kristuksen syntymää', 'jälkeen Kristuksen syntymän'], - NARROWMONTHS: ['T', 'H', 'M', 'H', 'T', 'K', 'H', 'E', 'S', 'L', 'M', 'J'], - STANDALONENARROWMONTHS: ['T', 'H', 'M', 'H', 'T', 'K', 'H', 'E', 'S', 'L', - 'M', 'J'], - MONTHS: ['tammikuuta', 'helmikuuta', 'maaliskuuta', 'huhtikuuta', - 'toukokuuta', 'kesäkuuta', 'heinäkuuta', 'elokuuta', 'syyskuuta', - 'lokakuuta', 'marraskuuta', 'joulukuuta'], - STANDALONEMONTHS: ['tammikuu', 'helmikuu', 'maaliskuu', 'huhtikuu', - 'toukokuu', 'kesäkuu', 'heinäkuu', 'elokuu', 'syyskuu', 'lokakuu', - 'marraskuu', 'joulukuu'], - SHORTMONTHS: ['tammikuuta', 'helmikuuta', 'maaliskuuta', 'huhtikuuta', - 'toukokuuta', 'kesäkuuta', 'heinäkuuta', 'elokuuta', 'syyskuuta', - 'lokakuuta', 'marraskuuta', 'joulukuuta'], - STANDALONESHORTMONTHS: ['tammi', 'helmi', 'maalis', 'huhti', 'touko', 'kesä', - 'heinä', 'elo', 'syys', 'loka', 'marras', 'joulu'], - WEEKDAYS: ['sunnuntaina', 'maanantaina', 'tiistaina', 'keskiviikkona', - 'torstaina', 'perjantaina', 'lauantaina'], - STANDALONEWEEKDAYS: ['sunnuntai', 'maanantai', 'tiistai', 'keskiviikko', - 'torstai', 'perjantai', 'lauantai'], - SHORTWEEKDAYS: ['su', 'ma', 'ti', 'ke', 'to', 'pe', 'la'], - STANDALONESHORTWEEKDAYS: ['su', 'ma', 'ti', 'ke', 'to', 'pe', 'la'], - NARROWWEEKDAYS: ['S', 'M', 'T', 'K', 'T', 'P', 'L'], - STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'K', 'T', 'P', 'L'], - SHORTQUARTERS: ['1. nelj.', '2. nelj.', '3. nelj.', '4. nelj.'], - QUARTERS: ['1. neljännes', '2. neljännes', '3. neljännes', - '4. neljännes'], - AMPMS: ['ap.', 'ip.'], - DATEFORMATS: ['cccc, d. MMMM y', 'd. MMMM y', 'd.M.yyyy', 'd.M.yyyy'], - TIMEFORMATS: ['H.mm.ss zzzz', 'H.mm.ss z', 'H.mm.ss', 'H.mm'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 3 -}; - - -/** - * Date/time formatting symbols for locale fil. - */ -goog.i18n.DateTimeSymbols_fil = { - ERAS: ['BC', 'AD'], - ERANAMES: ['BC', 'AD'], - NARROWMONTHS: ['E', 'P', 'M', 'A', 'M', 'H', 'H', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['E', 'P', 'M', 'A', 'M', 'H', 'H', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['Enero', 'Pebrero', 'Marso', 'Abril', 'Mayo', 'Hunyo', 'Hulyo', - 'Agosto', 'Setyembre', 'Oktubre', 'Nobyembre', 'Disyembre'], - STANDALONEMONTHS: ['Enero', 'Pebrero', 'Marso', 'Abril', 'Mayo', 'Hunyo', - 'Hulyo', 'Agosto', 'Setyembre', 'Oktubre', 'Nobyembre', 'Disyembre'], - SHORTMONTHS: ['Ene', 'Peb', 'Mar', 'Abr', 'May', 'Hun', 'Hul', 'Ago', 'Set', - 'Okt', 'Nob', 'Dis'], - STANDALONESHORTMONTHS: ['Ene', 'Peb', 'Mar', 'Abr', 'May', 'Hun', 'Hul', - 'Ago', 'Set', 'Okt', 'Nob', 'Dis'], - WEEKDAYS: ['Linggo', 'Lunes', 'Martes', 'Miyerkules', 'Huwebes', 'Biyernes', - 'Sabado'], - STANDALONEWEEKDAYS: ['Linggo', 'Lunes', 'Martes', 'Miyerkules', 'Huwebes', - 'Biyernes', 'Sabado'], - SHORTWEEKDAYS: ['Lin', 'Lun', 'Mar', 'Mye', 'Huw', 'Bye', 'Sab'], - STANDALONESHORTWEEKDAYS: ['Lin', 'Lun', 'Mar', 'Miy', 'Huw', 'Biy', 'Sab'], - NARROWWEEKDAYS: ['L', 'L', 'M', 'M', 'H', 'B', 'S'], - STANDALONENARROWWEEKDAYS: ['L', 'L', 'M', 'M', 'H', 'B', 'S'], - SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - QUARTERS: ['ika-1 sangkapat', 'ika-2 sangkapat', 'ika-3 quarter', - 'ika-4 na quarter'], - AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE, MMMM dd y', 'MMMM d, y', 'MMM d, y', 'M/d/yy'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 6, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 5 -}; - - -/** - * Date/time formatting symbols for locale fr. - */ -goog.i18n.DateTimeSymbols_fr = { - ERAS: ['av. J.-C.', 'ap. J.-C.'], - ERANAMES: ['avant Jésus-Christ', 'après Jésus-Christ'], - NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', - 'août', 'septembre', 'octobre', 'novembre', 'décembre'], - STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', - 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], - SHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', - 'août', 'sept.', 'oct.', 'nov.', 'déc.'], - STANDALONESHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', - 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], - WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', - 'samedi'], - STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', - 'vendredi', 'samedi'], - SHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], - STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', - 'sam.'], - NARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], - STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], - SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], - QUARTERS: ['1er trimestre', '2e trimestre', '3e trimestre', '4e trimestre'], - AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yy'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 3 -}; - - -/** - * Date/time formatting symbols for locale fr_CA. - */ -goog.i18n.DateTimeSymbols_fr_CA = { - ERAS: ['av. J.-C.', 'ap. J.-C.'], - ERANAMES: ['avant Jésus-Christ', 'après Jésus-Christ'], - NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', - 'août', 'septembre', 'octobre', 'novembre', 'décembre'], - STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', - 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], - SHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', - 'août', 'sept.', 'oct.', 'nov.', 'déc.'], - STANDALONESHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', - 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], - WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', - 'samedi'], - STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', - 'vendredi', 'samedi'], - SHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], - STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', - 'sam.'], - NARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], - STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], - SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], - QUARTERS: ['1er trimestre', '2e trimestre', '3e trimestre', '4e trimestre'], - AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'yyyy-MM-dd', 'yy-MM-dd'], - TIMEFORMATS: ['HH \'h\' mm \'min\' ss \'s\' zzzz', 'HH:mm:ss z', 'HH:mm:ss', - 'HH:mm'], - FIRSTDAYOFWEEK: 6, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 5 -}; - - -/** - * Date/time formatting symbols for locale gl. - */ -goog.i18n.DateTimeSymbols_gl = { - ERAS: ['a.C.', 'd.C.'], - ERANAMES: ['antes de Cristo', 'despois de Cristo'], - NARROWMONTHS: ['X', 'F', 'M', 'A', 'M', 'X', 'X', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['X', 'F', 'M', 'A', 'M', 'X', 'X', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['Xaneiro', 'Febreiro', 'Marzo', 'Abril', 'Maio', 'Xuño', 'Xullo', - 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Decembro'], - STANDALONEMONTHS: ['Xaneiro', 'Febreiro', 'Marzo', 'Abril', 'Maio', 'Xuño', - 'Xullo', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Decembro'], - SHORTMONTHS: ['Xan', 'Feb', 'Mar', 'Abr', 'Mai', 'Xuñ', 'Xul', 'Ago', 'Set', - 'Out', 'Nov', 'Dec'], - STANDALONESHORTMONTHS: ['Xan', 'Feb', 'Mar', 'Abr', 'Mai', 'Xuñ', 'Xul', - 'Ago', 'Set', 'Out', 'Nov', 'Dec'], - WEEKDAYS: ['Domingo', 'Luns', 'Martes', 'Mércores', 'Xoves', 'Venres', - 'Sábado'], - STANDALONEWEEKDAYS: ['Domingo', 'Luns', 'Martes', 'Mércores', 'Xoves', - 'Venres', 'Sábado'], - SHORTWEEKDAYS: ['Dom', 'Lun', 'Mar', 'Mér', 'Xov', 'Ven', 'Sáb'], - STANDALONESHORTWEEKDAYS: ['Dom', 'Lun', 'Mar', 'Mér', 'Xov', 'Ven', 'Sáb'], - NARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'X', 'V', 'S'], - STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'X', 'V', 'S'], - SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], - QUARTERS: ['1o trimestre', '2o trimestre', '3o trimestre', '4o trimestre'], - AMPMS: ['a.m.', 'p.m.'], - DATEFORMATS: ['EEEE dd MMMM y', 'dd MMMM y', 'd MMM, y', 'dd/MM/yy'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 3 -}; - - -/** - * Date/time formatting symbols for locale gsw. - */ -goog.i18n.DateTimeSymbols_gsw = { - ERAS: ['v. Chr.', 'n. Chr.'], - ERANAMES: ['v. Chr.', 'n. Chr.'], - NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', - 'Auguscht', 'Septämber', 'Oktoober', 'Novämber', 'Dezämber'], - STANDALONEMONTHS: ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', - 'Juli', 'Auguscht', 'Septämber', 'Oktoober', 'Novämber', 'Dezämber'], - SHORTMONTHS: ['Jan', 'Feb', 'Mär', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', - 'Okt', 'Nov', 'Dez'], - STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mär', 'Apr', 'Mai', 'Jun', 'Jul', - 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'], - WEEKDAYS: ['Sunntig', 'Määntig', 'Ziischtig', 'Mittwuch', 'Dunschtig', - 'Friitig', 'Samschtig'], - STANDALONEWEEKDAYS: ['Sunntig', 'Määntig', 'Ziischtig', 'Mittwuch', - 'Dunschtig', 'Friitig', 'Samschtig'], - SHORTWEEKDAYS: ['Su.', 'Mä.', 'Zi.', 'Mi.', 'Du.', 'Fr.', 'Sa.'], - STANDALONESHORTWEEKDAYS: ['Su.', 'Mä.', 'Zi.', 'Mi.', 'Du.', 'Fr.', 'Sa.'], - NARROWWEEKDAYS: ['S', 'M', 'D', 'M', 'D', 'F', 'S'], - STANDALONENARROWWEEKDAYS: ['S', 'M', 'D', 'M', 'D', 'F', 'S'], - SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - QUARTERS: ['1. Quartal', '2. Quartal', '3. Quartal', '4. Quartal'], - AMPMS: ['vorm.', 'nam.'], - DATEFORMATS: ['EEEE, d. MMMM y', 'd. MMMM y', 'dd.MM.yyyy', 'dd.MM.yy'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 6 -}; - - -/** - * Date/time formatting symbols for locale gu. - */ -goog.i18n.DateTimeSymbols_gu = { - ERAS: ['ઈલુના જન્મ પહેસાં', - 'ઇસવીસન'], - ERANAMES: ['ઈસવીસન પૂર્વે', 'ઇસવીસન'], - NARROWMONTHS: ['જા', 'ફે', 'મા', 'એ', 'મે', 'જૂ', - 'જુ', 'ઑ', 'સ', 'ઑ', 'ન', 'ડિ'], - STANDALONENARROWMONTHS: ['જા', 'ફે', 'મા', 'એ', 'મે', - 'જૂ', 'જુ', 'ઑ', 'સ', 'ઑ', 'ન', 'ડિ'], - MONTHS: ['જાન્યુઆરી', 'ફેબ્રુઆરી', - 'માર્ચ', 'એપ્રિલ', 'મે', 'જૂન', - 'જુલાઈ', 'ઑગસ્ટ', 'સપ્ટેમ્બર', - 'ઑક્ટોબર', 'નવેમ્બર', - 'ડિસેમ્બર'], - STANDALONEMONTHS: ['જાન્યુઆરી', - 'ફેબ્રુઆરી', 'માર્ચ', 'એપ્રિલ', - 'મે', 'જૂન', 'જુલાઈ', 'ઑગસ્ટ', - 'સપ્ટેમ્બર', 'ઑક્ટોબર', - 'નવેમ્બર', 'ડિસેમ્બર'], - SHORTMONTHS: ['જાન્યુ', 'ફેબ્રુ', 'માર્ચ', - 'એપ્રિલ', 'મે', 'જૂન', 'જુલાઈ', - 'ઑગસ્ટ', 'સપ્ટે', 'ઑક્ટો', 'નવે', - 'ડિસે'], - STANDALONESHORTMONTHS: ['જાન્યુ', 'ફેબ્રુ', - 'માર્ચ', 'એપ્રિલ', 'મે', 'જૂન', - 'જુલાઈ', 'ઑગસ્ટ', 'સપ્ટે', - 'ઑક્ટો', 'નવે', 'ડિસે'], - WEEKDAYS: ['રવિવાર', 'સોમવાર', - 'મંગળવાર', 'બુધવાર', 'ગુરુવાર', - 'શુક્રવાર', 'શનિવાર'], - STANDALONEWEEKDAYS: ['રવિવાર', 'સોમવાર', - 'મંગળવાર', 'બુધવાર', 'ગુરુવાર', - 'શુક્રવાર', 'શનિવાર'], - SHORTWEEKDAYS: ['રવિ', 'સોમ', 'મંગળ', 'બુધ', - 'ગુરુ', 'શુક્ર', 'શનિ'], - STANDALONESHORTWEEKDAYS: ['રવિ', 'સોમ', 'મંગળ', - 'બુધ', 'ગુરુ', 'શુક્ર', 'શનિ'], - NARROWWEEKDAYS: ['ર', 'સો', 'મં', 'બુ', 'ગુ', 'શુ', - 'શ'], - STANDALONENARROWWEEKDAYS: ['ર', 'સો', 'મં', 'બુ', 'ગુ', - 'શુ', 'શ'], - SHORTQUARTERS: ['પેહલા હંત 1', 'Q2', 'Q3', - 'ચૌતા હંત 4'], - QUARTERS: ['પેહલા હંત 1', 'ડૂસઋા હંત 2', - 'તીસઋા હંત 3', 'ચૌતા હંત 4'], - AMPMS: ['am', 'pm'], - DATEFORMATS: ['EEEE, d MMMM, y', 'd MMMM, y', 'd MMM, y', 'd-MM-yy'], - TIMEFORMATS: ['hh:mm:ss a zzzz', 'hh:mm:ss a z', 'hh:mm:ss a', 'hh:mm a'], - FIRSTDAYOFWEEK: 6, - WEEKENDRANGE: [6, 6], - FIRSTWEEKCUTOFFDAY: 5 -}; - - -/** - * Date/time formatting symbols for locale haw. - */ -goog.i18n.DateTimeSymbols_haw = { - ERAS: ['BCE', 'CE'], - ERANAMES: ['BCE', 'CE'], - NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], - STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', - '11', '12'], - MONTHS: ['Ianuali', 'Pepeluali', 'Malaki', 'ʻApelila', 'Mei', 'Iune', - 'Iulai', 'ʻAukake', 'Kepakemapa', 'ʻOkakopa', 'Nowemapa', 'Kekemapa'], - STANDALONEMONTHS: ['Ianuali', 'Pepeluali', 'Malaki', 'ʻApelila', 'Mei', - 'Iune', 'Iulai', 'ʻAukake', 'Kepakemapa', 'ʻOkakopa', 'Nowemapa', - 'Kekemapa'], - SHORTMONTHS: ['Ian.', 'Pep.', 'Mal.', 'ʻAp.', 'Mei', 'Iun.', 'Iul.', 'ʻAu.', - 'Kep.', 'ʻOk.', 'Now.', 'Kek.'], - STANDALONESHORTMONTHS: ['Ian.', 'Pep.', 'Mal.', 'ʻAp.', 'Mei', 'Iun.', - 'Iul.', 'ʻAu.', 'Kep.', 'ʻOk.', 'Now.', 'Kek.'], - WEEKDAYS: ['Lāpule', 'Poʻakahi', 'Poʻalua', 'Poʻakolu', 'Poʻahā', - 'Poʻalima', 'Poʻaono'], - STANDALONEWEEKDAYS: ['Lāpule', 'Poʻakahi', 'Poʻalua', 'Poʻakolu', - 'Poʻahā', 'Poʻalima', 'Poʻaono'], - SHORTWEEKDAYS: ['LP', 'P1', 'P2', 'P3', 'P4', 'P5', 'P6'], - STANDALONESHORTWEEKDAYS: ['LP', 'P1', 'P2', 'P3', 'P4', 'P5', 'P6'], - NARROWWEEKDAYS: ['1', '2', '3', '4', '5', '6', '7'], - STANDALONENARROWWEEKDAYS: ['1', '2', '3', '4', '5', '6', '7'], - SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - QUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'd/M/yy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], - FIRSTDAYOFWEEK: 6, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 5 -}; - - -/** - * Date/time formatting symbols for locale he. - */ -goog.i18n.DateTimeSymbols_he = { - ERAS: ['לפנה״ס', 'לסה״נ'], - ERANAMES: ['לפני הספירה', 'לספירה'], - NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], - STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', - '11', '12'], - MONTHS: ['ינואר', 'פברואר', 'מרץ', 'אפריל', 'מאי', - 'יוני', 'יולי', 'אוגוסט', 'ספטמבר', 'אוקטובר', - 'נובמבר', 'דצמבר'], - STANDALONEMONTHS: ['ינואר', 'פברואר', 'מרץ', 'אפריל', - 'מאי', 'יוני', 'יולי', 'אוגוסט', 'ספטמבר', - 'אוקטובר', 'נובמבר', 'דצמבר'], - SHORTMONTHS: ['ינו', 'פבר', 'מרץ', 'אפר', 'מאי', 'יונ', - 'יול', 'אוג', 'ספט', 'אוק', 'נוב', 'דצמ'], - STANDALONESHORTMONTHS: ['ינו׳', 'פבר׳', 'מרץ', 'אפר׳', - 'מאי', 'יונ׳', 'יול׳', 'אוג׳', 'ספט׳', 'אוק׳', - 'נוב׳', 'דצמ׳'], - WEEKDAYS: ['יום ראשון', 'יום שני', 'יום שלישי', - 'יום רביעי', 'יום חמישי', 'יום שישי', - 'יום שבת'], - STANDALONEWEEKDAYS: ['יום ראשון', 'יום שני', - 'יום שלישי', 'יום רביעי', 'יום חמישי', - 'יום שישי', 'יום שבת'], - SHORTWEEKDAYS: ['יום א׳', 'יום ב׳', 'יום ג׳', 'יום ד׳', - 'יום ה׳', 'יום ו׳', 'שבת'], - STANDALONESHORTWEEKDAYS: ['יום א׳', 'יום ב׳', 'יום ג׳', - 'יום ד׳', 'יום ה׳', 'יום ו׳', 'שבת'], - NARROWWEEKDAYS: ['א', 'ב', 'ג', 'ד', 'ה', 'ו', 'ש'], - STANDALONENARROWWEEKDAYS: ['א', 'ב', 'ג', 'ד', 'ה', 'ו', 'ש'], - SHORTQUARTERS: ['רבעון 1', 'רבעון 2', 'רבעון 3', - 'רבעון 4'], - QUARTERS: ['רבעון 1', 'רבעון 2', 'רבעון 3', 'רבעון 4'], - AMPMS: ['לפנה״צ', 'אחה״צ'], - DATEFORMATS: ['EEEE, d בMMMM y', 'd בMMMM y', 'd בMMM yyyy', 'dd/MM/yy'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 6, - WEEKENDRANGE: [4, 5], - FIRSTWEEKCUTOFFDAY: 5 -}; - - -/** - * Date/time formatting symbols for locale hi. - */ -goog.i18n.DateTimeSymbols_hi = { - ERAS: ['ईसापूर्व', 'सन'], - ERANAMES: ['ईसापूर्व', 'सन'], - NARROWMONTHS: ['ज', 'फ़', 'मा', 'अ', 'म', 'जू', 'जु', - 'अ', 'सि', 'अ', 'न', 'दि'], - STANDALONENARROWMONTHS: ['ज', 'फ़', 'मा', 'अ', 'म', 'जू', - 'जु', 'अ', 'सि', 'अ', 'न', 'दि'], - MONTHS: ['जनवरी', 'फरवरी', 'मार्च', - 'अप्रैल', 'मई', 'जून', 'जुलाई', - 'अगस्त', 'सितम्बर', 'अक्तूबर', - 'नवम्बर', 'दिसम्बर'], - STANDALONEMONTHS: ['जनवरी', 'फरवरी', 'मार्च', - 'अप्रैल', 'मई', 'जून', 'जुलाई', - 'अगस्त', 'सितम्बर', 'अक्तूबर', - 'नवम्बर', 'दिसम्बर'], - SHORTMONTHS: ['जनवरी', 'फरवरी', 'मार्च', - 'अप्रैल', 'मई', 'जून', 'जुलाई', - 'अगस्त', 'सितम्बर', 'अक्तूबर', - 'नवम्बर', 'दिसम्बर'], - STANDALONESHORTMONTHS: ['जनवरी', 'फरवरी', - 'मार्च', 'अप्रैल', 'मई', 'जून', - 'जुलाई', 'अगस्त', 'सितम्बर', - 'अक्तूबर', 'नवम्बर', 'दिसम्बर'], - WEEKDAYS: ['रविवार', 'सोमवार', - 'मंगलवार', 'बुधवार', - 'बृहस्पतिवार', 'शुक्रवार', - 'शनिवार'], - STANDALONEWEEKDAYS: ['रविवार', 'सोमवार', - 'मंगलवार', 'बुधवार', - 'बृहस्पतिवार', 'शुक्रवार', - 'शनिवार'], - SHORTWEEKDAYS: ['रवि.', 'सोम.', 'मंगल.', 'बुध.', - 'बृह.', 'शुक्र.', 'शनि.'], - STANDALONESHORTWEEKDAYS: ['रवि.', 'सोम.', 'मंगल.', - 'बुध.', 'बृह.', 'शुक्र.', 'शनि.'], - NARROWWEEKDAYS: ['र', 'सो', 'मं', 'बु', 'गु', 'शु', - 'श'], - STANDALONENARROWWEEKDAYS: ['र', 'सो', 'मं', 'बु', 'गु', - 'शु', 'श'], - SHORTQUARTERS: ['तिमाही', 'दूसरी तिमाही', - 'तीसरी तिमाही', 'चौथी तिमाही'], - QUARTERS: ['तिमाही', 'दूसरी तिमाही', - 'तीसरी तिमाही', 'चौथी तिमाही'], - AMPMS: ['am', 'pm'], - DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'dd-MM-yyyy', 'd-M-yy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], - FIRSTDAYOFWEEK: 6, - WEEKENDRANGE: [6, 6], - FIRSTWEEKCUTOFFDAY: 5 -}; - - -/** - * Date/time formatting symbols for locale hr. - */ -goog.i18n.DateTimeSymbols_hr = { - ERAS: ['p. n. e.', 'A. D.'], - ERANAMES: ['Prije Krista', 'Poslije Krista'], - NARROWMONTHS: ['1.', '2.', '3.', '4.', '5.', '6.', '7.', '8.', '9.', '10.', - '11.', '12.'], - STANDALONENARROWMONTHS: ['1.', '2.', '3.', '4.', '5.', '6.', '7.', '8.', '9.', - '10.', '11.', '12.'], - MONTHS: ['siječnja', 'veljače', 'ožujka', 'travnja', 'svibnja', 'lipnja', - 'srpnja', 'kolovoza', 'rujna', 'listopada', 'studenoga', 'prosinca'], - STANDALONEMONTHS: ['siječanj', 'veljača', 'ožujak', 'travanj', 'svibanj', - 'lipanj', 'srpanj', 'kolovoz', 'rujan', 'listopad', 'studeni', - 'prosinac'], - SHORTMONTHS: ['sij', 'velj', 'ožu', 'tra', 'svi', 'lip', 'srp', 'kol', 'ruj', - 'lis', 'stu', 'pro'], - STANDALONESHORTMONTHS: ['sij', 'velj', 'ožu', 'tra', 'svi', 'lip', 'srp', - 'kol', 'ruj', 'lis', 'stu', 'pro'], - WEEKDAYS: ['nedjelja', 'ponedjeljak', 'utorak', 'srijeda', 'četvrtak', - 'petak', 'subota'], - STANDALONEWEEKDAYS: ['nedjelja', 'ponedjeljak', 'utorak', 'srijeda', - 'četvrtak', 'petak', 'subota'], - SHORTWEEKDAYS: ['ned', 'pon', 'uto', 'sri', 'čet', 'pet', 'sub'], - STANDALONESHORTWEEKDAYS: ['ned', 'pon', 'uto', 'sri', 'čet', 'pet', 'sub'], - NARROWWEEKDAYS: ['N', 'P', 'U', 'S', 'Č', 'P', 'S'], - STANDALONENARROWWEEKDAYS: ['n', 'p', 'u', 's', 'č', 'p', 's'], - SHORTQUARTERS: ['1kv', '2kv', '3kv', '4kv'], - QUARTERS: ['1. kvartal', '2. kvartal', '3. kvartal', '4. kvartal'], - AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE, d. MMMM y.', 'd. MMMM y.', 'd. M. y.', 'd.M.y.'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 6 -}; - - -/** - * Date/time formatting symbols for locale hu. - */ -goog.i18n.DateTimeSymbols_hu = { - ERAS: ['i. e.', 'i. sz.'], - ERANAMES: ['időszámításunk előtt', 'időszámításunk szerint'], - NARROWMONTHS: ['J', 'F', 'M', 'Á', 'M', 'J', 'J', 'Á', 'Sz', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'Á', 'M', 'J', 'J', 'A', 'Sz', 'O', - 'N', 'D'], - MONTHS: ['január', 'február', 'március', 'április', 'május', 'június', - 'július', 'augusztus', 'szeptember', 'október', 'november', 'december'], - STANDALONEMONTHS: ['január', 'február', 'március', 'április', 'május', - 'június', 'július', 'augusztus', 'szeptember', 'október', 'november', - 'december'], - SHORTMONTHS: ['jan.', 'febr.', 'márc.', 'ápr.', 'máj.', 'jún.', 'júl.', - 'aug.', 'szept.', 'okt.', 'nov.', 'dec.'], - STANDALONESHORTMONTHS: ['jan.', 'febr.', 'márc.', 'ápr.', 'máj.', 'jún.', - 'júl.', 'aug.', 'szept.', 'okt.', 'nov.', 'dec.'], - WEEKDAYS: ['vasárnap', 'hétfő', 'kedd', 'szerda', 'csütörtök', - 'péntek', 'szombat'], - STANDALONEWEEKDAYS: ['vasárnap', 'hétfő', 'kedd', 'szerda', 'csütörtök', - 'péntek', 'szombat'], - SHORTWEEKDAYS: ['V', 'H', 'K', 'Sze', 'Cs', 'P', 'Szo'], - STANDALONESHORTWEEKDAYS: ['V', 'H', 'K', 'Sze', 'Cs', 'P', 'Szo'], - NARROWWEEKDAYS: ['V', 'H', 'K', 'Sz', 'Cs', 'P', 'Sz'], - STANDALONENARROWWEEKDAYS: ['V', 'H', 'K', 'Sz', 'Cs', 'P', 'Sz'], - SHORTQUARTERS: ['N1', 'N2', 'N3', 'N4'], - QUARTERS: ['I. negyedév', 'II. negyedév', 'III. negyedév', - 'IV. negyedév'], - AMPMS: ['de.', 'du.'], - DATEFORMATS: ['y. MMMM d., EEEE', 'y. MMMM d.', 'yyyy.MM.dd.', 'yyyy.MM.dd.'], - TIMEFORMATS: ['H:mm:ss zzzz', 'H:mm:ss z', 'H:mm:ss', 'H:mm'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 6 -}; - - -/** - * Date/time formatting symbols for locale id. - */ -goog.i18n.DateTimeSymbols_id = { - ERAS: ['SM', 'M'], - ERANAMES: ['SM', 'M'], - NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['Januari', 'Februari', 'Maret', 'April', 'Mei', 'Juni', 'Juli', - 'Agustus', 'September', 'Oktober', 'November', 'Desember'], - STANDALONEMONTHS: ['Januari', 'Februari', 'Maret', 'April', 'Mei', 'Juni', - 'Juli', 'Agustus', 'September', 'Oktober', 'November', 'Desember'], - SHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'Mei', 'Jun', 'Jul', 'Agt', 'Sep', - 'Okt', 'Nov', 'Des'], - STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'Mei', 'Jun', 'Jul', - 'Agt', 'Sep', 'Okt', 'Nov', 'Des'], - WEEKDAYS: ['Minggu', 'Senin', 'Selasa', 'Rabu', 'Kamis', 'Jumat', 'Sabtu'], - STANDALONEWEEKDAYS: ['Minggu', 'Senin', 'Selasa', 'Rabu', 'Kamis', 'Jumat', - 'Sabtu'], - SHORTWEEKDAYS: ['Min', 'Sen', 'Sel', 'Rab', 'Kam', 'Jum', 'Sab'], - STANDALONESHORTWEEKDAYS: ['Min', 'Sen', 'Sel', 'Rab', 'Kam', 'Jum', 'Sab'], - NARROWWEEKDAYS: ['M', 'S', 'S', 'R', 'K', 'J', 'S'], - STANDALONENARROWWEEKDAYS: ['M', 'S', 'S', 'R', 'K', 'J', 'S'], - SHORTQUARTERS: ['K1', 'K2', 'K3', 'K4'], - QUARTERS: ['kuartal pertama', 'kuartal kedua', 'kuartal ketiga', - 'kuartal keempat'], - AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE, dd MMMM yyyy', 'd MMMM yyyy', 'd MMM yyyy', 'dd/MM/yy'], - TIMEFORMATS: ['H:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 6, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 5 -}; - - -/** - * Date/time formatting symbols for locale in. - */ -goog.i18n.DateTimeSymbols_in = { - ERAS: ['SM', 'M'], - ERANAMES: ['SM', 'M'], - NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['Januari', 'Februari', 'Maret', 'April', 'Mei', 'Juni', 'Juli', - 'Agustus', 'September', 'Oktober', 'November', 'Desember'], - STANDALONEMONTHS: ['Januari', 'Februari', 'Maret', 'April', 'Mei', 'Juni', - 'Juli', 'Agustus', 'September', 'Oktober', 'November', 'Desember'], - SHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'Mei', 'Jun', 'Jul', 'Agt', 'Sep', - 'Okt', 'Nov', 'Des'], - STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mar', 'Apr', 'Mei', 'Jun', 'Jul', - 'Agt', 'Sep', 'Okt', 'Nov', 'Des'], - WEEKDAYS: ['Minggu', 'Senin', 'Selasa', 'Rabu', 'Kamis', 'Jumat', 'Sabtu'], - STANDALONEWEEKDAYS: ['Minggu', 'Senin', 'Selasa', 'Rabu', 'Kamis', 'Jumat', - 'Sabtu'], - SHORTWEEKDAYS: ['Min', 'Sen', 'Sel', 'Rab', 'Kam', 'Jum', 'Sab'], - STANDALONESHORTWEEKDAYS: ['Min', 'Sen', 'Sel', 'Rab', 'Kam', 'Jum', 'Sab'], - NARROWWEEKDAYS: ['M', 'S', 'S', 'R', 'K', 'J', 'S'], - STANDALONENARROWWEEKDAYS: ['M', 'S', 'S', 'R', 'K', 'J', 'S'], - SHORTQUARTERS: ['K1', 'K2', 'K3', 'K4'], - QUARTERS: ['kuartal pertama', 'kuartal kedua', 'kuartal ketiga', - 'kuartal keempat'], - AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE, dd MMMM yyyy', 'd MMMM yyyy', 'd MMM yyyy', 'dd/MM/yy'], - TIMEFORMATS: ['H:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 6, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 5 -}; - - -/** - * Date/time formatting symbols for locale is. - */ -goog.i18n.DateTimeSymbols_is = { - ERAS: ['fyrir Krist', 'eftir Krist'], - ERANAMES: ['fyrir Krist', 'eftir Krist'], - NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'Á', 'L', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['j', 'f', 'm', 'a', 'm', 'j', 'j', 'á', 's', 'o', - 'n', 'd'], - MONTHS: ['janúar', 'febrúar', 'mars', 'apríl', 'maí', 'júní', 'júlí', - 'ágúst', 'september', 'október', 'nóvember', 'desember'], - STANDALONEMONTHS: ['janúar', 'febrúar', 'mars', 'apríl', 'maí', 'júní', - 'júlí', 'ágúst', 'september', 'október', 'nóvember', 'desember'], - SHORTMONTHS: ['jan', 'feb', 'mar', 'apr', 'maí', 'jún', 'júl', 'ágú', - 'sep', 'okt', 'nóv', 'des'], - STANDALONESHORTMONTHS: ['jan', 'feb', 'mar', 'apr', 'maí', 'jún', 'júl', - 'ágú', 'sep', 'okt', 'nóv', 'des'], - WEEKDAYS: ['sunnudagur', 'mánudagur', 'þriðjudagur', 'miðvikudagur', - 'fimmtudagur', 'föstudagur', 'laugardagur'], - STANDALONEWEEKDAYS: ['sunnudagur', 'mánudagur', 'þriðjudagur', - 'miðvikudagur', 'fimmtudagur', 'föstudagur', 'laugardagur'], - SHORTWEEKDAYS: ['sun', 'mán', 'þri', 'mið', 'fim', 'fös', 'lau'], - STANDALONESHORTWEEKDAYS: ['sun', 'mán', 'þri', 'mið', 'fim', 'fös', - 'lau'], - NARROWWEEKDAYS: ['S', 'M', 'Þ', 'M', 'F', 'F', 'L'], - STANDALONENARROWWEEKDAYS: ['s', 'm', 'þ', 'm', 'f', 'f', 'l'], - SHORTQUARTERS: ['F1', 'F2', 'F3', 'F4'], - QUARTERS: ['1st fjórðungur', '2nd fjórðungur', '3rd fjórðungur', - '4th fjórðungur'], - AMPMS: ['f.h.', 'e.h.'], - DATEFORMATS: ['EEEE, d. MMMM y', 'd. MMMM y', 'd.M.yyyy', 'd.M.yyyy'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 3 -}; - - -/** - * Date/time formatting symbols for locale it. - */ -goog.i18n.DateTimeSymbols_it = { - ERAS: ['aC', 'dC'], - ERANAMES: ['a.C.', 'd.C'], - NARROWMONTHS: ['G', 'F', 'M', 'A', 'M', 'G', 'L', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['G', 'F', 'M', 'A', 'M', 'G', 'L', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['gennaio', 'febbraio', 'marzo', 'aprile', 'maggio', 'giugno', - 'luglio', 'agosto', 'settembre', 'ottobre', 'novembre', 'dicembre'], - STANDALONEMONTHS: ['Gennaio', 'Febbraio', 'Marzo', 'Aprile', 'Maggio', - 'Giugno', 'Luglio', 'Agosto', 'Settembre', 'Ottobre', 'Novembre', - 'Dicembre'], - SHORTMONTHS: ['gen', 'feb', 'mar', 'apr', 'mag', 'giu', 'lug', 'ago', 'set', - 'ott', 'nov', 'dic'], - STANDALONESHORTMONTHS: ['gen', 'feb', 'mar', 'apr', 'mag', 'giu', 'lug', - 'ago', 'set', 'ott', 'nov', 'dic'], - WEEKDAYS: ['domenica', 'lunedì', 'martedì', 'mercoledì', 'giovedì', - 'venerdì', 'sabato'], - STANDALONEWEEKDAYS: ['Domenica', 'Lunedì', 'Martedì', 'Mercoledì', - 'Giovedì', 'Venerdì', 'Sabato'], - SHORTWEEKDAYS: ['dom', 'lun', 'mar', 'mer', 'gio', 'ven', 'sab'], - STANDALONESHORTWEEKDAYS: ['dom', 'lun', 'mar', 'mer', 'gio', 'ven', 'sab'], - NARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'G', 'V', 'S'], - STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'G', 'V', 'S'], - SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], - QUARTERS: ['1o trimestre', '2o trimestre', '3o trimestre', '4o trimestre'], - AMPMS: ['m.', 'p.'], - DATEFORMATS: ['EEEE d MMMM y', 'dd MMMM y', 'dd/MMM/y', 'dd/MM/yy'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 3 -}; - - -/** - * Date/time formatting symbols for locale iw. - */ -goog.i18n.DateTimeSymbols_iw = { - ERAS: ['לפנה״ס', 'לסה״נ'], - ERANAMES: ['לפני הספירה', 'לספירה'], - NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], - STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', - '11', '12'], - MONTHS: ['ינואר', 'פברואר', 'מרץ', 'אפריל', 'מאי', - 'יוני', 'יולי', 'אוגוסט', 'ספטמבר', 'אוקטובר', - 'נובמבר', 'דצמבר'], - STANDALONEMONTHS: ['ינואר', 'פברואר', 'מרץ', 'אפריל', - 'מאי', 'יוני', 'יולי', 'אוגוסט', 'ספטמבר', - 'אוקטובר', 'נובמבר', 'דצמבר'], - SHORTMONTHS: ['ינו', 'פבר', 'מרץ', 'אפר', 'מאי', 'יונ', - 'יול', 'אוג', 'ספט', 'אוק', 'נוב', 'דצמ'], - STANDALONESHORTMONTHS: ['ינו׳', 'פבר׳', 'מרץ', 'אפר׳', - 'מאי', 'יונ׳', 'יול׳', 'אוג׳', 'ספט׳', 'אוק׳', - 'נוב׳', 'דצמ׳'], - WEEKDAYS: ['יום ראשון', 'יום שני', 'יום שלישי', - 'יום רביעי', 'יום חמישי', 'יום שישי', - 'יום שבת'], - STANDALONEWEEKDAYS: ['יום ראשון', 'יום שני', - 'יום שלישי', 'יום רביעי', 'יום חמישי', - 'יום שישי', 'יום שבת'], - SHORTWEEKDAYS: ['יום א׳', 'יום ב׳', 'יום ג׳', 'יום ד׳', - 'יום ה׳', 'יום ו׳', 'שבת'], - STANDALONESHORTWEEKDAYS: ['יום א׳', 'יום ב׳', 'יום ג׳', - 'יום ד׳', 'יום ה׳', 'יום ו׳', 'שבת'], - NARROWWEEKDAYS: ['א', 'ב', 'ג', 'ד', 'ה', 'ו', 'ש'], - STANDALONENARROWWEEKDAYS: ['א', 'ב', 'ג', 'ד', 'ה', 'ו', 'ש'], - SHORTQUARTERS: ['רבעון 1', 'רבעון 2', 'רבעון 3', - 'רבעון 4'], - QUARTERS: ['רבעון 1', 'רבעון 2', 'רבעון 3', 'רבעון 4'], - AMPMS: ['לפנה״צ', 'אחה״צ'], - DATEFORMATS: ['EEEE, d בMMMM y', 'd בMMMM y', 'd בMMM yyyy', 'dd/MM/yy'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 6, - WEEKENDRANGE: [4, 5], - FIRSTWEEKCUTOFFDAY: 5 -}; - - -/** - * Date/time formatting symbols for locale ja. - */ -goog.i18n.DateTimeSymbols_ja = { - ERAS: ['紀元前', '西暦'], - ERANAMES: ['紀元前', '西暦'], - NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], - STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', - '11', '12'], - MONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', - '9月', '10月', '11月', '12月'], - STANDALONEMONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', - '8月', '9月', '10月', '11月', '12月'], - SHORTMONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', - '9月', '10月', '11月', '12月'], - STANDALONESHORTMONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', - '7月', '8月', '9月', '10月', '11月', '12月'], - WEEKDAYS: ['日曜日', '月曜日', '火曜日', '水曜日', '木曜日', - '金曜日', '土曜日'], - STANDALONEWEEKDAYS: ['日曜日', '月曜日', '火曜日', '水曜日', - '木曜日', '金曜日', '土曜日'], - SHORTWEEKDAYS: ['日', '月', '火', '水', '木', '金', '土'], - STANDALONESHORTWEEKDAYS: ['日', '月', '火', '水', '木', '金', '土'], - NARROWWEEKDAYS: ['日', '月', '火', '水', '木', '金', '土'], - STANDALONENARROWWEEKDAYS: ['日', '月', '火', '水', '木', '金', '土'], - SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - QUARTERS: ['第1四半期', '第2四半期', '第3四半期', - '第4四半期'], - AMPMS: ['午前', '午後'], - DATEFORMATS: ['y年M月d日EEEE', 'y年M月d日', 'yyyy/MM/dd', 'yyyy/MM/dd'], - TIMEFORMATS: ['H時mm分ss秒 zzzz', 'H:mm:ss z', 'H:mm:ss', 'H:mm'], - FIRSTDAYOFWEEK: 6, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 5 -}; - - -/** - * Date/time formatting symbols for locale kn. - */ -goog.i18n.DateTimeSymbols_kn = { - ERAS: ['ಕ್ರಿ.ಪೂ', 'ಜಾಹೀ'], - ERANAMES: ['ಈಸಪೂವ೯.', 'ಕ್ರಿಸ್ತ ಶಕ'], - NARROWMONTHS: ['ಜ', 'ಫೆ', 'ಮಾ', 'ಎ', 'ಮೇ', 'ಜೂ', 'ಜು', - 'ಆ', 'ಸೆ', 'ಅ', 'ನ', 'ಡಿ'], - STANDALONENARROWMONTHS: ['ಜ', 'ಫೆ', 'ಮಾ', 'ಎ', 'ಮೇ', 'ಜೂ', - 'ಜು', 'ಆ', 'ಸೆ', 'ಅ', 'ನ', 'ಡಿ'], - MONTHS: ['ಜನವರೀ', 'ಫೆಬ್ರವರೀ', 'ಮಾರ್ಚ್', - 'ಎಪ್ರಿಲ್', 'ಮೆ', 'ಜೂನ್', 'ಜುಲೈ', - 'ಆಗಸ್ಟ್', 'ಸಪ್ಟೆಂಬರ್', - 'ಅಕ್ಟೋಬರ್', 'ನವೆಂಬರ್', - 'ಡಿಸೆಂಬರ್'], - STANDALONEMONTHS: ['ಜನವರೀ', 'ಫೆಬ್ರವರೀ', - 'ಮಾರ್ಚ್', 'ಎಪ್ರಿಲ್', 'ಮೆ', 'ಜೂನ್', - 'ಜುಲೈ', 'ಆಗಸ್ಟ್', 'ಸಪ್ಟೆಂಬರ್', - 'ಅಕ್ಟೋಬರ್', 'ನವೆಂಬರ್', - 'ಡಿಸೆಂಬರ್'], - SHORTMONTHS: ['ಜನವರೀ', 'ಫೆಬ್ರವರೀ', - 'ಮಾರ್ಚ್', 'ಎಪ್ರಿಲ್', 'ಮೆ', 'ಜೂನ್', - 'ಜುಲೈ', 'ಆಗಸ್ಟ್', 'ಸಪ್ಟೆಂಬರ್', - 'ಅಕ್ಟೋಬರ್', 'ನವೆಂಬರ್', - 'ಡಿಸೆಂಬರ್'], - STANDALONESHORTMONTHS: ['ಜನವರೀ', 'ಫೆಬ್ರವರೀ', - 'ಮಾರ್ಚ್', 'ಎಪ್ರಿಲ್', 'ಮೆ', 'ಜೂನ್', - 'ಜುಲೈ', 'ಆಗಸ್ಟ್', 'ಸಪ್ಟೆಂಬರ್', - 'ಅಕ್ಟೋಬರ್', 'ನವೆಂಬರ್', - 'ಡಿಸೆಂಬರ್'], - WEEKDAYS: ['ರವಿವಾರ', 'ಸೋಮವಾರ', - 'ಮಂಗಳವಾರ', 'ಬುಧವಾರ', 'ಗುರುವಾರ', - 'ಶುಕ್ರವಾರ', 'ಶನಿವಾರ'], - STANDALONEWEEKDAYS: ['ರವಿವಾರ', 'ಸೋಮವಾರ', - 'ಮಂಗಳವಾರ', 'ಬುಧವಾರ', 'ಗುರುವಾರ', - 'ಶುಕ್ರವಾರ', 'ಶನಿವಾರ'], - SHORTWEEKDAYS: ['ರ.', 'ಸೋ.', 'ಮಂ.', 'ಬು.', 'ಗು.', 'ಶು.', - 'ಶನಿ.'], - STANDALONESHORTWEEKDAYS: ['ರ.', 'ಸೋ.', 'ಮಂ.', 'ಬು.', 'ಗು.', - 'ಶು.', 'ಶನಿ.'], - NARROWWEEKDAYS: ['ರ', 'ಸೋ', 'ಮಂ', 'ಬು', 'ಗು', 'ಶು', - 'ಶ'], - STANDALONENARROWWEEKDAYS: ['ರ', 'ಸೋ', 'ಮಂ', 'ಬು', 'ಗು', - 'ಶು', 'ಶ'], - SHORTQUARTERS: ['ಒಂದು 1', 'ಎರಡು 2', 'ಮೂರು 3', - 'ನಾಲೃಕ 4'], - QUARTERS: ['ಒಂದು 1', 'ಎರಡು 2', 'ಮೂರು 3', - 'ನಾಲೃಕ 4'], - AMPMS: ['am', 'pm'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'd-M-yy'], - TIMEFORMATS: ['hh:mm:ss a zzzz', 'hh:mm:ss a z', 'hh:mm:ss a', 'hh:mm a'], - FIRSTDAYOFWEEK: 6, - WEEKENDRANGE: [6, 6], - FIRSTWEEKCUTOFFDAY: 5 -}; - - -/** - * Date/time formatting symbols for locale ko. - */ -goog.i18n.DateTimeSymbols_ko = { - ERAS: ['기원전', '서기'], - ERANAMES: ['서력기원전', '서력기원'], - NARROWMONTHS: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', - '9월', '10월', '11월', '12월'], - STANDALONENARROWMONTHS: ['1월', '2월', '3월', '4월', '5월', '6월', - '7월', '8월', '9월', '10월', '11월', '12월'], - MONTHS: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', - '9월', '10월', '11월', '12월'], - STANDALONEMONTHS: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', - '8월', '9월', '10월', '11월', '12월'], - SHORTMONTHS: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', - '9월', '10월', '11월', '12월'], - STANDALONESHORTMONTHS: ['1월', '2월', '3월', '4월', '5월', '6월', - '7월', '8월', '9월', '10월', '11월', '12월'], - WEEKDAYS: ['일요일', '월요일', '화요일', '수요일', '목요일', - '금요일', '토요일'], - STANDALONEWEEKDAYS: ['일요일', '월요일', '화요일', '수요일', - '목요일', '금요일', '토요일'], - SHORTWEEKDAYS: ['일', '월', '화', '수', '목', '금', '토'], - STANDALONESHORTWEEKDAYS: ['일', '월', '화', '수', '목', '금', '토'], - NARROWWEEKDAYS: ['일', '월', '화', '수', '목', '금', '토'], - STANDALONENARROWWEEKDAYS: ['일', '월', '화', '수', '목', '금', '토'], - SHORTQUARTERS: ['1분기', '2분기', '3분기', '4분기'], - QUARTERS: ['제 1/4분기', '제 2/4분기', '제 3/4분기', - '제 4/4분기'], - AMPMS: ['오전', '오후'], - DATEFORMATS: ['y년 M월 d일 EEEE', 'y년 M월 d일', 'yyyy. M. d.', - 'yy. M. d.'], - TIMEFORMATS: ['a h시 m분 s초 zzzz', 'a h시 m분 s초 z', 'a h:mm:ss', - 'a h:mm'], - FIRSTDAYOFWEEK: 6, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 5 -}; - - -/** - * Date/time formatting symbols for locale ln. - */ -goog.i18n.DateTimeSymbols_ln = { - ERAS: ['libóso ya', 'nsima ya Y'], - ERANAMES: ['Yambo ya Yézu Krís', 'Nsima ya Yézu Krís'], - NARROWMONTHS: ['y', 'f', 'm', 'a', 'm', 'y', 'y', 'a', 's', 'ɔ', 'n', 'd'], - STANDALONENARROWMONTHS: ['y', 'f', 'm', 'a', 'm', 'y', 'y', 'a', 's', 'ɔ', - 'n', 'd'], - MONTHS: ['sánzá ya yambo', 'sánzá ya míbalé', 'sánzá ya mísáto', - 'sánzá ya mínei', 'sánzá ya mítáno', 'sánzá ya motóbá', - 'sánzá ya nsambo', 'sánzá ya mwambe', 'sánzá ya libwa', - 'sánzá ya zómi', 'sánzá ya zómi na mɔ̌kɔ́', - 'sánzá ya zómi na míbalé'], - STANDALONEMONTHS: ['sánzá ya yambo', 'sánzá ya míbalé', - 'sánzá ya mísáto', 'sánzá ya mínei', 'sánzá ya mítáno', - 'sánzá ya motóbá', 'sánzá ya nsambo', 'sánzá ya mwambe', - 'sánzá ya libwa', 'sánzá ya zómi', 'sánzá ya zómi na mɔ̌kɔ́', - 'sánzá ya zómi na míbalé'], - SHORTMONTHS: ['yan', 'fbl', 'msi', 'apl', 'mai', 'yun', 'yul', 'agt', 'stb', - 'ɔtb', 'nvb', 'dsb'], - STANDALONESHORTMONTHS: ['yan', 'fbl', 'msi', 'apl', 'mai', 'yun', 'yul', - 'agt', 'stb', 'ɔtb', 'nvb', 'dsb'], - WEEKDAYS: ['eyenga', 'mokɔlɔ mwa yambo', 'mokɔlɔ mwa míbalé', - 'mokɔlɔ mwa mísáto', 'mokɔlɔ ya mínéi', 'mokɔlɔ ya mítáno', - 'mpɔ́sɔ'], - STANDALONEWEEKDAYS: ['eyenga', 'mokɔlɔ mwa yambo', 'mokɔlɔ mwa míbalé', - 'mokɔlɔ mwa mísáto', 'mokɔlɔ ya mínéi', 'mokɔlɔ ya mítáno', - 'mpɔ́sɔ'], - SHORTWEEKDAYS: ['eye', 'ybo', 'mbl', 'mst', 'min', 'mtn', 'mps'], - STANDALONESHORTWEEKDAYS: ['eye', 'ybo', 'mbl', 'mst', 'min', 'mtn', 'mps'], - NARROWWEEKDAYS: ['e', 'y', 'm', 'm', 'm', 'm', 'p'], - STANDALONENARROWWEEKDAYS: ['e', 'y', 'm', 'm', 'm', 'm', 'p'], - SHORTQUARTERS: ['SM1', 'SM2', 'SM3', 'SM4'], - QUARTERS: ['sánzá mísáto ya yambo', 'sánzá mísáto ya míbalé', - 'sánzá mísáto ya mísáto', 'sánzá mísáto ya mínei'], - AMPMS: ['ntɔ́ngɔ́', 'mpókwa'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'd/M/yyyy'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 6 -}; - - -/** - * Date/time formatting symbols for locale lt. - */ -goog.i18n.DateTimeSymbols_lt = { - ERAS: ['pr. Kr.', 'po Kr.'], - ERANAMES: ['prieš Kristų', 'po Kristaus'], - NARROWMONTHS: ['S', 'V', 'K', 'B', 'G', 'B', 'L', 'R', 'R', 'S', 'L', 'G'], - STANDALONENARROWMONTHS: ['S', 'V', 'K', 'B', 'G', 'B', 'L', 'R', 'R', 'S', - 'L', 'G'], - MONTHS: ['sausio', 'vasaris', 'kovas', 'balandis', 'gegužė', 'birželis', - 'liepa', 'rugpjūtis', 'rugsėjis', 'spalis', 'lapkritis', 'gruodis'], - STANDALONEMONTHS: ['Sausis', 'Vasaris', 'Kovas', 'Balandis', 'Gegužė', - 'Birželis', 'Liepa', 'Rugpjūtis', 'Rugsėjis', 'Spalis', 'Lapkritis', - 'Gruodis'], - SHORTMONTHS: ['Saus.', 'Vas', 'Kov.', 'Bal.', 'Geg.', 'Bir.', 'Liep.', - 'Rugp.', 'Rugs.', 'Spal.', 'Lapkr.', 'Gruod.'], - STANDALONESHORTMONTHS: ['Saus.', 'Vas.', 'Kov.', 'Bal.', 'Geg.', 'Bir.', - 'Liep.', 'Rugp.', 'Rugs.', 'Spal.', 'Lapkr.', 'Gruod.'], - WEEKDAYS: ['sekmadienis', 'pirmadienis', 'antradienis', 'trečiadienis', - 'ketvirtadienis', 'penktadienis', 'šeštadienis'], - STANDALONEWEEKDAYS: ['sekmadienis', 'pirmadienis', 'antradienis', - 'trečiadienis', 'ketvirtadienis', 'penktadienis', 'šeštadienis'], - SHORTWEEKDAYS: ['Sk', 'Pr', 'An', 'Tr', 'Kt', 'Pn', 'Št'], - STANDALONESHORTWEEKDAYS: ['Sk', 'Pr', 'An', 'Tr', 'Kt', 'Pn', 'Št'], - NARROWWEEKDAYS: ['S', 'P', 'A', 'T', 'K', 'P', 'Š'], - STANDALONENARROWWEEKDAYS: ['S', 'P', 'A', 'T', 'K', 'P', 'Š'], - SHORTQUARTERS: ['I k.', 'II k.', 'III k.', 'IV ketv.'], - QUARTERS: ['I ketvirtis', 'II ketvirtis', 'III ketvirtis', 'IV ketvirtis'], - AMPMS: ['priešpiet', 'popiet'], - DATEFORMATS: ['y \'m\'. MMMM d \'d\'., EEEE', 'y \'m\'. MMMM d \'d\'.', - 'y MMM d', 'yyyy-MM-dd'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 3 -}; - - -/** - * Date/time formatting symbols for locale lv. - */ -goog.i18n.DateTimeSymbols_lv = { - ERAS: ['p.m.ē.', 'm.ē.'], - ERANAMES: ['pirms mūsu ēras', 'mūsu ērā'], - NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['janvāris', 'februāris', 'marts', 'aprīlis', 'maijs', 'jūnijs', - 'jūlijs', 'augusts', 'septembris', 'oktobris', 'novembris', 'decembris'], - STANDALONEMONTHS: ['janvāris', 'februāris', 'marts', 'aprīlis', 'maijs', - 'jūnijs', 'jūlijs', 'augusts', 'septembris', 'oktobris', 'novembris', - 'decembris'], - SHORTMONTHS: ['janv.', 'febr.', 'marts', 'apr.', 'maijs', 'jūn.', 'jūl.', - 'aug.', 'sept.', 'okt.', 'nov.', 'dec.'], - STANDALONESHORTMONTHS: ['janv.', 'febr.', 'marts', 'apr.', 'maijs', 'jūn.', - 'jūl.', 'aug.', 'sept.', 'okt.', 'nov.', 'dec.'], - WEEKDAYS: ['svētdiena', 'pirmdiena', 'otrdiena', 'trešdiena', 'ceturtdiena', - 'piektdiena', 'sestdiena'], - STANDALONEWEEKDAYS: ['svētdiena', 'pirmdiena', 'otrdiena', 'trešdiena', - 'ceturtdiena', 'piektdiena', 'sestdiena'], - SHORTWEEKDAYS: ['Sv', 'Pr', 'Ot', 'Tr', 'Ce', 'Pk', 'Se'], - STANDALONESHORTWEEKDAYS: ['Sv', 'Pr', 'Ot', 'Tr', 'Ce', 'Pk', 'Se'], - NARROWWEEKDAYS: ['S', 'P', 'O', 'T', 'C', 'P', 'S'], - STANDALONENARROWWEEKDAYS: ['S', 'P', 'O', 'T', 'C', 'P', 'S'], - SHORTQUARTERS: ['C1', 'C2', 'C3', 'C4'], - QUARTERS: ['1. ceturksnis', '2. ceturksnis', '3. ceturksnis', - '4. ceturksnis'], - AMPMS: ['priekšpusdienā', 'pēcpusdienā'], - DATEFORMATS: ['EEEE, y. \'gada\' d. MMMM', 'y. \'gada\' d. MMMM', - 'y. \'gada\' d. MMM', 'dd.MM.yy'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 6 -}; - - -/** - * Date/time formatting symbols for locale ml. - */ -goog.i18n.DateTimeSymbols_ml = { - ERAS: ['ക്രി.മൂ', 'ക്രി.പി.'], - ERANAMES: ['ക്രിസ്തുവിനു് മുമ്പ്‌', - 'ക്രിസ്തുവിന് പിന്‍പ്'], - NARROWMONTHS: ['ജ', 'ഫെ', 'മാ', 'ഏ', 'മേ', 'ജൂ', 'ജൂ', - 'ഓ', 'സെ', 'ഒ', 'ന', 'ഡി'], - STANDALONENARROWMONTHS: ['ജ', 'ഫെ', 'മാ', 'ഏ', 'മേ', 'ജൂ', - 'ജൂ', 'ഓ', 'സെ', 'ഒ', 'ന', 'ഡി'], - MONTHS: ['ജനുവരി', 'ഫെബ്രുവരി', - 'മാര്‍ച്ച്', 'ഏപ്രില്‍', 'മേയ്', - 'ജൂണ്‍', 'ജൂലൈ', 'ആഗസ്റ്റ്', - 'സെപ്റ്റംബര്‍', 'ഒക്ടോബര്‍', - 'നവംബര്‍', 'ഡിസംബര്‍'], - STANDALONEMONTHS: ['ജനുവരി', 'ഫെബ്രുവരി', - 'മാര്‍ച്ച്', 'ഏപ്രില്‍', 'മേയ്', - 'ജൂണ്‍', 'ജൂലൈ', 'ആഗസ്റ്റ്', - 'സെപ്റ്റംബര്‍', 'ഒക്ടോബര്‍', - 'നവംബര്‍', 'ഡിസംബര്‍'], - SHORTMONTHS: ['ജനു', 'ഫെബ്രു', 'മാര്‍', - 'ഏപ്രി', 'മേയ്', 'ജൂണ്‍', 'ജൂലൈ', - 'ഓഗ', 'സെപ്റ്റം', 'ഒക്ടോ', 'നവം', - 'ഡിസം'], - STANDALONESHORTMONTHS: ['ജനു', 'ഫെബ്രു', 'മാര്‍', - 'ഏപ്രി', 'മേയ്', 'ജൂണ്‍', 'ജൂലൈ', - 'ഓഗ', 'സെപ്റ്റം', 'ഒക്ടോ', 'നവം', - 'ഡിസം'], - WEEKDAYS: ['ഞായറാഴ്ച', 'തിങ്കളാഴ്ച', - 'ചൊവ്വാഴ്ച', 'ബുധനാഴ്ച', - 'വ്യാഴാഴ്ച', 'വെള്ളിയാഴ്ച', - 'ശനിയാഴ്ച'], - STANDALONEWEEKDAYS: ['ഞായറാഴ്ച', - 'തിങ്കളാഴ്ച', 'ചൊവ്വാഴ്ച', - 'ബുധനാഴ്ച', 'വ്യാഴാഴ്ച', - 'വെള്ളിയാഴ്ച', 'ശനിയാഴ്ച'], - SHORTWEEKDAYS: ['ഞായര്‍', 'തിങ്കള്‍', - 'ചൊവ്വ', 'ബുധന്‍', 'വ്യാഴം', - 'വെള്ളി', 'ശനി'], - STANDALONESHORTWEEKDAYS: ['ഞായര്‍', 'തിങ്കള്‍', - 'ചൊവ്വ', 'ബുധന്‍', 'വ്യാഴം', - 'വെള്ളി', 'ശനി'], - NARROWWEEKDAYS: ['ഞാ', 'തി', 'ചൊ', 'ബു', 'വ്യാ', - 'വെ', 'ശ'], - STANDALONENARROWWEEKDAYS: ['ഞാ', 'തി', 'ചൊ', 'ബു', - 'വ്യാ', 'വെ', 'ശ'], - SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - QUARTERS: ['ഒന്നാം പാദം', - 'രണ്ടാം പാദം', 'മൂന്നാം പാദം', - 'നാലാം പാദം'], - AMPMS: ['am', 'pm'], - DATEFORMATS: ['y, MMMM d, EEEE', 'y, MMMM d', 'y, MMM d', 'dd/MM/yy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], - FIRSTDAYOFWEEK: 6, - WEEKENDRANGE: [6, 6], - FIRSTWEEKCUTOFFDAY: 5 -}; - - -/** - * Date/time formatting symbols for locale mr. - */ -goog.i18n.DateTimeSymbols_mr = { - ERAS: ['ईसापूर्व', 'सन'], - ERANAMES: ['ईसवीसनपूर्व', 'ईसवीसन'], - NARROWMONTHS: ['जा', 'फे', 'मा', 'ए', 'मे', 'जू', - 'जु', 'ऑ', 'स', 'ऑ', 'नो', 'डि'], - STANDALONENARROWMONTHS: ['जा', 'फे', 'मा', 'ए', 'मे', - 'जू', 'जु', 'ऑ', 'स', 'ऑ', 'नो', 'डि'], - MONTHS: ['जानेवारी', 'फेब्रुवारी', - 'मार्च', 'एप्रिल', 'मे', 'जून', - 'जुलै', 'ऑगस्ट', 'सप्टेंबर', - 'ऑक्टोबर', 'नोव्हेंबर', - 'डिसेंबर'], - STANDALONEMONTHS: ['जानेवारी', - 'फेब्रुवारी', 'मार्च', 'एप्रिल', - 'मे', 'जून', 'जुलै', 'ऑगस्ट', - 'सप्टेंबर', 'ऑक्टोबर', - 'नोव्हेंबर', 'डिसेंबर'], - SHORTMONTHS: ['जाने', 'फेब्रु', 'मार्च', - 'एप्रि', 'मे', 'जून', 'जुलै', 'ऑग', - 'सेप्टें', 'ऑक्टोबर', 'नोव्हें', - 'डिसें'], - STANDALONESHORTMONTHS: ['जाने', 'फेब्रु', - 'मार्च', 'एप्रि', 'मे', 'जून', - 'जुलै', 'ऑग', 'सेप्टें', - 'ऑक्टोबर', 'नोव्हें', 'डिसें'], - WEEKDAYS: ['रविवार', 'सोमवार', - 'मंगळवार', 'बुधवार', 'गुरुवार', - 'शुक्रवार', 'शनिवार'], - STANDALONEWEEKDAYS: ['रविवार', 'सोमवार', - 'मंगळवार', 'बुधवार', 'गुरुवार', - 'शुक्रवार', 'शनिवार'], - SHORTWEEKDAYS: ['रवि', 'सोम', 'मंगळ', 'बुध', - 'गुरु', 'शुक्र', 'शनि'], - STANDALONESHORTWEEKDAYS: ['रवि', 'सोम', 'मंगळ', - 'बुध', 'गुरु', 'शुक्र', 'शनि'], - NARROWWEEKDAYS: ['र', 'सो', 'मं', 'बु', 'गु', 'शु', - 'श'], - STANDALONENARROWWEEKDAYS: ['र', 'सो', 'मं', 'बु', 'गु', - 'शु', 'श'], - SHORTQUARTERS: ['ति 1', '2 री तिमाही', 'ति 3', - 'ति 4'], - QUARTERS: ['प्रथम तिमाही', - 'द्वितीय तिमाही', - 'तृतीय तिमाही', - 'चतुर्थ तिमाही'], - AMPMS: ['am', 'pm'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'd-M-yy'], - TIMEFORMATS: ['h-mm-ss a zzzz', 'h-mm-ss a z', 'h-mm-ss a', 'h-mm a'], - FIRSTDAYOFWEEK: 6, - WEEKENDRANGE: [6, 6], - FIRSTWEEKCUTOFFDAY: 5 -}; - - -/** - * Date/time formatting symbols for locale ms. - */ -goog.i18n.DateTimeSymbols_ms = { - ERAS: ['S.M.', 'TM'], - ERANAMES: ['S.M.', 'TM'], - NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'O', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'O', 'S', 'O', - 'N', 'D'], - MONTHS: ['Januari', 'Februari', 'Mac', 'April', 'Mei', 'Jun', 'Julai', 'Ogos', - 'September', 'Oktober', 'November', 'Disember'], - STANDALONEMONTHS: ['Januari', 'Februari', 'Mac', 'April', 'Mei', 'Jun', - 'Julai', 'Ogos', 'September', 'Oktober', 'November', 'Disember'], - SHORTMONTHS: ['Jan', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Jul', 'Ogos', 'Sep', - 'Okt', 'Nov', 'Dis'], - STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Jul', - 'Ogos', 'Sep', 'Okt', 'Nov', 'Dis'], - WEEKDAYS: ['Ahad', 'Isnin', 'Selasa', 'Rabu', 'Khamis', 'Jumaat', 'Sabtu'], - STANDALONEWEEKDAYS: ['Ahad', 'Isnin', 'Selasa', 'Rabu', 'Khamis', 'Jumaat', - 'Sabtu'], - SHORTWEEKDAYS: ['Ahd', 'Isn', 'Sel', 'Rab', 'Kha', 'Jum', 'Sab'], - STANDALONESHORTWEEKDAYS: ['Ahd', 'Isn', 'Sel', 'Rab', 'Kha', 'Jum', 'Sab'], - NARROWWEEKDAYS: ['A', 'I', 'S', 'R', 'K', 'J', 'S'], - STANDALONENARROWWEEKDAYS: ['A', 'I', 'S', 'R', 'K', 'J', 'S'], - SHORTQUARTERS: ['Suku 1', 'Suku Ke-2', 'Suku Ke-3', 'Suku Ke-4'], - QUARTERS: ['Suku pertama', 'Suku Ke-2', 'Suku Ke-3', 'Suku Ke-4'], - AMPMS: ['PG', 'PTG'], - DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'dd/MM/yyyy', 'd/MM/yy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 6 -}; - - -/** - * Date/time formatting symbols for locale mt. - */ -goog.i18n.DateTimeSymbols_mt = { - ERAS: ['QK', 'WK'], - ERANAMES: ['Qabel Kristu', 'Wara Kristu'], - NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'Ġ', 'L', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'Ġ', 'L', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['Jannar', 'Frar', 'Marzu', 'April', 'Mejju', 'Ġunju', 'Lulju', - 'Awwissu', 'Settembru', 'Ottubru', 'Novembru', 'Diċembru'], - STANDALONEMONTHS: ['Jannar', 'Frar', 'Marzu', 'April', 'Mejju', 'Ġunju', - 'Lulju', 'Awwissu', 'Settembru', 'Ottubru', 'Novembru', 'Diċembru'], - SHORTMONTHS: ['Jan', 'Fra', 'Mar', 'Apr', 'Mej', 'Ġun', 'Lul', 'Aww', 'Set', - 'Ott', 'Nov', 'Diċ'], - STANDALONESHORTMONTHS: ['Jan', 'Fra', 'Mar', 'Apr', 'Mej', 'Ġun', 'Lul', - 'Aww', 'Set', 'Ott', 'Nov', 'Diċ'], - WEEKDAYS: ['Il-Ħadd', 'It-Tnejn', 'It-Tlieta', 'L-Erbgħa', 'Il-Ħamis', - 'Il-Ġimgħa', 'Is-Sibt'], - STANDALONEWEEKDAYS: ['Il-Ħadd', 'It-Tnejn', 'It-Tlieta', 'L-Erbgħa', - 'Il-Ħamis', 'Il-Ġimgħa', 'Is-Sibt'], - SHORTWEEKDAYS: ['Ħad', 'Tne', 'Tli', 'Erb', 'Ħam', 'Ġim', 'Sib'], - STANDALONESHORTWEEKDAYS: ['Ħad', 'Tne', 'Tli', 'Erb', 'Ħam', 'Ġim', 'Sib'], - NARROWWEEKDAYS: ['Ħ', 'T', 'T', 'E', 'Ħ', 'Ġ', 'S'], - STANDALONENARROWWEEKDAYS: ['Ħ', 'T', 'T', 'E', 'Ħ', 'Ġ', 'S'], - SHORTQUARTERS: ['K1', 'K2', 'K3', 'K4'], - QUARTERS: ['K1', 'K2', 'K3', 'K4'], - AMPMS: ['QN', 'WN'], - DATEFORMATS: ['EEEE, d \'ta\'’ MMMM y', 'd \'ta\'’ MMMM y', 'dd MMM y', - 'dd/MM/yyyy'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 6, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 5 -}; - - -/** - * Date/time formatting symbols for locale nl. - */ -goog.i18n.DateTimeSymbols_nl = { - ERAS: ['v. Chr.', 'n. Chr.'], - ERANAMES: ['Voor Christus', 'na Christus'], - NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['januari', 'februari', 'maart', 'april', 'mei', 'juni', 'juli', - 'augustus', 'september', 'oktober', 'november', 'december'], - STANDALONEMONTHS: ['januari', 'februari', 'maart', 'april', 'mei', 'juni', - 'juli', 'augustus', 'september', 'oktober', 'november', 'december'], - SHORTMONTHS: ['jan.', 'feb.', 'mrt.', 'apr.', 'mei', 'jun.', 'jul.', 'aug.', - 'sep.', 'okt.', 'nov.', 'dec.'], - STANDALONESHORTMONTHS: ['jan', 'feb', 'mrt', 'apr', 'mei', 'jun', 'jul', - 'aug', 'sep', 'okt', 'nov', 'dec'], - WEEKDAYS: ['zondag', 'maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', - 'zaterdag'], - STANDALONEWEEKDAYS: ['zondag', 'maandag', 'dinsdag', 'woensdag', 'donderdag', - 'vrijdag', 'zaterdag'], - SHORTWEEKDAYS: ['zo', 'ma', 'di', 'wo', 'do', 'vr', 'za'], - STANDALONESHORTWEEKDAYS: ['zo', 'ma', 'di', 'wo', 'do', 'vr', 'za'], - NARROWWEEKDAYS: ['Z', 'M', 'D', 'W', 'D', 'V', 'Z'], - STANDALONENARROWWEEKDAYS: ['Z', 'M', 'D', 'W', 'D', 'V', 'Z'], - SHORTQUARTERS: ['K1', 'K2', 'K3', 'K4'], - QUARTERS: ['1e kwartaal', '2e kwartaal', '3e kwartaal', '4e kwartaal'], - AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd-MM-yy'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 3 -}; - - -/** - * Date/time formatting symbols for locale no. - */ -goog.i18n.DateTimeSymbols_no = { - ERAS: ['f.Kr.', 'e.Kr.'], - ERANAMES: ['f.Kr.', 'e.Kr.'], - NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['januar', 'februar', 'mars', 'april', 'mai', 'juni', 'juli', - 'august', 'september', 'oktober', 'november', 'desember'], - STANDALONEMONTHS: ['januar', 'februar', 'mars', 'april', 'mai', 'juni', - 'juli', 'august', 'september', 'oktober', 'november', 'desember'], - SHORTMONTHS: ['jan.', 'feb.', 'mars', 'apr.', 'mai', 'juni', 'juli', 'aug.', - 'sep.', 'okt.', 'nov.', 'des.'], - STANDALONESHORTMONTHS: ['jan', 'feb', 'mar', 'apr', 'mai', 'jun', 'jul', - 'aug', 'sep', 'okt', 'nov', 'des'], - WEEKDAYS: ['søndag', 'mandag', 'tirsdag', 'onsdag', 'torsdag', 'fredag', - 'lørdag'], - STANDALONEWEEKDAYS: ['søndag', 'mandag', 'tirsdag', 'onsdag', 'torsdag', - 'fredag', 'lørdag'], - SHORTWEEKDAYS: ['søn.', 'man.', 'tir.', 'ons.', 'tor.', 'fre.', 'lør.'], - STANDALONESHORTWEEKDAYS: ['sø.', 'ma.', 'ti.', 'on.', 'to.', 'fr.', 'lø.'], - NARROWWEEKDAYS: ['S', 'M', 'T', 'O', 'T', 'F', 'L'], - STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'O', 'T', 'F', 'L'], - SHORTQUARTERS: ['K1', 'K2', 'K3', 'K4'], - QUARTERS: ['1. kvartal', '2. kvartal', '3. kvartal', '4. kvartal'], - AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE d. MMMM y', 'd. MMMM y', 'd. MMM y', 'dd.MM.yy'], - TIMEFORMATS: ['\'kl\'. HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 3 -}; - - -/** - * Date/time formatting symbols for locale or. - */ -goog.i18n.DateTimeSymbols_or = { - ERAS: ['BCE', 'CE'], - ERANAMES: ['BCE', 'CE'], - NARROWMONTHS: ['ଜା', 'ଫେ', 'ମା', 'ଅ', 'ମେ', 'ଜୁ', - 'ଜୁ', 'ଅ', 'ସେ', 'ଅ', 'ନ', 'ଡି'], - STANDALONENARROWMONTHS: ['ଜା', 'ଫେ', 'ମା', 'ଅ', 'ମେ', - 'ଜୁ', 'ଜୁ', 'ଅ', 'ସେ', 'ଅ', 'ନ', 'ଡି'], - MONTHS: ['ଜାନୁଆରୀ', 'ଫେବ୍ରୁୟାରୀ', - 'ମାର୍ଚ୍ଚ', 'ଅପ୍ରେଲ', 'ମେ', 'ଜୁନ', - 'ଜୁଲାଇ', 'ଅଗଷ୍ଟ', 'ସେପ୍ଟେମ୍ବର', - 'ଅକ୍ଟୋବର', 'ନଭେମ୍ବର', - 'ଡିସେମ୍ବର'], - STANDALONEMONTHS: ['ଜାନୁଆରୀ', 'ଫେବ୍ରୁୟାରୀ', - 'ମାର୍ଚ୍ଚ', 'ଅପ୍ରେଲ', 'ମେ', 'ଜୁନ', - 'ଜୁଲାଇ', 'ଅଗଷ୍ଟ', 'ସେପ୍ଟେମ୍ବର', - 'ଅକ୍ଟୋବର', 'ନଭେମ୍ବର', - 'ଡିସେମ୍ବର'], - SHORTMONTHS: ['ଜାନୁଆରୀ', 'ଫେବ୍ରୁୟାରୀ', - 'ମାର୍ଚ୍ଚ', 'ଅପ୍ରେଲ', 'ମେ', 'ଜୁନ', - 'ଜୁଲାଇ', 'ଅଗଷ୍ଟ', 'ସେପ୍ଟେମ୍ବର', - 'ଅକ୍ଟୋବର', 'ନଭେମ୍ବର', - 'ଡିସେମ୍ବର'], - STANDALONESHORTMONTHS: ['ଜାନୁଆରୀ', - 'ଫେବ୍ରୁୟାରୀ', 'ମାର୍ଚ୍ଚ', - 'ଅପ୍ରେଲ', 'ମେ', 'ଜୁନ', 'ଜୁଲାଇ', - 'ଅଗଷ୍ଟ', 'ସେପ୍ଟେମ୍ବର', - 'ଅକ୍ଟୋବର', 'ନଭେମ୍ବର', - 'ଡିସେମ୍ବର'], - WEEKDAYS: ['ରବିବାର', 'ସୋମବାର', - 'ମଙ୍ଗଳବାର', 'ବୁଧବାର', 'ଗୁରୁବାର', - 'ଶୁକ୍ରବାର', 'ଶନିବାର'], - STANDALONEWEEKDAYS: ['ରବିବାର', 'ସୋମବାର', - 'ମଙ୍ଗଳବାର', 'ବୁଧବାର', 'ଗୁରୁବାର', - 'ଶୁକ୍ରବାର', 'ଶନିବାର'], - SHORTWEEKDAYS: ['ରବି', 'ସୋମ', 'ମଙ୍ଗଳ', 'ବୁଧ', - 'ଗୁରୁ', 'ଶୁକ୍ର', 'ଶନି'], - STANDALONESHORTWEEKDAYS: ['ରବି', 'ସୋମ', 'ମଙ୍ଗଳ', - 'ବୁଧ', 'ଗୁରୁ', 'ଶୁକ୍ର', 'ଶନି'], - NARROWWEEKDAYS: ['ର', 'ସୋ', 'ମ', 'ବୁ', 'ଗୁ', 'ଶୁ', 'ଶ'], - STANDALONENARROWWEEKDAYS: ['ର', 'ସୋ', 'ମ', 'ବୁ', 'ଗୁ', - 'ଶୁ', 'ଶ'], - SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - QUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - AMPMS: ['am', 'pm'], - DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'd-M-yy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], - FIRSTDAYOFWEEK: 6, - WEEKENDRANGE: [6, 6], - FIRSTWEEKCUTOFFDAY: 5 -}; - - -/** - * Date/time formatting symbols for locale pl. - */ -goog.i18n.DateTimeSymbols_pl = { - ERAS: ['p.n.e.', 'n.e.'], - ERANAMES: ['p.n.e.', 'n.e.'], - NARROWMONTHS: ['s', 'l', 'm', 'k', 'm', 'c', 'l', 's', 'w', 'p', 'l', 'g'], - STANDALONENARROWMONTHS: ['s', 'l', 'm', 'k', 'm', 'c', 'l', 's', 'w', 'p', - 'l', 'g'], - MONTHS: ['stycznia', 'lutego', 'marca', 'kwietnia', 'maja', 'czerwca', - 'lipca', 'sierpnia', 'września', 'października', 'listopada', - 'grudnia'], - STANDALONEMONTHS: ['styczeń', 'luty', 'marzec', 'kwiecień', 'maj', - 'czerwiec', 'lipiec', 'sierpień', 'wrzesień', 'październik', - 'listopad', 'grudzień'], - SHORTMONTHS: ['sty', 'lut', 'mar', 'kwi', 'maj', 'cze', 'lip', 'sie', 'wrz', - 'paź', 'lis', 'gru'], - STANDALONESHORTMONTHS: ['sty', 'lut', 'mar', 'kwi', 'maj', 'cze', 'lip', - 'sie', 'wrz', 'paź', 'lis', 'gru'], - WEEKDAYS: ['niedziela', 'poniedziałek', 'wtorek', 'środa', 'czwartek', - 'piątek', 'sobota'], - STANDALONEWEEKDAYS: ['niedziela', 'poniedziałek', 'wtorek', 'środa', - 'czwartek', 'piątek', 'sobota'], - SHORTWEEKDAYS: ['niedz.', 'pon.', 'wt.', 'śr.', 'czw.', 'pt.', 'sob.'], - STANDALONESHORTWEEKDAYS: ['niedz.', 'pon.', 'wt.', 'śr.', 'czw.', 'pt.', - 'sob.'], - NARROWWEEKDAYS: ['N', 'P', 'W', 'Ś', 'C', 'P', 'S'], - STANDALONENARROWWEEKDAYS: ['N', 'P', 'W', 'Ś', 'C', 'P', 'S'], - SHORTQUARTERS: ['K1', 'K2', 'K3', 'K4'], - QUARTERS: ['I kwartał', 'II kwartał', 'III kwartał', 'IV kwartał'], - AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd.MM.yyyy'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 3 -}; - - -/** - * Date/time formatting symbols for locale pt. - */ -goog.i18n.DateTimeSymbols_pt = { - ERAS: ['a.C.', 'd.C.'], - ERANAMES: ['Antes de Cristo', 'Ano do Senhor'], - NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['janeiro', 'fevereiro', 'março', 'abril', 'maio', 'junho', 'julho', - 'agosto', 'setembro', 'outubro', 'novembro', 'dezembro'], - STANDALONEMONTHS: ['janeiro', 'fevereiro', 'março', 'abril', 'maio', 'junho', - 'julho', 'agosto', 'setembro', 'outubro', 'novembro', 'dezembro'], - SHORTMONTHS: ['jan', 'fev', 'mar', 'abr', 'mai', 'jun', 'jul', 'ago', 'set', - 'out', 'nov', 'dez'], - STANDALONESHORTMONTHS: ['jan', 'fev', 'mar', 'abr', 'mai', 'jun', 'jul', - 'ago', 'set', 'out', 'nov', 'dez'], - WEEKDAYS: ['domingo', 'segunda-feira', 'terça-feira', 'quarta-feira', - 'quinta-feira', 'sexta-feira', 'sábado'], - STANDALONEWEEKDAYS: ['domingo', 'segunda-feira', 'terça-feira', - 'quarta-feira', 'quinta-feira', 'sexta-feira', 'sábado'], - SHORTWEEKDAYS: ['dom', 'seg', 'ter', 'qua', 'qui', 'sex', 'sáb'], - STANDALONESHORTWEEKDAYS: ['dom', 'seg', 'ter', 'qua', 'qui', 'sex', 'sáb'], - NARROWWEEKDAYS: ['D', 'S', 'T', 'Q', 'Q', 'S', 'S'], - STANDALONENARROWWEEKDAYS: ['D', 'S', 'T', 'Q', 'Q', 'S', 'S'], - SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], - QUARTERS: ['1º trimestre', '2º trimestre', '3º trimestre', - '4º trimestre'], - AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE, d \'de\' MMMM \'de\' y', 'd \'de\' MMMM \'de\' y', - 'dd/MM/yyyy', 'dd/MM/yy'], - TIMEFORMATS: ['HH\'h\'mm\'min\'ss\'s\' zzzz', 'HH\'h\'mm\'min\'ss\'s\' z', - 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 6, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 5 -}; - - -/** - * Date/time formatting symbols for locale pt_BR. - */ -goog.i18n.DateTimeSymbols_pt_BR = goog.i18n.DateTimeSymbols_pt; - - -/** - * Date/time formatting symbols for locale pt_PT. - */ -goog.i18n.DateTimeSymbols_pt_PT = { - ERAS: ['a.C.', 'd.C.'], - ERANAMES: ['Antes de Cristo', 'Ano do Senhor'], - NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', - 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro'], - STANDALONEMONTHS: ['Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', - 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro'], - SHORTMONTHS: ['Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun', 'Jul', 'Ago', 'Set', - 'Out', 'Nov', 'Dez'], - STANDALONESHORTMONTHS: ['Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun', 'Jul', - 'Ago', 'Set', 'Out', 'Nov', 'Dez'], - WEEKDAYS: ['Domingo', 'Segunda-feira', 'Terça-feira', 'Quarta-feira', - 'Quinta-feira', 'Sexta-feira', 'Sábado'], - STANDALONEWEEKDAYS: ['Domingo', 'Segunda-feira', 'Terça-feira', - 'Quarta-feira', 'Quinta-feira', 'Sexta-feira', 'Sábado'], - SHORTWEEKDAYS: ['dom', 'seg', 'ter', 'qua', 'qui', 'sex', 'sáb'], - STANDALONESHORTWEEKDAYS: ['dom', 'seg', 'ter', 'qua', 'qui', 'sex', 'sáb'], - NARROWWEEKDAYS: ['D', 'S', 'T', 'Q', 'Q', 'S', 'S'], - STANDALONENARROWWEEKDAYS: ['D', 'S', 'T', 'Q', 'Q', 'S', 'S'], - SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'], - QUARTERS: ['1.º trimestre', '2.º trimestre', '3.º trimestre', - '4.º trimestre'], - AMPMS: ['a.m.', 'p.m.'], - DATEFORMATS: ['EEEE, d \'de\' MMMM \'de\' y', 'd \'de\' MMMM \'de\' y', - 'dd/MM/yyyy', 'dd/MM/yy'], - TIMEFORMATS: ['H:mm:ss zzzz', 'H:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 3 -}; - - -/** - * Date/time formatting symbols for locale ro. - */ -goog.i18n.DateTimeSymbols_ro = { - ERAS: ['î.Hr.', 'd.Hr.'], - ERANAMES: ['înainte de Hristos', 'după Hristos'], - NARROWMONTHS: ['I', 'F', 'M', 'A', 'M', 'I', 'I', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['I', 'F', 'M', 'A', 'M', 'I', 'I', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['ianuarie', 'februarie', 'martie', 'aprilie', 'mai', 'iunie', - 'iulie', 'august', 'septembrie', 'octombrie', 'noiembrie', 'decembrie'], - STANDALONEMONTHS: ['ianuarie', 'februarie', 'martie', 'aprilie', 'mai', - 'iunie', 'iulie', 'august', 'septembrie', 'octombrie', 'noiembrie', - 'decembrie'], - SHORTMONTHS: ['ian.', 'feb.', 'mar.', 'apr.', 'mai', 'iun.', 'iul.', 'aug.', - 'sept.', 'oct.', 'nov.', 'dec.'], - STANDALONESHORTMONTHS: ['ian.', 'feb.', 'mar.', 'apr.', 'mai', 'iun.', 'iul.', - 'aug.', 'sept.', 'oct.', 'nov.', 'dec.'], - WEEKDAYS: ['duminică', 'luni', 'marți', 'miercuri', 'joi', 'vineri', - 'sâmbătă'], - STANDALONEWEEKDAYS: ['duminică', 'luni', 'marți', 'miercuri', 'joi', - 'vineri', 'sâmbătă'], - SHORTWEEKDAYS: ['Du', 'Lu', 'Ma', 'Mi', 'Jo', 'Vi', 'Sâ'], - STANDALONESHORTWEEKDAYS: ['Du', 'Lu', 'Ma', 'Mi', 'Jo', 'Vi', 'Sâ'], - NARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], - STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], - SHORTQUARTERS: ['trim. I', 'trim. II', 'trim. III', 'trim. IV'], - QUARTERS: ['trimestrul I', 'trimestrul al II-lea', 'trimestrul al III-lea', - 'trimestrul al IV-lea'], - AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'dd.MM.yyyy', 'dd.MM.yyyy'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 6 -}; - - -/** - * Date/time formatting symbols for locale ru. - */ -goog.i18n.DateTimeSymbols_ru = { - ERAS: ['до н.э.', 'н.э.'], - ERANAMES: ['до н.э.', 'н.э.'], - NARROWMONTHS: ['Я', 'Ф', 'М', 'А', 'М', 'И', 'И', 'А', 'С', 'О', - 'Н', 'Д'], - STANDALONENARROWMONTHS: ['Я', 'Ф', 'М', 'А', 'М', 'И', 'И', 'А', 'С', - 'О', 'Н', 'Д'], - MONTHS: ['января', 'февраля', 'марта', 'апреля', - 'мая', 'июня', 'июля', 'августа', 'сентября', - 'октября', 'ноября', 'декабря'], - STANDALONEMONTHS: ['Январь', 'Февраль', 'Март', - 'Апрель', 'Май', 'Июнь', 'Июль', 'Август', - 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь'], - SHORTMONTHS: ['янв.', 'февр.', 'марта', 'апр.', 'мая', - 'июня', 'июля', 'авг.', 'сент.', 'окт.', 'нояб.', - 'дек.'], - STANDALONESHORTMONTHS: ['Янв.', 'Февр.', 'Март', 'Апр.', - 'Май', 'Июнь', 'Июль', 'Авг.', 'Сент.', 'Окт.', - 'Нояб.', 'Дек.'], - WEEKDAYS: ['воскресенье', 'понедельник', - 'вторник', 'среда', 'четверг', 'пятница', - 'суббота'], - STANDALONEWEEKDAYS: ['Воскресенье', 'Понедельник', - 'Вторник', 'Среда', 'Четверг', 'Пятница', - 'Суббота'], - SHORTWEEKDAYS: ['вс', 'пн', 'вт', 'ср', 'чт', 'пт', 'сб'], - STANDALONESHORTWEEKDAYS: ['Вс', 'Пн', 'Вт', 'Ср', 'Чт', 'Пт', - 'Сб'], - NARROWWEEKDAYS: ['В', 'Пн', 'Вт', 'С', 'Ч', 'П', 'С'], - STANDALONENARROWWEEKDAYS: ['В', 'П', 'В', 'С', 'Ч', 'П', 'С'], - SHORTQUARTERS: ['1-й кв.', '2-й кв.', '3-й кв.', '4-й кв.'], - QUARTERS: ['1-й квартал', '2-й квартал', - '3-й квартал', '4-й квартал'], - AMPMS: ['до полудня', 'после полудня'], - DATEFORMATS: ['EEEE, d MMMM y \'г\'.', 'd MMMM y \'г\'.', 'dd.MM.yyyy', - 'dd.MM.yy'], - TIMEFORMATS: ['H:mm:ss zzzz', 'H:mm:ss z', 'H:mm:ss', 'H:mm'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 6 -}; - - -/** - * Date/time formatting symbols for locale sk. - */ -goog.i18n.DateTimeSymbols_sk = { - ERAS: ['pred n.l.', 'n.l.'], - ERANAMES: ['pred n.l.', 'n.l.'], - NARROWMONTHS: ['j', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', 'n', 'd'], - STANDALONENARROWMONTHS: ['j', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', - 'n', 'd'], - MONTHS: ['januára', 'februára', 'marca', 'apríla', 'mája', 'júna', - 'júla', 'augusta', 'septembra', 'októbra', 'novembra', 'decembra'], - STANDALONEMONTHS: ['január', 'február', 'marec', 'apríl', 'máj', 'jún', - 'júl', 'august', 'september', 'október', 'november', 'december'], - SHORTMONTHS: ['jan', 'feb', 'mar', 'apr', 'máj', 'jún', 'júl', 'aug', - 'sep', 'okt', 'nov', 'dec'], - STANDALONESHORTMONTHS: ['jan', 'feb', 'mar', 'apr', 'máj', 'jún', 'júl', - 'aug', 'sep', 'okt', 'nov', 'dec'], - WEEKDAYS: ['nedeľa', 'pondelok', 'utorok', 'streda', 'štvrtok', 'piatok', - 'sobota'], - STANDALONEWEEKDAYS: ['nedeľa', 'pondelok', 'utorok', 'streda', 'štvrtok', - 'piatok', 'sobota'], - SHORTWEEKDAYS: ['ne', 'po', 'ut', 'st', 'št', 'pi', 'so'], - STANDALONESHORTWEEKDAYS: ['ne', 'po', 'ut', 'st', 'št', 'pi', 'so'], - NARROWWEEKDAYS: ['N', 'P', 'U', 'S', 'Š', 'P', 'S'], - STANDALONENARROWWEEKDAYS: ['N', 'P', 'U', 'S', 'Š', 'P', 'S'], - SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - QUARTERS: ['1. štvrťrok', '2. štvrťrok', '3. štvrťrok', - '4. štvrťrok'], - AMPMS: ['dopoludnia', 'popoludní'], - DATEFORMATS: ['EEEE, d. MMMM y', 'd. MMMM y', 'd.M.yyyy', 'd.M.yyyy'], - TIMEFORMATS: ['H:mm:ss zzzz', 'H:mm:ss z', 'H:mm:ss', 'H:mm'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 3 -}; - - -/** - * Date/time formatting symbols for locale sl. - */ -goog.i18n.DateTimeSymbols_sl = { - ERAS: ['pr. n. št.', 'po Kr.'], - ERANAMES: ['pred našim štetjem', 'naše štetje'], - NARROWMONTHS: ['j', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', 'n', 'd'], - STANDALONENARROWMONTHS: ['j', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', - 'n', 'd'], - MONTHS: ['januar', 'februar', 'marec', 'april', 'maj', 'junij', 'julij', - 'avgust', 'september', 'oktober', 'november', 'december'], - STANDALONEMONTHS: ['januar', 'februar', 'marec', 'april', 'maj', 'junij', - 'julij', 'avgust', 'september', 'oktober', 'november', 'december'], - SHORTMONTHS: ['jan.', 'feb.', 'mar.', 'apr.', 'maj', 'jun.', 'jul.', 'avg.', - 'sep.', 'okt.', 'nov.', 'dec.'], - STANDALONESHORTMONTHS: ['jan', 'feb', 'mar', 'apr', 'maj', 'jun', 'jul', - 'avg', 'sep', 'okt', 'nov', 'dec'], - WEEKDAYS: ['nedelja', 'ponedeljek', 'torek', 'sreda', 'četrtek', 'petek', - 'sobota'], - STANDALONEWEEKDAYS: ['nedelja', 'ponedeljek', 'torek', 'sreda', 'četrtek', - 'petek', 'sobota'], - SHORTWEEKDAYS: ['ned.', 'pon.', 'tor.', 'sre.', 'čet.', 'pet.', 'sob.'], - STANDALONESHORTWEEKDAYS: ['ned', 'pon', 'tor', 'sre', 'čet', 'pet', 'sob'], - NARROWWEEKDAYS: ['n', 'p', 't', 's', 'č', 'p', 's'], - STANDALONENARROWWEEKDAYS: ['n', 'p', 't', 's', 'č', 'p', 's'], - SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - QUARTERS: ['1. četrtletje', '2. četrtletje', '3. četrtletje', - '4. četrtletje'], - AMPMS: ['dop.', 'pop.'], - DATEFORMATS: ['EEEE, dd. MMMM y', 'dd. MMMM y', 'd. MMM yyyy', 'd. MM. yy'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 6 -}; - - -/** - * Date/time formatting symbols for locale sq. - */ -goog.i18n.DateTimeSymbols_sq = { - ERAS: ['p.e.r.', 'n.e.r.'], - ERANAMES: ['p.e.r.', 'n.e.r.'], - NARROWMONTHS: ['J', 'S', 'M', 'P', 'M', 'Q', 'K', 'G', 'S', 'T', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'S', 'M', 'P', 'M', 'Q', 'K', 'G', 'S', 'T', - 'N', 'D'], - MONTHS: ['janar', 'shkurt', 'mars', 'prill', 'maj', 'qershor', 'korrik', - 'gusht', 'shtator', 'tetor', 'nëntor', 'dhjetor'], - STANDALONEMONTHS: ['janar', 'shkurt', 'mars', 'prill', 'maj', 'qershor', - 'korrik', 'gusht', 'shtator', 'tetor', 'nëntor', 'dhjetor'], - SHORTMONTHS: ['Jan', 'Shk', 'Mar', 'Pri', 'Maj', 'Qer', 'Kor', 'Gsh', 'Sht', - 'Tet', 'Nën', 'Dhj'], - STANDALONESHORTMONTHS: ['Jan', 'Shk', 'Mar', 'Pri', 'Maj', 'Qer', 'Kor', - 'Gsh', 'Sht', 'Tet', 'Nën', 'Dhj'], - WEEKDAYS: ['e diel', 'e hënë', 'e martë', 'e mërkurë', 'e enjte', - 'e premte', 'e shtunë'], - STANDALONEWEEKDAYS: ['e diel', 'e hënë', 'e martë', 'e mërkurë', - 'e enjte', 'e premte', 'e shtunë'], - SHORTWEEKDAYS: ['Die', 'Hën', 'Mar', 'Mër', 'Enj', 'Pre', 'Sht'], - STANDALONESHORTWEEKDAYS: ['Die', 'Hën', 'Mar', 'Mër', 'Enj', 'Pre', 'Sht'], - NARROWWEEKDAYS: ['D', 'H', 'M', 'M', 'E', 'P', 'S'], - STANDALONENARROWWEEKDAYS: ['D', 'H', 'M', 'M', 'E', 'P', 'S'], - SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - QUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - AMPMS: ['PD', 'MD'], - DATEFORMATS: ['EEEE, dd MMMM y', 'dd MMMM y', 'yyyy-MM-dd', 'yy-MM-dd'], - TIMEFORMATS: ['h.mm.ss.a zzzz', 'h.mm.ss.a z', 'h.mm.ss.a', 'h.mm.a'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 6 -}; - - -/** - * Date/time formatting symbols for locale sr. - */ -goog.i18n.DateTimeSymbols_sr = { - ERAS: ['п. н. е.', 'н. е.'], - ERANAMES: ['Пре нове ере', 'Нове ере'], - NARROWMONTHS: ['ј', 'ф', 'м', 'а', 'м', 'ј', 'ј', 'а', 'с', 'о', - 'н', 'д'], - STANDALONENARROWMONTHS: ['ј', 'ф', 'м', 'а', 'м', 'ј', 'ј', 'а', 'с', - 'о', 'н', 'д'], - MONTHS: ['јануар', 'фебруар', 'март', 'април', 'мај', - 'јун', 'јул', 'август', 'септембар', - 'октобар', 'новембар', 'децембар'], - STANDALONEMONTHS: ['јануар', 'фебруар', 'март', 'април', - 'мај', 'јун', 'јул', 'август', 'септембар', - 'октобар', 'новембар', 'децембар'], - SHORTMONTHS: ['јан', 'феб', 'мар', 'апр', 'мај', 'јун', - 'јул', 'авг', 'сеп', 'окт', 'нов', 'дец'], - STANDALONESHORTMONTHS: ['јан', 'феб', 'мар', 'апр', 'мај', - 'јун', 'јул', 'авг', 'сеп', 'окт', 'нов', 'дец'], - WEEKDAYS: ['недеља', 'понедељак', 'уторак', 'среда', - 'четвртак', 'петак', 'субота'], - STANDALONEWEEKDAYS: ['недеља', 'понедељак', 'уторак', - 'среда', 'четвртак', 'петак', 'субота'], - SHORTWEEKDAYS: ['нед', 'пон', 'уто', 'сре', 'чет', 'пет', - 'суб'], - STANDALONESHORTWEEKDAYS: ['нед', 'пон', 'уто', 'сре', 'чет', - 'пет', 'суб'], - NARROWWEEKDAYS: ['н', 'п', 'у', 'с', 'ч', 'п', 'с'], - STANDALONENARROWWEEKDAYS: ['н', 'п', 'у', 'с', 'ч', 'п', 'с'], - SHORTQUARTERS: ['К1', 'К2', 'К3', 'К4'], - QUARTERS: ['Прво тромесечје', 'Друго тромесечје', - 'Треће тромесечје', 'Четврто тромесечје'], - AMPMS: ['пре подне', 'поподне'], - DATEFORMATS: ['EEEE, dd. MMMM y.', 'dd. MMMM y.', 'dd.MM.y.', 'd.M.yy.'], - TIMEFORMATS: ['HH.mm.ss zzzz', 'HH.mm.ss z', 'HH.mm.ss', 'HH.mm'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 6 -}; - - -/** - * Date/time formatting symbols for locale sv. - */ -goog.i18n.DateTimeSymbols_sv = { - ERAS: ['f.Kr.', 'e.Kr.'], - ERANAMES: ['före Kristus', 'efter Kristus'], - NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['januari', 'februari', 'mars', 'april', 'maj', 'juni', 'juli', - 'augusti', 'september', 'oktober', 'november', 'december'], - STANDALONEMONTHS: ['januari', 'februari', 'mars', 'april', 'maj', 'juni', - 'juli', 'augusti', 'september', 'oktober', 'november', 'december'], - SHORTMONTHS: ['jan', 'feb', 'mar', 'apr', 'maj', 'jun', 'jul', 'aug', 'sep', - 'okt', 'nov', 'dec'], - STANDALONESHORTMONTHS: ['jan', 'feb', 'mar', 'apr', 'maj', 'jun', 'jul', - 'aug', 'sep', 'okt', 'nov', 'dec'], - WEEKDAYS: ['söndag', 'måndag', 'tisdag', 'onsdag', 'torsdag', 'fredag', - 'lördag'], - STANDALONEWEEKDAYS: ['söndag', 'måndag', 'tisdag', 'onsdag', 'torsdag', - 'fredag', 'lördag'], - SHORTWEEKDAYS: ['sön', 'mån', 'tis', 'ons', 'tors', 'fre', 'lör'], - STANDALONESHORTWEEKDAYS: ['sön', 'mån', 'tis', 'ons', 'tor', 'fre', 'lör'], - NARROWWEEKDAYS: ['S', 'M', 'T', 'O', 'T', 'F', 'L'], - STANDALONENARROWWEEKDAYS: ['S', 'M', 'T', 'O', 'T', 'F', 'L'], - SHORTQUARTERS: ['K1', 'K2', 'K3', 'K4'], - QUARTERS: ['1:a kvartalet', '2:a kvartalet', '3:e kvartalet', - '4:e kvartalet'], - AMPMS: ['fm', 'em'], - DATEFORMATS: ['EEEE\'en\' \'den\' d:\'e\' MMMM y', 'd MMMM y', 'd MMM y', - 'yyyy-MM-dd'], - TIMEFORMATS: ['\'kl\'. HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 3 -}; - - -/** - * Date/time formatting symbols for locale sw. - */ -goog.i18n.DateTimeSymbols_sw = { - ERAS: ['KK', 'BK'], - ERANAMES: ['Kabla ya Kristo', 'Baada ya Kristo'], - NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['Januari', 'Februari', 'Machi', 'Aprili', 'Mei', 'Juni', 'Julai', - 'Agosti', 'Septemba', 'Oktoba', 'Novemba', 'Desemba'], - STANDALONEMONTHS: ['Januari', 'Februari', 'Machi', 'Aprili', 'Mei', 'Juni', - 'Julai', 'Agosti', 'Septemba', 'Oktoba', 'Novemba', 'Desemba'], - SHORTMONTHS: ['Jan', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Jul', 'Ago', 'Sep', - 'Okt', 'Nov', 'Des'], - STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Jul', - 'Ago', 'Sep', 'Okt', 'Nov', 'Des'], - WEEKDAYS: ['Jumapili', 'Jumatatu', 'Jumanne', 'Jumatano', 'Alhamisi', - 'Ijumaa', 'Jumamosi'], - STANDALONEWEEKDAYS: ['Jumapili', 'Jumatatu', 'Jumanne', 'Jumatano', - 'Alhamisi', 'Ijumaa', 'Jumamosi'], - SHORTWEEKDAYS: ['J2', 'J3', 'J4', 'J5', 'Alh', 'Ij', 'J1'], - STANDALONESHORTWEEKDAYS: ['J2', 'J3', 'J4', 'J5', 'Alh', 'Ij', 'J1'], - NARROWWEEKDAYS: ['2', '3', '4', '5', 'A', 'I', '1'], - STANDALONENARROWWEEKDAYS: ['2', '3', '4', '5', 'A', 'I', '1'], - SHORTQUARTERS: ['R1', 'R2', 'R3', 'R4'], - QUARTERS: ['Robo 1', 'Robo 2', 'Robo 3', 'Robo 4'], - AMPMS: ['asubuhi', 'alasiri'], - DATEFORMATS: ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yyyy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 6 -}; - - -/** - * Date/time formatting symbols for locale ta. - */ -goog.i18n.DateTimeSymbols_ta = { - ERAS: ['கி.மு.', 'கி.பி.'], - ERANAMES: ['கிறிஸ்துவுக்கு முன்', - 'அனோ டோமினி'], - NARROWMONTHS: ['ஜ', 'பி', 'மா', 'ஏ', 'மே', 'ஜூ', 'ஜூ', - 'ஆ', 'செ', 'அ', 'ந', 'டி'], - STANDALONENARROWMONTHS: ['ஜ', 'பி', 'மா', 'ஏ', 'மே', 'ஜூ', - 'ஜூ', 'ஆ', 'செ', 'அ', 'ந', 'டி'], - MONTHS: ['ஜனவரி', 'பிப்ரவரி', 'மார்ச்', - 'ஏப்ரல்', 'மே', 'ஜூன்', 'ஜூலை', - 'ஆகஸ்ட்', 'செப்டம்பர்', - 'அக்டோபர்', 'நவம்பர்', - 'டிசம்பர்'], - STANDALONEMONTHS: ['ஜனவரி', 'பிப்ரவரி', - 'மார்ச்', 'ஏப்ரல்', 'மே', 'ஜூன்', - 'ஜூலை', 'ஆகஸ்டு', 'செப்டம்பர்', - 'அக்டோபர்', 'நவம்பர்', - 'டிசம்பர்'], - SHORTMONTHS: ['ஜன.', 'பிப்.', 'மார்.', 'ஏப்.', - 'மே', 'ஜூன்', 'ஜூலை', 'ஆக.', 'செப்.', - 'அக்.', 'நவ.', 'டிச.'], - STANDALONESHORTMONTHS: ['ஜன.', 'பிப்.', 'மார்.', - 'ஏப்.', 'மே', 'ஜூன்', 'ஜூலை', 'ஆக.', - 'செப்.', 'அக்.', 'நவ.', 'டிச.'], - WEEKDAYS: ['ஞாயிறு', 'திங்கள்', - 'செவ்வாய்', 'புதன்', 'வியாழன்', - 'வெள்ளி', 'சனி'], - STANDALONEWEEKDAYS: ['ஞாயிறு', 'திங்கள்', - 'செவ்வாய்', 'புதன்', 'வியாழன்', - 'வெள்ளி', 'சனி'], - SHORTWEEKDAYS: ['ஞா', 'தி', 'செ', 'பு', 'வி', 'வெ', - 'ச'], - STANDALONESHORTWEEKDAYS: ['ஞா', 'தி', 'செ', 'பு', 'வி', - 'வெ', 'ச'], - NARROWWEEKDAYS: ['ஞா', 'தி', 'செ', 'பு', 'வி', 'வெ', - 'ச'], - STANDALONENARROWWEEKDAYS: ['ஞா', 'தி', 'செ', 'பு', 'வி', - 'வெ', 'ச'], - SHORTQUARTERS: ['காலாண்டு1', 'காலாண்டு2', - 'காலாண்டு3', 'காலாண்டு4'], - QUARTERS: ['முதல் காலாண்டு', - 'இரண்டாம் காலாண்டு', - 'மூன்றாம் காலாண்டு', - 'நான்காம் காலாண்டு'], - AMPMS: ['am', 'pm'], - DATEFORMATS: ['EEEE, d MMMM, y', 'd MMMM, y', 'd MMM, y', 'd-M-yy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], - FIRSTDAYOFWEEK: 6, - WEEKENDRANGE: [6, 6], - FIRSTWEEKCUTOFFDAY: 5 -}; - - -/** - * Date/time formatting symbols for locale te. - */ -goog.i18n.DateTimeSymbols_te = { - ERAS: ['ఈసాపూర్వ.', 'సన్.'], - ERANAMES: ['ఈసాపూర్వ.', 'సన్.'], - NARROWMONTHS: ['జ', 'ఫి', 'మా', 'ఏ', 'మె', 'జు', 'జు', - 'ఆ', 'సె', 'అ', 'న', 'డి'], - STANDALONENARROWMONTHS: ['జ', 'ఫి', 'మ', 'ఎ', 'మె', 'జు', - 'జు', 'ఆ', 'సె', 'అ', 'న', 'డి'], - MONTHS: ['జనవరి', 'ఫిబ్రవరి', 'మార్చి', - 'ఎప్రిల్', 'మే', 'జూన్', 'జూలై', - 'ఆగస్టు', 'సెప్టెంబర్', - 'అక్టోబర్', 'నవంబర్', - 'డిసెంబర్'], - STANDALONEMONTHS: ['జనవరి', 'ఫిబ్రవరి', - 'మార్చి', 'ఎప్రిల్', 'మే', 'జూన్', - 'జూలై', 'ఆగస్టు', 'సెప్టెంబర్', - 'అక్టోబర్', 'నవంబర్', - 'డిసెంబర్'], - SHORTMONTHS: ['జన', 'ఫిబ్ర', 'మార్చి', - 'ఏప్రి', 'మే', 'జూన్', 'జూలై', - 'ఆగస్టు', 'సెప్టెంబర్', - 'అక్టోబర్', 'నవంబర్', - 'డిసెంబర్'], - STANDALONESHORTMONTHS: ['జన', 'ఫిబ్ర', 'మార్చి', - 'ఏప్రి', 'మే', 'జూన్', 'జూలై', - 'ఆగస్టు', 'సెప్టెంబర్', - 'అక్టోబర్', 'నవంబర్', - 'డిసెంబర్'], - WEEKDAYS: ['ఆదివారం', 'సోమవారం', - 'మంగళవారం', 'బుధవారం', - 'గురువారం', 'శుక్రవారం', - 'శనివారం'], - STANDALONEWEEKDAYS: ['ఆదివారం', 'సోమవారం', - 'మంగళవారం', 'బుధవారం', - 'గురువారం', 'శుక్రవారం', - 'శనివారం'], - SHORTWEEKDAYS: ['ఆది', 'సోమ', 'మంగళ', 'బుధ', - 'గురు', 'శుక్ర', 'శని'], - STANDALONESHORTWEEKDAYS: ['ఆది', 'సోమ', 'మంగళ', - 'బుధ', 'గురు', 'శుక్ర', 'శని'], - NARROWWEEKDAYS: ['ఆ', 'సో', 'మ', 'బు', 'గు', 'శు', 'శ'], - STANDALONENARROWWEEKDAYS: ['ఆ', 'సో', 'మ', 'బు', 'గు', - 'శు', 'శ'], - SHORTQUARTERS: ['ఒకటి 1', 'రెండు 2', 'మూడు 3', - 'నాలుగు 4'], - QUARTERS: ['ఒకటి 1', 'రెండు 2', 'మూడు 3', - 'నాలుగు 4'], - AMPMS: ['am', 'pm'], - DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd-MM-yy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], - FIRSTDAYOFWEEK: 6, - WEEKENDRANGE: [6, 6], - FIRSTWEEKCUTOFFDAY: 5 -}; - - -/** - * Date/time formatting symbols for locale th. - */ -goog.i18n.DateTimeSymbols_th = { - ERAS: ['ปีก่อน ค.ศ.', 'ค.ศ.'], - ERANAMES: ['ปีก่อนคริสต์ศักราช', - 'คริสต์ศักราช'], - NARROWMONTHS: ['ม.ค.', 'ก.พ.', 'มี.ค.', 'เม.ย.', - 'พ.ค.', 'มิ.ย', 'ก.ค.', 'ส.ค.', 'ก.ย.', 'ต.ค.', - 'พ.ย.', 'ธ.ค.'], - STANDALONENARROWMONTHS: ['ม.ค.', 'ก.พ.', 'มี.ค.', 'เม.ย.', - 'พ.ค.', 'มิ.ย.', 'ก.ค.', 'ส.ค.', 'ก.ย.', 'ต.ค.', - 'พ.ย.', 'ธ.ค.'], - MONTHS: ['มกราคม', 'กุมภาพันธ์', - 'มีนาคม', 'เมษายน', 'พฤษภาคม', - 'มิถุนายน', 'กรกฎาคม', - 'สิงหาคม', 'กันยายน', 'ตุลาคม', - 'พฤศจิกายน', 'ธันวาคม'], - STANDALONEMONTHS: ['มกราคม', 'กุมภาพันธ์', - 'มีนาคม', 'เมษายน', 'พฤษภาคม', - 'มิถุนายน', 'กรกฎาคม', - 'สิงหาคม', 'กันยายน', 'ตุลาคม', - 'พฤศจิกายน', 'ธันวาคม'], - SHORTMONTHS: ['ม.ค.', 'ก.พ.', 'มี.ค.', 'เม.ย.', - 'พ.ค.', 'มิ.ย.', 'ก.ค.', 'ส.ค.', 'ก.ย.', 'ต.ค.', - 'พ.ย.', 'ธ.ค.'], - STANDALONESHORTMONTHS: ['ม.ค.', 'ก.พ.', 'มี.ค.', 'เม.ย.', - 'พ.ค.', 'มิ.ย.', 'ก.ค.', 'ส.ค.', 'ก.ย.', 'ต.ค.', - 'พ.ย.', 'ธ.ค.'], - WEEKDAYS: ['วันอาทิตย์', 'วันจันทร์', - 'วันอังคาร', 'วันพุธ', - 'วันพฤหัสบดี', 'วันศุกร์', - 'วันเสาร์'], - STANDALONEWEEKDAYS: ['วันอาทิตย์', - 'วันจันทร์', 'วันอังคาร', - 'วันพุธ', 'วันพฤหัสบดี', - 'วันศุกร์', 'วันเสาร์'], - SHORTWEEKDAYS: ['อา.', 'จ.', 'อ.', 'พ.', 'พฤ.', 'ศ.', 'ส.'], - STANDALONESHORTWEEKDAYS: ['อา.', 'จ.', 'อ.', 'พ.', 'พฤ.', - 'ศ.', 'ส.'], - NARROWWEEKDAYS: ['อ', 'จ', 'อ', 'พ', 'พ', 'ศ', 'ส'], - STANDALONENARROWWEEKDAYS: ['อ', 'จ', 'อ', 'พ', 'พ', 'ศ', 'ส'], - SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - QUARTERS: ['ไตรมาส 1', 'ไตรมาส 2', - 'ไตรมาส 3', 'ไตรมาส 4'], - AMPMS: ['ก่อนเที่ยง', 'หลังเที่ยง'], - DATEFORMATS: ['EEEEที่ d MMMM G y', 'd MMMM y', 'd MMM y', 'd/M/yyyy'], - TIMEFORMATS: [ - 'H นาฬิกา m นาที ss วินาที zzzz', - 'H นาฬิกา m นาที ss วินาที z', 'H:mm:ss', - 'H:mm'], - FIRSTDAYOFWEEK: 6, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 5 -}; - - -/** - * Date/time formatting symbols for locale tl. - */ -goog.i18n.DateTimeSymbols_tl = { - ERAS: ['BC', 'AD'], - ERANAMES: ['BC', 'AD'], - NARROWMONTHS: ['E', 'P', 'M', 'A', 'M', 'H', 'H', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['E', 'P', 'M', 'A', 'M', 'H', 'H', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['Enero', 'Pebrero', 'Marso', 'Abril', 'Mayo', 'Hunyo', 'Hulyo', - 'Agosto', 'Setyembre', 'Oktubre', 'Nobyembre', 'Disyembre'], - STANDALONEMONTHS: ['Enero', 'Pebrero', 'Marso', 'Abril', 'Mayo', 'Hunyo', - 'Hulyo', 'Agosto', 'Setyembre', 'Oktubre', 'Nobyembre', 'Disyembre'], - SHORTMONTHS: ['Ene', 'Peb', 'Mar', 'Abr', 'May', 'Hun', 'Hul', 'Ago', 'Set', - 'Okt', 'Nob', 'Dis'], - STANDALONESHORTMONTHS: ['Ene', 'Peb', 'Mar', 'Abr', 'May', 'Hun', 'Hul', - 'Ago', 'Set', 'Okt', 'Nob', 'Dis'], - WEEKDAYS: ['Linggo', 'Lunes', 'Martes', 'Miyerkules', 'Huwebes', 'Biyernes', - 'Sabado'], - STANDALONEWEEKDAYS: ['Linggo', 'Lunes', 'Martes', 'Miyerkules', 'Huwebes', - 'Biyernes', 'Sabado'], - SHORTWEEKDAYS: ['Lin', 'Lun', 'Mar', 'Mye', 'Huw', 'Bye', 'Sab'], - STANDALONESHORTWEEKDAYS: ['Lin', 'Lun', 'Mar', 'Miy', 'Huw', 'Biy', 'Sab'], - NARROWWEEKDAYS: ['L', 'L', 'M', 'M', 'H', 'B', 'S'], - STANDALONENARROWWEEKDAYS: ['L', 'L', 'M', 'M', 'H', 'B', 'S'], - SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - QUARTERS: ['ika-1 sangkapat', 'ika-2 sangkapat', 'ika-3 quarter', - 'ika-4 na quarter'], - AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE, MMMM dd y', 'MMMM d, y', 'MMM d, y', 'M/d/yy'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 6, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 5 -}; - - -/** - * Date/time formatting symbols for locale tr. - */ -goog.i18n.DateTimeSymbols_tr = { - ERAS: ['MÖ', 'MS'], - ERANAMES: ['Milattan Önce', 'Milattan Sonra'], - NARROWMONTHS: ['O', 'Ş', 'M', 'N', 'M', 'H', 'T', 'A', 'E', 'E', 'K', 'A'], - STANDALONENARROWMONTHS: ['O', 'Ş', 'M', 'N', 'M', 'H', 'T', 'A', 'E', 'E', - 'K', 'A'], - MONTHS: ['Ocak', 'Şubat', 'Mart', 'Nisan', 'Mayıs', 'Haziran', 'Temmuz', - 'Ağustos', 'Eylül', 'Ekim', 'Kasım', 'Aralık'], - STANDALONEMONTHS: ['Ocak', 'Şubat', 'Mart', 'Nisan', 'Mayıs', 'Haziran', - 'Temmuz', 'Ağustos', 'Eylül', 'Ekim', 'Kasım', 'Aralık'], - SHORTMONTHS: ['Oca', 'Şub', 'Mar', 'Nis', 'May', 'Haz', 'Tem', 'Ağu', 'Eyl', - 'Eki', 'Kas', 'Ara'], - STANDALONESHORTMONTHS: ['Oca', 'Şub', 'Mar', 'Nis', 'May', 'Haz', 'Tem', - 'Ağu', 'Eyl', 'Eki', 'Kas', 'Ara'], - WEEKDAYS: ['Pazar', 'Pazartesi', 'Salı', 'Çarşamba', 'Perşembe', 'Cuma', - 'Cumartesi'], - STANDALONEWEEKDAYS: ['Pazar', 'Pazartesi', 'Salı', 'Çarşamba', 'Perşembe', - 'Cuma', 'Cumartesi'], - SHORTWEEKDAYS: ['Paz', 'Pzt', 'Sal', 'Çar', 'Per', 'Cum', 'Cmt'], - STANDALONESHORTWEEKDAYS: ['Paz', 'Pzt', 'Sal', 'Çar', 'Per', 'Cum', 'Cmt'], - NARROWWEEKDAYS: ['P', 'P', 'S', 'Ç', 'P', 'C', 'C'], - STANDALONENARROWWEEKDAYS: ['P', 'P', 'S', 'Ç', 'P', 'C', 'C'], - SHORTQUARTERS: ['Ç1', 'Ç2', 'Ç3', 'Ç4'], - QUARTERS: ['1. çeyrek', '2. çeyrek', '3. çeyrek', '4. çeyrek'], - AMPMS: ['AM', 'PM'], - DATEFORMATS: ['d MMMM y EEEE', 'd MMMM y', 'd MMM y', 'dd MM yyyy'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 6 -}; - - -/** - * Date/time formatting symbols for locale uk. - */ -goog.i18n.DateTimeSymbols_uk = { - ERAS: ['до н.е.', 'н.е.'], - ERANAMES: ['до нашої ери', 'нашої ери'], - NARROWMONTHS: ['С', 'Л', 'Б', 'К', 'Т', 'Ч', 'Л', 'С', 'В', 'Ж', - 'Л', 'Г'], - STANDALONENARROWMONTHS: ['С', 'Л', 'Б', 'К', 'Т', 'Ч', 'Л', 'С', 'В', - 'Ж', 'Л', 'Г'], - MONTHS: ['січня', 'лютого', 'березня', 'квітня', - 'травня', 'червня', 'липня', 'серпня', - 'вересня', 'жовтня', 'листопада', 'грудня'], - STANDALONEMONTHS: ['Січень', 'Лютий', 'Березень', - 'Квітень', 'Травень', 'Червень', 'Липень', - 'Серпень', 'Вересень', 'Жовтень', - 'Листопад', 'Грудень'], - SHORTMONTHS: ['січ.', 'лют.', 'бер.', 'квіт.', 'трав.', - 'черв.', 'лип.', 'серп.', 'вер.', 'жовт.', 'лист.', - 'груд.'], - STANDALONESHORTMONTHS: ['Січ', 'Лют', 'Бер', 'Кві', 'Тра', - 'Чер', 'Лип', 'Сер', 'Вер', 'Жов', 'Лис', 'Гру'], - WEEKDAYS: ['Неділя', 'Понеділок', 'Вівторок', - 'Середа', 'Четвер', 'Пʼятниця', 'Субота'], - STANDALONEWEEKDAYS: ['Неділя', 'Понеділок', 'Вівторок', - 'Середа', 'Четвер', 'Пʼятниця', 'Субота'], - SHORTWEEKDAYS: ['Нд', 'Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб'], - STANDALONESHORTWEEKDAYS: ['Нд', 'Пн', 'Вт', 'Ср', 'Чт', 'Пт', - 'Сб'], - NARROWWEEKDAYS: ['Н', 'П', 'В', 'С', 'Ч', 'П', 'С'], - STANDALONENARROWWEEKDAYS: ['Н', 'П', 'В', 'С', 'Ч', 'П', 'С'], - SHORTQUARTERS: ['I кв.', 'II кв.', 'III кв.', 'IV кв.'], - QUARTERS: ['I квартал', 'II квартал', 'III квартал', - 'IV квартал'], - AMPMS: ['дп', 'пп'], - DATEFORMATS: ['EEEE, d MMMM y \'р\'.', 'd MMMM y \'р\'.', 'd MMM y', - 'dd.MM.yy'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 6 -}; - - -/** - * Date/time formatting symbols for locale ur. - */ -goog.i18n.DateTimeSymbols_ur = { - ERAS: ['ق م', 'عيسوی سن'], - ERANAMES: ['قبل مسيح', 'عيسوی سن'], - NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], - STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', - '11', '12'], - MONTHS: ['جنوری', 'فروری', 'مارچ', 'اپريل', 'مئ', - 'جون', 'جولائ', 'اگست', 'ستمبر', 'اکتوبر', - 'نومبر', 'دسمبر'], - STANDALONEMONTHS: ['جنوری', 'فروری', 'مارچ', 'اپريل', - 'مئ', 'جون', 'جولائ', 'اگست', 'ستمبر', 'اکتوبر', - 'نومبر', 'دسمبر'], - SHORTMONTHS: ['جنوری', 'فروری', 'مارچ', 'اپريل', 'مئ', - 'جون', 'جولائ', 'اگست', 'ستمبر', 'اکتوبر', - 'نومبر', 'دسمبر'], - STANDALONESHORTMONTHS: ['جنوری', 'فروری', 'مارچ', 'اپريل', - 'مئ', 'جون', 'جولائ', 'اگست', 'ستمبر', 'اکتوبر', - 'نومبر', 'دسمبر'], - WEEKDAYS: ['اتوار', 'پير', 'منگل', 'بده', 'جمعرات', - 'جمعہ', 'ہفتہ'], - STANDALONEWEEKDAYS: ['اتوار', 'پير', 'منگل', 'بده', - 'جمعرات', 'جمعہ', 'ہفتہ'], - SHORTWEEKDAYS: ['اتوار', 'پير', 'منگل', 'بده', 'جمعرات', - 'جمعہ', 'ہفتہ'], - STANDALONESHORTWEEKDAYS: ['اتوار', 'پير', 'منگل', 'بده', - 'جمعرات', 'جمعہ', 'ہفتہ'], - NARROWWEEKDAYS: ['1', '2', '3', '4', '5', '6', '7'], - STANDALONENARROWWEEKDAYS: ['1', '2', '3', '4', '5', '6', '7'], - SHORTQUARTERS: ['پہلی سہ ماہی', 'دوسری سہ ماہی', - 'تيسری سہ ماہی', 'چوتهی سہ ماہی'], - QUARTERS: ['پہلی سہ ماہی', 'دوسری سہ ماہی', - 'تيسری سہ ماہی', 'چوتهی سہ ماہی'], - AMPMS: ['دن', 'رات'], - DATEFORMATS: ['EEEE؍ d؍ MMMM y', 'd؍ MMMM y', 'd؍ MMM y', 'd/M/yy'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], - FIRSTDAYOFWEEK: 6, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 5 -}; - - -/** - * Date/time formatting symbols for locale vi. - */ -goog.i18n.DateTimeSymbols_vi = { - ERAS: ['tr. CN', 'sau CN'], - ERANAMES: ['tr. CN', 'sau CN'], - NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], - STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', - '11', '12'], - MONTHS: ['tháng một', 'tháng hai', 'tháng ba', 'tháng tư', - 'tháng năm', 'tháng sáu', 'tháng bảy', 'tháng tám', - 'tháng chín', 'tháng mười', 'tháng mười một', - 'tháng mười hai'], - STANDALONEMONTHS: ['tháng một', 'tháng hai', 'tháng ba', 'tháng tư', - 'tháng năm', 'tháng sáu', 'tháng bảy', 'tháng tám', - 'tháng chín', 'tháng mười', 'tháng mười một', - 'tháng mười hai'], - SHORTMONTHS: ['thg 1', 'thg 2', 'thg 3', 'thg 4', 'thg 5', 'thg 6', 'thg 7', - 'thg 8', 'thg 9', 'thg 10', 'thg 11', 'thg 12'], - STANDALONESHORTMONTHS: ['thg 1', 'thg 2', 'thg 3', 'thg 4', 'thg 5', 'thg 6', - 'thg 7', 'thg 8', 'thg 9', 'thg 10', 'thg 11', 'thg 12'], - WEEKDAYS: ['Chủ nhật', 'Thứ hai', 'Thứ ba', 'Thứ tư', 'Thứ năm', - 'Thứ sáu', 'Thứ bảy'], - STANDALONEWEEKDAYS: ['Chủ nhật', 'Thứ hai', 'Thứ ba', 'Thứ tư', - 'Thứ năm', 'Thứ sáu', 'Thứ bảy'], - SHORTWEEKDAYS: ['CN', 'Th 2', 'Th 3', 'Th 4', 'Th 5', 'Th 6', 'Th 7'], - STANDALONESHORTWEEKDAYS: ['CN', 'Th 2', 'Th 3', 'Th 4', 'Th 5', 'Th 6', - 'Th 7'], - NARROWWEEKDAYS: ['CN', 'T2', 'T3', 'T4', 'T5', 'T6', 'T7'], - STANDALONENARROWWEEKDAYS: ['CN', 'T2', 'T3', 'T4', 'T5', 'T6', 'T7'], - SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - QUARTERS: ['Quý 1', 'Quý 2', 'Quý 3', 'Quý 4'], - AMPMS: ['SA', 'CH'], - DATEFORMATS: ['EEEE, \'ngày\' dd MMMM \'năm\' y', - '\'Ngày\' dd \'tháng\' M \'năm\' y', 'dd-MM-yyyy', 'dd/MM/yyyy'], - TIMEFORMATS: ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'], - FIRSTDAYOFWEEK: 0, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 6 -}; - - -/** - * Date/time formatting symbols for locale zh. - */ -goog.i18n.DateTimeSymbols_zh = { - ERAS: ['公元前', '公元'], - ERANAMES: ['公元前', '公元'], - NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], - STANDALONENARROWMONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', - '7月', '8月', '9月', '10月', '11月', '12月'], - MONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', - '9月', '10月', '11月', '12月'], - STANDALONEMONTHS: ['一月', '二月', '三月', '四月', '五月', '六月', - '七月', '八月', '九月', '十月', '十一月', '十二月'], - SHORTMONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', - '9月', '10月', '11月', '12月'], - STANDALONESHORTMONTHS: ['一月', '二月', '三月', '四月', '五月', - '六月', '七月', '八月', '九月', '十月', '十一月', - '十二月'], - WEEKDAYS: ['星期日', '星期一', '星期二', '星期三', '星期四', - '星期五', '星期六'], - STANDALONEWEEKDAYS: ['星期日', '星期一', '星期二', '星期三', - '星期四', '星期五', '星期六'], - SHORTWEEKDAYS: ['周日', '周一', '周二', '周三', '周四', '周五', - '周六'], - STANDALONESHORTWEEKDAYS: ['周日', '周一', '周二', '周三', '周四', - '周五', '周六'], - NARROWWEEKDAYS: ['日', '一', '二', '三', '四', '五', '六'], - STANDALONENARROWWEEKDAYS: ['日', '一', '二', '三', '四', '五', '六'], - SHORTQUARTERS: ['1季', '2季', '3季', '4季'], - QUARTERS: ['第1季度', '第2季度', '第3季度', '第4季度'], - AMPMS: ['上午', '下午'], - DATEFORMATS: ['y年M月d日EEEE', 'y年M月d日', 'yyyy-M-d', 'yy-M-d'], - TIMEFORMATS: ['zzzzah时mm分ss秒', 'zah时mm分ss秒', 'ah:mm:ss', 'ah:mm'], - FIRSTDAYOFWEEK: 6, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 5 -}; - - -/** - * Date/time formatting symbols for locale zh_CN. - */ -goog.i18n.DateTimeSymbols_zh_CN = goog.i18n.DateTimeSymbols_zh; - - -/** - * Date/time formatting symbols for locale zh_HK. - */ -goog.i18n.DateTimeSymbols_zh_HK = { - ERAS: ['西元前', '西元'], - ERANAMES: ['西元前', '西元'], - NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], - STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', - '11', '12'], - MONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', - '9月', '10月', '11月', '12月'], - STANDALONEMONTHS: ['一月', '二月', '三月', '四月', '五月', '六月', - '七月', '八月', '九月', '十月', '十一月', '十二月'], - SHORTMONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', - '9月', '10月', '11月', '12月'], - STANDALONESHORTMONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', - '7月', '8月', '9月', '10月', '11月', '12月'], - WEEKDAYS: ['星期日', '星期一', '星期二', '星期三', '星期四', - '星期五', '星期六'], - STANDALONEWEEKDAYS: ['星期日', '星期一', '星期二', '星期三', - '星期四', '星期五', '星期六'], - SHORTWEEKDAYS: ['週日', '週一', '週二', '週三', '週四', '週五', - '週六'], - STANDALONESHORTWEEKDAYS: ['周日', '周一', '周二', '周三', '周四', - '周五', '周六'], - NARROWWEEKDAYS: ['日', '一', '二', '三', '四', '五', '六'], - STANDALONENARROWWEEKDAYS: ['日', '一', '二', '三', '四', '五', '六'], - SHORTQUARTERS: ['1季', '2季', '3季', '4季'], - QUARTERS: ['第1季', '第2季', '第3季', '第4季'], - AMPMS: ['上午', '下午'], - DATEFORMATS: ['y年M月d日EEEE', 'y年M月d日', 'y年M月d日', - 'yy年M月d日'], - TIMEFORMATS: ['ah:mm:ss [zzzz]', 'ah:mm:ss [z]', 'ahh:mm:ss', 'ah:mm'], - FIRSTDAYOFWEEK: 6, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 5 -}; - - -/** - * Date/time formatting symbols for locale zh_TW. - */ -goog.i18n.DateTimeSymbols_zh_TW = { - ERAS: ['西元前', '西元'], - ERANAMES: ['西元前', '西元'], - NARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], - STANDALONENARROWMONTHS: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', - '11', '12'], - MONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', - '9月', '10月', '11月', '12月'], - STANDALONEMONTHS: ['一月', '二月', '三月', '四月', '五月', '六月', - '七月', '八月', '九月', '十月', '十一月', '十二月'], - SHORTMONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', - '9月', '10月', '11月', '12月'], - STANDALONESHORTMONTHS: ['1月', '2月', '3月', '4月', '5月', '6月', - '7月', '8月', '9月', '10月', '11月', '12月'], - WEEKDAYS: ['星期日', '星期一', '星期二', '星期三', '星期四', - '星期五', '星期六'], - STANDALONEWEEKDAYS: ['星期日', '星期一', '星期二', '星期三', - '星期四', '星期五', '星期六'], - SHORTWEEKDAYS: ['週日', '週一', '週二', '週三', '週四', '週五', - '週六'], - STANDALONESHORTWEEKDAYS: ['周日', '周一', '周二', '周三', '周四', - '周五', '周六'], - NARROWWEEKDAYS: ['日', '一', '二', '三', '四', '五', '六'], - STANDALONENARROWWEEKDAYS: ['日', '一', '二', '三', '四', '五', '六'], - SHORTQUARTERS: ['1季', '2季', '3季', '4季'], - QUARTERS: ['第1季', '第2季', '第3季', '第4季'], - AMPMS: ['上午', '下午'], - DATEFORMATS: ['y年M月d日EEEE', 'y年M月d日', 'yyyy/M/d', 'y/M/d'], - TIMEFORMATS: ['zzzzah時mm分ss秒', 'zah時mm分ss秒', 'ah:mm:ss', 'ah:mm'], - FIRSTDAYOFWEEK: 6, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 5 -}; - - -/** - * Date/time formatting symbols for locale zu. - */ -goog.i18n.DateTimeSymbols_zu = { - ERAS: ['BC', 'AD'], - ERANAMES: ['BC', 'AD'], - NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], - STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', - 'N', 'D'], - MONTHS: ['Januwari', 'Februwari', 'Mashi', 'Apreli', 'Meyi', 'Juni', 'Julayi', - 'Agasti', 'Septhemba', 'Okthoba', 'Novemba', 'Disemba'], - STANDALONEMONTHS: ['uJanuwari', 'uFebruwari', 'uMashi', 'u-Apreli', 'uMeyi', - 'uJuni', 'uJulayi', 'uAgasti', 'uSepthemba', 'u-Okthoba', 'uNovemba', - 'uDisemba'], - SHORTMONTHS: ['Jan', 'Feb', 'Mas', 'Apr', 'Mey', 'Jun', 'Jul', 'Aga', 'Sep', - 'Okt', 'Nov', 'Dis'], - STANDALONESHORTMONTHS: ['Jan', 'Feb', 'Mas', 'Apr', 'Mey', 'Jun', 'Jul', - 'Aga', 'Sep', 'Okt', 'Nov', 'Dis'], - WEEKDAYS: ['Sonto', 'Msombuluko', 'Lwesibili', 'Lwesithathu', 'uLwesine', - 'Lwesihlanu', 'Mgqibelo'], - STANDALONEWEEKDAYS: ['Sonto', 'Msombuluko', 'Lwesibili', 'Lwesithathu', - 'uLwesine', 'Lwesihlanu', 'Mgqibelo'], - SHORTWEEKDAYS: ['Son', 'Mso', 'Bil', 'Tha', 'Sin', 'Hla', 'Mgq'], - STANDALONESHORTWEEKDAYS: ['Son', 'Mso', 'Bil', 'Tha', 'Sin', 'Hla', 'Mgq'], - NARROWWEEKDAYS: ['S', 'M', 'B', 'T', 'S', 'H', 'M'], - STANDALONENARROWWEEKDAYS: ['S', 'M', 'B', 'T', 'S', 'H', 'M'], - SHORTQUARTERS: ['Q1', 'Q2', 'Q3', 'Q4'], - QUARTERS: ['ikota yoku-1', 'ikota yesi-2', 'ikota yesi-3', 'ikota yesi-4'], - AMPMS: ['AM', 'PM'], - DATEFORMATS: ['EEEE dd MMMM y', 'd MMMM y', 'd MMM y', 'yyyy-MM-dd'], - TIMEFORMATS: ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], - FIRSTDAYOFWEEK: 6, - WEEKENDRANGE: [5, 6], - FIRSTWEEKCUTOFFDAY: 5 -}; - - -/** - * Selected date/time formatting symbols by locale. - * "switch" statement won't work here. JsCompiler cannot handle it yet. - */ -if (goog.LOCALE == 'af') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_af; -} else if (goog.LOCALE == 'am') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_am; -} else if (goog.LOCALE == 'ar') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ar; -} else if (goog.LOCALE == 'bg') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_bg; -} else if (goog.LOCALE == 'bn') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_bn; -} else if (goog.LOCALE == 'ca') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ca; -} else if (goog.LOCALE == 'chr') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_chr; -} else if (goog.LOCALE == 'cs') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_cs; -} else if (goog.LOCALE == 'cy') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_cy; -} else if (goog.LOCALE == 'da') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_da; -} else if (goog.LOCALE == 'de') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_de; -} else if (goog.LOCALE == 'de_AT' || goog.LOCALE == 'de-AT') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_de_AT; -} else if (goog.LOCALE == 'de_CH' || goog.LOCALE == 'de-CH') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_de; -} else if (goog.LOCALE == 'el') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_el; -} else if (goog.LOCALE == 'en') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en; -} else if (goog.LOCALE == 'en_AU' || goog.LOCALE == 'en-AU') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_AU; -} else if (goog.LOCALE == 'en_GB' || goog.LOCALE == 'en-GB') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_GB; -} else if (goog.LOCALE == 'en_IE' || goog.LOCALE == 'en-IE') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_IE; -} else if (goog.LOCALE == 'en_IN' || goog.LOCALE == 'en-IN') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_IN; -} else if (goog.LOCALE == 'en_SG' || goog.LOCALE == 'en-SG') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_SG; -} else if (goog.LOCALE == 'en_US' || goog.LOCALE == 'en-US') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en; -} else if (goog.LOCALE == 'en_ZA' || goog.LOCALE == 'en-ZA') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en_ZA; -} else if (goog.LOCALE == 'es') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_es; -} else if (goog.LOCALE == 'es_419' || goog.LOCALE == 'es-419') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_es_419; -} else if (goog.LOCALE == 'et') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_et; -} else if (goog.LOCALE == 'eu') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_eu; -} else if (goog.LOCALE == 'fa') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_fa; -} else if (goog.LOCALE == 'fi') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_fi; -} else if (goog.LOCALE == 'fil') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_fil; -} else if (goog.LOCALE == 'fr') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_fr; -} else if (goog.LOCALE == 'fr_CA' || goog.LOCALE == 'fr-CA') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_fr_CA; -} else if (goog.LOCALE == 'gl') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_gl; -} else if (goog.LOCALE == 'gsw') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_gsw; -} else if (goog.LOCALE == 'gu') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_gu; -} else if (goog.LOCALE == 'haw') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_haw; -} else if (goog.LOCALE == 'he') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_he; -} else if (goog.LOCALE == 'hi') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_hi; -} else if (goog.LOCALE == 'hr') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_hr; -} else if (goog.LOCALE == 'hu') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_hu; -} else if (goog.LOCALE == 'id') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_id; -} else if (goog.LOCALE == 'in') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_in; -} else if (goog.LOCALE == 'is') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_is; -} else if (goog.LOCALE == 'it') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_it; -} else if (goog.LOCALE == 'iw') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_iw; -} else if (goog.LOCALE == 'ja') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ja; -} else if (goog.LOCALE == 'kn') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_kn; -} else if (goog.LOCALE == 'ko') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ko; -} else if (goog.LOCALE == 'ln') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ln; -} else if (goog.LOCALE == 'lt') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_lt; -} else if (goog.LOCALE == 'lv') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_lv; -} else if (goog.LOCALE == 'ml') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ml; -} else if (goog.LOCALE == 'mr') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_mr; -} else if (goog.LOCALE == 'ms') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ms; -} else if (goog.LOCALE == 'mt') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_mt; -} else if (goog.LOCALE == 'nl') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_nl; -} else if (goog.LOCALE == 'no') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_no; -} else if (goog.LOCALE == 'or') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_or; -} else if (goog.LOCALE == 'pl') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_pl; -} else if (goog.LOCALE == 'pt') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_pt; -} else if (goog.LOCALE == 'pt_BR' || goog.LOCALE == 'pt-BR') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_pt; -} else if (goog.LOCALE == 'pt_PT' || goog.LOCALE == 'pt-PT') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_pt_PT; -} else if (goog.LOCALE == 'ro') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ro; -} else if (goog.LOCALE == 'ru') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ru; -} else if (goog.LOCALE == 'sk') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_sk; -} else if (goog.LOCALE == 'sl') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_sl; -} else if (goog.LOCALE == 'sq') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_sq; -} else if (goog.LOCALE == 'sr') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_sr; -} else if (goog.LOCALE == 'sv') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_sv; -} else if (goog.LOCALE == 'sw') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_sw; -} else if (goog.LOCALE == 'ta') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ta; -} else if (goog.LOCALE == 'te') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_te; -} else if (goog.LOCALE == 'th') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_th; -} else if (goog.LOCALE == 'tl') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_tl; -} else if (goog.LOCALE == 'tr') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_tr; -} else if (goog.LOCALE == 'uk') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_uk; -} else if (goog.LOCALE == 'ur') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_ur; -} else if (goog.LOCALE == 'vi') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_vi; -} else if (goog.LOCALE == 'zh') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_zh; -} else if (goog.LOCALE == 'zh_CN' || goog.LOCALE == 'zh-CN') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_zh; -} else if (goog.LOCALE == 'zh_HK' || goog.LOCALE == 'zh-HK') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_zh_HK; -} else if (goog.LOCALE == 'zh_TW' || goog.LOCALE == 'zh-TW') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_zh_TW; -} else if (goog.LOCALE == 'zu') { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_zu; -} else { - goog.i18n.DateTimeSymbols = goog.i18n.DateTimeSymbols_en; -} - diff --git a/i18n/closure/numberSymbols.js b/i18n/closure/numberSymbols.js index 956e81807982..95d4454d10e5 100644 --- a/i18n/closure/numberSymbols.js +++ b/i18n/closure/numberSymbols.js @@ -1,4 +1,4 @@ -// Copyright 2011 The Closure Library Authors. All Rights Reserved +// Copyright 2011 The Closure Library Authors. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -15,191 +15,132 @@ /** * @fileoverview Number formatting symbols. * - * This file is autogenerated by script: - * http://go/generate_number_constants.py - * using the --for_closure flag. + * File generated from CLDR ver. 31.0.1 * * To reduce the file size (which may cause issues in some JS * developing environments), this file will only contain locales * that are frequently used by web applications. This is defined as - * closure_tier1_locales and will change (most likely addition) + * proto/closure_locales_data.txt and will change (most likely addition) * over time. Rest of the data can be found in another file named - * "numberformatsymbolsext.js", which will be generated at the - * same time together with this file. + * "numberformatsymbolsext.js", which will be generated at + * the same time together with this file. * - * Before checkin, this file could have been manually edited. This is - * to incorporate changes before we could fix CLDR. All manual - * modification must be documented in this section, and should be - * removed after those changes land to CLDR. + * @suppress {const} */ +// clang-format off + goog.provide('goog.i18n.NumberFormatSymbols'); goog.provide('goog.i18n.NumberFormatSymbols_af'); -goog.provide('goog.i18n.NumberFormatSymbols_af_ZA'); goog.provide('goog.i18n.NumberFormatSymbols_am'); -goog.provide('goog.i18n.NumberFormatSymbols_am_ET'); goog.provide('goog.i18n.NumberFormatSymbols_ar'); -goog.provide('goog.i18n.NumberFormatSymbols_ar_001'); -goog.provide('goog.i18n.NumberFormatSymbols_ar_EG'); +goog.provide('goog.i18n.NumberFormatSymbols_ar_DZ'); +goog.provide('goog.i18n.NumberFormatSymbols_az'); +goog.provide('goog.i18n.NumberFormatSymbols_be'); goog.provide('goog.i18n.NumberFormatSymbols_bg'); -goog.provide('goog.i18n.NumberFormatSymbols_bg_BG'); goog.provide('goog.i18n.NumberFormatSymbols_bn'); -goog.provide('goog.i18n.NumberFormatSymbols_bn_BD'); +goog.provide('goog.i18n.NumberFormatSymbols_br'); +goog.provide('goog.i18n.NumberFormatSymbols_bs'); goog.provide('goog.i18n.NumberFormatSymbols_ca'); -goog.provide('goog.i18n.NumberFormatSymbols_ca_AD'); -goog.provide('goog.i18n.NumberFormatSymbols_ca_ES'); +goog.provide('goog.i18n.NumberFormatSymbols_chr'); goog.provide('goog.i18n.NumberFormatSymbols_cs'); -goog.provide('goog.i18n.NumberFormatSymbols_cs_CZ'); +goog.provide('goog.i18n.NumberFormatSymbols_cy'); goog.provide('goog.i18n.NumberFormatSymbols_da'); -goog.provide('goog.i18n.NumberFormatSymbols_da_DK'); goog.provide('goog.i18n.NumberFormatSymbols_de'); goog.provide('goog.i18n.NumberFormatSymbols_de_AT'); -goog.provide('goog.i18n.NumberFormatSymbols_de_BE'); goog.provide('goog.i18n.NumberFormatSymbols_de_CH'); -goog.provide('goog.i18n.NumberFormatSymbols_de_DE'); -goog.provide('goog.i18n.NumberFormatSymbols_de_LU'); goog.provide('goog.i18n.NumberFormatSymbols_el'); -goog.provide('goog.i18n.NumberFormatSymbols_el_GR'); goog.provide('goog.i18n.NumberFormatSymbols_en'); -goog.provide('goog.i18n.NumberFormatSymbols_en_AS'); goog.provide('goog.i18n.NumberFormatSymbols_en_AU'); -goog.provide('goog.i18n.NumberFormatSymbols_en_Dsrt_US'); -goog.provide('goog.i18n.NumberFormatSymbols_en_FM'); +goog.provide('goog.i18n.NumberFormatSymbols_en_CA'); goog.provide('goog.i18n.NumberFormatSymbols_en_GB'); -goog.provide('goog.i18n.NumberFormatSymbols_en_GU'); goog.provide('goog.i18n.NumberFormatSymbols_en_IE'); goog.provide('goog.i18n.NumberFormatSymbols_en_IN'); -goog.provide('goog.i18n.NumberFormatSymbols_en_MH'); -goog.provide('goog.i18n.NumberFormatSymbols_en_MP'); -goog.provide('goog.i18n.NumberFormatSymbols_en_PR'); -goog.provide('goog.i18n.NumberFormatSymbols_en_PW'); goog.provide('goog.i18n.NumberFormatSymbols_en_SG'); -goog.provide('goog.i18n.NumberFormatSymbols_en_TC'); -goog.provide('goog.i18n.NumberFormatSymbols_en_UM'); goog.provide('goog.i18n.NumberFormatSymbols_en_US'); -goog.provide('goog.i18n.NumberFormatSymbols_en_VG'); -goog.provide('goog.i18n.NumberFormatSymbols_en_VI'); goog.provide('goog.i18n.NumberFormatSymbols_en_ZA'); goog.provide('goog.i18n.NumberFormatSymbols_es'); goog.provide('goog.i18n.NumberFormatSymbols_es_419'); -goog.provide('goog.i18n.NumberFormatSymbols_es_EA'); goog.provide('goog.i18n.NumberFormatSymbols_es_ES'); -goog.provide('goog.i18n.NumberFormatSymbols_es_IC'); +goog.provide('goog.i18n.NumberFormatSymbols_es_MX'); +goog.provide('goog.i18n.NumberFormatSymbols_es_US'); goog.provide('goog.i18n.NumberFormatSymbols_et'); -goog.provide('goog.i18n.NumberFormatSymbols_et_EE'); goog.provide('goog.i18n.NumberFormatSymbols_eu'); -goog.provide('goog.i18n.NumberFormatSymbols_eu_ES'); goog.provide('goog.i18n.NumberFormatSymbols_fa'); -goog.provide('goog.i18n.NumberFormatSymbols_fa_IR'); goog.provide('goog.i18n.NumberFormatSymbols_fi'); -goog.provide('goog.i18n.NumberFormatSymbols_fi_FI'); goog.provide('goog.i18n.NumberFormatSymbols_fil'); -goog.provide('goog.i18n.NumberFormatSymbols_fil_PH'); goog.provide('goog.i18n.NumberFormatSymbols_fr'); -goog.provide('goog.i18n.NumberFormatSymbols_fr_BL'); goog.provide('goog.i18n.NumberFormatSymbols_fr_CA'); -goog.provide('goog.i18n.NumberFormatSymbols_fr_FR'); -goog.provide('goog.i18n.NumberFormatSymbols_fr_GF'); -goog.provide('goog.i18n.NumberFormatSymbols_fr_GP'); -goog.provide('goog.i18n.NumberFormatSymbols_fr_MC'); -goog.provide('goog.i18n.NumberFormatSymbols_fr_MF'); -goog.provide('goog.i18n.NumberFormatSymbols_fr_MQ'); -goog.provide('goog.i18n.NumberFormatSymbols_fr_RE'); -goog.provide('goog.i18n.NumberFormatSymbols_fr_YT'); +goog.provide('goog.i18n.NumberFormatSymbols_ga'); goog.provide('goog.i18n.NumberFormatSymbols_gl'); -goog.provide('goog.i18n.NumberFormatSymbols_gl_ES'); goog.provide('goog.i18n.NumberFormatSymbols_gsw'); -goog.provide('goog.i18n.NumberFormatSymbols_gsw_CH'); goog.provide('goog.i18n.NumberFormatSymbols_gu'); -goog.provide('goog.i18n.NumberFormatSymbols_gu_IN'); +goog.provide('goog.i18n.NumberFormatSymbols_haw'); goog.provide('goog.i18n.NumberFormatSymbols_he'); -goog.provide('goog.i18n.NumberFormatSymbols_he_IL'); goog.provide('goog.i18n.NumberFormatSymbols_hi'); -goog.provide('goog.i18n.NumberFormatSymbols_hi_IN'); goog.provide('goog.i18n.NumberFormatSymbols_hr'); -goog.provide('goog.i18n.NumberFormatSymbols_hr_HR'); goog.provide('goog.i18n.NumberFormatSymbols_hu'); -goog.provide('goog.i18n.NumberFormatSymbols_hu_HU'); +goog.provide('goog.i18n.NumberFormatSymbols_hy'); goog.provide('goog.i18n.NumberFormatSymbols_id'); -goog.provide('goog.i18n.NumberFormatSymbols_id_ID'); goog.provide('goog.i18n.NumberFormatSymbols_in'); goog.provide('goog.i18n.NumberFormatSymbols_is'); -goog.provide('goog.i18n.NumberFormatSymbols_is_IS'); goog.provide('goog.i18n.NumberFormatSymbols_it'); -goog.provide('goog.i18n.NumberFormatSymbols_it_IT'); -goog.provide('goog.i18n.NumberFormatSymbols_it_SM'); goog.provide('goog.i18n.NumberFormatSymbols_iw'); goog.provide('goog.i18n.NumberFormatSymbols_ja'); -goog.provide('goog.i18n.NumberFormatSymbols_ja_JP'); +goog.provide('goog.i18n.NumberFormatSymbols_ka'); +goog.provide('goog.i18n.NumberFormatSymbols_kk'); +goog.provide('goog.i18n.NumberFormatSymbols_km'); goog.provide('goog.i18n.NumberFormatSymbols_kn'); -goog.provide('goog.i18n.NumberFormatSymbols_kn_IN'); goog.provide('goog.i18n.NumberFormatSymbols_ko'); -goog.provide('goog.i18n.NumberFormatSymbols_ko_KR'); +goog.provide('goog.i18n.NumberFormatSymbols_ky'); goog.provide('goog.i18n.NumberFormatSymbols_ln'); -goog.provide('goog.i18n.NumberFormatSymbols_ln_CD'); +goog.provide('goog.i18n.NumberFormatSymbols_lo'); goog.provide('goog.i18n.NumberFormatSymbols_lt'); -goog.provide('goog.i18n.NumberFormatSymbols_lt_LT'); goog.provide('goog.i18n.NumberFormatSymbols_lv'); -goog.provide('goog.i18n.NumberFormatSymbols_lv_LV'); +goog.provide('goog.i18n.NumberFormatSymbols_mk'); goog.provide('goog.i18n.NumberFormatSymbols_ml'); -goog.provide('goog.i18n.NumberFormatSymbols_ml_IN'); +goog.provide('goog.i18n.NumberFormatSymbols_mn'); +goog.provide('goog.i18n.NumberFormatSymbols_mo'); goog.provide('goog.i18n.NumberFormatSymbols_mr'); -goog.provide('goog.i18n.NumberFormatSymbols_mr_IN'); goog.provide('goog.i18n.NumberFormatSymbols_ms'); -goog.provide('goog.i18n.NumberFormatSymbols_ms_MY'); goog.provide('goog.i18n.NumberFormatSymbols_mt'); -goog.provide('goog.i18n.NumberFormatSymbols_mt_MT'); +goog.provide('goog.i18n.NumberFormatSymbols_my'); +goog.provide('goog.i18n.NumberFormatSymbols_nb'); +goog.provide('goog.i18n.NumberFormatSymbols_ne'); goog.provide('goog.i18n.NumberFormatSymbols_nl'); -goog.provide('goog.i18n.NumberFormatSymbols_nl_CW'); -goog.provide('goog.i18n.NumberFormatSymbols_nl_NL'); -goog.provide('goog.i18n.NumberFormatSymbols_nl_SX'); goog.provide('goog.i18n.NumberFormatSymbols_no'); +goog.provide('goog.i18n.NumberFormatSymbols_no_NO'); goog.provide('goog.i18n.NumberFormatSymbols_or'); -goog.provide('goog.i18n.NumberFormatSymbols_or_IN'); +goog.provide('goog.i18n.NumberFormatSymbols_pa'); goog.provide('goog.i18n.NumberFormatSymbols_pl'); -goog.provide('goog.i18n.NumberFormatSymbols_pl_PL'); goog.provide('goog.i18n.NumberFormatSymbols_pt'); goog.provide('goog.i18n.NumberFormatSymbols_pt_BR'); goog.provide('goog.i18n.NumberFormatSymbols_pt_PT'); goog.provide('goog.i18n.NumberFormatSymbols_ro'); -goog.provide('goog.i18n.NumberFormatSymbols_ro_RO'); goog.provide('goog.i18n.NumberFormatSymbols_ru'); -goog.provide('goog.i18n.NumberFormatSymbols_ru_RU'); +goog.provide('goog.i18n.NumberFormatSymbols_sh'); +goog.provide('goog.i18n.NumberFormatSymbols_si'); goog.provide('goog.i18n.NumberFormatSymbols_sk'); -goog.provide('goog.i18n.NumberFormatSymbols_sk_SK'); goog.provide('goog.i18n.NumberFormatSymbols_sl'); -goog.provide('goog.i18n.NumberFormatSymbols_sl_SI'); goog.provide('goog.i18n.NumberFormatSymbols_sq'); -goog.provide('goog.i18n.NumberFormatSymbols_sq_AL'); goog.provide('goog.i18n.NumberFormatSymbols_sr'); -goog.provide('goog.i18n.NumberFormatSymbols_sr_Cyrl_RS'); -goog.provide('goog.i18n.NumberFormatSymbols_sr_Latn_RS'); +goog.provide('goog.i18n.NumberFormatSymbols_sr_Latn'); goog.provide('goog.i18n.NumberFormatSymbols_sv'); -goog.provide('goog.i18n.NumberFormatSymbols_sv_SE'); goog.provide('goog.i18n.NumberFormatSymbols_sw'); -goog.provide('goog.i18n.NumberFormatSymbols_sw_TZ'); goog.provide('goog.i18n.NumberFormatSymbols_ta'); -goog.provide('goog.i18n.NumberFormatSymbols_ta_IN'); goog.provide('goog.i18n.NumberFormatSymbols_te'); -goog.provide('goog.i18n.NumberFormatSymbols_te_IN'); goog.provide('goog.i18n.NumberFormatSymbols_th'); -goog.provide('goog.i18n.NumberFormatSymbols_th_TH'); goog.provide('goog.i18n.NumberFormatSymbols_tl'); goog.provide('goog.i18n.NumberFormatSymbols_tr'); -goog.provide('goog.i18n.NumberFormatSymbols_tr_TR'); goog.provide('goog.i18n.NumberFormatSymbols_uk'); -goog.provide('goog.i18n.NumberFormatSymbols_uk_UA'); goog.provide('goog.i18n.NumberFormatSymbols_ur'); -goog.provide('goog.i18n.NumberFormatSymbols_ur_PK'); +goog.provide('goog.i18n.NumberFormatSymbols_uz'); goog.provide('goog.i18n.NumberFormatSymbols_vi'); -goog.provide('goog.i18n.NumberFormatSymbols_vi_VN'); goog.provide('goog.i18n.NumberFormatSymbols_zh'); goog.provide('goog.i18n.NumberFormatSymbols_zh_CN'); goog.provide('goog.i18n.NumberFormatSymbols_zh_HK'); -goog.provide('goog.i18n.NumberFormatSymbols_zh_Hans_CN'); goog.provide('goog.i18n.NumberFormatSymbols_zh_TW'); goog.provide('goog.i18n.NumberFormatSymbols_zu'); -goog.provide('goog.i18n.NumberFormatSymbols_zu_ZA'); /** @@ -208,30 +149,23 @@ goog.provide('goog.i18n.NumberFormatSymbols_zu_ZA'); */ goog.i18n.NumberFormatSymbols_af = { DECIMAL_SEP: ',', - GROUP_SEP: '\u00A0', + GROUP_SEP: ' ', PERCENT: '%', ZERO_DIGIT: '0', PLUS_SIGN: '+', MINUS_SIGN: '-', EXP_SYMBOL: 'E', - PERMILL: '\u2030', - INFINITY: '\u221E', + PERMILL: '‰', + INFINITY: '∞', NAN: 'NaN', DECIMAL_PATTERN: '#,##0.###', SCIENTIFIC_PATTERN: '#E0', PERCENT_PATTERN: '#,##0%', - CURRENCY_PATTERN: '\u00A4#,##0.00;(\u00A4#,##0.00)', + CURRENCY_PATTERN: '¤#,##0.00', DEF_CURRENCY_CODE: 'ZAR' }; -/** - * Number formatting symbols for locale af_ZA. - * @enum {string} - */ -goog.i18n.NumberFormatSymbols_af_ZA = goog.i18n.NumberFormatSymbols_af; - - /** * Number formatting symbols for locale am. * @enum {string} @@ -244,59 +178,107 @@ goog.i18n.NumberFormatSymbols_am = { PLUS_SIGN: '+', MINUS_SIGN: '-', EXP_SYMBOL: 'E', - PERMILL: '\u2030', - INFINITY: '\u221E', + PERMILL: '‰', + INFINITY: '∞', NAN: 'NaN', DECIMAL_PATTERN: '#,##0.###', SCIENTIFIC_PATTERN: '#E0', PERCENT_PATTERN: '#,##0%', - CURRENCY_PATTERN: '\u00A4#,##0.00;(\u00A4#,##0.00)', + CURRENCY_PATTERN: '¤#,##0.00', DEF_CURRENCY_CODE: 'ETB' }; /** - * Number formatting symbols for locale am_ET. + * Number formatting symbols for locale ar. * @enum {string} */ -goog.i18n.NumberFormatSymbols_am_ET = goog.i18n.NumberFormatSymbols_am; +goog.i18n.NumberFormatSymbols_ar = { + DECIMAL_SEP: '٫', + GROUP_SEP: '٬', + PERCENT: '٪؜', + ZERO_DIGIT: '٠', + PLUS_SIGN: '؜+', + MINUS_SIGN: '؜-', + EXP_SYMBOL: 'اس', + PERMILL: '؉', + INFINITY: '∞', + NAN: 'ليس رقم', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'EGP' +}; /** - * Number formatting symbols for locale ar. + * Number formatting symbols for locale ar_DZ. * @enum {string} */ -goog.i18n.NumberFormatSymbols_ar = { - DECIMAL_SEP: '\u066B', - GROUP_SEP: '\u066C', - PERCENT: '\u066A', - ZERO_DIGIT: '\u0660', - PLUS_SIGN: '+', - MINUS_SIGN: '-', - EXP_SYMBOL: '\u0627\u0633', - PERMILL: '\u0609', - INFINITY: '\u221E', - NAN: '\u0644\u064A\u0633\u00A0\u0631\u0642\u0645', - DECIMAL_PATTERN: '#0.###;#0.###-', +goog.i18n.NumberFormatSymbols_ar_DZ = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '‎%‎', + ZERO_DIGIT: '0', + PLUS_SIGN: '‎+', + MINUS_SIGN: '‎-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'ليس رقمًا', + DECIMAL_PATTERN: '#,##0.###', SCIENTIFIC_PATTERN: '#E0', PERCENT_PATTERN: '#,##0%', - CURRENCY_PATTERN: '\u00A4\u00A0#0.00;\u00A4\u00A0#0.00-', - DEF_CURRENCY_CODE: 'EGP' + CURRENCY_PATTERN: '¤ #,##0.00', + DEF_CURRENCY_CODE: 'DZD' }; /** - * Number formatting symbols for locale ar_001. + * Number formatting symbols for locale az. * @enum {string} */ -goog.i18n.NumberFormatSymbols_ar_001 = goog.i18n.NumberFormatSymbols_ar; +goog.i18n.NumberFormatSymbols_az = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤ #,##0.00', + DEF_CURRENCY_CODE: 'AZN' +}; /** - * Number formatting symbols for locale ar_EG. + * Number formatting symbols for locale be. * @enum {string} */ -goog.i18n.NumberFormatSymbols_ar_EG = goog.i18n.NumberFormatSymbols_ar; +goog.i18n.NumberFormatSymbols_be = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'BYN' +}; /** @@ -305,30 +287,23 @@ goog.i18n.NumberFormatSymbols_ar_EG = goog.i18n.NumberFormatSymbols_ar; */ goog.i18n.NumberFormatSymbols_bg = { DECIMAL_SEP: ',', - GROUP_SEP: '\u00A0', + GROUP_SEP: ' ', PERCENT: '%', ZERO_DIGIT: '0', PLUS_SIGN: '+', MINUS_SIGN: '-', EXP_SYMBOL: 'E', - PERMILL: '\u2030', - INFINITY: '\u221E', + PERMILL: '‰', + INFINITY: '∞', NAN: 'NaN', DECIMAL_PATTERN: '#,##0.###', SCIENTIFIC_PATTERN: '#E0', PERCENT_PATTERN: '#,##0%', - CURRENCY_PATTERN: '#,##0.00\u00A0\u00A4', + CURRENCY_PATTERN: '0.00 ¤', DEF_CURRENCY_CODE: 'BGN' }; -/** - * Number formatting symbols for locale bg_BG. - * @enum {string} - */ -goog.i18n.NumberFormatSymbols_bg_BG = goog.i18n.NumberFormatSymbols_bg; - - /** * Number formatting symbols for locale bn. * @enum {string} @@ -337,33 +312,49 @@ goog.i18n.NumberFormatSymbols_bn = { DECIMAL_SEP: '.', GROUP_SEP: ',', PERCENT: '%', - ZERO_DIGIT: '\u09e6', + ZERO_DIGIT: '০', PLUS_SIGN: '+', MINUS_SIGN: '-', EXP_SYMBOL: 'E', - PERMILL: '\u2030', - INFINITY: '\u221E', - NAN: '\u09B8\u0982\u0996\u09CD\u09AF\u09BE\u00A0\u09A8\u09BE', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', DECIMAL_PATTERN: '#,##,##0.###', SCIENTIFIC_PATTERN: '#E0', - PERCENT_PATTERN: '#,##,##0%', - CURRENCY_PATTERN: '#,##,##0.00\u00A4;(#,##,##0.00\u00A4)', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##,##0.00¤', DEF_CURRENCY_CODE: 'BDT' }; /** - * Number formatting symbols for locale bn_BD. + * Number formatting symbols for locale br. * @enum {string} */ -goog.i18n.NumberFormatSymbols_bn_BD = goog.i18n.NumberFormatSymbols_bn; +goog.i18n.NumberFormatSymbols_br = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'EUR' +}; /** - * Number formatting symbols for locale ca. + * Number formatting symbols for locale bs. * @enum {string} */ -goog.i18n.NumberFormatSymbols_ca = { +goog.i18n.NumberFormatSymbols_bs = { DECIMAL_SEP: ',', GROUP_SEP: '.', PERCENT: '%', @@ -371,29 +362,61 @@ goog.i18n.NumberFormatSymbols_ca = { PLUS_SIGN: '+', MINUS_SIGN: '-', EXP_SYMBOL: 'E', - PERMILL: '\u2030', - INFINITY: '\u221E', + PERMILL: '‰', + INFINITY: '∞', NAN: 'NaN', DECIMAL_PATTERN: '#,##0.###', SCIENTIFIC_PATTERN: '#E0', - PERCENT_PATTERN: '#,##0%', - CURRENCY_PATTERN: '\u00A4#,##0.00;(\u00A4#,##0.00)', - DEF_CURRENCY_CODE: 'EUR' + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'BAM' }; /** - * Number formatting symbols for locale ca_AD. + * Number formatting symbols for locale ca. * @enum {string} */ -goog.i18n.NumberFormatSymbols_ca_AD = goog.i18n.NumberFormatSymbols_ca; +goog.i18n.NumberFormatSymbols_ca = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'EUR' +}; /** - * Number formatting symbols for locale ca_ES. + * Number formatting symbols for locale chr. * @enum {string} */ -goog.i18n.NumberFormatSymbols_ca_ES = goog.i18n.NumberFormatSymbols_ca; +goog.i18n.NumberFormatSymbols_chr = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'USD' +}; /** @@ -402,28 +425,44 @@ goog.i18n.NumberFormatSymbols_ca_ES = goog.i18n.NumberFormatSymbols_ca; */ goog.i18n.NumberFormatSymbols_cs = { DECIMAL_SEP: ',', - GROUP_SEP: '\u00A0', + GROUP_SEP: ' ', PERCENT: '%', ZERO_DIGIT: '0', PLUS_SIGN: '+', MINUS_SIGN: '-', EXP_SYMBOL: 'E', - PERMILL: '\u2030', - INFINITY: '\u221E', + PERMILL: '‰', + INFINITY: '∞', NAN: 'NaN', DECIMAL_PATTERN: '#,##0.###', SCIENTIFIC_PATTERN: '#E0', - PERCENT_PATTERN: '#,##0\u00A0%', - CURRENCY_PATTERN: '#,##0.00\u00A0\u00A4', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0.00 ¤', DEF_CURRENCY_CODE: 'CZK' }; /** - * Number formatting symbols for locale cs_CZ. + * Number formatting symbols for locale cy. * @enum {string} */ -goog.i18n.NumberFormatSymbols_cs_CZ = goog.i18n.NumberFormatSymbols_cs; +goog.i18n.NumberFormatSymbols_cy = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'GBP' +}; /** @@ -438,24 +477,17 @@ goog.i18n.NumberFormatSymbols_da = { PLUS_SIGN: '+', MINUS_SIGN: '-', EXP_SYMBOL: 'E', - PERMILL: '\u2030', - INFINITY: '\u221E', + PERMILL: '‰', + INFINITY: '∞', NAN: 'NaN', DECIMAL_PATTERN: '#,##0.###', SCIENTIFIC_PATTERN: '#E0', - PERCENT_PATTERN: '#,##0\u00A0%', - CURRENCY_PATTERN: '#,##0.00\u00A0\u00A4', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0.00 ¤', DEF_CURRENCY_CODE: 'DKK' }; -/** - * Number formatting symbols for locale da_DK. - * @enum {string} - */ -goog.i18n.NumberFormatSymbols_da_DK = goog.i18n.NumberFormatSymbols_da; - - /** * Number formatting symbols for locale de. * @enum {string} @@ -468,13 +500,13 @@ goog.i18n.NumberFormatSymbols_de = { PLUS_SIGN: '+', MINUS_SIGN: '-', EXP_SYMBOL: 'E', - PERMILL: '\u2030', - INFINITY: '\u221E', + PERMILL: '‰', + INFINITY: '∞', NAN: 'NaN', DECIMAL_PATTERN: '#,##0.###', SCIENTIFIC_PATTERN: '#E0', - PERCENT_PATTERN: '#,##0\u00A0%', - CURRENCY_PATTERN: '#,##0.00\u00A0\u00A4', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0.00 ¤', DEF_CURRENCY_CODE: 'EUR' }; @@ -485,67 +517,46 @@ goog.i18n.NumberFormatSymbols_de = { */ goog.i18n.NumberFormatSymbols_de_AT = { DECIMAL_SEP: ',', - GROUP_SEP: '.', + GROUP_SEP: ' ', PERCENT: '%', ZERO_DIGIT: '0', PLUS_SIGN: '+', MINUS_SIGN: '-', EXP_SYMBOL: 'E', - PERMILL: '\u2030', - INFINITY: '\u221E', + PERMILL: '‰', + INFINITY: '∞', NAN: 'NaN', DECIMAL_PATTERN: '#,##0.###', SCIENTIFIC_PATTERN: '#E0', - PERCENT_PATTERN: '#,##0\u00A0%', - CURRENCY_PATTERN: '\u00A4\u00A0#,##0.00', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '¤ #,##0.00', DEF_CURRENCY_CODE: 'EUR' }; -/** - * Number formatting symbols for locale de_BE. - * @enum {string} - */ -goog.i18n.NumberFormatSymbols_de_BE = goog.i18n.NumberFormatSymbols_de; - - /** * Number formatting symbols for locale de_CH. * @enum {string} */ goog.i18n.NumberFormatSymbols_de_CH = { DECIMAL_SEP: '.', - GROUP_SEP: '\'', + GROUP_SEP: '’', PERCENT: '%', ZERO_DIGIT: '0', PLUS_SIGN: '+', MINUS_SIGN: '-', EXP_SYMBOL: 'E', - PERMILL: '\u2030', - INFINITY: '\u221E', + PERMILL: '‰', + INFINITY: '∞', NAN: 'NaN', DECIMAL_PATTERN: '#,##0.###', SCIENTIFIC_PATTERN: '#E0', - PERCENT_PATTERN: '#,##0\u00A0%', - CURRENCY_PATTERN: '\u00A4\u00A0#,##0.00;\u00A4-#,##0.00', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤ #,##0.00;¤-#,##0.00', DEF_CURRENCY_CODE: 'CHF' }; -/** - * Number formatting symbols for locale de_DE. - * @enum {string} - */ -goog.i18n.NumberFormatSymbols_de_DE = goog.i18n.NumberFormatSymbols_de; - - -/** - * Number formatting symbols for locale de_LU. - * @enum {string} - */ -goog.i18n.NumberFormatSymbols_de_LU = goog.i18n.NumberFormatSymbols_de; - - /** * Number formatting symbols for locale el. * @enum {string} @@ -558,24 +569,17 @@ goog.i18n.NumberFormatSymbols_el = { PLUS_SIGN: '+', MINUS_SIGN: '-', EXP_SYMBOL: 'e', - PERMILL: '\u2030', - INFINITY: '\u221E', + PERMILL: '‰', + INFINITY: '∞', NAN: 'NaN', DECIMAL_PATTERN: '#,##0.###', - SCIENTIFIC_PATTERN: '[#E0]', + SCIENTIFIC_PATTERN: '#E0', PERCENT_PATTERN: '#,##0%', - CURRENCY_PATTERN: '#,##0.00\u00A0\u00A4', + CURRENCY_PATTERN: '#,##0.00 ¤', DEF_CURRENCY_CODE: 'EUR' }; -/** - * Number formatting symbols for locale el_GR. - * @enum {string} - */ -goog.i18n.NumberFormatSymbols_el_GR = goog.i18n.NumberFormatSymbols_el; - - /** * Number formatting symbols for locale en. * @enum {string} @@ -588,24 +592,17 @@ goog.i18n.NumberFormatSymbols_en = { PLUS_SIGN: '+', MINUS_SIGN: '-', EXP_SYMBOL: 'E', - PERMILL: '\u2030', - INFINITY: '\u221E', + PERMILL: '‰', + INFINITY: '∞', NAN: 'NaN', DECIMAL_PATTERN: '#,##0.###', SCIENTIFIC_PATTERN: '#E0', PERCENT_PATTERN: '#,##0%', - CURRENCY_PATTERN: '\u00A4#,##0.00;(\u00A4#,##0.00)', + CURRENCY_PATTERN: '¤#,##0.00', DEF_CURRENCY_CODE: 'USD' }; -/** - * Number formatting symbols for locale en_AS. - * @enum {string} - */ -goog.i18n.NumberFormatSymbols_en_AS = goog.i18n.NumberFormatSymbols_en; - - /** * Number formatting symbols for locale en_AU. * @enum {string} @@ -617,30 +614,39 @@ goog.i18n.NumberFormatSymbols_en_AU = { ZERO_DIGIT: '0', PLUS_SIGN: '+', MINUS_SIGN: '-', - EXP_SYMBOL: 'E', - PERMILL: '\u2030', - INFINITY: '\u221E', + EXP_SYMBOL: 'e', + PERMILL: '‰', + INFINITY: '∞', NAN: 'NaN', DECIMAL_PATTERN: '#,##0.###', SCIENTIFIC_PATTERN: '#E0', PERCENT_PATTERN: '#,##0%', - CURRENCY_PATTERN: '\u00A4#,##0.00;(\u00A4#,##0.00)', + CURRENCY_PATTERN: '¤#,##0.00', DEF_CURRENCY_CODE: 'AUD' }; /** - * Number formatting symbols for locale en_Dsrt_US. - * @enum {string} - */ -goog.i18n.NumberFormatSymbols_en_Dsrt_US = goog.i18n.NumberFormatSymbols_en; - - -/** - * Number formatting symbols for locale en_FM. + * Number formatting symbols for locale en_CA. * @enum {string} */ -goog.i18n.NumberFormatSymbols_en_FM = goog.i18n.NumberFormatSymbols_en; +goog.i18n.NumberFormatSymbols_en_CA = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'CAD' +}; /** @@ -655,24 +661,17 @@ goog.i18n.NumberFormatSymbols_en_GB = { PLUS_SIGN: '+', MINUS_SIGN: '-', EXP_SYMBOL: 'E', - PERMILL: '\u2030', - INFINITY: '\u221E', + PERMILL: '‰', + INFINITY: '∞', NAN: 'NaN', DECIMAL_PATTERN: '#,##0.###', SCIENTIFIC_PATTERN: '#E0', PERCENT_PATTERN: '#,##0%', - CURRENCY_PATTERN: '\u00A4#,##0.00', + CURRENCY_PATTERN: '¤#,##0.00', DEF_CURRENCY_CODE: 'GBP' }; -/** - * Number formatting symbols for locale en_GU. - * @enum {string} - */ -goog.i18n.NumberFormatSymbols_en_GU = goog.i18n.NumberFormatSymbols_en; - - /** * Number formatting symbols for locale en_IE. * @enum {string} @@ -685,13 +684,13 @@ goog.i18n.NumberFormatSymbols_en_IE = { PLUS_SIGN: '+', MINUS_SIGN: '-', EXP_SYMBOL: 'E', - PERMILL: '\u2030', - INFINITY: '\u221E', + PERMILL: '‰', + INFINITY: '∞', NAN: 'NaN', DECIMAL_PATTERN: '#,##0.###', SCIENTIFIC_PATTERN: '#E0', PERCENT_PATTERN: '#,##0%', - CURRENCY_PATTERN: '\u00A4#,##0.00;(\u00A4#,##0.00)', + CURRENCY_PATTERN: '¤#,##0.00', DEF_CURRENCY_CODE: 'EUR' }; @@ -708,45 +707,17 @@ goog.i18n.NumberFormatSymbols_en_IN = { PLUS_SIGN: '+', MINUS_SIGN: '-', EXP_SYMBOL: 'E', - PERMILL: '\u2030', - INFINITY: '\u221E', + PERMILL: '‰', + INFINITY: '∞', NAN: 'NaN', DECIMAL_PATTERN: '#,##,##0.###', SCIENTIFIC_PATTERN: '#E0', PERCENT_PATTERN: '#,##,##0%', - CURRENCY_PATTERN: '\u00A4\u00A0#,##,##0.00', + CURRENCY_PATTERN: '¤ #,##,##0.00', DEF_CURRENCY_CODE: 'INR' }; -/** - * Number formatting symbols for locale en_MH. - * @enum {string} - */ -goog.i18n.NumberFormatSymbols_en_MH = goog.i18n.NumberFormatSymbols_en; - - -/** - * Number formatting symbols for locale en_MP. - * @enum {string} - */ -goog.i18n.NumberFormatSymbols_en_MP = goog.i18n.NumberFormatSymbols_en; - - -/** - * Number formatting symbols for locale en_PR. - * @enum {string} - */ -goog.i18n.NumberFormatSymbols_en_PR = goog.i18n.NumberFormatSymbols_en; - - -/** - * Number formatting symbols for locale en_PW. - * @enum {string} - */ -goog.i18n.NumberFormatSymbols_en_PW = goog.i18n.NumberFormatSymbols_en; - - /** * Number formatting symbols for locale en_SG. * @enum {string} @@ -759,31 +730,17 @@ goog.i18n.NumberFormatSymbols_en_SG = { PLUS_SIGN: '+', MINUS_SIGN: '-', EXP_SYMBOL: 'E', - PERMILL: '\u2030', - INFINITY: '\u221E', + PERMILL: '‰', + INFINITY: '∞', NAN: 'NaN', DECIMAL_PATTERN: '#,##0.###', SCIENTIFIC_PATTERN: '#E0', PERCENT_PATTERN: '#,##0%', - CURRENCY_PATTERN: '\u00A4#,##0.00;(\u00A4#,##0.00)', + CURRENCY_PATTERN: '¤#,##0.00', DEF_CURRENCY_CODE: 'SGD' }; -/** - * Number formatting symbols for locale en_TC. - * @enum {string} - */ -goog.i18n.NumberFormatSymbols_en_TC = goog.i18n.NumberFormatSymbols_en; - - -/** - * Number formatting symbols for locale en_UM. - * @enum {string} - */ -goog.i18n.NumberFormatSymbols_en_UM = goog.i18n.NumberFormatSymbols_en; - - /** * Number formatting symbols for locale en_US. * @enum {string} @@ -791,39 +748,25 @@ goog.i18n.NumberFormatSymbols_en_UM = goog.i18n.NumberFormatSymbols_en; goog.i18n.NumberFormatSymbols_en_US = goog.i18n.NumberFormatSymbols_en; -/** - * Number formatting symbols for locale en_VG. - * @enum {string} - */ -goog.i18n.NumberFormatSymbols_en_VG = goog.i18n.NumberFormatSymbols_en; - - -/** - * Number formatting symbols for locale en_VI. - * @enum {string} - */ -goog.i18n.NumberFormatSymbols_en_VI = goog.i18n.NumberFormatSymbols_en; - - /** * Number formatting symbols for locale en_ZA. * @enum {string} */ goog.i18n.NumberFormatSymbols_en_ZA = { DECIMAL_SEP: ',', - GROUP_SEP: '\u00A0', + GROUP_SEP: ' ', PERCENT: '%', ZERO_DIGIT: '0', PLUS_SIGN: '+', MINUS_SIGN: '-', EXP_SYMBOL: 'E', - PERMILL: '\u2030', - INFINITY: '\u221E', + PERMILL: '‰', + INFINITY: '∞', NAN: 'NaN', DECIMAL_PATTERN: '#,##0.###', SCIENTIFIC_PATTERN: '#E0', PERCENT_PATTERN: '#,##0%', - CURRENCY_PATTERN: '\u00A4#,##0.00;(\u00A4#,##0.00)', + CURRENCY_PATTERN: '¤#,##0.00', DEF_CURRENCY_CODE: 'ZAR' }; @@ -840,13 +783,13 @@ goog.i18n.NumberFormatSymbols_es = { PLUS_SIGN: '+', MINUS_SIGN: '-', EXP_SYMBOL: 'E', - PERMILL: '\u2030', - INFINITY: '\u221E', + PERMILL: '‰', + INFINITY: '∞', NAN: 'NaN', DECIMAL_PATTERN: '#,##0.###', SCIENTIFIC_PATTERN: '#E0', - PERCENT_PATTERN: '#,##0%', - CURRENCY_PATTERN: '#,##0.00\u00A0\u00A4', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0.00 ¤', DEF_CURRENCY_CODE: 'EUR' }; @@ -863,36 +806,68 @@ goog.i18n.NumberFormatSymbols_es_419 = { PLUS_SIGN: '+', MINUS_SIGN: '-', EXP_SYMBOL: 'E', - PERMILL: '\u2030', - INFINITY: '\u221E', + PERMILL: '‰', + INFINITY: '∞', NAN: 'NaN', DECIMAL_PATTERN: '#,##0.###', SCIENTIFIC_PATTERN: '#E0', - PERCENT_PATTERN: '#,##0%', - CURRENCY_PATTERN: '\u00A4#,##0.00', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '¤#,##0.00', DEF_CURRENCY_CODE: 'MXN' }; /** - * Number formatting symbols for locale es_EA. + * Number formatting symbols for locale es_ES. * @enum {string} */ -goog.i18n.NumberFormatSymbols_es_EA = goog.i18n.NumberFormatSymbols_es; +goog.i18n.NumberFormatSymbols_es_ES = goog.i18n.NumberFormatSymbols_es; /** - * Number formatting symbols for locale es_ES. + * Number formatting symbols for locale es_MX. * @enum {string} */ -goog.i18n.NumberFormatSymbols_es_ES = goog.i18n.NumberFormatSymbols_es; +goog.i18n.NumberFormatSymbols_es_MX = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'MXN' +}; /** - * Number formatting symbols for locale es_IC. + * Number formatting symbols for locale es_US. * @enum {string} */ -goog.i18n.NumberFormatSymbols_es_IC = goog.i18n.NumberFormatSymbols_es; +goog.i18n.NumberFormatSymbols_es_US = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'USD' +}; /** @@ -901,30 +876,23 @@ goog.i18n.NumberFormatSymbols_es_IC = goog.i18n.NumberFormatSymbols_es; */ goog.i18n.NumberFormatSymbols_et = { DECIMAL_SEP: ',', - GROUP_SEP: '\u00A0', + GROUP_SEP: ' ', PERCENT: '%', ZERO_DIGIT: '0', PLUS_SIGN: '+', - MINUS_SIGN: '-', - EXP_SYMBOL: 'E', - PERMILL: '\u2030', - INFINITY: '\u221E', + MINUS_SIGN: '−', + EXP_SYMBOL: '×10^', + PERMILL: '‰', + INFINITY: '∞', NAN: 'NaN', DECIMAL_PATTERN: '#,##0.###', SCIENTIFIC_PATTERN: '#E0', PERCENT_PATTERN: '#,##0%', - CURRENCY_PATTERN: '#0.00\u00A4;(#0.00\u00A4)', + CURRENCY_PATTERN: '#,##0.00 ¤', DEF_CURRENCY_CODE: 'EUR' }; -/** - * Number formatting symbols for locale et_EE. - * @enum {string} - */ -goog.i18n.NumberFormatSymbols_et_EE = goog.i18n.NumberFormatSymbols_et; - - /** * Number formatting symbols for locale eu. * @enum {string} @@ -937,84 +905,63 @@ goog.i18n.NumberFormatSymbols_eu = { PLUS_SIGN: '+', MINUS_SIGN: '-', EXP_SYMBOL: 'E', - PERMILL: '\u2030', - INFINITY: '\u221E', + PERMILL: '‰', + INFINITY: '∞', NAN: 'NaN', DECIMAL_PATTERN: '#,##0.###', SCIENTIFIC_PATTERN: '#E0', - PERCENT_PATTERN: '%\u00A0#,##0', - CURRENCY_PATTERN: '#,##0.00\u00A0\u00A4;(#,##0.00\u00A0\u00A4)', + PERCENT_PATTERN: '% #,##0', + CURRENCY_PATTERN: '#,##0.00 ¤', DEF_CURRENCY_CODE: 'EUR' }; -/** - * Number formatting symbols for locale eu_ES. - * @enum {string} - */ -goog.i18n.NumberFormatSymbols_eu_ES = goog.i18n.NumberFormatSymbols_eu; - - /** * Number formatting symbols for locale fa. * @enum {string} */ goog.i18n.NumberFormatSymbols_fa = { - DECIMAL_SEP: '\u066B', - GROUP_SEP: '\u066C', - PERCENT: '\u066A', - ZERO_DIGIT: '\u06F0', - PLUS_SIGN: '+', - MINUS_SIGN: '\u2212', - EXP_SYMBOL: '\u00D7\u06F1\u06F0^', - PERMILL: '\u0609', - INFINITY: '\u221E', - NAN: '\u0646\u0627\u0639\u062F\u062F', - DECIMAL_PATTERN: '#,##0.###', - SCIENTIFIC_PATTERN: '#E0', - PERCENT_PATTERN: '#,##0%', - CURRENCY_PATTERN: '\u200E\u00A4#,##0.00;\u200E(\u00A4#,##0.00)', + DECIMAL_SEP: '٫', + GROUP_SEP: '٬', + PERCENT: '‎٪', + ZERO_DIGIT: '۰', + PLUS_SIGN: '‎+', + MINUS_SIGN: '‎−', + EXP_SYMBOL: '×۱۰^', + PERMILL: '؉', + INFINITY: '∞', + NAN: 'ناعدد', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '% #,##0;% -#,##0', + CURRENCY_PATTERN: '#,##0.00 ؜¤;؜-#,##0.00 ؜¤', DEF_CURRENCY_CODE: 'IRR' }; /** - * Number formatting symbols for locale fa_IR. - * @enum {string} - */ -goog.i18n.NumberFormatSymbols_fa_IR = goog.i18n.NumberFormatSymbols_fa; - - -/** - * Number formatting symbols for locale fi. + * Number formatting symbols for locale fi. * @enum {string} */ goog.i18n.NumberFormatSymbols_fi = { DECIMAL_SEP: ',', - GROUP_SEP: '\u00A0', + GROUP_SEP: ' ', PERCENT: '%', ZERO_DIGIT: '0', PLUS_SIGN: '+', - MINUS_SIGN: '-', + MINUS_SIGN: '−', EXP_SYMBOL: 'E', - PERMILL: '\u2030', - INFINITY: '\u221E', - NAN: 'ep\u00E4luku', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'epäluku', DECIMAL_PATTERN: '#,##0.###', SCIENTIFIC_PATTERN: '#E0', - PERCENT_PATTERN: '#,##0\u00A0%', - CURRENCY_PATTERN: '#,##0.00\u00A0\u00A4', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0.00 ¤', DEF_CURRENCY_CODE: 'EUR' }; -/** - * Number formatting symbols for locale fi_FI. - * @enum {string} - */ -goog.i18n.NumberFormatSymbols_fi_FI = goog.i18n.NumberFormatSymbols_fi; - - /** * Number formatting symbols for locale fil. * @enum {string} @@ -1027,131 +974,84 @@ goog.i18n.NumberFormatSymbols_fil = { PLUS_SIGN: '+', MINUS_SIGN: '-', EXP_SYMBOL: 'E', - PERMILL: '\u2030', - INFINITY: '\u221E', + PERMILL: '‰', + INFINITY: '∞', NAN: 'NaN', DECIMAL_PATTERN: '#,##0.###', SCIENTIFIC_PATTERN: '#E0', PERCENT_PATTERN: '#,##0%', - CURRENCY_PATTERN: '\u00A4#,##0.00;(\u00A4#,##0.00)', + CURRENCY_PATTERN: '¤#,##0.00', DEF_CURRENCY_CODE: 'PHP' }; -/** - * Number formatting symbols for locale fil_PH. - * @enum {string} - */ -goog.i18n.NumberFormatSymbols_fil_PH = goog.i18n.NumberFormatSymbols_fil; - - /** * Number formatting symbols for locale fr. * @enum {string} */ goog.i18n.NumberFormatSymbols_fr = { DECIMAL_SEP: ',', - GROUP_SEP: '\u00A0', + GROUP_SEP: ' ', PERCENT: '%', ZERO_DIGIT: '0', PLUS_SIGN: '+', MINUS_SIGN: '-', EXP_SYMBOL: 'E', - PERMILL: '\u2030', - INFINITY: '\u221E', + PERMILL: '‰', + INFINITY: '∞', NAN: 'NaN', DECIMAL_PATTERN: '#,##0.###', SCIENTIFIC_PATTERN: '#E0', - PERCENT_PATTERN: '#,##0\u00A0%', - CURRENCY_PATTERN: '#,##0.00\u00A0\u00A4;(#,##0.00\u00A0\u00A4)', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0.00 ¤', DEF_CURRENCY_CODE: 'EUR' }; -/** - * Number formatting symbols for locale fr_BL. - * @enum {string} - */ -goog.i18n.NumberFormatSymbols_fr_BL = goog.i18n.NumberFormatSymbols_fr; - - /** * Number formatting symbols for locale fr_CA. * @enum {string} */ goog.i18n.NumberFormatSymbols_fr_CA = { DECIMAL_SEP: ',', - GROUP_SEP: '\u00A0', + GROUP_SEP: ' ', PERCENT: '%', ZERO_DIGIT: '0', PLUS_SIGN: '+', MINUS_SIGN: '-', EXP_SYMBOL: 'E', - PERMILL: '\u2030', - INFINITY: '\u221E', + PERMILL: '‰', + INFINITY: '∞', NAN: 'NaN', DECIMAL_PATTERN: '#,##0.###', SCIENTIFIC_PATTERN: '#E0', - PERCENT_PATTERN: '#,##0\u00A0%', - CURRENCY_PATTERN: '#,##0.00\u00A0\u00A4;(#,##0.00\u00A0\u00A4)', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0.00 ¤', DEF_CURRENCY_CODE: 'CAD' }; /** - * Number formatting symbols for locale fr_FR. - * @enum {string} - */ -goog.i18n.NumberFormatSymbols_fr_FR = goog.i18n.NumberFormatSymbols_fr; - - -/** - * Number formatting symbols for locale fr_GF. - * @enum {string} - */ -goog.i18n.NumberFormatSymbols_fr_GF = goog.i18n.NumberFormatSymbols_fr; - - -/** - * Number formatting symbols for locale fr_GP. - * @enum {string} - */ -goog.i18n.NumberFormatSymbols_fr_GP = goog.i18n.NumberFormatSymbols_fr; - - -/** - * Number formatting symbols for locale fr_MC. - * @enum {string} - */ -goog.i18n.NumberFormatSymbols_fr_MC = goog.i18n.NumberFormatSymbols_fr; - - -/** - * Number formatting symbols for locale fr_MF. - * @enum {string} - */ -goog.i18n.NumberFormatSymbols_fr_MF = goog.i18n.NumberFormatSymbols_fr; - - -/** - * Number formatting symbols for locale fr_MQ. - * @enum {string} - */ -goog.i18n.NumberFormatSymbols_fr_MQ = goog.i18n.NumberFormatSymbols_fr; - - -/** - * Number formatting symbols for locale fr_RE. + * Number formatting symbols for locale ga. * @enum {string} */ -goog.i18n.NumberFormatSymbols_fr_RE = goog.i18n.NumberFormatSymbols_fr; - - -/** - * Number formatting symbols for locale fr_YT. - * @enum {string} - */ -goog.i18n.NumberFormatSymbols_fr_YT = goog.i18n.NumberFormatSymbols_fr; +goog.i18n.NumberFormatSymbols_ga = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'EUR' +}; /** @@ -1166,54 +1066,40 @@ goog.i18n.NumberFormatSymbols_gl = { PLUS_SIGN: '+', MINUS_SIGN: '-', EXP_SYMBOL: 'E', - PERMILL: '\u2030', - INFINITY: '\u221E', + PERMILL: '‰', + INFINITY: '∞', NAN: 'NaN', DECIMAL_PATTERN: '#,##0.###', SCIENTIFIC_PATTERN: '#E0', - PERCENT_PATTERN: '#,##0%', - CURRENCY_PATTERN: '\u00A4#,##0.00;(\u00A4#,##0.00)', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0.00 ¤', DEF_CURRENCY_CODE: 'EUR' }; -/** - * Number formatting symbols for locale gl_ES. - * @enum {string} - */ -goog.i18n.NumberFormatSymbols_gl_ES = goog.i18n.NumberFormatSymbols_gl; - - /** * Number formatting symbols for locale gsw. * @enum {string} */ goog.i18n.NumberFormatSymbols_gsw = { DECIMAL_SEP: '.', - GROUP_SEP: '\u2019', + GROUP_SEP: '’', PERCENT: '%', ZERO_DIGIT: '0', PLUS_SIGN: '+', - MINUS_SIGN: '\u2212', + MINUS_SIGN: '−', EXP_SYMBOL: 'E', - PERMILL: '\u2030', - INFINITY: '\u221E', + PERMILL: '‰', + INFINITY: '∞', NAN: 'NaN', DECIMAL_PATTERN: '#,##0.###', SCIENTIFIC_PATTERN: '#E0', - PERCENT_PATTERN: '#,##0\u00A0%', - CURRENCY_PATTERN: '#,##0.00\u00A0\u00A4', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0.00 ¤', DEF_CURRENCY_CODE: 'CHF' }; -/** - * Number formatting symbols for locale gsw_CH. - * @enum {string} - */ -goog.i18n.NumberFormatSymbols_gsw_CH = goog.i18n.NumberFormatSymbols_gsw; - - /** * Number formatting symbols for locale gu. * @enum {string} @@ -1226,22 +1112,38 @@ goog.i18n.NumberFormatSymbols_gu = { PLUS_SIGN: '+', MINUS_SIGN: '-', EXP_SYMBOL: 'E', - PERMILL: '\u2030', - INFINITY: '\u221E', + PERMILL: '‰', + INFINITY: '∞', NAN: 'NaN', - DECIMAL_PATTERN: '#,##0.###', - SCIENTIFIC_PATTERN: '#E0', - PERCENT_PATTERN: '#,##0%', - CURRENCY_PATTERN: '\u00A4#,##0.00;(\u00A4#,##0.00)', + DECIMAL_PATTERN: '#,##,##0.###', + SCIENTIFIC_PATTERN: '[#E0]', + PERCENT_PATTERN: '#,##,##0%', + CURRENCY_PATTERN: '¤#,##,##0.00', DEF_CURRENCY_CODE: 'INR' }; /** - * Number formatting symbols for locale gu_IN. + * Number formatting symbols for locale haw. * @enum {string} */ -goog.i18n.NumberFormatSymbols_gu_IN = goog.i18n.NumberFormatSymbols_gu; +goog.i18n.NumberFormatSymbols_haw = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'USD' +}; /** @@ -1253,27 +1155,20 @@ goog.i18n.NumberFormatSymbols_he = { GROUP_SEP: ',', PERCENT: '%', ZERO_DIGIT: '0', - PLUS_SIGN: '+', - MINUS_SIGN: '-', + PLUS_SIGN: '‎+', + MINUS_SIGN: '‎-', EXP_SYMBOL: 'E', - PERMILL: '\u2030', - INFINITY: '\u221E', + PERMILL: '‰', + INFINITY: '∞', NAN: 'NaN', DECIMAL_PATTERN: '#,##0.###', SCIENTIFIC_PATTERN: '#E0', PERCENT_PATTERN: '#,##0%', - CURRENCY_PATTERN: '#,##0.00\u00A0\u00A4', + CURRENCY_PATTERN: '‏#,##0.00 ¤;‏-#,##0.00 ¤', DEF_CURRENCY_CODE: 'ILS' }; -/** - * Number formatting symbols for locale he_IL. - * @enum {string} - */ -goog.i18n.NumberFormatSymbols_he_IL = goog.i18n.NumberFormatSymbols_he; - - /** * Number formatting symbols for locale hi. * @enum {string} @@ -1286,24 +1181,17 @@ goog.i18n.NumberFormatSymbols_hi = { PLUS_SIGN: '+', MINUS_SIGN: '-', EXP_SYMBOL: 'E', - PERMILL: '\u2030', - INFINITY: '\u221E', + PERMILL: '‰', + INFINITY: '∞', NAN: 'NaN', DECIMAL_PATTERN: '#,##,##0.###', - SCIENTIFIC_PATTERN: '#E0', + SCIENTIFIC_PATTERN: '[#E0]', PERCENT_PATTERN: '#,##,##0%', - CURRENCY_PATTERN: '\u00A4\u00A0#,##,##0.00', + CURRENCY_PATTERN: '¤#,##,##0.00', DEF_CURRENCY_CODE: 'INR' }; -/** - * Number formatting symbols for locale hi_IN. - * @enum {string} - */ -goog.i18n.NumberFormatSymbols_hi_IN = goog.i18n.NumberFormatSymbols_hi; - - /** * Number formatting symbols for locale hr. * @enum {string} @@ -1316,52 +1204,61 @@ goog.i18n.NumberFormatSymbols_hr = { PLUS_SIGN: '+', MINUS_SIGN: '-', EXP_SYMBOL: 'E', - PERMILL: '\u2030', - INFINITY: '\u221E', + PERMILL: '‰', + INFINITY: '∞', NAN: 'NaN', DECIMAL_PATTERN: '#,##0.###', SCIENTIFIC_PATTERN: '#E0', PERCENT_PATTERN: '#,##0%', - CURRENCY_PATTERN: '#,##0.00\u00A0\u00A4', + CURRENCY_PATTERN: '#,##0.00 ¤', DEF_CURRENCY_CODE: 'HRK' }; -/** - * Number formatting symbols for locale hr_HR. - * @enum {string} - */ -goog.i18n.NumberFormatSymbols_hr_HR = goog.i18n.NumberFormatSymbols_hr; - - /** * Number formatting symbols for locale hu. * @enum {string} */ goog.i18n.NumberFormatSymbols_hu = { DECIMAL_SEP: ',', - GROUP_SEP: '\u00A0', + GROUP_SEP: ' ', PERCENT: '%', ZERO_DIGIT: '0', PLUS_SIGN: '+', MINUS_SIGN: '-', EXP_SYMBOL: 'E', - PERMILL: '\u2030', - INFINITY: '\u221E', + PERMILL: '‰', + INFINITY: '∞', NAN: 'NaN', DECIMAL_PATTERN: '#,##0.###', SCIENTIFIC_PATTERN: '#E0', PERCENT_PATTERN: '#,##0%', - CURRENCY_PATTERN: '#,##0.00\u00A0\u00A4', + CURRENCY_PATTERN: '#,##0.00 ¤', DEF_CURRENCY_CODE: 'HUF' }; /** - * Number formatting symbols for locale hu_HU. + * Number formatting symbols for locale hy. * @enum {string} */ -goog.i18n.NumberFormatSymbols_hu_HU = goog.i18n.NumberFormatSymbols_hu; +goog.i18n.NumberFormatSymbols_hy = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'ՈչԹ', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤ #,##0.00', + DEF_CURRENCY_CODE: 'AMD' +}; /** @@ -1376,24 +1273,17 @@ goog.i18n.NumberFormatSymbols_id = { PLUS_SIGN: '+', MINUS_SIGN: '-', EXP_SYMBOL: 'E', - PERMILL: '\u2030', - INFINITY: '\u221E', + PERMILL: '‰', + INFINITY: '∞', NAN: 'NaN', DECIMAL_PATTERN: '#,##0.###', SCIENTIFIC_PATTERN: '#E0', PERCENT_PATTERN: '#,##0%', - CURRENCY_PATTERN: '\u00A4#,##0.00', + CURRENCY_PATTERN: '¤#,##0.00', DEF_CURRENCY_CODE: 'IDR' }; -/** - * Number formatting symbols for locale id_ID. - * @enum {string} - */ -goog.i18n.NumberFormatSymbols_id_ID = goog.i18n.NumberFormatSymbols_id; - - /** * Number formatting symbols for locale in. * @enum {string} @@ -1406,13 +1296,13 @@ goog.i18n.NumberFormatSymbols_in = { PLUS_SIGN: '+', MINUS_SIGN: '-', EXP_SYMBOL: 'E', - PERMILL: '\u2030', - INFINITY: '\u221E', + PERMILL: '‰', + INFINITY: '∞', NAN: 'NaN', DECIMAL_PATTERN: '#,##0.###', SCIENTIFIC_PATTERN: '#E0', PERCENT_PATTERN: '#,##0%', - CURRENCY_PATTERN: '\u00A4#,##0.00', + CURRENCY_PATTERN: '¤#,##0.00', DEF_CURRENCY_CODE: 'IDR' }; @@ -1429,24 +1319,17 @@ goog.i18n.NumberFormatSymbols_is = { PLUS_SIGN: '+', MINUS_SIGN: '-', EXP_SYMBOL: 'E', - PERMILL: '\u2030', - INFINITY: '\u221E', + PERMILL: '‰', + INFINITY: '∞', NAN: 'NaN', DECIMAL_PATTERN: '#,##0.###', SCIENTIFIC_PATTERN: '#E0', PERCENT_PATTERN: '#,##0%', - CURRENCY_PATTERN: '\u00A4#,##0.00;(\u00A4#,##0.00)', + CURRENCY_PATTERN: '#,##0.00 ¤', DEF_CURRENCY_CODE: 'ISK' }; -/** - * Number formatting symbols for locale is_IS. - * @enum {string} - */ -goog.i18n.NumberFormatSymbols_is_IS = goog.i18n.NumberFormatSymbols_is; - - /** * Number formatting symbols for locale it. * @enum {string} @@ -1459,31 +1342,17 @@ goog.i18n.NumberFormatSymbols_it = { PLUS_SIGN: '+', MINUS_SIGN: '-', EXP_SYMBOL: 'E', - PERMILL: '\u2030', - INFINITY: '\u221E', + PERMILL: '‰', + INFINITY: '∞', NAN: 'NaN', DECIMAL_PATTERN: '#,##0.###', SCIENTIFIC_PATTERN: '#E0', PERCENT_PATTERN: '#,##0%', - CURRENCY_PATTERN: '\u00A4\u00A0#,##0.00', + CURRENCY_PATTERN: '#,##0.00 ¤', DEF_CURRENCY_CODE: 'EUR' }; -/** - * Number formatting symbols for locale it_IT. - * @enum {string} - */ -goog.i18n.NumberFormatSymbols_it_IT = goog.i18n.NumberFormatSymbols_it; - - -/** - * Number formatting symbols for locale it_SM. - * @enum {string} - */ -goog.i18n.NumberFormatSymbols_it_SM = goog.i18n.NumberFormatSymbols_it; - - /** * Number formatting symbols for locale iw. * @enum {string} @@ -1493,16 +1362,16 @@ goog.i18n.NumberFormatSymbols_iw = { GROUP_SEP: ',', PERCENT: '%', ZERO_DIGIT: '0', - PLUS_SIGN: '+', - MINUS_SIGN: '-', + PLUS_SIGN: '‎+', + MINUS_SIGN: '‎-', EXP_SYMBOL: 'E', - PERMILL: '\u2030', - INFINITY: '\u221E', + PERMILL: '‰', + INFINITY: '∞', NAN: 'NaN', DECIMAL_PATTERN: '#,##0.###', SCIENTIFIC_PATTERN: '#E0', PERCENT_PATTERN: '#,##0%', - CURRENCY_PATTERN: '#,##0.00\u00A0\u00A4', + CURRENCY_PATTERN: '‏#,##0.00 ¤;‏-#,##0.00 ¤', DEF_CURRENCY_CODE: 'ILS' }; @@ -1519,52 +1388,107 @@ goog.i18n.NumberFormatSymbols_ja = { PLUS_SIGN: '+', MINUS_SIGN: '-', EXP_SYMBOL: 'E', - PERMILL: '\u2030', - INFINITY: '\u221E', + PERMILL: '‰', + INFINITY: '∞', NAN: 'NaN', DECIMAL_PATTERN: '#,##0.###', SCIENTIFIC_PATTERN: '#E0', PERCENT_PATTERN: '#,##0%', - CURRENCY_PATTERN: '\u00A4#,##0.00', + CURRENCY_PATTERN: '¤#,##0.00', DEF_CURRENCY_CODE: 'JPY' }; /** - * Number formatting symbols for locale ja_JP. + * Number formatting symbols for locale ka. * @enum {string} */ -goog.i18n.NumberFormatSymbols_ja_JP = goog.i18n.NumberFormatSymbols_ja; +goog.i18n.NumberFormatSymbols_ka = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'არ არის რიცხვი', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'GEL' +}; /** - * Number formatting symbols for locale kn. + * Number formatting symbols for locale kk. * @enum {string} */ -goog.i18n.NumberFormatSymbols_kn = { - DECIMAL_SEP: '.', - GROUP_SEP: ',', +goog.i18n.NumberFormatSymbols_kk = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'сан емес', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'KZT' +}; + + +/** + * Number formatting symbols for locale km. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_km = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', PERCENT: '%', ZERO_DIGIT: '0', PLUS_SIGN: '+', MINUS_SIGN: '-', - EXP_SYMBOL: '\u0C88', - PERMILL: '\u2030', - INFINITY: '\u221E', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', NAN: 'NaN', DECIMAL_PATTERN: '#,##0.###', SCIENTIFIC_PATTERN: '#E0', PERCENT_PATTERN: '#,##0%', - CURRENCY_PATTERN: '\u00A4#,##0.00;(\u00A4#,##0.00)', - DEF_CURRENCY_CODE: 'INR' + CURRENCY_PATTERN: '#,##0.00¤', + DEF_CURRENCY_CODE: 'KHR' }; /** - * Number formatting symbols for locale kn_IN. + * Number formatting symbols for locale kn. * @enum {string} */ -goog.i18n.NumberFormatSymbols_kn_IN = goog.i18n.NumberFormatSymbols_kn; +goog.i18n.NumberFormatSymbols_kn = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'INR' +}; /** @@ -1579,22 +1503,38 @@ goog.i18n.NumberFormatSymbols_ko = { PLUS_SIGN: '+', MINUS_SIGN: '-', EXP_SYMBOL: 'E', - PERMILL: '\u2030', - INFINITY: '\u221E', + PERMILL: '‰', + INFINITY: '∞', NAN: 'NaN', DECIMAL_PATTERN: '#,##0.###', SCIENTIFIC_PATTERN: '#E0', PERCENT_PATTERN: '#,##0%', - CURRENCY_PATTERN: '\u00A4#,##0.00;(\u00A4#,##0.00)', + CURRENCY_PATTERN: '¤#,##0.00', DEF_CURRENCY_CODE: 'KRW' }; /** - * Number formatting symbols for locale ko_KR. + * Number formatting symbols for locale ky. * @enum {string} */ -goog.i18n.NumberFormatSymbols_ko_KR = goog.i18n.NumberFormatSymbols_ko; +goog.i18n.NumberFormatSymbols_ky = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'сан эмес', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'KGS' +}; /** @@ -1609,22 +1549,38 @@ goog.i18n.NumberFormatSymbols_ln = { PLUS_SIGN: '+', MINUS_SIGN: '-', EXP_SYMBOL: 'E', - PERMILL: '\u2030', - INFINITY: '\u221E', + PERMILL: '‰', + INFINITY: '∞', NAN: 'NaN', DECIMAL_PATTERN: '#,##0.###', SCIENTIFIC_PATTERN: '#E0', PERCENT_PATTERN: '#,##0%', - CURRENCY_PATTERN: '#,##0.00\u00A0\u00A4', + CURRENCY_PATTERN: '#,##0.00 ¤', DEF_CURRENCY_CODE: 'CDF' }; /** - * Number formatting symbols for locale ln_CD. + * Number formatting symbols for locale lo. * @enum {string} */ -goog.i18n.NumberFormatSymbols_ln_CD = goog.i18n.NumberFormatSymbols_ln; +goog.i18n.NumberFormatSymbols_lo = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'ບໍ່​ແມ່ນ​ໂຕ​ເລກ', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00;¤-#,##0.00', + DEF_CURRENCY_CODE: 'LAK' +}; /** @@ -1633,60 +1589,67 @@ goog.i18n.NumberFormatSymbols_ln_CD = goog.i18n.NumberFormatSymbols_ln; */ goog.i18n.NumberFormatSymbols_lt = { DECIMAL_SEP: ',', - GROUP_SEP: '\u00A0', + GROUP_SEP: ' ', PERCENT: '%', ZERO_DIGIT: '0', PLUS_SIGN: '+', - MINUS_SIGN: '\u2013', - EXP_SYMBOL: 'E', - PERMILL: '\u2030', - INFINITY: '\u221E', + MINUS_SIGN: '−', + EXP_SYMBOL: '×10^', + PERMILL: '‰', + INFINITY: '∞', NAN: 'NaN', DECIMAL_PATTERN: '#,##0.###', SCIENTIFIC_PATTERN: '#E0', - // Re b/8016169, there need to be a space before percent sign in lt. - // Fix this temporarily before this change get into CLDR. - PERCENT_PATTERN: '#,##0 %', - CURRENCY_PATTERN: '#,##0.00\u00A0\u00A4', - DEF_CURRENCY_CODE: 'LTL' + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'EUR' }; -/** - * Number formatting symbols for locale lt_LT. - * @enum {string} - */ -goog.i18n.NumberFormatSymbols_lt_LT = goog.i18n.NumberFormatSymbols_lt; - - /** * Number formatting symbols for locale lv. * @enum {string} */ goog.i18n.NumberFormatSymbols_lv = { DECIMAL_SEP: ',', - GROUP_SEP: '\u00A0', + GROUP_SEP: ' ', PERCENT: '%', ZERO_DIGIT: '0', PLUS_SIGN: '+', MINUS_SIGN: '-', EXP_SYMBOL: 'E', - PERMILL: '\u2030', - INFINITY: '\u221E', - NAN: 'nav\u00A0skaitlis', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NS', DECIMAL_PATTERN: '#,##0.###', SCIENTIFIC_PATTERN: '#E0', PERCENT_PATTERN: '#,##0%', - CURRENCY_PATTERN: '\u00A4#,##0.00;(\u00A4#,##0.00)', - DEF_CURRENCY_CODE: 'LVL' + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'EUR' }; /** - * Number formatting symbols for locale lv_LV. + * Number formatting symbols for locale mk. * @enum {string} */ -goog.i18n.NumberFormatSymbols_lv_LV = goog.i18n.NumberFormatSymbols_lv; +goog.i18n.NumberFormatSymbols_mk = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'MKD' +}; /** @@ -1701,52 +1664,84 @@ goog.i18n.NumberFormatSymbols_ml = { PLUS_SIGN: '+', MINUS_SIGN: '-', EXP_SYMBOL: 'E', - PERMILL: '\u2030', - INFINITY: '\u221E', + PERMILL: '‰', + INFINITY: '∞', NAN: 'NaN', DECIMAL_PATTERN: '#,##,##0.###', SCIENTIFIC_PATTERN: '#E0', - PERCENT_PATTERN: '#,##,##0%', - CURRENCY_PATTERN: '#,##,##0.00\u00A4', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', DEF_CURRENCY_CODE: 'INR' }; /** - * Number formatting symbols for locale ml_IN. + * Number formatting symbols for locale mn. * @enum {string} */ -goog.i18n.NumberFormatSymbols_ml_IN = goog.i18n.NumberFormatSymbols_ml; +goog.i18n.NumberFormatSymbols_mn = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤ #,##0.00', + DEF_CURRENCY_CODE: 'MNT' +}; /** - * Number formatting symbols for locale mr. + * Number formatting symbols for locale mo. * @enum {string} */ -goog.i18n.NumberFormatSymbols_mr = { - DECIMAL_SEP: '.', - GROUP_SEP: ',', +goog.i18n.NumberFormatSymbols_mo = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', PERCENT: '%', ZERO_DIGIT: '0', PLUS_SIGN: '+', MINUS_SIGN: '-', EXP_SYMBOL: 'E', - PERMILL: '\u2030', - INFINITY: '\u221E', + PERMILL: '‰', + INFINITY: '∞', NAN: 'NaN', DECIMAL_PATTERN: '#,##0.###', SCIENTIFIC_PATTERN: '#E0', - PERCENT_PATTERN: '#,##0%', - CURRENCY_PATTERN: '\u00A4#,##0.00;(\u00A4#,##0.00)', - DEF_CURRENCY_CODE: 'INR' + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'MDL' }; /** - * Number formatting symbols for locale mr_IN. + * Number formatting symbols for locale mr. * @enum {string} */ -goog.i18n.NumberFormatSymbols_mr_IN = goog.i18n.NumberFormatSymbols_mr; +goog.i18n.NumberFormatSymbols_mr = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '०', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##,##0.###', + SCIENTIFIC_PATTERN: '[#E0]', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'INR' +}; /** @@ -1761,24 +1756,17 @@ goog.i18n.NumberFormatSymbols_ms = { PLUS_SIGN: '+', MINUS_SIGN: '-', EXP_SYMBOL: 'E', - PERMILL: '\u2030', - INFINITY: '\u221E', + PERMILL: '‰', + INFINITY: '∞', NAN: 'NaN', DECIMAL_PATTERN: '#,##0.###', SCIENTIFIC_PATTERN: '#E0', PERCENT_PATTERN: '#,##0%', - CURRENCY_PATTERN: '\u00A4#,##0.00;(\u00A4#,##0.00)', + CURRENCY_PATTERN: '¤#,##0.00', DEF_CURRENCY_CODE: 'MYR' }; -/** - * Number formatting symbols for locale ms_MY. - * @enum {string} - */ -goog.i18n.NumberFormatSymbols_ms_MY = goog.i18n.NumberFormatSymbols_ms; - - /** * Number formatting symbols for locale mt. * @enum {string} @@ -1791,66 +1779,107 @@ goog.i18n.NumberFormatSymbols_mt = { PLUS_SIGN: '+', MINUS_SIGN: '-', EXP_SYMBOL: 'E', - PERMILL: '\u2030', - INFINITY: '\u221E', + PERMILL: '‰', + INFINITY: '∞', NAN: 'NaN', DECIMAL_PATTERN: '#,##0.###', SCIENTIFIC_PATTERN: '#E0', PERCENT_PATTERN: '#,##0%', - CURRENCY_PATTERN: '\u00A4#,##0.00', + CURRENCY_PATTERN: '¤#,##0.00', DEF_CURRENCY_CODE: 'EUR' }; /** - * Number formatting symbols for locale mt_MT. + * Number formatting symbols for locale my. * @enum {string} */ -goog.i18n.NumberFormatSymbols_mt_MT = goog.i18n.NumberFormatSymbols_mt; +goog.i18n.NumberFormatSymbols_my = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '၀', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'ဂဏန်းမဟုတ်သော', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'MMK' +}; /** - * Number formatting symbols for locale nl. + * Number formatting symbols for locale nb. * @enum {string} */ -goog.i18n.NumberFormatSymbols_nl = { +goog.i18n.NumberFormatSymbols_nb = { DECIMAL_SEP: ',', - GROUP_SEP: '.', + GROUP_SEP: ' ', PERCENT: '%', ZERO_DIGIT: '0', PLUS_SIGN: '+', - MINUS_SIGN: '-', + MINUS_SIGN: '−', EXP_SYMBOL: 'E', - PERMILL: '\u2030', - INFINITY: '\u221E', + PERMILL: '‰', + INFINITY: '∞', NAN: 'NaN', DECIMAL_PATTERN: '#,##0.###', SCIENTIFIC_PATTERN: '#E0', - PERCENT_PATTERN: '#,##0%', - CURRENCY_PATTERN: '\u00A4\u00A0#,##0.00;\u00A4\u00A0#,##0.00-', - DEF_CURRENCY_CODE: 'EUR' + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '¤ #,##0.00', + DEF_CURRENCY_CODE: 'NOK' }; /** - * Number formatting symbols for locale nl_CW. - * @enum {string} - */ -goog.i18n.NumberFormatSymbols_nl_CW = goog.i18n.NumberFormatSymbols_nl; - - -/** - * Number formatting symbols for locale nl_NL. + * Number formatting symbols for locale ne. * @enum {string} */ -goog.i18n.NumberFormatSymbols_nl_NL = goog.i18n.NumberFormatSymbols_nl; +goog.i18n.NumberFormatSymbols_ne = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '०', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤ #,##0.00', + DEF_CURRENCY_CODE: 'NPR' +}; /** - * Number formatting symbols for locale nl_SX. + * Number formatting symbols for locale nl. * @enum {string} */ -goog.i18n.NumberFormatSymbols_nl_SX = goog.i18n.NumberFormatSymbols_nl; +goog.i18n.NumberFormatSymbols_nl = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤ #,##0.00;¤ -#,##0.00', + DEF_CURRENCY_CODE: 'EUR' +}; /** @@ -1859,23 +1888,30 @@ goog.i18n.NumberFormatSymbols_nl_SX = goog.i18n.NumberFormatSymbols_nl; */ goog.i18n.NumberFormatSymbols_no = { DECIMAL_SEP: ',', - GROUP_SEP: '\u00A0', + GROUP_SEP: ' ', PERCENT: '%', ZERO_DIGIT: '0', PLUS_SIGN: '+', - MINUS_SIGN: '-', + MINUS_SIGN: '−', EXP_SYMBOL: 'E', - PERMILL: '\u2030', - INFINITY: '\u221E', + PERMILL: '‰', + INFINITY: '∞', NAN: 'NaN', DECIMAL_PATTERN: '#,##0.###', SCIENTIFIC_PATTERN: '#E0', - PERCENT_PATTERN: '#,##0\u00A0%', - CURRENCY_PATTERN: '\u00A4\u00A0#,##0.00', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '¤ #,##0.00', DEF_CURRENCY_CODE: 'NOK' }; +/** + * Number formatting symbols for locale no_NO. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_no_NO = goog.i18n.NumberFormatSymbols_no; + + /** * Number formatting symbols for locale or. * @enum {string} @@ -1888,22 +1924,38 @@ goog.i18n.NumberFormatSymbols_or = { PLUS_SIGN: '+', MINUS_SIGN: '-', EXP_SYMBOL: 'E', - PERMILL: '\u2030', - INFINITY: '\u221E', + PERMILL: '‰', + INFINITY: '∞', NAN: 'NaN', DECIMAL_PATTERN: '#,##,##0.###', SCIENTIFIC_PATTERN: '#E0', PERCENT_PATTERN: '#,##,##0%', - CURRENCY_PATTERN: '\u00A4\u00A0#,##,##0.00', + CURRENCY_PATTERN: '¤ #,##,##0.00', DEF_CURRENCY_CODE: 'INR' }; /** - * Number formatting symbols for locale or_IN. + * Number formatting symbols for locale pa. * @enum {string} */ -goog.i18n.NumberFormatSymbols_or_IN = goog.i18n.NumberFormatSymbols_or; +goog.i18n.NumberFormatSymbols_pa = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##,##0.###', + SCIENTIFIC_PATTERN: '[#E0]', + PERCENT_PATTERN: '#,##,##0%', + CURRENCY_PATTERN: '¤ #,##,##0.00', + DEF_CURRENCY_CODE: 'INR' +}; /** @@ -1912,30 +1964,23 @@ goog.i18n.NumberFormatSymbols_or_IN = goog.i18n.NumberFormatSymbols_or; */ goog.i18n.NumberFormatSymbols_pl = { DECIMAL_SEP: ',', - GROUP_SEP: '\u00A0', + GROUP_SEP: ' ', PERCENT: '%', ZERO_DIGIT: '0', PLUS_SIGN: '+', MINUS_SIGN: '-', EXP_SYMBOL: 'E', - PERMILL: '\u2030', - INFINITY: '\u221E', + PERMILL: '‰', + INFINITY: '∞', NAN: 'NaN', DECIMAL_PATTERN: '#,##0.###', SCIENTIFIC_PATTERN: '#E0', PERCENT_PATTERN: '#,##0%', - CURRENCY_PATTERN: '#,##0.00\u00A0\u00A4;(#,##0.00\u00A0\u00A4)', + CURRENCY_PATTERN: '#,##0.00 ¤', DEF_CURRENCY_CODE: 'PLN' }; -/** - * Number formatting symbols for locale pl_PL. - * @enum {string} - */ -goog.i18n.NumberFormatSymbols_pl_PL = goog.i18n.NumberFormatSymbols_pl; - - /** * Number formatting symbols for locale pt. * @enum {string} @@ -1948,13 +1993,13 @@ goog.i18n.NumberFormatSymbols_pt = { PLUS_SIGN: '+', MINUS_SIGN: '-', EXP_SYMBOL: 'E', - PERMILL: '\u2030', - INFINITY: '\u221E', + PERMILL: '‰', + INFINITY: '∞', NAN: 'NaN', DECIMAL_PATTERN: '#,##0.###', SCIENTIFIC_PATTERN: '#E0', PERCENT_PATTERN: '#,##0%', - CURRENCY_PATTERN: '\u00A4#,##0.00;(\u00A4#,##0.00)', + CURRENCY_PATTERN: '¤#,##0.00', DEF_CURRENCY_CODE: 'BRL' }; @@ -1972,19 +2017,19 @@ goog.i18n.NumberFormatSymbols_pt_BR = goog.i18n.NumberFormatSymbols_pt; */ goog.i18n.NumberFormatSymbols_pt_PT = { DECIMAL_SEP: ',', - GROUP_SEP: '\u00A0', + GROUP_SEP: ' ', PERCENT: '%', ZERO_DIGIT: '0', PLUS_SIGN: '+', MINUS_SIGN: '-', EXP_SYMBOL: 'E', - PERMILL: '\u2030', - INFINITY: '\u221E', + PERMILL: '‰', + INFINITY: '∞', NAN: 'NaN', DECIMAL_PATTERN: '#,##0.###', SCIENTIFIC_PATTERN: '#E0', PERCENT_PATTERN: '#,##0%', - CURRENCY_PATTERN: '#,##0.00\u00A0\u00A4', + CURRENCY_PATTERN: '#,##0.00 ¤', DEF_CURRENCY_CODE: 'EUR' }; @@ -2001,52 +2046,84 @@ goog.i18n.NumberFormatSymbols_ro = { PLUS_SIGN: '+', MINUS_SIGN: '-', EXP_SYMBOL: 'E', - PERMILL: '\u2030', - INFINITY: '\u221E', + PERMILL: '‰', + INFINITY: '∞', NAN: 'NaN', DECIMAL_PATTERN: '#,##0.###', SCIENTIFIC_PATTERN: '#E0', - PERCENT_PATTERN: '#,##0\u00A0%', - CURRENCY_PATTERN: '#,##0.00\u00A0\u00A4', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0.00 ¤', DEF_CURRENCY_CODE: 'RON' }; /** - * Number formatting symbols for locale ro_RO. + * Number formatting symbols for locale ru. * @enum {string} */ -goog.i18n.NumberFormatSymbols_ro_RO = goog.i18n.NumberFormatSymbols_ro; +goog.i18n.NumberFormatSymbols_ru = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'не число', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'RUB' +}; /** - * Number formatting symbols for locale ru. + * Number formatting symbols for locale sh. * @enum {string} */ -goog.i18n.NumberFormatSymbols_ru = { +goog.i18n.NumberFormatSymbols_sh = { DECIMAL_SEP: ',', - GROUP_SEP: '\u00A0', + GROUP_SEP: '.', PERCENT: '%', ZERO_DIGIT: '0', PLUS_SIGN: '+', MINUS_SIGN: '-', EXP_SYMBOL: 'E', - PERMILL: '\u2030', - INFINITY: '\u221E', - NAN: '\u043D\u0435\u00A0\u0447\u0438\u0441\u043B\u043E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', DECIMAL_PATTERN: '#,##0.###', SCIENTIFIC_PATTERN: '#E0', - PERCENT_PATTERN: '#,##0\u00A0%', - CURRENCY_PATTERN: '#,##0.00\u00A0\u00A4', - DEF_CURRENCY_CODE: 'RUB' + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'RSD' }; /** - * Number formatting symbols for locale ru_RU. + * Number formatting symbols for locale si. * @enum {string} */ -goog.i18n.NumberFormatSymbols_ru_RU = goog.i18n.NumberFormatSymbols_ru; +goog.i18n.NumberFormatSymbols_si = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'LKR' +}; /** @@ -2055,30 +2132,23 @@ goog.i18n.NumberFormatSymbols_ru_RU = goog.i18n.NumberFormatSymbols_ru; */ goog.i18n.NumberFormatSymbols_sk = { DECIMAL_SEP: ',', - GROUP_SEP: '\u00A0', + GROUP_SEP: ' ', PERCENT: '%', ZERO_DIGIT: '0', PLUS_SIGN: '+', MINUS_SIGN: '-', - EXP_SYMBOL: 'E', - PERMILL: '\u2030', - INFINITY: '\u221E', + EXP_SYMBOL: 'e', + PERMILL: '‰', + INFINITY: '∞', NAN: 'NaN', DECIMAL_PATTERN: '#,##0.###', SCIENTIFIC_PATTERN: '#E0', - PERCENT_PATTERN: '#,##0\u00A0%', - CURRENCY_PATTERN: '#,##0.00\u00A0\u00A4', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0.00 ¤', DEF_CURRENCY_CODE: 'EUR' }; -/** - * Number formatting symbols for locale sk_SK. - * @enum {string} - */ -goog.i18n.NumberFormatSymbols_sk_SK = goog.i18n.NumberFormatSymbols_sk; - - /** * Number formatting symbols for locale sl. * @enum {string} @@ -2089,56 +2159,42 @@ goog.i18n.NumberFormatSymbols_sl = { PERCENT: '%', ZERO_DIGIT: '0', PLUS_SIGN: '+', - MINUS_SIGN: '-', + MINUS_SIGN: '−', EXP_SYMBOL: 'e', - PERMILL: '\u2030', - INFINITY: '\u221E', + PERMILL: '‰', + INFINITY: '∞', NAN: 'NaN', DECIMAL_PATTERN: '#,##0.###', SCIENTIFIC_PATTERN: '#E0', - PERCENT_PATTERN: '#,##0%', - CURRENCY_PATTERN: '\u00A4#,##0.00;(\u00A4#,##0.00)', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0.00 ¤', DEF_CURRENCY_CODE: 'EUR' }; -/** - * Number formatting symbols for locale sl_SI. - * @enum {string} - */ -goog.i18n.NumberFormatSymbols_sl_SI = goog.i18n.NumberFormatSymbols_sl; - - /** * Number formatting symbols for locale sq. * @enum {string} */ goog.i18n.NumberFormatSymbols_sq = { DECIMAL_SEP: ',', - GROUP_SEP: '\u00A0', + GROUP_SEP: ' ', PERCENT: '%', ZERO_DIGIT: '0', PLUS_SIGN: '+', MINUS_SIGN: '-', EXP_SYMBOL: 'E', - PERMILL: '\u2030', - INFINITY: '\u221E', + PERMILL: '‰', + INFINITY: '∞', NAN: 'NaN', DECIMAL_PATTERN: '#,##0.###', SCIENTIFIC_PATTERN: '#E0', PERCENT_PATTERN: '#,##0%', - CURRENCY_PATTERN: '\u00A4#,##0.00', + CURRENCY_PATTERN: '#,##0.00 ¤', DEF_CURRENCY_CODE: 'ALL' }; -/** - * Number formatting symbols for locale sq_AL. - * @enum {string} - */ -goog.i18n.NumberFormatSymbols_sq_AL = goog.i18n.NumberFormatSymbols_sq; - - /** * Number formatting symbols for locale sr. * @enum {string} @@ -2151,29 +2207,22 @@ goog.i18n.NumberFormatSymbols_sr = { PLUS_SIGN: '+', MINUS_SIGN: '-', EXP_SYMBOL: 'E', - PERMILL: '\u2030', - INFINITY: '\u221E', + PERMILL: '‰', + INFINITY: '∞', NAN: 'NaN', DECIMAL_PATTERN: '#,##0.###', SCIENTIFIC_PATTERN: '#E0', PERCENT_PATTERN: '#,##0%', - CURRENCY_PATTERN: '#,##0.00\u00A0\u00A4', + CURRENCY_PATTERN: '#,##0.00 ¤', DEF_CURRENCY_CODE: 'RSD' }; /** - * Number formatting symbols for locale sr_Cyrl_RS. - * @enum {string} - */ -goog.i18n.NumberFormatSymbols_sr_Cyrl_RS = goog.i18n.NumberFormatSymbols_sr; - - -/** - * Number formatting symbols for locale sr_Latn_RS. + * Number formatting symbols for locale sr_Latn. * @enum {string} */ -goog.i18n.NumberFormatSymbols_sr_Latn_RS = goog.i18n.NumberFormatSymbols_sr; +goog.i18n.NumberFormatSymbols_sr_Latn = goog.i18n.NumberFormatSymbols_sr; /** @@ -2182,30 +2231,23 @@ goog.i18n.NumberFormatSymbols_sr_Latn_RS = goog.i18n.NumberFormatSymbols_sr; */ goog.i18n.NumberFormatSymbols_sv = { DECIMAL_SEP: ',', - GROUP_SEP: '\u00A0', + GROUP_SEP: ' ', PERCENT: '%', ZERO_DIGIT: '0', PLUS_SIGN: '+', - MINUS_SIGN: '\u2212', - EXP_SYMBOL: '\u00D710^', - PERMILL: '\u2030', - INFINITY: '\u221E', - NAN: '\u00A4\u00A4\u00A4', + MINUS_SIGN: '−', + EXP_SYMBOL: '×10^', + PERMILL: '‰', + INFINITY: '∞', + NAN: '¤¤¤', DECIMAL_PATTERN: '#,##0.###', SCIENTIFIC_PATTERN: '#E0', - PERCENT_PATTERN: '#,##0\u00A0%', - CURRENCY_PATTERN: '#,##0.00\u00A0\u00A4', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0.00 ¤', DEF_CURRENCY_CODE: 'SEK' }; -/** - * Number formatting symbols for locale sv_SE. - * @enum {string} - */ -goog.i18n.NumberFormatSymbols_sv_SE = goog.i18n.NumberFormatSymbols_sv; - - /** * Number formatting symbols for locale sw. * @enum {string} @@ -2218,24 +2260,17 @@ goog.i18n.NumberFormatSymbols_sw = { PLUS_SIGN: '+', MINUS_SIGN: '-', EXP_SYMBOL: 'E', - PERMILL: '\u2030', - INFINITY: '\u221E', + PERMILL: '‰', + INFINITY: '∞', NAN: 'NaN', DECIMAL_PATTERN: '#,##0.###', SCIENTIFIC_PATTERN: '#E0', PERCENT_PATTERN: '#,##0%', - CURRENCY_PATTERN: '\u00A4#,##0.00;(\u00A4#,##0.00)', + CURRENCY_PATTERN: '¤#,##0.00', DEF_CURRENCY_CODE: 'TZS' }; -/** - * Number formatting symbols for locale sw_TZ. - * @enum {string} - */ -goog.i18n.NumberFormatSymbols_sw_TZ = goog.i18n.NumberFormatSymbols_sw; - - /** * Number formatting symbols for locale ta. * @enum {string} @@ -2248,24 +2283,17 @@ goog.i18n.NumberFormatSymbols_ta = { PLUS_SIGN: '+', MINUS_SIGN: '-', EXP_SYMBOL: 'E', - PERMILL: '\u2030', - INFINITY: '\u221E', + PERMILL: '‰', + INFINITY: '∞', NAN: 'NaN', DECIMAL_PATTERN: '#,##,##0.###', SCIENTIFIC_PATTERN: '#E0', PERCENT_PATTERN: '#,##,##0%', - CURRENCY_PATTERN: '\u00A4\u00A0#,##,##0.00', + CURRENCY_PATTERN: '¤ #,##,##0.00', DEF_CURRENCY_CODE: 'INR' }; -/** - * Number formatting symbols for locale ta_IN. - * @enum {string} - */ -goog.i18n.NumberFormatSymbols_ta_IN = goog.i18n.NumberFormatSymbols_ta; - - /** * Number formatting symbols for locale te. * @enum {string} @@ -2278,24 +2306,17 @@ goog.i18n.NumberFormatSymbols_te = { PLUS_SIGN: '+', MINUS_SIGN: '-', EXP_SYMBOL: 'E', - PERMILL: '\u2030', - INFINITY: '\u221E', + PERMILL: '‰', + INFINITY: '∞', NAN: 'NaN', - DECIMAL_PATTERN: '#,##0.###', + DECIMAL_PATTERN: '#,##,##0.###', SCIENTIFIC_PATTERN: '#E0', PERCENT_PATTERN: '#,##0%', - CURRENCY_PATTERN: '\u00A4#,##0.00;(\u00A4#,##0.00)', + CURRENCY_PATTERN: '¤#,##,##0.00', DEF_CURRENCY_CODE: 'INR' }; -/** - * Number formatting symbols for locale te_IN. - * @enum {string} - */ -goog.i18n.NumberFormatSymbols_te_IN = goog.i18n.NumberFormatSymbols_te; - - /** * Number formatting symbols for locale th. * @enum {string} @@ -2308,24 +2329,17 @@ goog.i18n.NumberFormatSymbols_th = { PLUS_SIGN: '+', MINUS_SIGN: '-', EXP_SYMBOL: 'E', - PERMILL: '\u2030', - INFINITY: '\u221E', + PERMILL: '‰', + INFINITY: '∞', NAN: 'NaN', DECIMAL_PATTERN: '#,##0.###', SCIENTIFIC_PATTERN: '#E0', PERCENT_PATTERN: '#,##0%', - CURRENCY_PATTERN: '\u00A4#,##0.00;(\u00A4#,##0.00)', + CURRENCY_PATTERN: '¤#,##0.00', DEF_CURRENCY_CODE: 'THB' }; -/** - * Number formatting symbols for locale th_TH. - * @enum {string} - */ -goog.i18n.NumberFormatSymbols_th_TH = goog.i18n.NumberFormatSymbols_th; - - /** * Number formatting symbols for locale tl. * @enum {string} @@ -2338,13 +2352,13 @@ goog.i18n.NumberFormatSymbols_tl = { PLUS_SIGN: '+', MINUS_SIGN: '-', EXP_SYMBOL: 'E', - PERMILL: '\u2030', - INFINITY: '\u221E', + PERMILL: '‰', + INFINITY: '∞', NAN: 'NaN', DECIMAL_PATTERN: '#,##0.###', SCIENTIFIC_PATTERN: '#E0', PERCENT_PATTERN: '#,##0%', - CURRENCY_PATTERN: '\u00A4#,##0.00;(\u00A4#,##0.00)', + CURRENCY_PATTERN: '¤#,##0.00', DEF_CURRENCY_CODE: 'PHP' }; @@ -2361,52 +2375,38 @@ goog.i18n.NumberFormatSymbols_tr = { PLUS_SIGN: '+', MINUS_SIGN: '-', EXP_SYMBOL: 'E', - PERMILL: '\u2030', - INFINITY: '\u221E', + PERMILL: '‰', + INFINITY: '∞', NAN: 'NaN', DECIMAL_PATTERN: '#,##0.###', SCIENTIFIC_PATTERN: '#E0', PERCENT_PATTERN: '%#,##0', - CURRENCY_PATTERN: '#,##0.00\u00A0\u00A4;(#,##0.00\u00A0\u00A4)', + CURRENCY_PATTERN: '¤#,##0.00', DEF_CURRENCY_CODE: 'TRY' }; -/** - * Number formatting symbols for locale tr_TR. - * @enum {string} - */ -goog.i18n.NumberFormatSymbols_tr_TR = goog.i18n.NumberFormatSymbols_tr; - - /** * Number formatting symbols for locale uk. * @enum {string} */ goog.i18n.NumberFormatSymbols_uk = { DECIMAL_SEP: ',', - GROUP_SEP: '\u00A0', + GROUP_SEP: ' ', PERCENT: '%', ZERO_DIGIT: '0', PLUS_SIGN: '+', MINUS_SIGN: '-', - EXP_SYMBOL: '\u0415', - PERMILL: '\u2030', - INFINITY: '\u221E', - NAN: '\u041D\u0435\u00A0\u0447\u0438\u0441\u043B\u043E', + EXP_SYMBOL: 'Е', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', DECIMAL_PATTERN: '#,##0.###', SCIENTIFIC_PATTERN: '#E0', PERCENT_PATTERN: '#,##0%', - CURRENCY_PATTERN: '#,##0.00\u00A0\u00A4', + CURRENCY_PATTERN: '#,##0.00 ¤', DEF_CURRENCY_CODE: 'UAH' -}; - - -/** - * Number formatting symbols for locale uk_UA. - * @enum {string} - */ -goog.i18n.NumberFormatSymbols_uk_UA = goog.i18n.NumberFormatSymbols_uk; +}; /** @@ -2418,25 +2418,41 @@ goog.i18n.NumberFormatSymbols_ur = { GROUP_SEP: ',', PERCENT: '%', ZERO_DIGIT: '0', - PLUS_SIGN: '+', - MINUS_SIGN: '-', + PLUS_SIGN: '‎+', + MINUS_SIGN: '‎-', EXP_SYMBOL: 'E', - PERMILL: '\u2030', - INFINITY: '\u221E', + PERMILL: '‰', + INFINITY: '∞', NAN: 'NaN', DECIMAL_PATTERN: '#,##0.###', SCIENTIFIC_PATTERN: '#E0', - PERCENT_PATTERN: '#,##0%', - CURRENCY_PATTERN: '\u00A4#,##0.00', + PERCENT_PATTERN: '#,##,##0%', + CURRENCY_PATTERN: '¤ #,##,##0.00', DEF_CURRENCY_CODE: 'PKR' }; /** - * Number formatting symbols for locale ur_PK. + * Number formatting symbols for locale uz. * @enum {string} */ -goog.i18n.NumberFormatSymbols_ur_PK = goog.i18n.NumberFormatSymbols_ur; +goog.i18n.NumberFormatSymbols_uz = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'haqiqiy son emas', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'UZS' +}; /** @@ -2451,24 +2467,17 @@ goog.i18n.NumberFormatSymbols_vi = { PLUS_SIGN: '+', MINUS_SIGN: '-', EXP_SYMBOL: 'E', - PERMILL: '\u2030', - INFINITY: '\u221E', + PERMILL: '‰', + INFINITY: '∞', NAN: 'NaN', DECIMAL_PATTERN: '#,##0.###', SCIENTIFIC_PATTERN: '#E0', PERCENT_PATTERN: '#,##0%', - CURRENCY_PATTERN: '#,##0.00\u00A0\u00A4', + CURRENCY_PATTERN: '¤ #,##0.00', DEF_CURRENCY_CODE: 'VND' }; -/** - * Number formatting symbols for locale vi_VN. - * @enum {string} - */ -goog.i18n.NumberFormatSymbols_vi_VN = goog.i18n.NumberFormatSymbols_vi; - - /** * Number formatting symbols for locale zh. * @enum {string} @@ -2481,13 +2490,13 @@ goog.i18n.NumberFormatSymbols_zh = { PLUS_SIGN: '+', MINUS_SIGN: '-', EXP_SYMBOL: 'E', - PERMILL: '\u2030', - INFINITY: '\u221E', + PERMILL: '‰', + INFINITY: '∞', NAN: 'NaN', DECIMAL_PATTERN: '#,##0.###', SCIENTIFIC_PATTERN: '#E0', PERCENT_PATTERN: '#,##0%', - CURRENCY_PATTERN: '\u00A4#,##0.00;(\u00A4#,##0.00)', + CURRENCY_PATTERN: '¤#,##0.00', DEF_CURRENCY_CODE: 'CNY' }; @@ -2511,24 +2520,17 @@ goog.i18n.NumberFormatSymbols_zh_HK = { PLUS_SIGN: '+', MINUS_SIGN: '-', EXP_SYMBOL: 'E', - PERMILL: '\u2030', - INFINITY: '\u221E', - NAN: '\u975E\u6578\u503C', + PERMILL: '‰', + INFINITY: '∞', + NAN: '非數值', DECIMAL_PATTERN: '#,##0.###', SCIENTIFIC_PATTERN: '#E0', PERCENT_PATTERN: '#,##0%', - CURRENCY_PATTERN: '\u00A4#,##0.00;(\u00A4#,##0.00)', + CURRENCY_PATTERN: '¤#,##0.00', DEF_CURRENCY_CODE: 'HKD' }; -/** - * Number formatting symbols for locale zh_Hans_CN. - * @enum {string} - */ -goog.i18n.NumberFormatSymbols_zh_Hans_CN = goog.i18n.NumberFormatSymbols_zh; - - /** * Number formatting symbols for locale zh_TW. * @enum {string} @@ -2541,13 +2543,13 @@ goog.i18n.NumberFormatSymbols_zh_TW = { PLUS_SIGN: '+', MINUS_SIGN: '-', EXP_SYMBOL: 'E', - PERMILL: '\u2030', - INFINITY: '\u221E', - NAN: '\u975E\u6578\u503C', + PERMILL: '‰', + INFINITY: '∞', + NAN: '非數值', DECIMAL_PATTERN: '#,##0.###', SCIENTIFIC_PATTERN: '#E0', PERCENT_PATTERN: '#,##0%', - CURRENCY_PATTERN: '\u00A4#,##0.00', + CURRENCY_PATTERN: '¤#,##0.00', DEF_CURRENCY_CODE: 'TWD' }; @@ -2564,24 +2566,17 @@ goog.i18n.NumberFormatSymbols_zu = { PLUS_SIGN: '+', MINUS_SIGN: '-', EXP_SYMBOL: 'E', - PERMILL: '\u2030', - INFINITY: '\u221E', - NAN: 'I-NaN', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', DECIMAL_PATTERN: '#,##0.###', SCIENTIFIC_PATTERN: '#E0', PERCENT_PATTERN: '#,##0%', - CURRENCY_PATTERN: '\u00A4#,##0.00;(\u00A4#,##0.00)', + CURRENCY_PATTERN: '¤#,##0.00', DEF_CURRENCY_CODE: 'ZAR' }; -/** - * Number formatting symbols for locale zu_ZA. - * @enum {string} - */ -goog.i18n.NumberFormatSymbols_zu_ZA = goog.i18n.NumberFormatSymbols_zu; - - /** * Selected number formatting symbols by locale. */ @@ -2591,35 +2586,27 @@ if (goog.LOCALE == 'af') { goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_af; } -if (goog.LOCALE == 'af_ZA' || goog.LOCALE == 'af-ZA') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_af; -} - if (goog.LOCALE == 'am') { goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_am; } -if (goog.LOCALE == 'am_ET' || goog.LOCALE == 'am-ET') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_am; -} - if (goog.LOCALE == 'ar') { goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ar; } -if (goog.LOCALE == 'ar_001' || goog.LOCALE == 'ar-001') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ar; +if (goog.LOCALE == 'ar_DZ' || goog.LOCALE == 'ar-DZ') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ar_DZ; } -if (goog.LOCALE == 'ar_EG' || goog.LOCALE == 'ar-EG') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ar; +if (goog.LOCALE == 'az') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_az; } -if (goog.LOCALE == 'bg') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_bg; +if (goog.LOCALE == 'be') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_be; } -if (goog.LOCALE == 'bg_BG' || goog.LOCALE == 'bg-BG') { +if (goog.LOCALE == 'bg') { goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_bg; } @@ -2627,38 +2614,34 @@ if (goog.LOCALE == 'bn') { goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_bn; } -if (goog.LOCALE == 'bn_BD' || goog.LOCALE == 'bn-BD') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_bn; +if (goog.LOCALE == 'br') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_br; } -if (goog.LOCALE == 'ca') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ca; +if (goog.LOCALE == 'bs') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_bs; } -if (goog.LOCALE == 'ca_AD' || goog.LOCALE == 'ca-AD') { +if (goog.LOCALE == 'ca') { goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ca; } -if (goog.LOCALE == 'ca_ES' || goog.LOCALE == 'ca-ES') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ca; +if (goog.LOCALE == 'chr') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_chr; } if (goog.LOCALE == 'cs') { goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_cs; } -if (goog.LOCALE == 'cs_CZ' || goog.LOCALE == 'cs-CZ') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_cs; +if (goog.LOCALE == 'cy') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_cy; } if (goog.LOCALE == 'da') { goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_da; } -if (goog.LOCALE == 'da_DK' || goog.LOCALE == 'da-DK') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_da; -} - if (goog.LOCALE == 'de') { goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_de; } @@ -2667,58 +2650,30 @@ if (goog.LOCALE == 'de_AT' || goog.LOCALE == 'de-AT') { goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_de_AT; } -if (goog.LOCALE == 'de_BE' || goog.LOCALE == 'de-BE') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_de; -} - if (goog.LOCALE == 'de_CH' || goog.LOCALE == 'de-CH') { goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_de_CH; } -if (goog.LOCALE == 'de_DE' || goog.LOCALE == 'de-DE') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_de; -} - -if (goog.LOCALE == 'de_LU' || goog.LOCALE == 'de-LU') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_de; -} - if (goog.LOCALE == 'el') { goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_el; } -if (goog.LOCALE == 'el_GR' || goog.LOCALE == 'el-GR') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_el; -} - if (goog.LOCALE == 'en') { goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en; } -if (goog.LOCALE == 'en_AS' || goog.LOCALE == 'en-AS') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en; -} - if (goog.LOCALE == 'en_AU' || goog.LOCALE == 'en-AU') { goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_AU; } -if (goog.LOCALE == 'en_Dsrt_US' || goog.LOCALE == 'en-Dsrt-US') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en; -} - -if (goog.LOCALE == 'en_FM' || goog.LOCALE == 'en-FM') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en; +if (goog.LOCALE == 'en_CA' || goog.LOCALE == 'en-CA') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_CA; } if (goog.LOCALE == 'en_GB' || goog.LOCALE == 'en-GB') { goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_GB; } -if (goog.LOCALE == 'en_GU' || goog.LOCALE == 'en-GU') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en; -} - if (goog.LOCALE == 'en_IE' || goog.LOCALE == 'en-IE') { goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_IE; } @@ -2727,44 +2682,12 @@ if (goog.LOCALE == 'en_IN' || goog.LOCALE == 'en-IN') { goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_IN; } -if (goog.LOCALE == 'en_MH' || goog.LOCALE == 'en-MH') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en; -} - -if (goog.LOCALE == 'en_MP' || goog.LOCALE == 'en-MP') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en; -} - -if (goog.LOCALE == 'en_PR' || goog.LOCALE == 'en-PR') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en; -} - -if (goog.LOCALE == 'en_PW' || goog.LOCALE == 'en-PW') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en; -} - if (goog.LOCALE == 'en_SG' || goog.LOCALE == 'en-SG') { goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_SG; } -if (goog.LOCALE == 'en_TC' || goog.LOCALE == 'en-TC') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en; -} - -if (goog.LOCALE == 'en_UM' || goog.LOCALE == 'en-UM') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en; -} - if (goog.LOCALE == 'en_US' || goog.LOCALE == 'en-US') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en; -} - -if (goog.LOCALE == 'en_VG' || goog.LOCALE == 'en-VG') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en; -} - -if (goog.LOCALE == 'en_VI' || goog.LOCALE == 'en-VI') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en; + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_US; } if (goog.LOCALE == 'en_ZA' || goog.LOCALE == 'en-ZA') { @@ -2779,23 +2702,19 @@ if (goog.LOCALE == 'es_419' || goog.LOCALE == 'es-419') { goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_es_419; } -if (goog.LOCALE == 'es_EA' || goog.LOCALE == 'es-EA') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_es; -} - if (goog.LOCALE == 'es_ES' || goog.LOCALE == 'es-ES') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_es; + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_es_ES; } -if (goog.LOCALE == 'es_IC' || goog.LOCALE == 'es-IC') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_es; +if (goog.LOCALE == 'es_MX' || goog.LOCALE == 'es-MX') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_es_MX; } -if (goog.LOCALE == 'et') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_et; +if (goog.LOCALE == 'es_US' || goog.LOCALE == 'es-US') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_es_US; } -if (goog.LOCALE == 'et_EE' || goog.LOCALE == 'et-EE') { +if (goog.LOCALE == 'et') { goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_et; } @@ -2803,142 +2722,70 @@ if (goog.LOCALE == 'eu') { goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_eu; } -if (goog.LOCALE == 'eu_ES' || goog.LOCALE == 'eu-ES') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_eu; -} - if (goog.LOCALE == 'fa') { goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fa; } -if (goog.LOCALE == 'fa_IR' || goog.LOCALE == 'fa-IR') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fa; -} - if (goog.LOCALE == 'fi') { goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fi; } -if (goog.LOCALE == 'fi_FI' || goog.LOCALE == 'fi-FI') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fi; -} - if (goog.LOCALE == 'fil') { goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fil; } -if (goog.LOCALE == 'fil_PH' || goog.LOCALE == 'fil-PH') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fil; -} - if (goog.LOCALE == 'fr') { goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fr; } -if (goog.LOCALE == 'fr_BL' || goog.LOCALE == 'fr-BL') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fr; -} - if (goog.LOCALE == 'fr_CA' || goog.LOCALE == 'fr-CA') { goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fr_CA; } -if (goog.LOCALE == 'fr_FR' || goog.LOCALE == 'fr-FR') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fr; -} - -if (goog.LOCALE == 'fr_GF' || goog.LOCALE == 'fr-GF') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fr; -} - -if (goog.LOCALE == 'fr_GP' || goog.LOCALE == 'fr-GP') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fr; -} - -if (goog.LOCALE == 'fr_MC' || goog.LOCALE == 'fr-MC') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fr; -} - -if (goog.LOCALE == 'fr_MF' || goog.LOCALE == 'fr-MF') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fr; -} - -if (goog.LOCALE == 'fr_MQ' || goog.LOCALE == 'fr-MQ') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fr; -} - -if (goog.LOCALE == 'fr_RE' || goog.LOCALE == 'fr-RE') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fr; -} - -if (goog.LOCALE == 'fr_YT' || goog.LOCALE == 'fr-YT') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fr; +if (goog.LOCALE == 'ga') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ga; } if (goog.LOCALE == 'gl') { goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_gl; } -if (goog.LOCALE == 'gl_ES' || goog.LOCALE == 'gl-ES') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_gl; -} - if (goog.LOCALE == 'gsw') { goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_gsw; } -if (goog.LOCALE == 'gsw_CH' || goog.LOCALE == 'gsw-CH') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_gsw; -} - if (goog.LOCALE == 'gu') { goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_gu; } -if (goog.LOCALE == 'gu_IN' || goog.LOCALE == 'gu-IN') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_gu; +if (goog.LOCALE == 'haw') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_haw; } if (goog.LOCALE == 'he') { goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_he; } -if (goog.LOCALE == 'he_IL' || goog.LOCALE == 'he-IL') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_he; -} - if (goog.LOCALE == 'hi') { goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_hi; } -if (goog.LOCALE == 'hi_IN' || goog.LOCALE == 'hi-IN') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_hi; -} - if (goog.LOCALE == 'hr') { goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_hr; } -if (goog.LOCALE == 'hr_HR' || goog.LOCALE == 'hr-HR') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_hr; -} - if (goog.LOCALE == 'hu') { goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_hu; } -if (goog.LOCALE == 'hu_HU' || goog.LOCALE == 'hu-HU') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_hu; +if (goog.LOCALE == 'hy') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_hy; } if (goog.LOCALE == 'id') { goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_id; } -if (goog.LOCALE == 'id_ID' || goog.LOCALE == 'id-ID') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_id; -} - if (goog.LOCALE == 'in') { goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_in; } @@ -2947,22 +2794,10 @@ if (goog.LOCALE == 'is') { goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_is; } -if (goog.LOCALE == 'is_IS' || goog.LOCALE == 'is-IS') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_is; -} - if (goog.LOCALE == 'it') { goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_it; } -if (goog.LOCALE == 'it_IT' || goog.LOCALE == 'it-IT') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_it; -} - -if (goog.LOCALE == 'it_SM' || goog.LOCALE == 'it-SM') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_it; -} - if (goog.LOCALE == 'iw') { goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_iw; } @@ -2971,15 +2806,19 @@ if (goog.LOCALE == 'ja') { goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ja; } -if (goog.LOCALE == 'ja_JP' || goog.LOCALE == 'ja-JP') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ja; +if (goog.LOCALE == 'ka') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ka; } -if (goog.LOCALE == 'kn') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_kn; +if (goog.LOCALE == 'kk') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_kk; +} + +if (goog.LOCALE == 'km') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_km; } -if (goog.LOCALE == 'kn_IN' || goog.LOCALE == 'kn-IN') { +if (goog.LOCALE == 'kn') { goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_kn; } @@ -2987,47 +2826,43 @@ if (goog.LOCALE == 'ko') { goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ko; } -if (goog.LOCALE == 'ko_KR' || goog.LOCALE == 'ko-KR') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ko; +if (goog.LOCALE == 'ky') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ky; } if (goog.LOCALE == 'ln') { goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ln; } -if (goog.LOCALE == 'ln_CD' || goog.LOCALE == 'ln-CD') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ln; +if (goog.LOCALE == 'lo') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_lo; } if (goog.LOCALE == 'lt') { goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_lt; } -if (goog.LOCALE == 'lt_LT' || goog.LOCALE == 'lt-LT') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_lt; -} - if (goog.LOCALE == 'lv') { goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_lv; } -if (goog.LOCALE == 'lv_LV' || goog.LOCALE == 'lv-LV') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_lv; +if (goog.LOCALE == 'mk') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_mk; } if (goog.LOCALE == 'ml') { goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ml; } -if (goog.LOCALE == 'ml_IN' || goog.LOCALE == 'ml-IN') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ml; +if (goog.LOCALE == 'mn') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_mn; } -if (goog.LOCALE == 'mr') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_mr; +if (goog.LOCALE == 'mo') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_mo; } -if (goog.LOCALE == 'mr_IN' || goog.LOCALE == 'mr-IN') { +if (goog.LOCALE == 'mr') { goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_mr; } @@ -3035,31 +2870,23 @@ if (goog.LOCALE == 'ms') { goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ms; } -if (goog.LOCALE == 'ms_MY' || goog.LOCALE == 'ms-MY') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ms; -} - if (goog.LOCALE == 'mt') { goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_mt; } -if (goog.LOCALE == 'mt_MT' || goog.LOCALE == 'mt-MT') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_mt; -} - -if (goog.LOCALE == 'nl') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_nl; +if (goog.LOCALE == 'my') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_my; } -if (goog.LOCALE == 'nl_CW' || goog.LOCALE == 'nl-CW') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_nl; +if (goog.LOCALE == 'nb') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_nb; } -if (goog.LOCALE == 'nl_NL' || goog.LOCALE == 'nl-NL') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_nl; +if (goog.LOCALE == 'ne') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ne; } -if (goog.LOCALE == 'nl_SX' || goog.LOCALE == 'nl-SX') { +if (goog.LOCALE == 'nl') { goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_nl; } @@ -3067,19 +2894,19 @@ if (goog.LOCALE == 'no') { goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_no; } -if (goog.LOCALE == 'or') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_or; +if (goog.LOCALE == 'no_NO' || goog.LOCALE == 'no-NO') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_no_NO; } -if (goog.LOCALE == 'or_IN' || goog.LOCALE == 'or-IN') { +if (goog.LOCALE == 'or') { goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_or; } -if (goog.LOCALE == 'pl') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_pl; +if (goog.LOCALE == 'pa') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_pa; } -if (goog.LOCALE == 'pl_PL' || goog.LOCALE == 'pl-PL') { +if (goog.LOCALE == 'pl') { goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_pl; } @@ -3088,7 +2915,7 @@ if (goog.LOCALE == 'pt') { } if (goog.LOCALE == 'pt_BR' || goog.LOCALE == 'pt-BR') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_pt; + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_pt_BR; } if (goog.LOCALE == 'pt_PT' || goog.LOCALE == 'pt-PT') { @@ -3099,23 +2926,19 @@ if (goog.LOCALE == 'ro') { goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ro; } -if (goog.LOCALE == 'ro_RO' || goog.LOCALE == 'ro-RO') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ro; -} - if (goog.LOCALE == 'ru') { goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ru; } -if (goog.LOCALE == 'ru_RU' || goog.LOCALE == 'ru-RU') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ru; +if (goog.LOCALE == 'sh') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_sh; } -if (goog.LOCALE == 'sk') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_sk; +if (goog.LOCALE == 'si') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_si; } -if (goog.LOCALE == 'sk_SK' || goog.LOCALE == 'sk-SK') { +if (goog.LOCALE == 'sk') { goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_sk; } @@ -3123,70 +2946,38 @@ if (goog.LOCALE == 'sl') { goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_sl; } -if (goog.LOCALE == 'sl_SI' || goog.LOCALE == 'sl-SI') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_sl; -} - if (goog.LOCALE == 'sq') { goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_sq; } -if (goog.LOCALE == 'sq_AL' || goog.LOCALE == 'sq-AL') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_sq; -} - if (goog.LOCALE == 'sr') { goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_sr; } -if (goog.LOCALE == 'sr_Cyrl_RS' || goog.LOCALE == 'sr-Cyrl-RS') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_sr; -} - -if (goog.LOCALE == 'sr_Latn_RS' || goog.LOCALE == 'sr-Latn-RS') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_sr; +if (goog.LOCALE == 'sr_Latn' || goog.LOCALE == 'sr-Latn') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_sr_Latn; } if (goog.LOCALE == 'sv') { goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_sv; } -if (goog.LOCALE == 'sv_SE' || goog.LOCALE == 'sv-SE') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_sv; -} - if (goog.LOCALE == 'sw') { goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_sw; } -if (goog.LOCALE == 'sw_TZ' || goog.LOCALE == 'sw-TZ') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_sw; -} - if (goog.LOCALE == 'ta') { goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ta; } -if (goog.LOCALE == 'ta_IN' || goog.LOCALE == 'ta-IN') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ta; -} - if (goog.LOCALE == 'te') { goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_te; } -if (goog.LOCALE == 'te_IN' || goog.LOCALE == 'te-IN') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_te; -} - if (goog.LOCALE == 'th') { goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_th; } -if (goog.LOCALE == 'th_TH' || goog.LOCALE == 'th-TH') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_th; -} - if (goog.LOCALE == 'tl') { goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_tl; } @@ -3195,50 +2986,34 @@ if (goog.LOCALE == 'tr') { goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_tr; } -if (goog.LOCALE == 'tr_TR' || goog.LOCALE == 'tr-TR') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_tr; -} - if (goog.LOCALE == 'uk') { goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_uk; } -if (goog.LOCALE == 'uk_UA' || goog.LOCALE == 'uk-UA') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_uk; -} - if (goog.LOCALE == 'ur') { goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ur; } -if (goog.LOCALE == 'ur_PK' || goog.LOCALE == 'ur-PK') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ur; +if (goog.LOCALE == 'uz') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_uz; } if (goog.LOCALE == 'vi') { goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_vi; } -if (goog.LOCALE == 'vi_VN' || goog.LOCALE == 'vi-VN') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_vi; -} - if (goog.LOCALE == 'zh') { goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_zh; } if (goog.LOCALE == 'zh_CN' || goog.LOCALE == 'zh-CN') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_zh; + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_zh_CN; } if (goog.LOCALE == 'zh_HK' || goog.LOCALE == 'zh-HK') { goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_zh_HK; } -if (goog.LOCALE == 'zh_Hans_CN' || goog.LOCALE == 'zh-Hans-CN') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_zh; -} - if (goog.LOCALE == 'zh_TW' || goog.LOCALE == 'zh-TW') { goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_zh_TW; } @@ -3246,8 +3021,3 @@ if (goog.LOCALE == 'zh_TW' || goog.LOCALE == 'zh-TW') { if (goog.LOCALE == 'zu') { goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_zu; } - -if (goog.LOCALE == 'zu_ZA' || goog.LOCALE == 'zu-ZA') { - goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_zu; -} - diff --git a/i18n/closure/numberSymbolsExt.js b/i18n/closure/numberSymbolsExt.js new file mode 100644 index 000000000000..9bc7a1fc3678 --- /dev/null +++ b/i18n/closure/numberSymbolsExt.js @@ -0,0 +1,14195 @@ +// Copyright 2011 The Closure Library Authors. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS-IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/** + * @fileoverview Number formatting symbols. + * + * File generated from CLDR ver. 31.0.1 + * + * This file covers those locales that are not covered in + * "numberformatsymbols.js". + * + * @suppress {const,missingRequire} Suppress "missing require" warnings for + * names like goog.i18n.NumberFormatSymbols_af. They are included + * by requiring goog.i18n.NumberFormatSymbols. + */ + +// clang-format off + +goog.provide('goog.i18n.NumberFormatSymbolsExt'); +goog.provide('goog.i18n.NumberFormatSymbols_af_NA'); +goog.provide('goog.i18n.NumberFormatSymbols_af_ZA'); +goog.provide('goog.i18n.NumberFormatSymbols_agq'); +goog.provide('goog.i18n.NumberFormatSymbols_agq_CM'); +goog.provide('goog.i18n.NumberFormatSymbols_ak'); +goog.provide('goog.i18n.NumberFormatSymbols_ak_GH'); +goog.provide('goog.i18n.NumberFormatSymbols_am_ET'); +goog.provide('goog.i18n.NumberFormatSymbols_ar_001'); +goog.provide('goog.i18n.NumberFormatSymbols_ar_AE'); +goog.provide('goog.i18n.NumberFormatSymbols_ar_BH'); +goog.provide('goog.i18n.NumberFormatSymbols_ar_DJ'); +goog.provide('goog.i18n.NumberFormatSymbols_ar_EG'); +goog.provide('goog.i18n.NumberFormatSymbols_ar_EH'); +goog.provide('goog.i18n.NumberFormatSymbols_ar_ER'); +goog.provide('goog.i18n.NumberFormatSymbols_ar_IL'); +goog.provide('goog.i18n.NumberFormatSymbols_ar_IQ'); +goog.provide('goog.i18n.NumberFormatSymbols_ar_JO'); +goog.provide('goog.i18n.NumberFormatSymbols_ar_KM'); +goog.provide('goog.i18n.NumberFormatSymbols_ar_KW'); +goog.provide('goog.i18n.NumberFormatSymbols_ar_LB'); +goog.provide('goog.i18n.NumberFormatSymbols_ar_LY'); +goog.provide('goog.i18n.NumberFormatSymbols_ar_MA'); +goog.provide('goog.i18n.NumberFormatSymbols_ar_MR'); +goog.provide('goog.i18n.NumberFormatSymbols_ar_OM'); +goog.provide('goog.i18n.NumberFormatSymbols_ar_PS'); +goog.provide('goog.i18n.NumberFormatSymbols_ar_QA'); +goog.provide('goog.i18n.NumberFormatSymbols_ar_SA'); +goog.provide('goog.i18n.NumberFormatSymbols_ar_SD'); +goog.provide('goog.i18n.NumberFormatSymbols_ar_SO'); +goog.provide('goog.i18n.NumberFormatSymbols_ar_SS'); +goog.provide('goog.i18n.NumberFormatSymbols_ar_SY'); +goog.provide('goog.i18n.NumberFormatSymbols_ar_TD'); +goog.provide('goog.i18n.NumberFormatSymbols_ar_TN'); +goog.provide('goog.i18n.NumberFormatSymbols_ar_XB'); +goog.provide('goog.i18n.NumberFormatSymbols_ar_YE'); +goog.provide('goog.i18n.NumberFormatSymbols_as'); +goog.provide('goog.i18n.NumberFormatSymbols_as_IN'); +goog.provide('goog.i18n.NumberFormatSymbols_asa'); +goog.provide('goog.i18n.NumberFormatSymbols_asa_TZ'); +goog.provide('goog.i18n.NumberFormatSymbols_ast'); +goog.provide('goog.i18n.NumberFormatSymbols_ast_ES'); +goog.provide('goog.i18n.NumberFormatSymbols_az_Cyrl'); +goog.provide('goog.i18n.NumberFormatSymbols_az_Cyrl_AZ'); +goog.provide('goog.i18n.NumberFormatSymbols_az_Latn'); +goog.provide('goog.i18n.NumberFormatSymbols_az_Latn_AZ'); +goog.provide('goog.i18n.NumberFormatSymbols_bas'); +goog.provide('goog.i18n.NumberFormatSymbols_bas_CM'); +goog.provide('goog.i18n.NumberFormatSymbols_be_BY'); +goog.provide('goog.i18n.NumberFormatSymbols_bem'); +goog.provide('goog.i18n.NumberFormatSymbols_bem_ZM'); +goog.provide('goog.i18n.NumberFormatSymbols_bez'); +goog.provide('goog.i18n.NumberFormatSymbols_bez_TZ'); +goog.provide('goog.i18n.NumberFormatSymbols_bg_BG'); +goog.provide('goog.i18n.NumberFormatSymbols_bm'); +goog.provide('goog.i18n.NumberFormatSymbols_bm_ML'); +goog.provide('goog.i18n.NumberFormatSymbols_bn_BD'); +goog.provide('goog.i18n.NumberFormatSymbols_bn_IN'); +goog.provide('goog.i18n.NumberFormatSymbols_bo'); +goog.provide('goog.i18n.NumberFormatSymbols_bo_CN'); +goog.provide('goog.i18n.NumberFormatSymbols_bo_IN'); +goog.provide('goog.i18n.NumberFormatSymbols_br_FR'); +goog.provide('goog.i18n.NumberFormatSymbols_brx'); +goog.provide('goog.i18n.NumberFormatSymbols_brx_IN'); +goog.provide('goog.i18n.NumberFormatSymbols_bs_Cyrl'); +goog.provide('goog.i18n.NumberFormatSymbols_bs_Cyrl_BA'); +goog.provide('goog.i18n.NumberFormatSymbols_bs_Latn'); +goog.provide('goog.i18n.NumberFormatSymbols_bs_Latn_BA'); +goog.provide('goog.i18n.NumberFormatSymbols_ca_AD'); +goog.provide('goog.i18n.NumberFormatSymbols_ca_ES'); +goog.provide('goog.i18n.NumberFormatSymbols_ca_FR'); +goog.provide('goog.i18n.NumberFormatSymbols_ca_IT'); +goog.provide('goog.i18n.NumberFormatSymbols_ce'); +goog.provide('goog.i18n.NumberFormatSymbols_ce_RU'); +goog.provide('goog.i18n.NumberFormatSymbols_cgg'); +goog.provide('goog.i18n.NumberFormatSymbols_cgg_UG'); +goog.provide('goog.i18n.NumberFormatSymbols_chr_US'); +goog.provide('goog.i18n.NumberFormatSymbols_ckb'); +goog.provide('goog.i18n.NumberFormatSymbols_ckb_IQ'); +goog.provide('goog.i18n.NumberFormatSymbols_ckb_IR'); +goog.provide('goog.i18n.NumberFormatSymbols_cs_CZ'); +goog.provide('goog.i18n.NumberFormatSymbols_cy_GB'); +goog.provide('goog.i18n.NumberFormatSymbols_da_DK'); +goog.provide('goog.i18n.NumberFormatSymbols_da_GL'); +goog.provide('goog.i18n.NumberFormatSymbols_dav'); +goog.provide('goog.i18n.NumberFormatSymbols_dav_KE'); +goog.provide('goog.i18n.NumberFormatSymbols_de_BE'); +goog.provide('goog.i18n.NumberFormatSymbols_de_DE'); +goog.provide('goog.i18n.NumberFormatSymbols_de_IT'); +goog.provide('goog.i18n.NumberFormatSymbols_de_LI'); +goog.provide('goog.i18n.NumberFormatSymbols_de_LU'); +goog.provide('goog.i18n.NumberFormatSymbols_dje'); +goog.provide('goog.i18n.NumberFormatSymbols_dje_NE'); +goog.provide('goog.i18n.NumberFormatSymbols_dsb'); +goog.provide('goog.i18n.NumberFormatSymbols_dsb_DE'); +goog.provide('goog.i18n.NumberFormatSymbols_dua'); +goog.provide('goog.i18n.NumberFormatSymbols_dua_CM'); +goog.provide('goog.i18n.NumberFormatSymbols_dyo'); +goog.provide('goog.i18n.NumberFormatSymbols_dyo_SN'); +goog.provide('goog.i18n.NumberFormatSymbols_dz'); +goog.provide('goog.i18n.NumberFormatSymbols_dz_BT'); +goog.provide('goog.i18n.NumberFormatSymbols_ebu'); +goog.provide('goog.i18n.NumberFormatSymbols_ebu_KE'); +goog.provide('goog.i18n.NumberFormatSymbols_ee'); +goog.provide('goog.i18n.NumberFormatSymbols_ee_GH'); +goog.provide('goog.i18n.NumberFormatSymbols_ee_TG'); +goog.provide('goog.i18n.NumberFormatSymbols_el_CY'); +goog.provide('goog.i18n.NumberFormatSymbols_el_GR'); +goog.provide('goog.i18n.NumberFormatSymbols_en_001'); +goog.provide('goog.i18n.NumberFormatSymbols_en_150'); +goog.provide('goog.i18n.NumberFormatSymbols_en_AG'); +goog.provide('goog.i18n.NumberFormatSymbols_en_AI'); +goog.provide('goog.i18n.NumberFormatSymbols_en_AS'); +goog.provide('goog.i18n.NumberFormatSymbols_en_AT'); +goog.provide('goog.i18n.NumberFormatSymbols_en_BB'); +goog.provide('goog.i18n.NumberFormatSymbols_en_BE'); +goog.provide('goog.i18n.NumberFormatSymbols_en_BI'); +goog.provide('goog.i18n.NumberFormatSymbols_en_BM'); +goog.provide('goog.i18n.NumberFormatSymbols_en_BS'); +goog.provide('goog.i18n.NumberFormatSymbols_en_BW'); +goog.provide('goog.i18n.NumberFormatSymbols_en_BZ'); +goog.provide('goog.i18n.NumberFormatSymbols_en_CC'); +goog.provide('goog.i18n.NumberFormatSymbols_en_CH'); +goog.provide('goog.i18n.NumberFormatSymbols_en_CK'); +goog.provide('goog.i18n.NumberFormatSymbols_en_CM'); +goog.provide('goog.i18n.NumberFormatSymbols_en_CX'); +goog.provide('goog.i18n.NumberFormatSymbols_en_CY'); +goog.provide('goog.i18n.NumberFormatSymbols_en_DE'); +goog.provide('goog.i18n.NumberFormatSymbols_en_DG'); +goog.provide('goog.i18n.NumberFormatSymbols_en_DK'); +goog.provide('goog.i18n.NumberFormatSymbols_en_DM'); +goog.provide('goog.i18n.NumberFormatSymbols_en_ER'); +goog.provide('goog.i18n.NumberFormatSymbols_en_FI'); +goog.provide('goog.i18n.NumberFormatSymbols_en_FJ'); +goog.provide('goog.i18n.NumberFormatSymbols_en_FK'); +goog.provide('goog.i18n.NumberFormatSymbols_en_FM'); +goog.provide('goog.i18n.NumberFormatSymbols_en_GD'); +goog.provide('goog.i18n.NumberFormatSymbols_en_GG'); +goog.provide('goog.i18n.NumberFormatSymbols_en_GH'); +goog.provide('goog.i18n.NumberFormatSymbols_en_GI'); +goog.provide('goog.i18n.NumberFormatSymbols_en_GM'); +goog.provide('goog.i18n.NumberFormatSymbols_en_GU'); +goog.provide('goog.i18n.NumberFormatSymbols_en_GY'); +goog.provide('goog.i18n.NumberFormatSymbols_en_HK'); +goog.provide('goog.i18n.NumberFormatSymbols_en_IL'); +goog.provide('goog.i18n.NumberFormatSymbols_en_IM'); +goog.provide('goog.i18n.NumberFormatSymbols_en_IO'); +goog.provide('goog.i18n.NumberFormatSymbols_en_JE'); +goog.provide('goog.i18n.NumberFormatSymbols_en_JM'); +goog.provide('goog.i18n.NumberFormatSymbols_en_KE'); +goog.provide('goog.i18n.NumberFormatSymbols_en_KI'); +goog.provide('goog.i18n.NumberFormatSymbols_en_KN'); +goog.provide('goog.i18n.NumberFormatSymbols_en_KY'); +goog.provide('goog.i18n.NumberFormatSymbols_en_LC'); +goog.provide('goog.i18n.NumberFormatSymbols_en_LR'); +goog.provide('goog.i18n.NumberFormatSymbols_en_LS'); +goog.provide('goog.i18n.NumberFormatSymbols_en_MG'); +goog.provide('goog.i18n.NumberFormatSymbols_en_MH'); +goog.provide('goog.i18n.NumberFormatSymbols_en_MO'); +goog.provide('goog.i18n.NumberFormatSymbols_en_MP'); +goog.provide('goog.i18n.NumberFormatSymbols_en_MS'); +goog.provide('goog.i18n.NumberFormatSymbols_en_MT'); +goog.provide('goog.i18n.NumberFormatSymbols_en_MU'); +goog.provide('goog.i18n.NumberFormatSymbols_en_MW'); +goog.provide('goog.i18n.NumberFormatSymbols_en_MY'); +goog.provide('goog.i18n.NumberFormatSymbols_en_NA'); +goog.provide('goog.i18n.NumberFormatSymbols_en_NF'); +goog.provide('goog.i18n.NumberFormatSymbols_en_NG'); +goog.provide('goog.i18n.NumberFormatSymbols_en_NL'); +goog.provide('goog.i18n.NumberFormatSymbols_en_NR'); +goog.provide('goog.i18n.NumberFormatSymbols_en_NU'); +goog.provide('goog.i18n.NumberFormatSymbols_en_NZ'); +goog.provide('goog.i18n.NumberFormatSymbols_en_PG'); +goog.provide('goog.i18n.NumberFormatSymbols_en_PH'); +goog.provide('goog.i18n.NumberFormatSymbols_en_PK'); +goog.provide('goog.i18n.NumberFormatSymbols_en_PN'); +goog.provide('goog.i18n.NumberFormatSymbols_en_PR'); +goog.provide('goog.i18n.NumberFormatSymbols_en_PW'); +goog.provide('goog.i18n.NumberFormatSymbols_en_RW'); +goog.provide('goog.i18n.NumberFormatSymbols_en_SB'); +goog.provide('goog.i18n.NumberFormatSymbols_en_SC'); +goog.provide('goog.i18n.NumberFormatSymbols_en_SD'); +goog.provide('goog.i18n.NumberFormatSymbols_en_SE'); +goog.provide('goog.i18n.NumberFormatSymbols_en_SH'); +goog.provide('goog.i18n.NumberFormatSymbols_en_SI'); +goog.provide('goog.i18n.NumberFormatSymbols_en_SL'); +goog.provide('goog.i18n.NumberFormatSymbols_en_SS'); +goog.provide('goog.i18n.NumberFormatSymbols_en_SX'); +goog.provide('goog.i18n.NumberFormatSymbols_en_SZ'); +goog.provide('goog.i18n.NumberFormatSymbols_en_TC'); +goog.provide('goog.i18n.NumberFormatSymbols_en_TK'); +goog.provide('goog.i18n.NumberFormatSymbols_en_TO'); +goog.provide('goog.i18n.NumberFormatSymbols_en_TT'); +goog.provide('goog.i18n.NumberFormatSymbols_en_TV'); +goog.provide('goog.i18n.NumberFormatSymbols_en_TZ'); +goog.provide('goog.i18n.NumberFormatSymbols_en_UG'); +goog.provide('goog.i18n.NumberFormatSymbols_en_UM'); +goog.provide('goog.i18n.NumberFormatSymbols_en_US_POSIX'); +goog.provide('goog.i18n.NumberFormatSymbols_en_VC'); +goog.provide('goog.i18n.NumberFormatSymbols_en_VG'); +goog.provide('goog.i18n.NumberFormatSymbols_en_VI'); +goog.provide('goog.i18n.NumberFormatSymbols_en_VU'); +goog.provide('goog.i18n.NumberFormatSymbols_en_WS'); +goog.provide('goog.i18n.NumberFormatSymbols_en_XA'); +goog.provide('goog.i18n.NumberFormatSymbols_en_ZM'); +goog.provide('goog.i18n.NumberFormatSymbols_en_ZW'); +goog.provide('goog.i18n.NumberFormatSymbols_eo'); +goog.provide('goog.i18n.NumberFormatSymbols_es_AR'); +goog.provide('goog.i18n.NumberFormatSymbols_es_BO'); +goog.provide('goog.i18n.NumberFormatSymbols_es_BR'); +goog.provide('goog.i18n.NumberFormatSymbols_es_BZ'); +goog.provide('goog.i18n.NumberFormatSymbols_es_CL'); +goog.provide('goog.i18n.NumberFormatSymbols_es_CO'); +goog.provide('goog.i18n.NumberFormatSymbols_es_CR'); +goog.provide('goog.i18n.NumberFormatSymbols_es_CU'); +goog.provide('goog.i18n.NumberFormatSymbols_es_DO'); +goog.provide('goog.i18n.NumberFormatSymbols_es_EA'); +goog.provide('goog.i18n.NumberFormatSymbols_es_EC'); +goog.provide('goog.i18n.NumberFormatSymbols_es_GQ'); +goog.provide('goog.i18n.NumberFormatSymbols_es_GT'); +goog.provide('goog.i18n.NumberFormatSymbols_es_HN'); +goog.provide('goog.i18n.NumberFormatSymbols_es_IC'); +goog.provide('goog.i18n.NumberFormatSymbols_es_NI'); +goog.provide('goog.i18n.NumberFormatSymbols_es_PA'); +goog.provide('goog.i18n.NumberFormatSymbols_es_PE'); +goog.provide('goog.i18n.NumberFormatSymbols_es_PH'); +goog.provide('goog.i18n.NumberFormatSymbols_es_PR'); +goog.provide('goog.i18n.NumberFormatSymbols_es_PY'); +goog.provide('goog.i18n.NumberFormatSymbols_es_SV'); +goog.provide('goog.i18n.NumberFormatSymbols_es_UY'); +goog.provide('goog.i18n.NumberFormatSymbols_es_VE'); +goog.provide('goog.i18n.NumberFormatSymbols_et_EE'); +goog.provide('goog.i18n.NumberFormatSymbols_eu_ES'); +goog.provide('goog.i18n.NumberFormatSymbols_ewo'); +goog.provide('goog.i18n.NumberFormatSymbols_ewo_CM'); +goog.provide('goog.i18n.NumberFormatSymbols_fa_AF'); +goog.provide('goog.i18n.NumberFormatSymbols_fa_IR'); +goog.provide('goog.i18n.NumberFormatSymbols_ff'); +goog.provide('goog.i18n.NumberFormatSymbols_ff_CM'); +goog.provide('goog.i18n.NumberFormatSymbols_ff_GN'); +goog.provide('goog.i18n.NumberFormatSymbols_ff_MR'); +goog.provide('goog.i18n.NumberFormatSymbols_ff_SN'); +goog.provide('goog.i18n.NumberFormatSymbols_fi_FI'); +goog.provide('goog.i18n.NumberFormatSymbols_fil_PH'); +goog.provide('goog.i18n.NumberFormatSymbols_fo'); +goog.provide('goog.i18n.NumberFormatSymbols_fo_DK'); +goog.provide('goog.i18n.NumberFormatSymbols_fo_FO'); +goog.provide('goog.i18n.NumberFormatSymbols_fr_BE'); +goog.provide('goog.i18n.NumberFormatSymbols_fr_BF'); +goog.provide('goog.i18n.NumberFormatSymbols_fr_BI'); +goog.provide('goog.i18n.NumberFormatSymbols_fr_BJ'); +goog.provide('goog.i18n.NumberFormatSymbols_fr_BL'); +goog.provide('goog.i18n.NumberFormatSymbols_fr_CD'); +goog.provide('goog.i18n.NumberFormatSymbols_fr_CF'); +goog.provide('goog.i18n.NumberFormatSymbols_fr_CG'); +goog.provide('goog.i18n.NumberFormatSymbols_fr_CH'); +goog.provide('goog.i18n.NumberFormatSymbols_fr_CI'); +goog.provide('goog.i18n.NumberFormatSymbols_fr_CM'); +goog.provide('goog.i18n.NumberFormatSymbols_fr_DJ'); +goog.provide('goog.i18n.NumberFormatSymbols_fr_DZ'); +goog.provide('goog.i18n.NumberFormatSymbols_fr_FR'); +goog.provide('goog.i18n.NumberFormatSymbols_fr_GA'); +goog.provide('goog.i18n.NumberFormatSymbols_fr_GF'); +goog.provide('goog.i18n.NumberFormatSymbols_fr_GN'); +goog.provide('goog.i18n.NumberFormatSymbols_fr_GP'); +goog.provide('goog.i18n.NumberFormatSymbols_fr_GQ'); +goog.provide('goog.i18n.NumberFormatSymbols_fr_HT'); +goog.provide('goog.i18n.NumberFormatSymbols_fr_KM'); +goog.provide('goog.i18n.NumberFormatSymbols_fr_LU'); +goog.provide('goog.i18n.NumberFormatSymbols_fr_MA'); +goog.provide('goog.i18n.NumberFormatSymbols_fr_MC'); +goog.provide('goog.i18n.NumberFormatSymbols_fr_MF'); +goog.provide('goog.i18n.NumberFormatSymbols_fr_MG'); +goog.provide('goog.i18n.NumberFormatSymbols_fr_ML'); +goog.provide('goog.i18n.NumberFormatSymbols_fr_MQ'); +goog.provide('goog.i18n.NumberFormatSymbols_fr_MR'); +goog.provide('goog.i18n.NumberFormatSymbols_fr_MU'); +goog.provide('goog.i18n.NumberFormatSymbols_fr_NC'); +goog.provide('goog.i18n.NumberFormatSymbols_fr_NE'); +goog.provide('goog.i18n.NumberFormatSymbols_fr_PF'); +goog.provide('goog.i18n.NumberFormatSymbols_fr_PM'); +goog.provide('goog.i18n.NumberFormatSymbols_fr_RE'); +goog.provide('goog.i18n.NumberFormatSymbols_fr_RW'); +goog.provide('goog.i18n.NumberFormatSymbols_fr_SC'); +goog.provide('goog.i18n.NumberFormatSymbols_fr_SN'); +goog.provide('goog.i18n.NumberFormatSymbols_fr_SY'); +goog.provide('goog.i18n.NumberFormatSymbols_fr_TD'); +goog.provide('goog.i18n.NumberFormatSymbols_fr_TG'); +goog.provide('goog.i18n.NumberFormatSymbols_fr_TN'); +goog.provide('goog.i18n.NumberFormatSymbols_fr_VU'); +goog.provide('goog.i18n.NumberFormatSymbols_fr_WF'); +goog.provide('goog.i18n.NumberFormatSymbols_fr_YT'); +goog.provide('goog.i18n.NumberFormatSymbols_fur'); +goog.provide('goog.i18n.NumberFormatSymbols_fur_IT'); +goog.provide('goog.i18n.NumberFormatSymbols_fy'); +goog.provide('goog.i18n.NumberFormatSymbols_fy_NL'); +goog.provide('goog.i18n.NumberFormatSymbols_ga_IE'); +goog.provide('goog.i18n.NumberFormatSymbols_gd'); +goog.provide('goog.i18n.NumberFormatSymbols_gd_GB'); +goog.provide('goog.i18n.NumberFormatSymbols_gl_ES'); +goog.provide('goog.i18n.NumberFormatSymbols_gsw_CH'); +goog.provide('goog.i18n.NumberFormatSymbols_gsw_FR'); +goog.provide('goog.i18n.NumberFormatSymbols_gsw_LI'); +goog.provide('goog.i18n.NumberFormatSymbols_gu_IN'); +goog.provide('goog.i18n.NumberFormatSymbols_guz'); +goog.provide('goog.i18n.NumberFormatSymbols_guz_KE'); +goog.provide('goog.i18n.NumberFormatSymbols_gv'); +goog.provide('goog.i18n.NumberFormatSymbols_gv_IM'); +goog.provide('goog.i18n.NumberFormatSymbols_ha'); +goog.provide('goog.i18n.NumberFormatSymbols_ha_GH'); +goog.provide('goog.i18n.NumberFormatSymbols_ha_NE'); +goog.provide('goog.i18n.NumberFormatSymbols_ha_NG'); +goog.provide('goog.i18n.NumberFormatSymbols_haw_US'); +goog.provide('goog.i18n.NumberFormatSymbols_he_IL'); +goog.provide('goog.i18n.NumberFormatSymbols_hi_IN'); +goog.provide('goog.i18n.NumberFormatSymbols_hr_BA'); +goog.provide('goog.i18n.NumberFormatSymbols_hr_HR'); +goog.provide('goog.i18n.NumberFormatSymbols_hsb'); +goog.provide('goog.i18n.NumberFormatSymbols_hsb_DE'); +goog.provide('goog.i18n.NumberFormatSymbols_hu_HU'); +goog.provide('goog.i18n.NumberFormatSymbols_hy_AM'); +goog.provide('goog.i18n.NumberFormatSymbols_id_ID'); +goog.provide('goog.i18n.NumberFormatSymbols_ig'); +goog.provide('goog.i18n.NumberFormatSymbols_ig_NG'); +goog.provide('goog.i18n.NumberFormatSymbols_ii'); +goog.provide('goog.i18n.NumberFormatSymbols_ii_CN'); +goog.provide('goog.i18n.NumberFormatSymbols_is_IS'); +goog.provide('goog.i18n.NumberFormatSymbols_it_CH'); +goog.provide('goog.i18n.NumberFormatSymbols_it_IT'); +goog.provide('goog.i18n.NumberFormatSymbols_it_SM'); +goog.provide('goog.i18n.NumberFormatSymbols_it_VA'); +goog.provide('goog.i18n.NumberFormatSymbols_ja_JP'); +goog.provide('goog.i18n.NumberFormatSymbols_jgo'); +goog.provide('goog.i18n.NumberFormatSymbols_jgo_CM'); +goog.provide('goog.i18n.NumberFormatSymbols_jmc'); +goog.provide('goog.i18n.NumberFormatSymbols_jmc_TZ'); +goog.provide('goog.i18n.NumberFormatSymbols_ka_GE'); +goog.provide('goog.i18n.NumberFormatSymbols_kab'); +goog.provide('goog.i18n.NumberFormatSymbols_kab_DZ'); +goog.provide('goog.i18n.NumberFormatSymbols_kam'); +goog.provide('goog.i18n.NumberFormatSymbols_kam_KE'); +goog.provide('goog.i18n.NumberFormatSymbols_kde'); +goog.provide('goog.i18n.NumberFormatSymbols_kde_TZ'); +goog.provide('goog.i18n.NumberFormatSymbols_kea'); +goog.provide('goog.i18n.NumberFormatSymbols_kea_CV'); +goog.provide('goog.i18n.NumberFormatSymbols_khq'); +goog.provide('goog.i18n.NumberFormatSymbols_khq_ML'); +goog.provide('goog.i18n.NumberFormatSymbols_ki'); +goog.provide('goog.i18n.NumberFormatSymbols_ki_KE'); +goog.provide('goog.i18n.NumberFormatSymbols_kk_KZ'); +goog.provide('goog.i18n.NumberFormatSymbols_kkj'); +goog.provide('goog.i18n.NumberFormatSymbols_kkj_CM'); +goog.provide('goog.i18n.NumberFormatSymbols_kl'); +goog.provide('goog.i18n.NumberFormatSymbols_kl_GL'); +goog.provide('goog.i18n.NumberFormatSymbols_kln'); +goog.provide('goog.i18n.NumberFormatSymbols_kln_KE'); +goog.provide('goog.i18n.NumberFormatSymbols_km_KH'); +goog.provide('goog.i18n.NumberFormatSymbols_kn_IN'); +goog.provide('goog.i18n.NumberFormatSymbols_ko_KP'); +goog.provide('goog.i18n.NumberFormatSymbols_ko_KR'); +goog.provide('goog.i18n.NumberFormatSymbols_kok'); +goog.provide('goog.i18n.NumberFormatSymbols_kok_IN'); +goog.provide('goog.i18n.NumberFormatSymbols_ks'); +goog.provide('goog.i18n.NumberFormatSymbols_ks_IN'); +goog.provide('goog.i18n.NumberFormatSymbols_ksb'); +goog.provide('goog.i18n.NumberFormatSymbols_ksb_TZ'); +goog.provide('goog.i18n.NumberFormatSymbols_ksf'); +goog.provide('goog.i18n.NumberFormatSymbols_ksf_CM'); +goog.provide('goog.i18n.NumberFormatSymbols_ksh'); +goog.provide('goog.i18n.NumberFormatSymbols_ksh_DE'); +goog.provide('goog.i18n.NumberFormatSymbols_kw'); +goog.provide('goog.i18n.NumberFormatSymbols_kw_GB'); +goog.provide('goog.i18n.NumberFormatSymbols_ky_KG'); +goog.provide('goog.i18n.NumberFormatSymbols_lag'); +goog.provide('goog.i18n.NumberFormatSymbols_lag_TZ'); +goog.provide('goog.i18n.NumberFormatSymbols_lb'); +goog.provide('goog.i18n.NumberFormatSymbols_lb_LU'); +goog.provide('goog.i18n.NumberFormatSymbols_lg'); +goog.provide('goog.i18n.NumberFormatSymbols_lg_UG'); +goog.provide('goog.i18n.NumberFormatSymbols_lkt'); +goog.provide('goog.i18n.NumberFormatSymbols_lkt_US'); +goog.provide('goog.i18n.NumberFormatSymbols_ln_AO'); +goog.provide('goog.i18n.NumberFormatSymbols_ln_CD'); +goog.provide('goog.i18n.NumberFormatSymbols_ln_CF'); +goog.provide('goog.i18n.NumberFormatSymbols_ln_CG'); +goog.provide('goog.i18n.NumberFormatSymbols_lo_LA'); +goog.provide('goog.i18n.NumberFormatSymbols_lrc'); +goog.provide('goog.i18n.NumberFormatSymbols_lrc_IQ'); +goog.provide('goog.i18n.NumberFormatSymbols_lrc_IR'); +goog.provide('goog.i18n.NumberFormatSymbols_lt_LT'); +goog.provide('goog.i18n.NumberFormatSymbols_lu'); +goog.provide('goog.i18n.NumberFormatSymbols_lu_CD'); +goog.provide('goog.i18n.NumberFormatSymbols_luo'); +goog.provide('goog.i18n.NumberFormatSymbols_luo_KE'); +goog.provide('goog.i18n.NumberFormatSymbols_luy'); +goog.provide('goog.i18n.NumberFormatSymbols_luy_KE'); +goog.provide('goog.i18n.NumberFormatSymbols_lv_LV'); +goog.provide('goog.i18n.NumberFormatSymbols_mas'); +goog.provide('goog.i18n.NumberFormatSymbols_mas_KE'); +goog.provide('goog.i18n.NumberFormatSymbols_mas_TZ'); +goog.provide('goog.i18n.NumberFormatSymbols_mer'); +goog.provide('goog.i18n.NumberFormatSymbols_mer_KE'); +goog.provide('goog.i18n.NumberFormatSymbols_mfe'); +goog.provide('goog.i18n.NumberFormatSymbols_mfe_MU'); +goog.provide('goog.i18n.NumberFormatSymbols_mg'); +goog.provide('goog.i18n.NumberFormatSymbols_mg_MG'); +goog.provide('goog.i18n.NumberFormatSymbols_mgh'); +goog.provide('goog.i18n.NumberFormatSymbols_mgh_MZ'); +goog.provide('goog.i18n.NumberFormatSymbols_mgo'); +goog.provide('goog.i18n.NumberFormatSymbols_mgo_CM'); +goog.provide('goog.i18n.NumberFormatSymbols_mk_MK'); +goog.provide('goog.i18n.NumberFormatSymbols_ml_IN'); +goog.provide('goog.i18n.NumberFormatSymbols_mn_MN'); +goog.provide('goog.i18n.NumberFormatSymbols_mr_IN'); +goog.provide('goog.i18n.NumberFormatSymbols_ms_BN'); +goog.provide('goog.i18n.NumberFormatSymbols_ms_MY'); +goog.provide('goog.i18n.NumberFormatSymbols_ms_SG'); +goog.provide('goog.i18n.NumberFormatSymbols_mt_MT'); +goog.provide('goog.i18n.NumberFormatSymbols_mua'); +goog.provide('goog.i18n.NumberFormatSymbols_mua_CM'); +goog.provide('goog.i18n.NumberFormatSymbols_my_MM'); +goog.provide('goog.i18n.NumberFormatSymbols_mzn'); +goog.provide('goog.i18n.NumberFormatSymbols_mzn_IR'); +goog.provide('goog.i18n.NumberFormatSymbols_naq'); +goog.provide('goog.i18n.NumberFormatSymbols_naq_NA'); +goog.provide('goog.i18n.NumberFormatSymbols_nb_NO'); +goog.provide('goog.i18n.NumberFormatSymbols_nb_SJ'); +goog.provide('goog.i18n.NumberFormatSymbols_nd'); +goog.provide('goog.i18n.NumberFormatSymbols_nd_ZW'); +goog.provide('goog.i18n.NumberFormatSymbols_nds'); +goog.provide('goog.i18n.NumberFormatSymbols_nds_DE'); +goog.provide('goog.i18n.NumberFormatSymbols_nds_NL'); +goog.provide('goog.i18n.NumberFormatSymbols_ne_IN'); +goog.provide('goog.i18n.NumberFormatSymbols_ne_NP'); +goog.provide('goog.i18n.NumberFormatSymbols_nl_AW'); +goog.provide('goog.i18n.NumberFormatSymbols_nl_BE'); +goog.provide('goog.i18n.NumberFormatSymbols_nl_BQ'); +goog.provide('goog.i18n.NumberFormatSymbols_nl_CW'); +goog.provide('goog.i18n.NumberFormatSymbols_nl_NL'); +goog.provide('goog.i18n.NumberFormatSymbols_nl_SR'); +goog.provide('goog.i18n.NumberFormatSymbols_nl_SX'); +goog.provide('goog.i18n.NumberFormatSymbols_nmg'); +goog.provide('goog.i18n.NumberFormatSymbols_nmg_CM'); +goog.provide('goog.i18n.NumberFormatSymbols_nn'); +goog.provide('goog.i18n.NumberFormatSymbols_nn_NO'); +goog.provide('goog.i18n.NumberFormatSymbols_nnh'); +goog.provide('goog.i18n.NumberFormatSymbols_nnh_CM'); +goog.provide('goog.i18n.NumberFormatSymbols_nus'); +goog.provide('goog.i18n.NumberFormatSymbols_nus_SS'); +goog.provide('goog.i18n.NumberFormatSymbols_nyn'); +goog.provide('goog.i18n.NumberFormatSymbols_nyn_UG'); +goog.provide('goog.i18n.NumberFormatSymbols_om'); +goog.provide('goog.i18n.NumberFormatSymbols_om_ET'); +goog.provide('goog.i18n.NumberFormatSymbols_om_KE'); +goog.provide('goog.i18n.NumberFormatSymbols_or_IN'); +goog.provide('goog.i18n.NumberFormatSymbols_os'); +goog.provide('goog.i18n.NumberFormatSymbols_os_GE'); +goog.provide('goog.i18n.NumberFormatSymbols_os_RU'); +goog.provide('goog.i18n.NumberFormatSymbols_pa_Arab'); +goog.provide('goog.i18n.NumberFormatSymbols_pa_Arab_PK'); +goog.provide('goog.i18n.NumberFormatSymbols_pa_Guru'); +goog.provide('goog.i18n.NumberFormatSymbols_pa_Guru_IN'); +goog.provide('goog.i18n.NumberFormatSymbols_pl_PL'); +goog.provide('goog.i18n.NumberFormatSymbols_ps'); +goog.provide('goog.i18n.NumberFormatSymbols_ps_AF'); +goog.provide('goog.i18n.NumberFormatSymbols_pt_AO'); +goog.provide('goog.i18n.NumberFormatSymbols_pt_CH'); +goog.provide('goog.i18n.NumberFormatSymbols_pt_CV'); +goog.provide('goog.i18n.NumberFormatSymbols_pt_GQ'); +goog.provide('goog.i18n.NumberFormatSymbols_pt_GW'); +goog.provide('goog.i18n.NumberFormatSymbols_pt_LU'); +goog.provide('goog.i18n.NumberFormatSymbols_pt_MO'); +goog.provide('goog.i18n.NumberFormatSymbols_pt_MZ'); +goog.provide('goog.i18n.NumberFormatSymbols_pt_ST'); +goog.provide('goog.i18n.NumberFormatSymbols_pt_TL'); +goog.provide('goog.i18n.NumberFormatSymbols_qu'); +goog.provide('goog.i18n.NumberFormatSymbols_qu_BO'); +goog.provide('goog.i18n.NumberFormatSymbols_qu_EC'); +goog.provide('goog.i18n.NumberFormatSymbols_qu_PE'); +goog.provide('goog.i18n.NumberFormatSymbols_rm'); +goog.provide('goog.i18n.NumberFormatSymbols_rm_CH'); +goog.provide('goog.i18n.NumberFormatSymbols_rn'); +goog.provide('goog.i18n.NumberFormatSymbols_rn_BI'); +goog.provide('goog.i18n.NumberFormatSymbols_ro_MD'); +goog.provide('goog.i18n.NumberFormatSymbols_ro_RO'); +goog.provide('goog.i18n.NumberFormatSymbols_rof'); +goog.provide('goog.i18n.NumberFormatSymbols_rof_TZ'); +goog.provide('goog.i18n.NumberFormatSymbols_ru_BY'); +goog.provide('goog.i18n.NumberFormatSymbols_ru_KG'); +goog.provide('goog.i18n.NumberFormatSymbols_ru_KZ'); +goog.provide('goog.i18n.NumberFormatSymbols_ru_MD'); +goog.provide('goog.i18n.NumberFormatSymbols_ru_RU'); +goog.provide('goog.i18n.NumberFormatSymbols_ru_UA'); +goog.provide('goog.i18n.NumberFormatSymbols_rw'); +goog.provide('goog.i18n.NumberFormatSymbols_rw_RW'); +goog.provide('goog.i18n.NumberFormatSymbols_rwk'); +goog.provide('goog.i18n.NumberFormatSymbols_rwk_TZ'); +goog.provide('goog.i18n.NumberFormatSymbols_sah'); +goog.provide('goog.i18n.NumberFormatSymbols_sah_RU'); +goog.provide('goog.i18n.NumberFormatSymbols_saq'); +goog.provide('goog.i18n.NumberFormatSymbols_saq_KE'); +goog.provide('goog.i18n.NumberFormatSymbols_sbp'); +goog.provide('goog.i18n.NumberFormatSymbols_sbp_TZ'); +goog.provide('goog.i18n.NumberFormatSymbols_se'); +goog.provide('goog.i18n.NumberFormatSymbols_se_FI'); +goog.provide('goog.i18n.NumberFormatSymbols_se_NO'); +goog.provide('goog.i18n.NumberFormatSymbols_se_SE'); +goog.provide('goog.i18n.NumberFormatSymbols_seh'); +goog.provide('goog.i18n.NumberFormatSymbols_seh_MZ'); +goog.provide('goog.i18n.NumberFormatSymbols_ses'); +goog.provide('goog.i18n.NumberFormatSymbols_ses_ML'); +goog.provide('goog.i18n.NumberFormatSymbols_sg'); +goog.provide('goog.i18n.NumberFormatSymbols_sg_CF'); +goog.provide('goog.i18n.NumberFormatSymbols_shi'); +goog.provide('goog.i18n.NumberFormatSymbols_shi_Latn'); +goog.provide('goog.i18n.NumberFormatSymbols_shi_Latn_MA'); +goog.provide('goog.i18n.NumberFormatSymbols_shi_Tfng'); +goog.provide('goog.i18n.NumberFormatSymbols_shi_Tfng_MA'); +goog.provide('goog.i18n.NumberFormatSymbols_si_LK'); +goog.provide('goog.i18n.NumberFormatSymbols_sk_SK'); +goog.provide('goog.i18n.NumberFormatSymbols_sl_SI'); +goog.provide('goog.i18n.NumberFormatSymbols_smn'); +goog.provide('goog.i18n.NumberFormatSymbols_smn_FI'); +goog.provide('goog.i18n.NumberFormatSymbols_sn'); +goog.provide('goog.i18n.NumberFormatSymbols_sn_ZW'); +goog.provide('goog.i18n.NumberFormatSymbols_so'); +goog.provide('goog.i18n.NumberFormatSymbols_so_DJ'); +goog.provide('goog.i18n.NumberFormatSymbols_so_ET'); +goog.provide('goog.i18n.NumberFormatSymbols_so_KE'); +goog.provide('goog.i18n.NumberFormatSymbols_so_SO'); +goog.provide('goog.i18n.NumberFormatSymbols_sq_AL'); +goog.provide('goog.i18n.NumberFormatSymbols_sq_MK'); +goog.provide('goog.i18n.NumberFormatSymbols_sq_XK'); +goog.provide('goog.i18n.NumberFormatSymbols_sr_Cyrl'); +goog.provide('goog.i18n.NumberFormatSymbols_sr_Cyrl_BA'); +goog.provide('goog.i18n.NumberFormatSymbols_sr_Cyrl_ME'); +goog.provide('goog.i18n.NumberFormatSymbols_sr_Cyrl_RS'); +goog.provide('goog.i18n.NumberFormatSymbols_sr_Cyrl_XK'); +goog.provide('goog.i18n.NumberFormatSymbols_sr_Latn_BA'); +goog.provide('goog.i18n.NumberFormatSymbols_sr_Latn_ME'); +goog.provide('goog.i18n.NumberFormatSymbols_sr_Latn_RS'); +goog.provide('goog.i18n.NumberFormatSymbols_sr_Latn_XK'); +goog.provide('goog.i18n.NumberFormatSymbols_sv_AX'); +goog.provide('goog.i18n.NumberFormatSymbols_sv_FI'); +goog.provide('goog.i18n.NumberFormatSymbols_sv_SE'); +goog.provide('goog.i18n.NumberFormatSymbols_sw_CD'); +goog.provide('goog.i18n.NumberFormatSymbols_sw_KE'); +goog.provide('goog.i18n.NumberFormatSymbols_sw_TZ'); +goog.provide('goog.i18n.NumberFormatSymbols_sw_UG'); +goog.provide('goog.i18n.NumberFormatSymbols_ta_IN'); +goog.provide('goog.i18n.NumberFormatSymbols_ta_LK'); +goog.provide('goog.i18n.NumberFormatSymbols_ta_MY'); +goog.provide('goog.i18n.NumberFormatSymbols_ta_SG'); +goog.provide('goog.i18n.NumberFormatSymbols_te_IN'); +goog.provide('goog.i18n.NumberFormatSymbols_teo'); +goog.provide('goog.i18n.NumberFormatSymbols_teo_KE'); +goog.provide('goog.i18n.NumberFormatSymbols_teo_UG'); +goog.provide('goog.i18n.NumberFormatSymbols_th_TH'); +goog.provide('goog.i18n.NumberFormatSymbols_ti'); +goog.provide('goog.i18n.NumberFormatSymbols_ti_ER'); +goog.provide('goog.i18n.NumberFormatSymbols_ti_ET'); +goog.provide('goog.i18n.NumberFormatSymbols_to'); +goog.provide('goog.i18n.NumberFormatSymbols_to_TO'); +goog.provide('goog.i18n.NumberFormatSymbols_tr_CY'); +goog.provide('goog.i18n.NumberFormatSymbols_tr_TR'); +goog.provide('goog.i18n.NumberFormatSymbols_twq'); +goog.provide('goog.i18n.NumberFormatSymbols_twq_NE'); +goog.provide('goog.i18n.NumberFormatSymbols_tzm'); +goog.provide('goog.i18n.NumberFormatSymbols_tzm_MA'); +goog.provide('goog.i18n.NumberFormatSymbols_ug'); +goog.provide('goog.i18n.NumberFormatSymbols_ug_CN'); +goog.provide('goog.i18n.NumberFormatSymbols_uk_UA'); +goog.provide('goog.i18n.NumberFormatSymbols_ur_IN'); +goog.provide('goog.i18n.NumberFormatSymbols_ur_PK'); +goog.provide('goog.i18n.NumberFormatSymbols_uz_Arab'); +goog.provide('goog.i18n.NumberFormatSymbols_uz_Arab_AF'); +goog.provide('goog.i18n.NumberFormatSymbols_uz_Cyrl'); +goog.provide('goog.i18n.NumberFormatSymbols_uz_Cyrl_UZ'); +goog.provide('goog.i18n.NumberFormatSymbols_uz_Latn'); +goog.provide('goog.i18n.NumberFormatSymbols_uz_Latn_UZ'); +goog.provide('goog.i18n.NumberFormatSymbols_vai'); +goog.provide('goog.i18n.NumberFormatSymbols_vai_Latn'); +goog.provide('goog.i18n.NumberFormatSymbols_vai_Latn_LR'); +goog.provide('goog.i18n.NumberFormatSymbols_vai_Vaii'); +goog.provide('goog.i18n.NumberFormatSymbols_vai_Vaii_LR'); +goog.provide('goog.i18n.NumberFormatSymbols_vi_VN'); +goog.provide('goog.i18n.NumberFormatSymbols_vun'); +goog.provide('goog.i18n.NumberFormatSymbols_vun_TZ'); +goog.provide('goog.i18n.NumberFormatSymbols_wae'); +goog.provide('goog.i18n.NumberFormatSymbols_wae_CH'); +goog.provide('goog.i18n.NumberFormatSymbols_xog'); +goog.provide('goog.i18n.NumberFormatSymbols_xog_UG'); +goog.provide('goog.i18n.NumberFormatSymbols_yav'); +goog.provide('goog.i18n.NumberFormatSymbols_yav_CM'); +goog.provide('goog.i18n.NumberFormatSymbols_yi'); +goog.provide('goog.i18n.NumberFormatSymbols_yi_001'); +goog.provide('goog.i18n.NumberFormatSymbols_yo'); +goog.provide('goog.i18n.NumberFormatSymbols_yo_BJ'); +goog.provide('goog.i18n.NumberFormatSymbols_yo_NG'); +goog.provide('goog.i18n.NumberFormatSymbols_yue'); +goog.provide('goog.i18n.NumberFormatSymbols_yue_HK'); +goog.provide('goog.i18n.NumberFormatSymbols_zgh'); +goog.provide('goog.i18n.NumberFormatSymbols_zgh_MA'); +goog.provide('goog.i18n.NumberFormatSymbols_zh_Hans'); +goog.provide('goog.i18n.NumberFormatSymbols_zh_Hans_CN'); +goog.provide('goog.i18n.NumberFormatSymbols_zh_Hans_HK'); +goog.provide('goog.i18n.NumberFormatSymbols_zh_Hans_MO'); +goog.provide('goog.i18n.NumberFormatSymbols_zh_Hans_SG'); +goog.provide('goog.i18n.NumberFormatSymbols_zh_Hant'); +goog.provide('goog.i18n.NumberFormatSymbols_zh_Hant_HK'); +goog.provide('goog.i18n.NumberFormatSymbols_zh_Hant_MO'); +goog.provide('goog.i18n.NumberFormatSymbols_zh_Hant_TW'); +goog.provide('goog.i18n.NumberFormatSymbols_zu_ZA'); +goog.require('goog.i18n.NumberFormatSymbols'); + + +/** + * Number formatting symbols for locale af_NA. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_af_NA = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'NAD' +}; + + +/** + * Number formatting symbols for locale af_ZA. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_af_ZA = goog.i18n.NumberFormatSymbols_af; + + +/** + * Number formatting symbols for locale agq. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_agq = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0.00¤', + DEF_CURRENCY_CODE: 'XAF' +}; + + +/** + * Number formatting symbols for locale agq_CM. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_agq_CM = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0¤', + DEF_CURRENCY_CODE: 'XAF' +}; + + +/** + * Number formatting symbols for locale ak. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ak = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'GHS' +}; + + +/** + * Number formatting symbols for locale ak_GH. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ak_GH = goog.i18n.NumberFormatSymbols_ak; + + +/** + * Number formatting symbols for locale am_ET. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_am_ET = goog.i18n.NumberFormatSymbols_am; + + +/** + * Number formatting symbols for locale ar_001. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ar_001 = goog.i18n.NumberFormatSymbols_ar; + + +/** + * Number formatting symbols for locale ar_AE. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ar_AE = { + DECIMAL_SEP: '٫', + GROUP_SEP: '٬', + PERCENT: '٪؜', + ZERO_DIGIT: '٠', + PLUS_SIGN: '؜+', + MINUS_SIGN: '؜-', + EXP_SYMBOL: 'اس', + PERMILL: '؉', + INFINITY: '∞', + NAN: 'ليس رقم', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'AED' +}; + + +/** + * Number formatting symbols for locale ar_BH. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ar_BH = { + DECIMAL_SEP: '٫', + GROUP_SEP: '٬', + PERCENT: '٪؜', + ZERO_DIGIT: '٠', + PLUS_SIGN: '؜+', + MINUS_SIGN: '؜-', + EXP_SYMBOL: 'اس', + PERMILL: '؉', + INFINITY: '∞', + NAN: 'ليس رقم', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0.000 ¤', + DEF_CURRENCY_CODE: 'BHD' +}; + + +/** + * Number formatting symbols for locale ar_DJ. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ar_DJ = { + DECIMAL_SEP: '٫', + GROUP_SEP: '٬', + PERCENT: '٪؜', + ZERO_DIGIT: '٠', + PLUS_SIGN: '؜+', + MINUS_SIGN: '؜-', + EXP_SYMBOL: 'اس', + PERMILL: '؉', + INFINITY: '∞', + NAN: 'ليس رقم', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0 ¤', + DEF_CURRENCY_CODE: 'DJF' +}; + + +/** + * Number formatting symbols for locale ar_EG. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ar_EG = goog.i18n.NumberFormatSymbols_ar; + + +/** + * Number formatting symbols for locale ar_EH. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ar_EH = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '‎%‎', + ZERO_DIGIT: '0', + PLUS_SIGN: '‎+', + MINUS_SIGN: '‎-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'ليس رقمًا', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤ #,##0.00', + DEF_CURRENCY_CODE: 'MAD' +}; + + +/** + * Number formatting symbols for locale ar_ER. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ar_ER = { + DECIMAL_SEP: '٫', + GROUP_SEP: '٬', + PERCENT: '٪؜', + ZERO_DIGIT: '٠', + PLUS_SIGN: '؜+', + MINUS_SIGN: '؜-', + EXP_SYMBOL: 'اس', + PERMILL: '؉', + INFINITY: '∞', + NAN: 'ليس رقم', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'ERN' +}; + + +/** + * Number formatting symbols for locale ar_IL. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ar_IL = { + DECIMAL_SEP: '٫', + GROUP_SEP: '٬', + PERCENT: '٪؜', + ZERO_DIGIT: '٠', + PLUS_SIGN: '؜+', + MINUS_SIGN: '؜-', + EXP_SYMBOL: 'اس', + PERMILL: '؉', + INFINITY: '∞', + NAN: 'ليس رقم', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'ILS' +}; + + +/** + * Number formatting symbols for locale ar_IQ. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ar_IQ = { + DECIMAL_SEP: '٫', + GROUP_SEP: '٬', + PERCENT: '٪؜', + ZERO_DIGIT: '٠', + PLUS_SIGN: '؜+', + MINUS_SIGN: '؜-', + EXP_SYMBOL: 'اس', + PERMILL: '؉', + INFINITY: '∞', + NAN: 'ليس رقم', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0 ¤', + DEF_CURRENCY_CODE: 'IQD' +}; + + +/** + * Number formatting symbols for locale ar_JO. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ar_JO = { + DECIMAL_SEP: '٫', + GROUP_SEP: '٬', + PERCENT: '٪؜', + ZERO_DIGIT: '٠', + PLUS_SIGN: '؜+', + MINUS_SIGN: '؜-', + EXP_SYMBOL: 'اس', + PERMILL: '؉', + INFINITY: '∞', + NAN: 'ليس رقم', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0.000 ¤', + DEF_CURRENCY_CODE: 'JOD' +}; + + +/** + * Number formatting symbols for locale ar_KM. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ar_KM = { + DECIMAL_SEP: '٫', + GROUP_SEP: '٬', + PERCENT: '٪؜', + ZERO_DIGIT: '٠', + PLUS_SIGN: '؜+', + MINUS_SIGN: '؜-', + EXP_SYMBOL: 'اس', + PERMILL: '؉', + INFINITY: '∞', + NAN: 'ليس رقم', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0 ¤', + DEF_CURRENCY_CODE: 'KMF' +}; + + +/** + * Number formatting symbols for locale ar_KW. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ar_KW = { + DECIMAL_SEP: '٫', + GROUP_SEP: '٬', + PERCENT: '٪؜', + ZERO_DIGIT: '٠', + PLUS_SIGN: '؜+', + MINUS_SIGN: '؜-', + EXP_SYMBOL: 'اس', + PERMILL: '؉', + INFINITY: '∞', + NAN: 'ليس رقم', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0.000 ¤', + DEF_CURRENCY_CODE: 'KWD' +}; + + +/** + * Number formatting symbols for locale ar_LB. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ar_LB = { + DECIMAL_SEP: '٫', + GROUP_SEP: '٬', + PERCENT: '٪؜', + ZERO_DIGIT: '٠', + PLUS_SIGN: '؜+', + MINUS_SIGN: '؜-', + EXP_SYMBOL: 'اس', + PERMILL: '؉', + INFINITY: '∞', + NAN: 'ليس رقم', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0 ¤', + DEF_CURRENCY_CODE: 'LBP' +}; + + +/** + * Number formatting symbols for locale ar_LY. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ar_LY = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '‎%‎', + ZERO_DIGIT: '0', + PLUS_SIGN: '‎+', + MINUS_SIGN: '‎-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'ليس رقمًا', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤ #,##0.000', + DEF_CURRENCY_CODE: 'LYD' +}; + + +/** + * Number formatting symbols for locale ar_MA. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ar_MA = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '‎%‎', + ZERO_DIGIT: '0', + PLUS_SIGN: '‎+', + MINUS_SIGN: '‎-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'ليس رقمًا', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤ #,##0.00', + DEF_CURRENCY_CODE: 'MAD' +}; + + +/** + * Number formatting symbols for locale ar_MR. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ar_MR = { + DECIMAL_SEP: '٫', + GROUP_SEP: '٬', + PERCENT: '٪؜', + ZERO_DIGIT: '٠', + PLUS_SIGN: '؜+', + MINUS_SIGN: '؜-', + EXP_SYMBOL: 'اس', + PERMILL: '؉', + INFINITY: '∞', + NAN: 'ليس رقم', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0 ¤', + DEF_CURRENCY_CODE: 'MRO' +}; + + +/** + * Number formatting symbols for locale ar_OM. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ar_OM = { + DECIMAL_SEP: '٫', + GROUP_SEP: '٬', + PERCENT: '٪؜', + ZERO_DIGIT: '٠', + PLUS_SIGN: '؜+', + MINUS_SIGN: '؜-', + EXP_SYMBOL: 'اس', + PERMILL: '؉', + INFINITY: '∞', + NAN: 'ليس رقم', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0.000 ¤', + DEF_CURRENCY_CODE: 'OMR' +}; + + +/** + * Number formatting symbols for locale ar_PS. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ar_PS = { + DECIMAL_SEP: '٫', + GROUP_SEP: '٬', + PERCENT: '٪؜', + ZERO_DIGIT: '٠', + PLUS_SIGN: '؜+', + MINUS_SIGN: '؜-', + EXP_SYMBOL: 'اس', + PERMILL: '؉', + INFINITY: '∞', + NAN: 'ليس رقم', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'ILS' +}; + + +/** + * Number formatting symbols for locale ar_QA. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ar_QA = { + DECIMAL_SEP: '٫', + GROUP_SEP: '٬', + PERCENT: '٪؜', + ZERO_DIGIT: '٠', + PLUS_SIGN: '؜+', + MINUS_SIGN: '؜-', + EXP_SYMBOL: 'اس', + PERMILL: '؉', + INFINITY: '∞', + NAN: 'ليس رقم', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'QAR' +}; + + +/** + * Number formatting symbols for locale ar_SA. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ar_SA = { + DECIMAL_SEP: '٫', + GROUP_SEP: '٬', + PERCENT: '٪؜', + ZERO_DIGIT: '٠', + PLUS_SIGN: '؜+', + MINUS_SIGN: '؜-', + EXP_SYMBOL: 'اس', + PERMILL: '؉', + INFINITY: '∞', + NAN: 'ليس رقم', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'SAR' +}; + + +/** + * Number formatting symbols for locale ar_SD. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ar_SD = { + DECIMAL_SEP: '٫', + GROUP_SEP: '٬', + PERCENT: '٪؜', + ZERO_DIGIT: '٠', + PLUS_SIGN: '؜+', + MINUS_SIGN: '؜-', + EXP_SYMBOL: 'اس', + PERMILL: '؉', + INFINITY: '∞', + NAN: 'ليس رقم', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'SDG' +}; + + +/** + * Number formatting symbols for locale ar_SO. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ar_SO = { + DECIMAL_SEP: '٫', + GROUP_SEP: '٬', + PERCENT: '٪؜', + ZERO_DIGIT: '٠', + PLUS_SIGN: '؜+', + MINUS_SIGN: '؜-', + EXP_SYMBOL: 'اس', + PERMILL: '؉', + INFINITY: '∞', + NAN: 'ليس رقم', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0 ¤', + DEF_CURRENCY_CODE: 'SOS' +}; + + +/** + * Number formatting symbols for locale ar_SS. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ar_SS = { + DECIMAL_SEP: '٫', + GROUP_SEP: '٬', + PERCENT: '٪؜', + ZERO_DIGIT: '٠', + PLUS_SIGN: '؜+', + MINUS_SIGN: '؜-', + EXP_SYMBOL: 'اس', + PERMILL: '؉', + INFINITY: '∞', + NAN: 'ليس رقم', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'SSP' +}; + + +/** + * Number formatting symbols for locale ar_SY. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ar_SY = { + DECIMAL_SEP: '٫', + GROUP_SEP: '٬', + PERCENT: '٪؜', + ZERO_DIGIT: '٠', + PLUS_SIGN: '؜+', + MINUS_SIGN: '؜-', + EXP_SYMBOL: 'اس', + PERMILL: '؉', + INFINITY: '∞', + NAN: 'ليس رقم', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0 ¤', + DEF_CURRENCY_CODE: 'SYP' +}; + + +/** + * Number formatting symbols for locale ar_TD. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ar_TD = { + DECIMAL_SEP: '٫', + GROUP_SEP: '٬', + PERCENT: '٪؜', + ZERO_DIGIT: '٠', + PLUS_SIGN: '؜+', + MINUS_SIGN: '؜-', + EXP_SYMBOL: 'اس', + PERMILL: '؉', + INFINITY: '∞', + NAN: 'ليس رقم', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0 ¤', + DEF_CURRENCY_CODE: 'XAF' +}; + + +/** + * Number formatting symbols for locale ar_TN. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ar_TN = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '‎%‎', + ZERO_DIGIT: '0', + PLUS_SIGN: '‎+', + MINUS_SIGN: '‎-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'ليس رقمًا', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤ #,##0.000', + DEF_CURRENCY_CODE: 'TND' +}; + + +/** + * Number formatting symbols for locale ar_XB. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ar_XB = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '‎%‎', + ZERO_DIGIT: '0', + PLUS_SIGN: '‎+', + MINUS_SIGN: '‎-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'ليس رقمًا', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤ #,##0.00', + DEF_CURRENCY_CODE: 'EGP' +}; + + +/** + * Number formatting symbols for locale ar_YE. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ar_YE = { + DECIMAL_SEP: '٫', + GROUP_SEP: '٬', + PERCENT: '٪؜', + ZERO_DIGIT: '٠', + PLUS_SIGN: '؜+', + MINUS_SIGN: '؜-', + EXP_SYMBOL: 'اس', + PERMILL: '؉', + INFINITY: '∞', + NAN: 'ليس رقم', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0 ¤', + DEF_CURRENCY_CODE: 'YER' +}; + + +/** + * Number formatting symbols for locale as. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_as = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '০', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##,##0%', + CURRENCY_PATTERN: '¤ #,##,##0.00', + DEF_CURRENCY_CODE: 'INR' +}; + + +/** + * Number formatting symbols for locale as_IN. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_as_IN = goog.i18n.NumberFormatSymbols_as; + + +/** + * Number formatting symbols for locale asa. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_asa = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'TZS' +}; + + +/** + * Number formatting symbols for locale asa_TZ. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_asa_TZ = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0 ¤', + DEF_CURRENCY_CODE: 'TZS' +}; + + +/** + * Number formatting symbols for locale ast. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ast = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'ND', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'EUR' +}; + + +/** + * Number formatting symbols for locale ast_ES. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ast_ES = goog.i18n.NumberFormatSymbols_ast; + + +/** + * Number formatting symbols for locale az_Cyrl. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_az_Cyrl = goog.i18n.NumberFormatSymbols_az; + + +/** + * Number formatting symbols for locale az_Cyrl_AZ. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_az_Cyrl_AZ = goog.i18n.NumberFormatSymbols_az; + + +/** + * Number formatting symbols for locale az_Latn. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_az_Latn = goog.i18n.NumberFormatSymbols_az; + + +/** + * Number formatting symbols for locale az_Latn_AZ. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_az_Latn_AZ = goog.i18n.NumberFormatSymbols_az; + + +/** + * Number formatting symbols for locale bas. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_bas = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'XAF' +}; + + +/** + * Number formatting symbols for locale bas_CM. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_bas_CM = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0 ¤', + DEF_CURRENCY_CODE: 'XAF' +}; + + +/** + * Number formatting symbols for locale be_BY. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_be_BY = goog.i18n.NumberFormatSymbols_be; + + +/** + * Number formatting symbols for locale bem. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_bem = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'ZMW' +}; + + +/** + * Number formatting symbols for locale bem_ZM. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_bem_ZM = goog.i18n.NumberFormatSymbols_bem; + + +/** + * Number formatting symbols for locale bez. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_bez = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0.00¤', + DEF_CURRENCY_CODE: 'TZS' +}; + + +/** + * Number formatting symbols for locale bez_TZ. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_bez_TZ = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0¤', + DEF_CURRENCY_CODE: 'TZS' +}; + + +/** + * Number formatting symbols for locale bg_BG. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_bg_BG = goog.i18n.NumberFormatSymbols_bg; + + +/** + * Number formatting symbols for locale bm. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_bm = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'XOF' +}; + + +/** + * Number formatting symbols for locale bm_ML. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_bm_ML = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0', + DEF_CURRENCY_CODE: 'XOF' +}; + + +/** + * Number formatting symbols for locale bn_BD. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_bn_BD = goog.i18n.NumberFormatSymbols_bn; + + +/** + * Number formatting symbols for locale bn_IN. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_bn_IN = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '০', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##,##0.00¤', + DEF_CURRENCY_CODE: 'INR' +}; + + +/** + * Number formatting symbols for locale bo. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_bo = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤ #,##0.00', + DEF_CURRENCY_CODE: 'CNY' +}; + + +/** + * Number formatting symbols for locale bo_CN. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_bo_CN = goog.i18n.NumberFormatSymbols_bo; + + +/** + * Number formatting symbols for locale bo_IN. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_bo_IN = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤ #,##0.00', + DEF_CURRENCY_CODE: 'INR' +}; + + +/** + * Number formatting symbols for locale br_FR. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_br_FR = goog.i18n.NumberFormatSymbols_br; + + +/** + * Number formatting symbols for locale brx. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_brx = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##,##0%', + CURRENCY_PATTERN: '¤ #,##,##0.00', + DEF_CURRENCY_CODE: 'INR' +}; + + +/** + * Number formatting symbols for locale brx_IN. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_brx_IN = goog.i18n.NumberFormatSymbols_brx; + + +/** + * Number formatting symbols for locale bs_Cyrl. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_bs_Cyrl = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'BAM' +}; + + +/** + * Number formatting symbols for locale bs_Cyrl_BA. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_bs_Cyrl_BA = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'BAM' +}; + + +/** + * Number formatting symbols for locale bs_Latn. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_bs_Latn = goog.i18n.NumberFormatSymbols_bs; + + +/** + * Number formatting symbols for locale bs_Latn_BA. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_bs_Latn_BA = goog.i18n.NumberFormatSymbols_bs; + + +/** + * Number formatting symbols for locale ca_AD. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ca_AD = goog.i18n.NumberFormatSymbols_ca; + + +/** + * Number formatting symbols for locale ca_ES. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ca_ES = goog.i18n.NumberFormatSymbols_ca; + + +/** + * Number formatting symbols for locale ca_FR. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ca_FR = goog.i18n.NumberFormatSymbols_ca; + + +/** + * Number formatting symbols for locale ca_IT. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ca_IT = goog.i18n.NumberFormatSymbols_ca; + + +/** + * Number formatting symbols for locale ce. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ce = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'Терхьаш дац', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'RUB' +}; + + +/** + * Number formatting symbols for locale ce_RU. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ce_RU = goog.i18n.NumberFormatSymbols_ce; + + +/** + * Number formatting symbols for locale cgg. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_cgg = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'UGX' +}; + + +/** + * Number formatting symbols for locale cgg_UG. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_cgg_UG = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0', + DEF_CURRENCY_CODE: 'UGX' +}; + + +/** + * Number formatting symbols for locale chr_US. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_chr_US = goog.i18n.NumberFormatSymbols_chr; + + +/** + * Number formatting symbols for locale ckb. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ckb = { + DECIMAL_SEP: '٫', + GROUP_SEP: '٬', + PERCENT: '٪', + ZERO_DIGIT: '٠', + PLUS_SIGN: '؜+', + MINUS_SIGN: '؜-', + EXP_SYMBOL: 'اس', + PERMILL: '؉', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'IQD' +}; + + +/** + * Number formatting symbols for locale ckb_IQ. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ckb_IQ = { + DECIMAL_SEP: '٫', + GROUP_SEP: '٬', + PERCENT: '٪', + ZERO_DIGIT: '٠', + PLUS_SIGN: '؜+', + MINUS_SIGN: '؜-', + EXP_SYMBOL: 'اس', + PERMILL: '؉', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0 ¤', + DEF_CURRENCY_CODE: 'IQD' +}; + + +/** + * Number formatting symbols for locale ckb_IR. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ckb_IR = { + DECIMAL_SEP: '٫', + GROUP_SEP: '٬', + PERCENT: '٪', + ZERO_DIGIT: '٠', + PLUS_SIGN: '؜+', + MINUS_SIGN: '؜-', + EXP_SYMBOL: 'اس', + PERMILL: '؉', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0 ¤', + DEF_CURRENCY_CODE: 'IRR' +}; + + +/** + * Number formatting symbols for locale cs_CZ. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_cs_CZ = goog.i18n.NumberFormatSymbols_cs; + + +/** + * Number formatting symbols for locale cy_GB. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_cy_GB = goog.i18n.NumberFormatSymbols_cy; + + +/** + * Number formatting symbols for locale da_DK. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_da_DK = goog.i18n.NumberFormatSymbols_da; + + +/** + * Number formatting symbols for locale da_GL. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_da_GL = goog.i18n.NumberFormatSymbols_da; + + +/** + * Number formatting symbols for locale dav. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_dav = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'KES' +}; + + +/** + * Number formatting symbols for locale dav_KE. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_dav_KE = goog.i18n.NumberFormatSymbols_dav; + + +/** + * Number formatting symbols for locale de_BE. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_de_BE = goog.i18n.NumberFormatSymbols_de; + + +/** + * Number formatting symbols for locale de_DE. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_de_DE = goog.i18n.NumberFormatSymbols_de; + + +/** + * Number formatting symbols for locale de_IT. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_de_IT = goog.i18n.NumberFormatSymbols_de; + + +/** + * Number formatting symbols for locale de_LI. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_de_LI = { + DECIMAL_SEP: '.', + GROUP_SEP: '’', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤ #,##0.00', + DEF_CURRENCY_CODE: 'CHF' +}; + + +/** + * Number formatting symbols for locale de_LU. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_de_LU = goog.i18n.NumberFormatSymbols_de; + + +/** + * Number formatting symbols for locale dje. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_dje = { + DECIMAL_SEP: '.', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0.00¤', + DEF_CURRENCY_CODE: 'XOF' +}; + + +/** + * Number formatting symbols for locale dje_NE. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_dje_NE = { + DECIMAL_SEP: '.', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0¤', + DEF_CURRENCY_CODE: 'XOF' +}; + + +/** + * Number formatting symbols for locale dsb. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_dsb = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'EUR' +}; + + +/** + * Number formatting symbols for locale dsb_DE. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_dsb_DE = goog.i18n.NumberFormatSymbols_dsb; + + +/** + * Number formatting symbols for locale dua. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_dua = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'XAF' +}; + + +/** + * Number formatting symbols for locale dua_CM. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_dua_CM = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0 ¤', + DEF_CURRENCY_CODE: 'XAF' +}; + + +/** + * Number formatting symbols for locale dyo. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_dyo = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'XOF' +}; + + +/** + * Number formatting symbols for locale dyo_SN. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_dyo_SN = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0 ¤', + DEF_CURRENCY_CODE: 'XOF' +}; + + +/** + * Number formatting symbols for locale dz. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_dz = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '༠', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: 'གྲངས་མེད', + NAN: 'ཨང་མད', + DECIMAL_PATTERN: '#,##,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##,##0 %', + CURRENCY_PATTERN: '¤#,##,##0.00', + DEF_CURRENCY_CODE: 'BTN' +}; + + +/** + * Number formatting symbols for locale dz_BT. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_dz_BT = goog.i18n.NumberFormatSymbols_dz; + + +/** + * Number formatting symbols for locale ebu. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ebu = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'KES' +}; + + +/** + * Number formatting symbols for locale ebu_KE. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ebu_KE = goog.i18n.NumberFormatSymbols_ebu; + + +/** + * Number formatting symbols for locale ee. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ee = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'mnn', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'GHS' +}; + + +/** + * Number formatting symbols for locale ee_GH. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ee_GH = goog.i18n.NumberFormatSymbols_ee; + + +/** + * Number formatting symbols for locale ee_TG. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ee_TG = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'mnn', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0', + DEF_CURRENCY_CODE: 'XOF' +}; + + +/** + * Number formatting symbols for locale el_CY. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_el_CY = goog.i18n.NumberFormatSymbols_el; + + +/** + * Number formatting symbols for locale el_GR. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_el_GR = goog.i18n.NumberFormatSymbols_el; + + +/** + * Number formatting symbols for locale en_001. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_001 = goog.i18n.NumberFormatSymbols_en; + + +/** + * Number formatting symbols for locale en_150. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_150 = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'USD' +}; + + +/** + * Number formatting symbols for locale en_AG. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_AG = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'XCD' +}; + + +/** + * Number formatting symbols for locale en_AI. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_AI = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'XCD' +}; + + +/** + * Number formatting symbols for locale en_AS. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_AS = goog.i18n.NumberFormatSymbols_en; + + +/** + * Number formatting symbols for locale en_AT. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_AT = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'EUR' +}; + + +/** + * Number formatting symbols for locale en_BB. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_BB = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'BBD' +}; + + +/** + * Number formatting symbols for locale en_BE. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_BE = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'EUR' +}; + + +/** + * Number formatting symbols for locale en_BI. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_BI = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0', + DEF_CURRENCY_CODE: 'BIF' +}; + + +/** + * Number formatting symbols for locale en_BM. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_BM = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'BMD' +}; + + +/** + * Number formatting symbols for locale en_BS. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_BS = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'BSD' +}; + + +/** + * Number formatting symbols for locale en_BW. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_BW = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'BWP' +}; + + +/** + * Number formatting symbols for locale en_BZ. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_BZ = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'BZD' +}; + + +/** + * Number formatting symbols for locale en_CC. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_CC = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'AUD' +}; + + +/** + * Number formatting symbols for locale en_CH. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_CH = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤ #,##0.00;¤-#,##0.00', + DEF_CURRENCY_CODE: 'CHF' +}; + + +/** + * Number formatting symbols for locale en_CK. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_CK = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'NZD' +}; + + +/** + * Number formatting symbols for locale en_CM. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_CM = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0', + DEF_CURRENCY_CODE: 'XAF' +}; + + +/** + * Number formatting symbols for locale en_CX. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_CX = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'AUD' +}; + + +/** + * Number formatting symbols for locale en_CY. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_CY = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'EUR' +}; + + +/** + * Number formatting symbols for locale en_DE. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_DE = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'EUR' +}; + + +/** + * Number formatting symbols for locale en_DG. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_DG = goog.i18n.NumberFormatSymbols_en; + + +/** + * Number formatting symbols for locale en_DK. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_DK = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'DKK' +}; + + +/** + * Number formatting symbols for locale en_DM. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_DM = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'XCD' +}; + + +/** + * Number formatting symbols for locale en_ER. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_ER = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'ERN' +}; + + +/** + * Number formatting symbols for locale en_FI. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_FI = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'EUR' +}; + + +/** + * Number formatting symbols for locale en_FJ. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_FJ = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'FJD' +}; + + +/** + * Number formatting symbols for locale en_FK. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_FK = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'FKP' +}; + + +/** + * Number formatting symbols for locale en_FM. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_FM = goog.i18n.NumberFormatSymbols_en; + + +/** + * Number formatting symbols for locale en_GD. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_GD = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'XCD' +}; + + +/** + * Number formatting symbols for locale en_GG. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_GG = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'GBP' +}; + + +/** + * Number formatting symbols for locale en_GH. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_GH = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'GHS' +}; + + +/** + * Number formatting symbols for locale en_GI. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_GI = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'GIP' +}; + + +/** + * Number formatting symbols for locale en_GM. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_GM = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'GMD' +}; + + +/** + * Number formatting symbols for locale en_GU. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_GU = goog.i18n.NumberFormatSymbols_en; + + +/** + * Number formatting symbols for locale en_GY. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_GY = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0', + DEF_CURRENCY_CODE: 'GYD' +}; + + +/** + * Number formatting symbols for locale en_HK. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_HK = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'HKD' +}; + + +/** + * Number formatting symbols for locale en_IL. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_IL = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'ILS' +}; + + +/** + * Number formatting symbols for locale en_IM. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_IM = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'GBP' +}; + + +/** + * Number formatting symbols for locale en_IO. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_IO = goog.i18n.NumberFormatSymbols_en; + + +/** + * Number formatting symbols for locale en_JE. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_JE = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'GBP' +}; + + +/** + * Number formatting symbols for locale en_JM. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_JM = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'JMD' +}; + + +/** + * Number formatting symbols for locale en_KE. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_KE = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'KES' +}; + + +/** + * Number formatting symbols for locale en_KI. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_KI = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'AUD' +}; + + +/** + * Number formatting symbols for locale en_KN. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_KN = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'XCD' +}; + + +/** + * Number formatting symbols for locale en_KY. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_KY = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'KYD' +}; + + +/** + * Number formatting symbols for locale en_LC. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_LC = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'XCD' +}; + + +/** + * Number formatting symbols for locale en_LR. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_LR = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'LRD' +}; + + +/** + * Number formatting symbols for locale en_LS. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_LS = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'ZAR' +}; + + +/** + * Number formatting symbols for locale en_MG. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_MG = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0', + DEF_CURRENCY_CODE: 'MGA' +}; + + +/** + * Number formatting symbols for locale en_MH. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_MH = goog.i18n.NumberFormatSymbols_en; + + +/** + * Number formatting symbols for locale en_MO. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_MO = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'MOP' +}; + + +/** + * Number formatting symbols for locale en_MP. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_MP = goog.i18n.NumberFormatSymbols_en; + + +/** + * Number formatting symbols for locale en_MS. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_MS = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'XCD' +}; + + +/** + * Number formatting symbols for locale en_MT. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_MT = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'EUR' +}; + + +/** + * Number formatting symbols for locale en_MU. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_MU = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0', + DEF_CURRENCY_CODE: 'MUR' +}; + + +/** + * Number formatting symbols for locale en_MW. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_MW = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'MWK' +}; + + +/** + * Number formatting symbols for locale en_MY. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_MY = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'MYR' +}; + + +/** + * Number formatting symbols for locale en_NA. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_NA = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'NAD' +}; + + +/** + * Number formatting symbols for locale en_NF. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_NF = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'AUD' +}; + + +/** + * Number formatting symbols for locale en_NG. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_NG = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'NGN' +}; + + +/** + * Number formatting symbols for locale en_NL. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_NL = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'EUR' +}; + + +/** + * Number formatting symbols for locale en_NR. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_NR = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'AUD' +}; + + +/** + * Number formatting symbols for locale en_NU. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_NU = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'NZD' +}; + + +/** + * Number formatting symbols for locale en_NZ. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_NZ = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'NZD' +}; + + +/** + * Number formatting symbols for locale en_PG. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_PG = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'PGK' +}; + + +/** + * Number formatting symbols for locale en_PH. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_PH = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'PHP' +}; + + +/** + * Number formatting symbols for locale en_PK. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_PK = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0', + DEF_CURRENCY_CODE: 'PKR' +}; + + +/** + * Number formatting symbols for locale en_PN. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_PN = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'NZD' +}; + + +/** + * Number formatting symbols for locale en_PR. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_PR = goog.i18n.NumberFormatSymbols_en; + + +/** + * Number formatting symbols for locale en_PW. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_PW = goog.i18n.NumberFormatSymbols_en; + + +/** + * Number formatting symbols for locale en_RW. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_RW = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0', + DEF_CURRENCY_CODE: 'RWF' +}; + + +/** + * Number formatting symbols for locale en_SB. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_SB = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'SBD' +}; + + +/** + * Number formatting symbols for locale en_SC. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_SC = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'SCR' +}; + + +/** + * Number formatting symbols for locale en_SD. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_SD = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'SDG' +}; + + +/** + * Number formatting symbols for locale en_SE. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_SE = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: '×10^', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'SEK' +}; + + +/** + * Number formatting symbols for locale en_SH. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_SH = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'SHP' +}; + + +/** + * Number formatting symbols for locale en_SI. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_SI = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'e', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'EUR' +}; + + +/** + * Number formatting symbols for locale en_SL. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_SL = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0', + DEF_CURRENCY_CODE: 'SLL' +}; + + +/** + * Number formatting symbols for locale en_SS. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_SS = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'SSP' +}; + + +/** + * Number formatting symbols for locale en_SX. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_SX = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'ANG' +}; + + +/** + * Number formatting symbols for locale en_SZ. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_SZ = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'SZL' +}; + + +/** + * Number formatting symbols for locale en_TC. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_TC = goog.i18n.NumberFormatSymbols_en; + + +/** + * Number formatting symbols for locale en_TK. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_TK = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'NZD' +}; + + +/** + * Number formatting symbols for locale en_TO. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_TO = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'TOP' +}; + + +/** + * Number formatting symbols for locale en_TT. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_TT = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'TTD' +}; + + +/** + * Number formatting symbols for locale en_TV. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_TV = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'AUD' +}; + + +/** + * Number formatting symbols for locale en_TZ. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_TZ = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0', + DEF_CURRENCY_CODE: 'TZS' +}; + + +/** + * Number formatting symbols for locale en_UG. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_UG = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0', + DEF_CURRENCY_CODE: 'UGX' +}; + + +/** + * Number formatting symbols for locale en_UM. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_UM = goog.i18n.NumberFormatSymbols_en; + + +/** + * Number formatting symbols for locale en_US_POSIX. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_US_POSIX = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '0/00', + INFINITY: 'INF', + NAN: 'NaN', + DECIMAL_PATTERN: '0.######', + SCIENTIFIC_PATTERN: '0.000000E+000', + PERCENT_PATTERN: '0%', + CURRENCY_PATTERN: '¤ 0.00', + DEF_CURRENCY_CODE: 'USD' +}; + + +/** + * Number formatting symbols for locale en_VC. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_VC = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'XCD' +}; + + +/** + * Number formatting symbols for locale en_VG. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_VG = goog.i18n.NumberFormatSymbols_en; + + +/** + * Number formatting symbols for locale en_VI. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_VI = goog.i18n.NumberFormatSymbols_en; + + +/** + * Number formatting symbols for locale en_VU. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_VU = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0', + DEF_CURRENCY_CODE: 'VUV' +}; + + +/** + * Number formatting symbols for locale en_WS. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_WS = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'WST' +}; + + +/** + * Number formatting symbols for locale en_XA. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_XA = goog.i18n.NumberFormatSymbols_en; + + +/** + * Number formatting symbols for locale en_ZM. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_ZM = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'ZMW' +}; + + +/** + * Number formatting symbols for locale en_ZW. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_en_ZW = goog.i18n.NumberFormatSymbols_en; + + +/** + * Number formatting symbols for locale eo. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_eo = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤ #,##0.00', + DEF_CURRENCY_CODE: 'USD' +}; + + +/** + * Number formatting symbols for locale es_AR. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_es_AR = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '¤ #,##0.00', + DEF_CURRENCY_CODE: 'ARS' +}; + + +/** + * Number formatting symbols for locale es_BO. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_es_BO = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'BOB' +}; + + +/** + * Number formatting symbols for locale es_BR. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_es_BR = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'BRL' +}; + + +/** + * Number formatting symbols for locale es_BZ. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_es_BZ = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'BZD' +}; + + +/** + * Number formatting symbols for locale es_CL. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_es_CL = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '¤#,##0;¤-#,##0', + DEF_CURRENCY_CODE: 'CLP' +}; + + +/** + * Number formatting symbols for locale es_CO. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_es_CO = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤ #,##0', + DEF_CURRENCY_CODE: 'COP' +}; + + +/** + * Number formatting symbols for locale es_CR. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_es_CR = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'CRC' +}; + + +/** + * Number formatting symbols for locale es_CU. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_es_CU = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'CUP' +}; + + +/** + * Number formatting symbols for locale es_DO. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_es_DO = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'DOP' +}; + + +/** + * Number formatting symbols for locale es_EA. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_es_EA = goog.i18n.NumberFormatSymbols_es; + + +/** + * Number formatting symbols for locale es_EC. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_es_EC = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '¤#,##0.00;¤-#,##0.00', + DEF_CURRENCY_CODE: 'USD' +}; + + +/** + * Number formatting symbols for locale es_GQ. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_es_GQ = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '¤#,##0', + DEF_CURRENCY_CODE: 'XAF' +}; + + +/** + * Number formatting symbols for locale es_GT. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_es_GT = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'GTQ' +}; + + +/** + * Number formatting symbols for locale es_HN. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_es_HN = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'HNL' +}; + + +/** + * Number formatting symbols for locale es_IC. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_es_IC = goog.i18n.NumberFormatSymbols_es; + + +/** + * Number formatting symbols for locale es_NI. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_es_NI = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'NIO' +}; + + +/** + * Number formatting symbols for locale es_PA. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_es_PA = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'PAB' +}; + + +/** + * Number formatting symbols for locale es_PE. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_es_PE = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'PEN' +}; + + +/** + * Number formatting symbols for locale es_PH. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_es_PH = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'PHP' +}; + + +/** + * Number formatting symbols for locale es_PR. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_es_PR = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'USD' +}; + + +/** + * Number formatting symbols for locale es_PY. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_es_PY = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '¤ #,##0;¤ -#,##0', + DEF_CURRENCY_CODE: 'PYG' +}; + + +/** + * Number formatting symbols for locale es_SV. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_es_SV = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'USD' +}; + + +/** + * Number formatting symbols for locale es_UY. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_es_UY = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '¤ #,##0.00', + DEF_CURRENCY_CODE: 'UYU' +}; + + +/** + * Number formatting symbols for locale es_VE. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_es_VE = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '¤#,##0.00;¤-#,##0.00', + DEF_CURRENCY_CODE: 'VEF' +}; + + +/** + * Number formatting symbols for locale et_EE. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_et_EE = goog.i18n.NumberFormatSymbols_et; + + +/** + * Number formatting symbols for locale eu_ES. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_eu_ES = goog.i18n.NumberFormatSymbols_eu; + + +/** + * Number formatting symbols for locale ewo. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ewo = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'XAF' +}; + + +/** + * Number formatting symbols for locale ewo_CM. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ewo_CM = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0 ¤', + DEF_CURRENCY_CODE: 'XAF' +}; + + +/** + * Number formatting symbols for locale fa_AF. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_fa_AF = { + DECIMAL_SEP: '٫', + GROUP_SEP: '٬', + PERCENT: '‎٪', + ZERO_DIGIT: '۰', + PLUS_SIGN: '‎+', + MINUS_SIGN: '‎−', + EXP_SYMBOL: '×۱۰^', + PERMILL: '؉', + INFINITY: '∞', + NAN: 'ناعدد', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '% #,##0;% -#,##0', + CURRENCY_PATTERN: '¤ #,##0', + DEF_CURRENCY_CODE: 'AFN' +}; + + +/** + * Number formatting symbols for locale fa_IR. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_fa_IR = { + DECIMAL_SEP: '٫', + GROUP_SEP: '٬', + PERCENT: '‎٪', + ZERO_DIGIT: '۰', + PLUS_SIGN: '‎+', + MINUS_SIGN: '‎−', + EXP_SYMBOL: '×۱۰^', + PERMILL: '؉', + INFINITY: '∞', + NAN: 'ناعدد', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '% #,##0;% -#,##0', + CURRENCY_PATTERN: '#,##0 ؜¤;؜-#,##0 ؜¤', + DEF_CURRENCY_CODE: 'IRR' +}; + + +/** + * Number formatting symbols for locale ff. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ff = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'XOF' +}; + + +/** + * Number formatting symbols for locale ff_CM. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ff_CM = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0 ¤', + DEF_CURRENCY_CODE: 'XAF' +}; + + +/** + * Number formatting symbols for locale ff_GN. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ff_GN = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0 ¤', + DEF_CURRENCY_CODE: 'GNF' +}; + + +/** + * Number formatting symbols for locale ff_MR. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ff_MR = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0 ¤', + DEF_CURRENCY_CODE: 'MRO' +}; + + +/** + * Number formatting symbols for locale ff_SN. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ff_SN = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0 ¤', + DEF_CURRENCY_CODE: 'XOF' +}; + + +/** + * Number formatting symbols for locale fi_FI. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_fi_FI = goog.i18n.NumberFormatSymbols_fi; + + +/** + * Number formatting symbols for locale fil_PH. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_fil_PH = goog.i18n.NumberFormatSymbols_fil; + + +/** + * Number formatting symbols for locale fo. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_fo = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '−', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'DKK' +}; + + +/** + * Number formatting symbols for locale fo_DK. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_fo_DK = goog.i18n.NumberFormatSymbols_fo; + + +/** + * Number formatting symbols for locale fo_FO. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_fo_FO = goog.i18n.NumberFormatSymbols_fo; + + +/** + * Number formatting symbols for locale fr_BE. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_fr_BE = goog.i18n.NumberFormatSymbols_fr; + + +/** + * Number formatting symbols for locale fr_BF. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_fr_BF = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0 ¤', + DEF_CURRENCY_CODE: 'XOF' +}; + + +/** + * Number formatting symbols for locale fr_BI. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_fr_BI = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0 ¤', + DEF_CURRENCY_CODE: 'BIF' +}; + + +/** + * Number formatting symbols for locale fr_BJ. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_fr_BJ = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0 ¤', + DEF_CURRENCY_CODE: 'XOF' +}; + + +/** + * Number formatting symbols for locale fr_BL. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_fr_BL = goog.i18n.NumberFormatSymbols_fr; + + +/** + * Number formatting symbols for locale fr_CD. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_fr_CD = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'CDF' +}; + + +/** + * Number formatting symbols for locale fr_CF. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_fr_CF = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0 ¤', + DEF_CURRENCY_CODE: 'XAF' +}; + + +/** + * Number formatting symbols for locale fr_CG. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_fr_CG = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0 ¤', + DEF_CURRENCY_CODE: 'XAF' +}; + + +/** + * Number formatting symbols for locale fr_CH. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_fr_CH = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'CHF' +}; + + +/** + * Number formatting symbols for locale fr_CI. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_fr_CI = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0 ¤', + DEF_CURRENCY_CODE: 'XOF' +}; + + +/** + * Number formatting symbols for locale fr_CM. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_fr_CM = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0 ¤', + DEF_CURRENCY_CODE: 'XAF' +}; + + +/** + * Number formatting symbols for locale fr_DJ. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_fr_DJ = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0 ¤', + DEF_CURRENCY_CODE: 'DJF' +}; + + +/** + * Number formatting symbols for locale fr_DZ. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_fr_DZ = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'DZD' +}; + + +/** + * Number formatting symbols for locale fr_FR. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_fr_FR = goog.i18n.NumberFormatSymbols_fr; + + +/** + * Number formatting symbols for locale fr_GA. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_fr_GA = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0 ¤', + DEF_CURRENCY_CODE: 'XAF' +}; + + +/** + * Number formatting symbols for locale fr_GF. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_fr_GF = goog.i18n.NumberFormatSymbols_fr; + + +/** + * Number formatting symbols for locale fr_GN. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_fr_GN = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0 ¤', + DEF_CURRENCY_CODE: 'GNF' +}; + + +/** + * Number formatting symbols for locale fr_GP. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_fr_GP = goog.i18n.NumberFormatSymbols_fr; + + +/** + * Number formatting symbols for locale fr_GQ. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_fr_GQ = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0 ¤', + DEF_CURRENCY_CODE: 'XAF' +}; + + +/** + * Number formatting symbols for locale fr_HT. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_fr_HT = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'HTG' +}; + + +/** + * Number formatting symbols for locale fr_KM. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_fr_KM = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0 ¤', + DEF_CURRENCY_CODE: 'KMF' +}; + + +/** + * Number formatting symbols for locale fr_LU. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_fr_LU = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'EUR' +}; + + +/** + * Number formatting symbols for locale fr_MA. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_fr_MA = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'MAD' +}; + + +/** + * Number formatting symbols for locale fr_MC. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_fr_MC = goog.i18n.NumberFormatSymbols_fr; + + +/** + * Number formatting symbols for locale fr_MF. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_fr_MF = goog.i18n.NumberFormatSymbols_fr; + + +/** + * Number formatting symbols for locale fr_MG. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_fr_MG = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0 ¤', + DEF_CURRENCY_CODE: 'MGA' +}; + + +/** + * Number formatting symbols for locale fr_ML. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_fr_ML = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0 ¤', + DEF_CURRENCY_CODE: 'XOF' +}; + + +/** + * Number formatting symbols for locale fr_MQ. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_fr_MQ = goog.i18n.NumberFormatSymbols_fr; + + +/** + * Number formatting symbols for locale fr_MR. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_fr_MR = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0 ¤', + DEF_CURRENCY_CODE: 'MRO' +}; + + +/** + * Number formatting symbols for locale fr_MU. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_fr_MU = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0 ¤', + DEF_CURRENCY_CODE: 'MUR' +}; + + +/** + * Number formatting symbols for locale fr_NC. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_fr_NC = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0 ¤', + DEF_CURRENCY_CODE: 'XPF' +}; + + +/** + * Number formatting symbols for locale fr_NE. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_fr_NE = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0 ¤', + DEF_CURRENCY_CODE: 'XOF' +}; + + +/** + * Number formatting symbols for locale fr_PF. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_fr_PF = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0 ¤', + DEF_CURRENCY_CODE: 'XPF' +}; + + +/** + * Number formatting symbols for locale fr_PM. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_fr_PM = goog.i18n.NumberFormatSymbols_fr; + + +/** + * Number formatting symbols for locale fr_RE. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_fr_RE = goog.i18n.NumberFormatSymbols_fr; + + +/** + * Number formatting symbols for locale fr_RW. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_fr_RW = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0 ¤', + DEF_CURRENCY_CODE: 'RWF' +}; + + +/** + * Number formatting symbols for locale fr_SC. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_fr_SC = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'SCR' +}; + + +/** + * Number formatting symbols for locale fr_SN. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_fr_SN = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0 ¤', + DEF_CURRENCY_CODE: 'XOF' +}; + + +/** + * Number formatting symbols for locale fr_SY. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_fr_SY = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0 ¤', + DEF_CURRENCY_CODE: 'SYP' +}; + + +/** + * Number formatting symbols for locale fr_TD. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_fr_TD = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0 ¤', + DEF_CURRENCY_CODE: 'XAF' +}; + + +/** + * Number formatting symbols for locale fr_TG. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_fr_TG = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0 ¤', + DEF_CURRENCY_CODE: 'XOF' +}; + + +/** + * Number formatting symbols for locale fr_TN. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_fr_TN = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0.000 ¤', + DEF_CURRENCY_CODE: 'TND' +}; + + +/** + * Number formatting symbols for locale fr_VU. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_fr_VU = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0 ¤', + DEF_CURRENCY_CODE: 'VUV' +}; + + +/** + * Number formatting symbols for locale fr_WF. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_fr_WF = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0 ¤', + DEF_CURRENCY_CODE: 'XPF' +}; + + +/** + * Number formatting symbols for locale fr_YT. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_fr_YT = goog.i18n.NumberFormatSymbols_fr; + + +/** + * Number formatting symbols for locale fur. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_fur = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤ #,##0.00', + DEF_CURRENCY_CODE: 'EUR' +}; + + +/** + * Number formatting symbols for locale fur_IT. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_fur_IT = goog.i18n.NumberFormatSymbols_fur; + + +/** + * Number formatting symbols for locale fy. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_fy = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤ #,##0.00;¤ #,##0.00-', + DEF_CURRENCY_CODE: 'EUR' +}; + + +/** + * Number formatting symbols for locale fy_NL. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_fy_NL = goog.i18n.NumberFormatSymbols_fy; + + +/** + * Number formatting symbols for locale ga_IE. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ga_IE = goog.i18n.NumberFormatSymbols_ga; + + +/** + * Number formatting symbols for locale gd. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_gd = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'GBP' +}; + + +/** + * Number formatting symbols for locale gd_GB. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_gd_GB = goog.i18n.NumberFormatSymbols_gd; + + +/** + * Number formatting symbols for locale gl_ES. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_gl_ES = goog.i18n.NumberFormatSymbols_gl; + + +/** + * Number formatting symbols for locale gsw_CH. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_gsw_CH = goog.i18n.NumberFormatSymbols_gsw; + + +/** + * Number formatting symbols for locale gsw_FR. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_gsw_FR = { + DECIMAL_SEP: '.', + GROUP_SEP: '’', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '−', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'EUR' +}; + + +/** + * Number formatting symbols for locale gsw_LI. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_gsw_LI = goog.i18n.NumberFormatSymbols_gsw; + + +/** + * Number formatting symbols for locale gu_IN. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_gu_IN = goog.i18n.NumberFormatSymbols_gu; + + +/** + * Number formatting symbols for locale guz. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_guz = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'KES' +}; + + +/** + * Number formatting symbols for locale guz_KE. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_guz_KE = goog.i18n.NumberFormatSymbols_guz; + + +/** + * Number formatting symbols for locale gv. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_gv = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'GBP' +}; + + +/** + * Number formatting symbols for locale gv_IM. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_gv_IM = goog.i18n.NumberFormatSymbols_gv; + + +/** + * Number formatting symbols for locale ha. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ha = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤ #,##0.00', + DEF_CURRENCY_CODE: 'NGN' +}; + + +/** + * Number formatting symbols for locale ha_GH. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ha_GH = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤ #,##0.00', + DEF_CURRENCY_CODE: 'GHS' +}; + + +/** + * Number formatting symbols for locale ha_NE. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ha_NE = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤ #,##0', + DEF_CURRENCY_CODE: 'XOF' +}; + + +/** + * Number formatting symbols for locale ha_NG. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ha_NG = goog.i18n.NumberFormatSymbols_ha; + + +/** + * Number formatting symbols for locale haw_US. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_haw_US = goog.i18n.NumberFormatSymbols_haw; + + +/** + * Number formatting symbols for locale he_IL. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_he_IL = goog.i18n.NumberFormatSymbols_he; + + +/** + * Number formatting symbols for locale hi_IN. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_hi_IN = goog.i18n.NumberFormatSymbols_hi; + + +/** + * Number formatting symbols for locale hr_BA. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_hr_BA = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'BAM' +}; + + +/** + * Number formatting symbols for locale hr_HR. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_hr_HR = goog.i18n.NumberFormatSymbols_hr; + + +/** + * Number formatting symbols for locale hsb. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_hsb = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'EUR' +}; + + +/** + * Number formatting symbols for locale hsb_DE. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_hsb_DE = goog.i18n.NumberFormatSymbols_hsb; + + +/** + * Number formatting symbols for locale hu_HU. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_hu_HU = goog.i18n.NumberFormatSymbols_hu; + + +/** + * Number formatting symbols for locale hy_AM. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_hy_AM = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'ՈչԹ', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤ #,##0', + DEF_CURRENCY_CODE: 'AMD' +}; + + +/** + * Number formatting symbols for locale id_ID. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_id_ID = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0', + DEF_CURRENCY_CODE: 'IDR' +}; + + +/** + * Number formatting symbols for locale ig. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ig = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'NGN' +}; + + +/** + * Number formatting symbols for locale ig_NG. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ig_NG = goog.i18n.NumberFormatSymbols_ig; + + +/** + * Number formatting symbols for locale ii. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ii = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤ #,##0.00', + DEF_CURRENCY_CODE: 'CNY' +}; + + +/** + * Number formatting symbols for locale ii_CN. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ii_CN = goog.i18n.NumberFormatSymbols_ii; + + +/** + * Number formatting symbols for locale is_IS. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_is_IS = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0 ¤', + DEF_CURRENCY_CODE: 'ISK' +}; + + +/** + * Number formatting symbols for locale it_CH. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_it_CH = { + DECIMAL_SEP: '.', + GROUP_SEP: '’', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤ #,##0.00;¤-#,##0.00', + DEF_CURRENCY_CODE: 'CHF' +}; + + +/** + * Number formatting symbols for locale it_IT. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_it_IT = goog.i18n.NumberFormatSymbols_it; + + +/** + * Number formatting symbols for locale it_SM. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_it_SM = goog.i18n.NumberFormatSymbols_it; + + +/** + * Number formatting symbols for locale it_VA. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_it_VA = goog.i18n.NumberFormatSymbols_it; + + +/** + * Number formatting symbols for locale ja_JP. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ja_JP = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0', + DEF_CURRENCY_CODE: 'JPY' +}; + + +/** + * Number formatting symbols for locale jgo. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_jgo = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤ #,##0.00', + DEF_CURRENCY_CODE: 'XAF' +}; + + +/** + * Number formatting symbols for locale jgo_CM. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_jgo_CM = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤ #,##0', + DEF_CURRENCY_CODE: 'XAF' +}; + + +/** + * Number formatting symbols for locale jmc. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_jmc = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'TZS' +}; + + +/** + * Number formatting symbols for locale jmc_TZ. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_jmc_TZ = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0', + DEF_CURRENCY_CODE: 'TZS' +}; + + +/** + * Number formatting symbols for locale ka_GE. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ka_GE = goog.i18n.NumberFormatSymbols_ka; + + +/** + * Number formatting symbols for locale kab. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_kab = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0.00¤', + DEF_CURRENCY_CODE: 'DZD' +}; + + +/** + * Number formatting symbols for locale kab_DZ. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_kab_DZ = goog.i18n.NumberFormatSymbols_kab; + + +/** + * Number formatting symbols for locale kam. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_kam = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'KES' +}; + + +/** + * Number formatting symbols for locale kam_KE. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_kam_KE = goog.i18n.NumberFormatSymbols_kam; + + +/** + * Number formatting symbols for locale kde. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_kde = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'TZS' +}; + + +/** + * Number formatting symbols for locale kde_TZ. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_kde_TZ = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0', + DEF_CURRENCY_CODE: 'TZS' +}; + + +/** + * Number formatting symbols for locale kea. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_kea = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'CVE' +}; + + +/** + * Number formatting symbols for locale kea_CV. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_kea_CV = goog.i18n.NumberFormatSymbols_kea; + + +/** + * Number formatting symbols for locale khq. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_khq = { + DECIMAL_SEP: '.', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0.00¤', + DEF_CURRENCY_CODE: 'XOF' +}; + + +/** + * Number formatting symbols for locale khq_ML. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_khq_ML = { + DECIMAL_SEP: '.', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0¤', + DEF_CURRENCY_CODE: 'XOF' +}; + + +/** + * Number formatting symbols for locale ki. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ki = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'KES' +}; + + +/** + * Number formatting symbols for locale ki_KE. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ki_KE = goog.i18n.NumberFormatSymbols_ki; + + +/** + * Number formatting symbols for locale kk_KZ. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_kk_KZ = goog.i18n.NumberFormatSymbols_kk; + + +/** + * Number formatting symbols for locale kkj. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_kkj = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤ #,##0.00', + DEF_CURRENCY_CODE: 'XAF' +}; + + +/** + * Number formatting symbols for locale kkj_CM. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_kkj_CM = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤ #,##0', + DEF_CURRENCY_CODE: 'XAF' +}; + + +/** + * Number formatting symbols for locale kl. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_kl = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '¤#,##0.00;¤-#,##0.00', + DEF_CURRENCY_CODE: 'DKK' +}; + + +/** + * Number formatting symbols for locale kl_GL. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_kl_GL = goog.i18n.NumberFormatSymbols_kl; + + +/** + * Number formatting symbols for locale kln. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_kln = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'KES' +}; + + +/** + * Number formatting symbols for locale kln_KE. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_kln_KE = goog.i18n.NumberFormatSymbols_kln; + + +/** + * Number formatting symbols for locale km_KH. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_km_KH = goog.i18n.NumberFormatSymbols_km; + + +/** + * Number formatting symbols for locale kn_IN. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_kn_IN = goog.i18n.NumberFormatSymbols_kn; + + +/** + * Number formatting symbols for locale ko_KP. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ko_KP = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0', + DEF_CURRENCY_CODE: 'KPW' +}; + + +/** + * Number formatting symbols for locale ko_KR. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ko_KR = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0', + DEF_CURRENCY_CODE: 'KRW' +}; + + +/** + * Number formatting symbols for locale kok. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_kok = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##,##0%', + CURRENCY_PATTERN: '¤ #,##,##0.00', + DEF_CURRENCY_CODE: 'INR' +}; + + +/** + * Number formatting symbols for locale kok_IN. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_kok_IN = goog.i18n.NumberFormatSymbols_kok; + + +/** + * Number formatting symbols for locale ks. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ks = { + DECIMAL_SEP: '٫', + GROUP_SEP: '٬', + PERCENT: '٪', + ZERO_DIGIT: '۰', + PLUS_SIGN: '‎+‎', + MINUS_SIGN: '‎-‎', + EXP_SYMBOL: '×۱۰^', + PERMILL: '؉', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##,##0%', + CURRENCY_PATTERN: '¤ #,##,##0.00', + DEF_CURRENCY_CODE: 'INR' +}; + + +/** + * Number formatting symbols for locale ks_IN. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ks_IN = goog.i18n.NumberFormatSymbols_ks; + + +/** + * Number formatting symbols for locale ksb. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ksb = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0.00¤', + DEF_CURRENCY_CODE: 'TZS' +}; + + +/** + * Number formatting symbols for locale ksb_TZ. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ksb_TZ = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0¤', + DEF_CURRENCY_CODE: 'TZS' +}; + + +/** + * Number formatting symbols for locale ksf. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ksf = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'XAF' +}; + + +/** + * Number formatting symbols for locale ksf_CM. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ksf_CM = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0 ¤', + DEF_CURRENCY_CODE: 'XAF' +}; + + +/** + * Number formatting symbols for locale ksh. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ksh = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '−', + EXP_SYMBOL: '×10^', + PERMILL: '‰', + INFINITY: '∞', + NAN: '¤¤¤', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'EUR' +}; + + +/** + * Number formatting symbols for locale ksh_DE. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ksh_DE = goog.i18n.NumberFormatSymbols_ksh; + + +/** + * Number formatting symbols for locale kw. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_kw = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'GBP' +}; + + +/** + * Number formatting symbols for locale kw_GB. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_kw_GB = goog.i18n.NumberFormatSymbols_kw; + + +/** + * Number formatting symbols for locale ky_KG. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ky_KG = goog.i18n.NumberFormatSymbols_ky; + + +/** + * Number formatting symbols for locale lag. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_lag = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤ #,##0.00', + DEF_CURRENCY_CODE: 'TZS' +}; + + +/** + * Number formatting symbols for locale lag_TZ. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_lag_TZ = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤ #,##0', + DEF_CURRENCY_CODE: 'TZS' +}; + + +/** + * Number formatting symbols for locale lb. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_lb = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'EUR' +}; + + +/** + * Number formatting symbols for locale lb_LU. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_lb_LU = goog.i18n.NumberFormatSymbols_lb; + + +/** + * Number formatting symbols for locale lg. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_lg = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0.00¤', + DEF_CURRENCY_CODE: 'UGX' +}; + + +/** + * Number formatting symbols for locale lg_UG. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_lg_UG = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0¤', + DEF_CURRENCY_CODE: 'UGX' +}; + + +/** + * Number formatting symbols for locale lkt. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_lkt = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤ #,##0.00', + DEF_CURRENCY_CODE: 'USD' +}; + + +/** + * Number formatting symbols for locale lkt_US. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_lkt_US = goog.i18n.NumberFormatSymbols_lkt; + + +/** + * Number formatting symbols for locale ln_AO. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ln_AO = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'AOA' +}; + + +/** + * Number formatting symbols for locale ln_CD. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ln_CD = goog.i18n.NumberFormatSymbols_ln; + + +/** + * Number formatting symbols for locale ln_CF. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ln_CF = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0 ¤', + DEF_CURRENCY_CODE: 'XAF' +}; + + +/** + * Number formatting symbols for locale ln_CG. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ln_CG = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0 ¤', + DEF_CURRENCY_CODE: 'XAF' +}; + + +/** + * Number formatting symbols for locale lo_LA. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_lo_LA = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'ບໍ່​ແມ່ນ​ໂຕ​ເລກ', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0;¤-#,##0', + DEF_CURRENCY_CODE: 'LAK' +}; + + +/** + * Number formatting symbols for locale lrc. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_lrc = { + DECIMAL_SEP: '٫', + GROUP_SEP: '٬', + PERCENT: '٪', + ZERO_DIGIT: '۰', + PLUS_SIGN: '‎+‎', + MINUS_SIGN: '‎-‎', + EXP_SYMBOL: '×۱۰^', + PERMILL: '؉', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤ #,##0.00', + DEF_CURRENCY_CODE: 'IRR' +}; + + +/** + * Number formatting symbols for locale lrc_IQ. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_lrc_IQ = { + DECIMAL_SEP: '٫', + GROUP_SEP: '٬', + PERCENT: '٪', + ZERO_DIGIT: '۰', + PLUS_SIGN: '‎+‎', + MINUS_SIGN: '‎-‎', + EXP_SYMBOL: '×۱۰^', + PERMILL: '؉', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤ #,##0', + DEF_CURRENCY_CODE: 'IQD' +}; + + +/** + * Number formatting symbols for locale lrc_IR. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_lrc_IR = { + DECIMAL_SEP: '٫', + GROUP_SEP: '٬', + PERCENT: '٪', + ZERO_DIGIT: '۰', + PLUS_SIGN: '‎+‎', + MINUS_SIGN: '‎-‎', + EXP_SYMBOL: '×۱۰^', + PERMILL: '؉', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤ #,##0', + DEF_CURRENCY_CODE: 'IRR' +}; + + +/** + * Number formatting symbols for locale lt_LT. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_lt_LT = goog.i18n.NumberFormatSymbols_lt; + + +/** + * Number formatting symbols for locale lu. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_lu = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0.00¤', + DEF_CURRENCY_CODE: 'CDF' +}; + + +/** + * Number formatting symbols for locale lu_CD. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_lu_CD = goog.i18n.NumberFormatSymbols_lu; + + +/** + * Number formatting symbols for locale luo. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_luo = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0.00¤', + DEF_CURRENCY_CODE: 'KES' +}; + + +/** + * Number formatting symbols for locale luo_KE. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_luo_KE = goog.i18n.NumberFormatSymbols_luo; + + +/** + * Number formatting symbols for locale luy. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_luy = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00;¤- #,##0.00', + DEF_CURRENCY_CODE: 'KES' +}; + + +/** + * Number formatting symbols for locale luy_KE. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_luy_KE = goog.i18n.NumberFormatSymbols_luy; + + +/** + * Number formatting symbols for locale lv_LV. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_lv_LV = goog.i18n.NumberFormatSymbols_lv; + + +/** + * Number formatting symbols for locale mas. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_mas = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'KES' +}; + + +/** + * Number formatting symbols for locale mas_KE. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_mas_KE = goog.i18n.NumberFormatSymbols_mas; + + +/** + * Number formatting symbols for locale mas_TZ. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_mas_TZ = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0', + DEF_CURRENCY_CODE: 'TZS' +}; + + +/** + * Number formatting symbols for locale mer. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_mer = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'KES' +}; + + +/** + * Number formatting symbols for locale mer_KE. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_mer_KE = goog.i18n.NumberFormatSymbols_mer; + + +/** + * Number formatting symbols for locale mfe. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_mfe = { + DECIMAL_SEP: '.', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤ #,##0.00', + DEF_CURRENCY_CODE: 'MUR' +}; + + +/** + * Number formatting symbols for locale mfe_MU. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_mfe_MU = { + DECIMAL_SEP: '.', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤ #,##0', + DEF_CURRENCY_CODE: 'MUR' +}; + + +/** + * Number formatting symbols for locale mg. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_mg = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤ #,##0.00', + DEF_CURRENCY_CODE: 'MGA' +}; + + +/** + * Number formatting symbols for locale mg_MG. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_mg_MG = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤ #,##0', + DEF_CURRENCY_CODE: 'MGA' +}; + + +/** + * Number formatting symbols for locale mgh. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_mgh = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤ #,##0.00', + DEF_CURRENCY_CODE: 'MZN' +}; + + +/** + * Number formatting symbols for locale mgh_MZ. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_mgh_MZ = goog.i18n.NumberFormatSymbols_mgh; + + +/** + * Number formatting symbols for locale mgo. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_mgo = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤ #,##0.00', + DEF_CURRENCY_CODE: 'XAF' +}; + + +/** + * Number formatting symbols for locale mgo_CM. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_mgo_CM = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤ #,##0', + DEF_CURRENCY_CODE: 'XAF' +}; + + +/** + * Number formatting symbols for locale mk_MK. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_mk_MK = goog.i18n.NumberFormatSymbols_mk; + + +/** + * Number formatting symbols for locale ml_IN. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ml_IN = goog.i18n.NumberFormatSymbols_ml; + + +/** + * Number formatting symbols for locale mn_MN. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_mn_MN = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤ #,##0', + DEF_CURRENCY_CODE: 'MNT' +}; + + +/** + * Number formatting symbols for locale mr_IN. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_mr_IN = goog.i18n.NumberFormatSymbols_mr; + + +/** + * Number formatting symbols for locale ms_BN. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ms_BN = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤ #,##0.00', + DEF_CURRENCY_CODE: 'BND' +}; + + +/** + * Number formatting symbols for locale ms_MY. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ms_MY = goog.i18n.NumberFormatSymbols_ms; + + +/** + * Number formatting symbols for locale ms_SG. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ms_SG = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'SGD' +}; + + +/** + * Number formatting symbols for locale mt_MT. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_mt_MT = goog.i18n.NumberFormatSymbols_mt; + + +/** + * Number formatting symbols for locale mua. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_mua = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'XAF' +}; + + +/** + * Number formatting symbols for locale mua_CM. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_mua_CM = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0', + DEF_CURRENCY_CODE: 'XAF' +}; + + +/** + * Number formatting symbols for locale my_MM. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_my_MM = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '၀', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'ဂဏန်းမဟုတ်သော', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0 ¤', + DEF_CURRENCY_CODE: 'MMK' +}; + + +/** + * Number formatting symbols for locale mzn. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_mzn = { + DECIMAL_SEP: '٫', + GROUP_SEP: '٬', + PERCENT: '٪', + ZERO_DIGIT: '۰', + PLUS_SIGN: '‎+‎', + MINUS_SIGN: '‎-‎', + EXP_SYMBOL: '×۱۰^', + PERMILL: '؉', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤ #,##0.00', + DEF_CURRENCY_CODE: 'IRR' +}; + + +/** + * Number formatting symbols for locale mzn_IR. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_mzn_IR = { + DECIMAL_SEP: '٫', + GROUP_SEP: '٬', + PERCENT: '٪', + ZERO_DIGIT: '۰', + PLUS_SIGN: '‎+‎', + MINUS_SIGN: '‎-‎', + EXP_SYMBOL: '×۱۰^', + PERMILL: '؉', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤ #,##0', + DEF_CURRENCY_CODE: 'IRR' +}; + + +/** + * Number formatting symbols for locale naq. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_naq = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'NAD' +}; + + +/** + * Number formatting symbols for locale naq_NA. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_naq_NA = goog.i18n.NumberFormatSymbols_naq; + + +/** + * Number formatting symbols for locale nb_NO. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_nb_NO = goog.i18n.NumberFormatSymbols_nb; + + +/** + * Number formatting symbols for locale nb_SJ. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_nb_SJ = goog.i18n.NumberFormatSymbols_nb; + + +/** + * Number formatting symbols for locale nd. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_nd = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'USD' +}; + + +/** + * Number formatting symbols for locale nd_ZW. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_nd_ZW = goog.i18n.NumberFormatSymbols_nd; + + +/** + * Number formatting symbols for locale nds. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_nds = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤ #,##0.00', + DEF_CURRENCY_CODE: 'EUR' +}; + + +/** + * Number formatting symbols for locale nds_DE. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_nds_DE = goog.i18n.NumberFormatSymbols_nds; + + +/** + * Number formatting symbols for locale nds_NL. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_nds_NL = goog.i18n.NumberFormatSymbols_nds; + + +/** + * Number formatting symbols for locale ne_IN. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ne_IN = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '०', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤ #,##0.00', + DEF_CURRENCY_CODE: 'INR' +}; + + +/** + * Number formatting symbols for locale ne_NP. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ne_NP = goog.i18n.NumberFormatSymbols_ne; + + +/** + * Number formatting symbols for locale nl_AW. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_nl_AW = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤ #,##0.00;¤ -#,##0.00', + DEF_CURRENCY_CODE: 'AWG' +}; + + +/** + * Number formatting symbols for locale nl_BE. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_nl_BE = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'EUR' +}; + + +/** + * Number formatting symbols for locale nl_BQ. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_nl_BQ = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤ #,##0.00;¤ -#,##0.00', + DEF_CURRENCY_CODE: 'USD' +}; + + +/** + * Number formatting symbols for locale nl_CW. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_nl_CW = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤ #,##0.00;¤ -#,##0.00', + DEF_CURRENCY_CODE: 'ANG' +}; + + +/** + * Number formatting symbols for locale nl_NL. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_nl_NL = goog.i18n.NumberFormatSymbols_nl; + + +/** + * Number formatting symbols for locale nl_SR. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_nl_SR = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤ #,##0.00;¤ -#,##0.00', + DEF_CURRENCY_CODE: 'SRD' +}; + + +/** + * Number formatting symbols for locale nl_SX. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_nl_SX = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤ #,##0.00;¤ -#,##0.00', + DEF_CURRENCY_CODE: 'ANG' +}; + + +/** + * Number formatting symbols for locale nmg. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_nmg = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'XAF' +}; + + +/** + * Number formatting symbols for locale nmg_CM. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_nmg_CM = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0 ¤', + DEF_CURRENCY_CODE: 'XAF' +}; + + +/** + * Number formatting symbols for locale nn. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_nn = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '−', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'NOK' +}; + + +/** + * Number formatting symbols for locale nn_NO. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_nn_NO = goog.i18n.NumberFormatSymbols_nn; + + +/** + * Number formatting symbols for locale nnh. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_nnh = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤ #,##0.00', + DEF_CURRENCY_CODE: 'XAF' +}; + + +/** + * Number formatting symbols for locale nnh_CM. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_nnh_CM = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤ #,##0', + DEF_CURRENCY_CODE: 'XAF' +}; + + +/** + * Number formatting symbols for locale nus. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_nus = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'SSP' +}; + + +/** + * Number formatting symbols for locale nus_SS. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_nus_SS = goog.i18n.NumberFormatSymbols_nus; + + +/** + * Number formatting symbols for locale nyn. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_nyn = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'UGX' +}; + + +/** + * Number formatting symbols for locale nyn_UG. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_nyn_UG = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0', + DEF_CURRENCY_CODE: 'UGX' +}; + + +/** + * Number formatting symbols for locale om. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_om = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'ETB' +}; + + +/** + * Number formatting symbols for locale om_ET. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_om_ET = goog.i18n.NumberFormatSymbols_om; + + +/** + * Number formatting symbols for locale om_KE. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_om_KE = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'KES' +}; + + +/** + * Number formatting symbols for locale or_IN. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_or_IN = goog.i18n.NumberFormatSymbols_or; + + +/** + * Number formatting symbols for locale os. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_os = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'НН', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤ #,##0.00', + DEF_CURRENCY_CODE: 'GEL' +}; + + +/** + * Number formatting symbols for locale os_GE. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_os_GE = goog.i18n.NumberFormatSymbols_os; + + +/** + * Number formatting symbols for locale os_RU. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_os_RU = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'НН', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤ #,##0.00', + DEF_CURRENCY_CODE: 'RUB' +}; + + +/** + * Number formatting symbols for locale pa_Arab. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_pa_Arab = { + DECIMAL_SEP: '٫', + GROUP_SEP: '٬', + PERCENT: '٪', + ZERO_DIGIT: '۰', + PLUS_SIGN: '‎+‎', + MINUS_SIGN: '‎-‎', + EXP_SYMBOL: '×۱۰^', + PERMILL: '؉', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤ #,##0.00', + DEF_CURRENCY_CODE: 'PKR' +}; + + +/** + * Number formatting symbols for locale pa_Arab_PK. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_pa_Arab_PK = { + DECIMAL_SEP: '٫', + GROUP_SEP: '٬', + PERCENT: '٪', + ZERO_DIGIT: '۰', + PLUS_SIGN: '‎+‎', + MINUS_SIGN: '‎-‎', + EXP_SYMBOL: '×۱۰^', + PERMILL: '؉', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤ #,##0', + DEF_CURRENCY_CODE: 'PKR' +}; + + +/** + * Number formatting symbols for locale pa_Guru. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_pa_Guru = goog.i18n.NumberFormatSymbols_pa; + + +/** + * Number formatting symbols for locale pa_Guru_IN. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_pa_Guru_IN = goog.i18n.NumberFormatSymbols_pa; + + +/** + * Number formatting symbols for locale pl_PL. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_pl_PL = goog.i18n.NumberFormatSymbols_pl; + + +/** + * Number formatting symbols for locale ps. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ps = { + DECIMAL_SEP: '٫', + GROUP_SEP: '٬', + PERCENT: '٪', + ZERO_DIGIT: '۰', + PLUS_SIGN: '‎+‎', + MINUS_SIGN: '‎-‎', + EXP_SYMBOL: '×۱۰^', + PERMILL: '؉', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'AFN' +}; + + +/** + * Number formatting symbols for locale ps_AF. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ps_AF = { + DECIMAL_SEP: '٫', + GROUP_SEP: '٬', + PERCENT: '٪', + ZERO_DIGIT: '۰', + PLUS_SIGN: '‎+‎', + MINUS_SIGN: '‎-‎', + EXP_SYMBOL: '×۱۰^', + PERMILL: '؉', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0 ¤', + DEF_CURRENCY_CODE: 'AFN' +}; + + +/** + * Number formatting symbols for locale pt_AO. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_pt_AO = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'AOA' +}; + + +/** + * Number formatting symbols for locale pt_CH. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_pt_CH = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'CHF' +}; + + +/** + * Number formatting symbols for locale pt_CV. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_pt_CV = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'CVE' +}; + + +/** + * Number formatting symbols for locale pt_GQ. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_pt_GQ = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0 ¤', + DEF_CURRENCY_CODE: 'XAF' +}; + + +/** + * Number formatting symbols for locale pt_GW. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_pt_GW = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0 ¤', + DEF_CURRENCY_CODE: 'XOF' +}; + + +/** + * Number formatting symbols for locale pt_LU. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_pt_LU = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'EUR' +}; + + +/** + * Number formatting symbols for locale pt_MO. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_pt_MO = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'MOP' +}; + + +/** + * Number formatting symbols for locale pt_MZ. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_pt_MZ = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'MZN' +}; + + +/** + * Number formatting symbols for locale pt_ST. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_pt_ST = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0 ¤', + DEF_CURRENCY_CODE: 'STD' +}; + + +/** + * Number formatting symbols for locale pt_TL. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_pt_TL = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'USD' +}; + + +/** + * Number formatting symbols for locale qu. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_qu = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '¤ #,##0.00', + DEF_CURRENCY_CODE: 'PEN' +}; + + +/** + * Number formatting symbols for locale qu_BO. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_qu_BO = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '¤ #,##0.00', + DEF_CURRENCY_CODE: 'BOB' +}; + + +/** + * Number formatting symbols for locale qu_EC. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_qu_EC = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '¤ #,##0.00', + DEF_CURRENCY_CODE: 'USD' +}; + + +/** + * Number formatting symbols for locale qu_PE. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_qu_PE = goog.i18n.NumberFormatSymbols_qu; + + +/** + * Number formatting symbols for locale rm. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_rm = { + DECIMAL_SEP: '.', + GROUP_SEP: '’', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '−', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'CHF' +}; + + +/** + * Number formatting symbols for locale rm_CH. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_rm_CH = goog.i18n.NumberFormatSymbols_rm; + + +/** + * Number formatting symbols for locale rn. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_rn = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0.00¤', + DEF_CURRENCY_CODE: 'BIF' +}; + + +/** + * Number formatting symbols for locale rn_BI. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_rn_BI = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0¤', + DEF_CURRENCY_CODE: 'BIF' +}; + + +/** + * Number formatting symbols for locale ro_MD. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ro_MD = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'MDL' +}; + + +/** + * Number formatting symbols for locale ro_RO. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ro_RO = goog.i18n.NumberFormatSymbols_ro; + + +/** + * Number formatting symbols for locale rof. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_rof = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'TZS' +}; + + +/** + * Number formatting symbols for locale rof_TZ. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_rof_TZ = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0', + DEF_CURRENCY_CODE: 'TZS' +}; + + +/** + * Number formatting symbols for locale ru_BY. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ru_BY = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'не число', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'BYN' +}; + + +/** + * Number formatting symbols for locale ru_KG. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ru_KG = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'не число', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'KGS' +}; + + +/** + * Number formatting symbols for locale ru_KZ. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ru_KZ = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'не число', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'KZT' +}; + + +/** + * Number formatting symbols for locale ru_MD. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ru_MD = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'не число', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'MDL' +}; + + +/** + * Number formatting symbols for locale ru_RU. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ru_RU = goog.i18n.NumberFormatSymbols_ru; + + +/** + * Number formatting symbols for locale ru_UA. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ru_UA = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'не число', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'UAH' +}; + + +/** + * Number formatting symbols for locale rw. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_rw = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤ #,##0.00', + DEF_CURRENCY_CODE: 'RWF' +}; + + +/** + * Number formatting symbols for locale rw_RW. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_rw_RW = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤ #,##0', + DEF_CURRENCY_CODE: 'RWF' +}; + + +/** + * Number formatting symbols for locale rwk. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_rwk = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0.00¤', + DEF_CURRENCY_CODE: 'TZS' +}; + + +/** + * Number formatting symbols for locale rwk_TZ. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_rwk_TZ = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0¤', + DEF_CURRENCY_CODE: 'TZS' +}; + + +/** + * Number formatting symbols for locale sah. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_sah = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'чыыһыла буотах', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'RUB' +}; + + +/** + * Number formatting symbols for locale sah_RU. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_sah_RU = goog.i18n.NumberFormatSymbols_sah; + + +/** + * Number formatting symbols for locale saq. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_saq = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'KES' +}; + + +/** + * Number formatting symbols for locale saq_KE. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_saq_KE = goog.i18n.NumberFormatSymbols_saq; + + +/** + * Number formatting symbols for locale sbp. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_sbp = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0.00¤', + DEF_CURRENCY_CODE: 'TZS' +}; + + +/** + * Number formatting symbols for locale sbp_TZ. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_sbp_TZ = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0¤', + DEF_CURRENCY_CODE: 'TZS' +}; + + +/** + * Number formatting symbols for locale se. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_se = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '−', + EXP_SYMBOL: '·10^', + PERMILL: '‰', + INFINITY: '∞', + NAN: '¤¤¤', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'NOK' +}; + + +/** + * Number formatting symbols for locale se_FI. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_se_FI = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '−', + EXP_SYMBOL: '·10^', + PERMILL: '‰', + INFINITY: '∞', + NAN: '¤¤¤', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'EUR' +}; + + +/** + * Number formatting symbols for locale se_NO. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_se_NO = goog.i18n.NumberFormatSymbols_se; + + +/** + * Number formatting symbols for locale se_SE. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_se_SE = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '−', + EXP_SYMBOL: '·10^', + PERMILL: '‰', + INFINITY: '∞', + NAN: '¤¤¤', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'SEK' +}; + + +/** + * Number formatting symbols for locale seh. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_seh = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0.00¤', + DEF_CURRENCY_CODE: 'MZN' +}; + + +/** + * Number formatting symbols for locale seh_MZ. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_seh_MZ = goog.i18n.NumberFormatSymbols_seh; + + +/** + * Number formatting symbols for locale ses. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ses = { + DECIMAL_SEP: '.', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0.00¤', + DEF_CURRENCY_CODE: 'XOF' +}; + + +/** + * Number formatting symbols for locale ses_ML. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ses_ML = { + DECIMAL_SEP: '.', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0¤', + DEF_CURRENCY_CODE: 'XOF' +}; + + +/** + * Number formatting symbols for locale sg. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_sg = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00;¤-#,##0.00', + DEF_CURRENCY_CODE: 'XAF' +}; + + +/** + * Number formatting symbols for locale sg_CF. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_sg_CF = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0;¤-#,##0', + DEF_CURRENCY_CODE: 'XAF' +}; + + +/** + * Number formatting symbols for locale shi. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_shi = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0.00¤', + DEF_CURRENCY_CODE: 'MAD' +}; + + +/** + * Number formatting symbols for locale shi_Latn. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_shi_Latn = goog.i18n.NumberFormatSymbols_shi; + + +/** + * Number formatting symbols for locale shi_Latn_MA. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_shi_Latn_MA = goog.i18n.NumberFormatSymbols_shi; + + +/** + * Number formatting symbols for locale shi_Tfng. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_shi_Tfng = goog.i18n.NumberFormatSymbols_shi; + + +/** + * Number formatting symbols for locale shi_Tfng_MA. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_shi_Tfng_MA = goog.i18n.NumberFormatSymbols_shi; + + +/** + * Number formatting symbols for locale si_LK. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_si_LK = goog.i18n.NumberFormatSymbols_si; + + +/** + * Number formatting symbols for locale sk_SK. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_sk_SK = goog.i18n.NumberFormatSymbols_sk; + + +/** + * Number formatting symbols for locale sl_SI. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_sl_SI = goog.i18n.NumberFormatSymbols_sl; + + +/** + * Number formatting symbols for locale smn. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_smn = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'epiloho', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'EUR' +}; + + +/** + * Number formatting symbols for locale smn_FI. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_smn_FI = goog.i18n.NumberFormatSymbols_smn; + + +/** + * Number formatting symbols for locale sn. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_sn = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'USD' +}; + + +/** + * Number formatting symbols for locale sn_ZW. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_sn_ZW = goog.i18n.NumberFormatSymbols_sn; + + +/** + * Number formatting symbols for locale so. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_so = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'SOS' +}; + + +/** + * Number formatting symbols for locale so_DJ. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_so_DJ = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0', + DEF_CURRENCY_CODE: 'DJF' +}; + + +/** + * Number formatting symbols for locale so_ET. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_so_ET = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'ETB' +}; + + +/** + * Number formatting symbols for locale so_KE. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_so_KE = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'KES' +}; + + +/** + * Number formatting symbols for locale so_SO. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_so_SO = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0', + DEF_CURRENCY_CODE: 'SOS' +}; + + +/** + * Number formatting symbols for locale sq_AL. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_sq_AL = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0 ¤', + DEF_CURRENCY_CODE: 'ALL' +}; + + +/** + * Number formatting symbols for locale sq_MK. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_sq_MK = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'MKD' +}; + + +/** + * Number formatting symbols for locale sq_XK. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_sq_XK = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'EUR' +}; + + +/** + * Number formatting symbols for locale sr_Cyrl. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_sr_Cyrl = goog.i18n.NumberFormatSymbols_sr; + + +/** + * Number formatting symbols for locale sr_Cyrl_BA. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_sr_Cyrl_BA = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'BAM' +}; + + +/** + * Number formatting symbols for locale sr_Cyrl_ME. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_sr_Cyrl_ME = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'EUR' +}; + + +/** + * Number formatting symbols for locale sr_Cyrl_RS. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_sr_Cyrl_RS = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0 ¤', + DEF_CURRENCY_CODE: 'RSD' +}; + + +/** + * Number formatting symbols for locale sr_Cyrl_XK. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_sr_Cyrl_XK = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'EUR' +}; + + +/** + * Number formatting symbols for locale sr_Latn_BA. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_sr_Latn_BA = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'BAM' +}; + + +/** + * Number formatting symbols for locale sr_Latn_ME. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_sr_Latn_ME = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'EUR' +}; + + +/** + * Number formatting symbols for locale sr_Latn_RS. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_sr_Latn_RS = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0 ¤', + DEF_CURRENCY_CODE: 'RSD' +}; + + +/** + * Number formatting symbols for locale sr_Latn_XK. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_sr_Latn_XK = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'EUR' +}; + + +/** + * Number formatting symbols for locale sv_AX. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_sv_AX = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '−', + EXP_SYMBOL: '×10^', + PERMILL: '‰', + INFINITY: '∞', + NAN: '¤¤¤', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'EUR' +}; + + +/** + * Number formatting symbols for locale sv_FI. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_sv_FI = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '−', + EXP_SYMBOL: '×10^', + PERMILL: '‰', + INFINITY: '∞', + NAN: '¤¤¤', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'EUR' +}; + + +/** + * Number formatting symbols for locale sv_SE. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_sv_SE = goog.i18n.NumberFormatSymbols_sv; + + +/** + * Number formatting symbols for locale sw_CD. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_sw_CD = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'CDF' +}; + + +/** + * Number formatting symbols for locale sw_KE. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_sw_KE = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'KES' +}; + + +/** + * Number formatting symbols for locale sw_TZ. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_sw_TZ = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0', + DEF_CURRENCY_CODE: 'TZS' +}; + + +/** + * Number formatting symbols for locale sw_UG. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_sw_UG = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0', + DEF_CURRENCY_CODE: 'UGX' +}; + + +/** + * Number formatting symbols for locale ta_IN. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ta_IN = goog.i18n.NumberFormatSymbols_ta; + + +/** + * Number formatting symbols for locale ta_LK. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ta_LK = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##,##0%', + CURRENCY_PATTERN: '¤ #,##,##0.00', + DEF_CURRENCY_CODE: 'LKR' +}; + + +/** + * Number formatting symbols for locale ta_MY. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ta_MY = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤ #,##0.00', + DEF_CURRENCY_CODE: 'MYR' +}; + + +/** + * Number formatting symbols for locale ta_SG. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ta_SG = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤ #,##0.00', + DEF_CURRENCY_CODE: 'SGD' +}; + + +/** + * Number formatting symbols for locale te_IN. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_te_IN = goog.i18n.NumberFormatSymbols_te; + + +/** + * Number formatting symbols for locale teo. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_teo = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'UGX' +}; + + +/** + * Number formatting symbols for locale teo_KE. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_teo_KE = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'KES' +}; + + +/** + * Number formatting symbols for locale teo_UG. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_teo_UG = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0', + DEF_CURRENCY_CODE: 'UGX' +}; + + +/** + * Number formatting symbols for locale th_TH. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_th_TH = goog.i18n.NumberFormatSymbols_th; + + +/** + * Number formatting symbols for locale ti. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ti = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'ETB' +}; + + +/** + * Number formatting symbols for locale ti_ER. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ti_ER = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'ERN' +}; + + +/** + * Number formatting symbols for locale ti_ET. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ti_ET = goog.i18n.NumberFormatSymbols_ti; + + +/** + * Number formatting symbols for locale to. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_to = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'TF', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤ #,##0.00', + DEF_CURRENCY_CODE: 'TOP' +}; + + +/** + * Number formatting symbols for locale to_TO. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_to_TO = goog.i18n.NumberFormatSymbols_to; + + +/** + * Number formatting symbols for locale tr_CY. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_tr_CY = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '%#,##0', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'EUR' +}; + + +/** + * Number formatting symbols for locale tr_TR. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_tr_TR = goog.i18n.NumberFormatSymbols_tr; + + +/** + * Number formatting symbols for locale twq. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_twq = { + DECIMAL_SEP: '.', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0.00¤', + DEF_CURRENCY_CODE: 'XOF' +}; + + +/** + * Number formatting symbols for locale twq_NE. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_twq_NE = { + DECIMAL_SEP: '.', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0¤', + DEF_CURRENCY_CODE: 'XOF' +}; + + +/** + * Number formatting symbols for locale tzm. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_tzm = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'MAD' +}; + + +/** + * Number formatting symbols for locale tzm_MA. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_tzm_MA = goog.i18n.NumberFormatSymbols_tzm; + + +/** + * Number formatting symbols for locale ug. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ug = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'CNY' +}; + + +/** + * Number formatting symbols for locale ug_CN. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ug_CN = goog.i18n.NumberFormatSymbols_ug; + + +/** + * Number formatting symbols for locale uk_UA. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_uk_UA = goog.i18n.NumberFormatSymbols_uk; + + +/** + * Number formatting symbols for locale ur_IN. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ur_IN = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '۰', + PLUS_SIGN: '‎+‎', + MINUS_SIGN: '‎-‎', + EXP_SYMBOL: '×۱۰^', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤ #,##,##0.00', + DEF_CURRENCY_CODE: 'INR' +}; + + +/** + * Number formatting symbols for locale ur_PK. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_ur_PK = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '‎+', + MINUS_SIGN: '‎-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##,##0%', + CURRENCY_PATTERN: '¤ #,##,##0', + DEF_CURRENCY_CODE: 'PKR' +}; + + +/** + * Number formatting symbols for locale uz_Arab. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_uz_Arab = { + DECIMAL_SEP: '٫', + GROUP_SEP: '٬', + PERCENT: '٪', + ZERO_DIGIT: '۰', + PLUS_SIGN: '‎+‎', + MINUS_SIGN: '‎-‎', + EXP_SYMBOL: '×۱۰^', + PERMILL: '؉', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤ #,##0.00', + DEF_CURRENCY_CODE: 'AFN' +}; + + +/** + * Number formatting symbols for locale uz_Arab_AF. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_uz_Arab_AF = { + DECIMAL_SEP: '٫', + GROUP_SEP: '٬', + PERCENT: '٪', + ZERO_DIGIT: '۰', + PLUS_SIGN: '‎+‎', + MINUS_SIGN: '‎-‎', + EXP_SYMBOL: '×۱۰^', + PERMILL: '؉', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤ #,##0', + DEF_CURRENCY_CODE: 'AFN' +}; + + +/** + * Number formatting symbols for locale uz_Cyrl. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_uz_Cyrl = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'ҳақиқий сон эмас', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'UZS' +}; + + +/** + * Number formatting symbols for locale uz_Cyrl_UZ. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_uz_Cyrl_UZ = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'ҳақиқий сон эмас', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0 ¤', + DEF_CURRENCY_CODE: 'UZS' +}; + + +/** + * Number formatting symbols for locale uz_Latn. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_uz_Latn = goog.i18n.NumberFormatSymbols_uz; + + +/** + * Number formatting symbols for locale uz_Latn_UZ. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_uz_Latn_UZ = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'haqiqiy son emas', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0 ¤', + DEF_CURRENCY_CODE: 'UZS' +}; + + +/** + * Number formatting symbols for locale vai. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_vai = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'LRD' +}; + + +/** + * Number formatting symbols for locale vai_Latn. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_vai_Latn = goog.i18n.NumberFormatSymbols_vai; + + +/** + * Number formatting symbols for locale vai_Latn_LR. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_vai_Latn_LR = goog.i18n.NumberFormatSymbols_vai; + + +/** + * Number formatting symbols for locale vai_Vaii. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_vai_Vaii = goog.i18n.NumberFormatSymbols_vai; + + +/** + * Number formatting symbols for locale vai_Vaii_LR. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_vai_Vaii_LR = goog.i18n.NumberFormatSymbols_vai; + + +/** + * Number formatting symbols for locale vi_VN. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_vi_VN = { + DECIMAL_SEP: ',', + GROUP_SEP: '.', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤ #,##0', + DEF_CURRENCY_CODE: 'VND' +}; + + +/** + * Number formatting symbols for locale vun. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_vun = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'TZS' +}; + + +/** + * Number formatting symbols for locale vun_TZ. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_vun_TZ = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0', + DEF_CURRENCY_CODE: 'TZS' +}; + + +/** + * Number formatting symbols for locale wae. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_wae = { + DECIMAL_SEP: ',', + GROUP_SEP: '’', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤ #,##0.00', + DEF_CURRENCY_CODE: 'CHF' +}; + + +/** + * Number formatting symbols for locale wae_CH. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_wae_CH = goog.i18n.NumberFormatSymbols_wae; + + +/** + * Number formatting symbols for locale xog. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_xog = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'UGX' +}; + + +/** + * Number formatting symbols for locale xog_UG. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_xog_UG = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0 ¤', + DEF_CURRENCY_CODE: 'UGX' +}; + + +/** + * Number formatting symbols for locale yav. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_yav = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0.00 ¤', + DEF_CURRENCY_CODE: 'XAF' +}; + + +/** + * Number formatting symbols for locale yav_CM. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_yav_CM = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '#,##0 ¤', + DEF_CURRENCY_CODE: 'XAF' +}; + + +/** + * Number formatting symbols for locale yi. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_yi = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤ #,##0.00', + DEF_CURRENCY_CODE: 'EUR' +}; + + +/** + * Number formatting symbols for locale yi_001. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_yi_001 = goog.i18n.NumberFormatSymbols_yi; + + +/** + * Number formatting symbols for locale yo. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_yo = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'NGN' +}; + + +/** + * Number formatting symbols for locale yo_BJ. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_yo_BJ = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0', + DEF_CURRENCY_CODE: 'XOF' +}; + + +/** + * Number formatting symbols for locale yo_NG. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_yo_NG = goog.i18n.NumberFormatSymbols_yo; + + +/** + * Number formatting symbols for locale yue. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_yue = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: '非數值', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'HKD' +}; + + +/** + * Number formatting symbols for locale yue_HK. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_yue_HK = goog.i18n.NumberFormatSymbols_yue; + + +/** + * Number formatting symbols for locale zgh. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_zgh = { + DECIMAL_SEP: ',', + GROUP_SEP: ' ', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0 %', + CURRENCY_PATTERN: '#,##0.00¤', + DEF_CURRENCY_CODE: 'MAD' +}; + + +/** + * Number formatting symbols for locale zgh_MA. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_zgh_MA = goog.i18n.NumberFormatSymbols_zgh; + + +/** + * Number formatting symbols for locale zh_Hans. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_zh_Hans = goog.i18n.NumberFormatSymbols_zh; + + +/** + * Number formatting symbols for locale zh_Hans_CN. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_zh_Hans_CN = goog.i18n.NumberFormatSymbols_zh; + + +/** + * Number formatting symbols for locale zh_Hans_HK. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_zh_Hans_HK = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'HKD' +}; + + +/** + * Number formatting symbols for locale zh_Hans_MO. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_zh_Hans_MO = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'MOP' +}; + + +/** + * Number formatting symbols for locale zh_Hans_SG. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_zh_Hans_SG = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: 'NaN', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'SGD' +}; + + +/** + * Number formatting symbols for locale zh_Hant. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_zh_Hant = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: '非數值', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'TWD' +}; + + +/** + * Number formatting symbols for locale zh_Hant_HK. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_zh_Hant_HK = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: '非數值', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'HKD' +}; + + +/** + * Number formatting symbols for locale zh_Hant_MO. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_zh_Hant_MO = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: '非數值', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'MOP' +}; + + +/** + * Number formatting symbols for locale zh_Hant_TW. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_zh_Hant_TW = { + DECIMAL_SEP: '.', + GROUP_SEP: ',', + PERCENT: '%', + ZERO_DIGIT: '0', + PLUS_SIGN: '+', + MINUS_SIGN: '-', + EXP_SYMBOL: 'E', + PERMILL: '‰', + INFINITY: '∞', + NAN: '非數值', + DECIMAL_PATTERN: '#,##0.###', + SCIENTIFIC_PATTERN: '#E0', + PERCENT_PATTERN: '#,##0%', + CURRENCY_PATTERN: '¤#,##0.00', + DEF_CURRENCY_CODE: 'TWD' +}; + + +/** + * Number formatting symbols for locale zu_ZA. + * @enum {string} + */ +goog.i18n.NumberFormatSymbols_zu_ZA = goog.i18n.NumberFormatSymbols_zu; + + +/** + * Selected number formatting symbols by locale. + */ +if (goog.LOCALE == 'af_NA' || goog.LOCALE == 'af-NA') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_af_NA; +} + +if (goog.LOCALE == 'af_ZA' || goog.LOCALE == 'af-ZA') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_af_ZA; +} + +if (goog.LOCALE == 'agq') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_agq; +} + +if (goog.LOCALE == 'agq_CM' || goog.LOCALE == 'agq-CM') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_agq_CM; +} + +if (goog.LOCALE == 'ak') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ak; +} + +if (goog.LOCALE == 'ak_GH' || goog.LOCALE == 'ak-GH') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ak_GH; +} + +if (goog.LOCALE == 'am_ET' || goog.LOCALE == 'am-ET') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_am_ET; +} + +if (goog.LOCALE == 'ar_001' || goog.LOCALE == 'ar-001') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ar_001; +} + +if (goog.LOCALE == 'ar_AE' || goog.LOCALE == 'ar-AE') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ar_AE; +} + +if (goog.LOCALE == 'ar_BH' || goog.LOCALE == 'ar-BH') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ar_BH; +} + +if (goog.LOCALE == 'ar_DJ' || goog.LOCALE == 'ar-DJ') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ar_DJ; +} + +if (goog.LOCALE == 'ar_EG' || goog.LOCALE == 'ar-EG') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ar_EG; +} + +if (goog.LOCALE == 'ar_EH' || goog.LOCALE == 'ar-EH') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ar_EH; +} + +if (goog.LOCALE == 'ar_ER' || goog.LOCALE == 'ar-ER') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ar_ER; +} + +if (goog.LOCALE == 'ar_IL' || goog.LOCALE == 'ar-IL') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ar_IL; +} + +if (goog.LOCALE == 'ar_IQ' || goog.LOCALE == 'ar-IQ') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ar_IQ; +} + +if (goog.LOCALE == 'ar_JO' || goog.LOCALE == 'ar-JO') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ar_JO; +} + +if (goog.LOCALE == 'ar_KM' || goog.LOCALE == 'ar-KM') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ar_KM; +} + +if (goog.LOCALE == 'ar_KW' || goog.LOCALE == 'ar-KW') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ar_KW; +} + +if (goog.LOCALE == 'ar_LB' || goog.LOCALE == 'ar-LB') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ar_LB; +} + +if (goog.LOCALE == 'ar_LY' || goog.LOCALE == 'ar-LY') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ar_LY; +} + +if (goog.LOCALE == 'ar_MA' || goog.LOCALE == 'ar-MA') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ar_MA; +} + +if (goog.LOCALE == 'ar_MR' || goog.LOCALE == 'ar-MR') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ar_MR; +} + +if (goog.LOCALE == 'ar_OM' || goog.LOCALE == 'ar-OM') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ar_OM; +} + +if (goog.LOCALE == 'ar_PS' || goog.LOCALE == 'ar-PS') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ar_PS; +} + +if (goog.LOCALE == 'ar_QA' || goog.LOCALE == 'ar-QA') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ar_QA; +} + +if (goog.LOCALE == 'ar_SA' || goog.LOCALE == 'ar-SA') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ar_SA; +} + +if (goog.LOCALE == 'ar_SD' || goog.LOCALE == 'ar-SD') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ar_SD; +} + +if (goog.LOCALE == 'ar_SO' || goog.LOCALE == 'ar-SO') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ar_SO; +} + +if (goog.LOCALE == 'ar_SS' || goog.LOCALE == 'ar-SS') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ar_SS; +} + +if (goog.LOCALE == 'ar_SY' || goog.LOCALE == 'ar-SY') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ar_SY; +} + +if (goog.LOCALE == 'ar_TD' || goog.LOCALE == 'ar-TD') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ar_TD; +} + +if (goog.LOCALE == 'ar_TN' || goog.LOCALE == 'ar-TN') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ar_TN; +} + +if (goog.LOCALE == 'ar_XB' || goog.LOCALE == 'ar-XB') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ar_XB; +} + +if (goog.LOCALE == 'ar_YE' || goog.LOCALE == 'ar-YE') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ar_YE; +} + +if (goog.LOCALE == 'as') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_as; +} + +if (goog.LOCALE == 'as_IN' || goog.LOCALE == 'as-IN') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_as_IN; +} + +if (goog.LOCALE == 'asa') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_asa; +} + +if (goog.LOCALE == 'asa_TZ' || goog.LOCALE == 'asa-TZ') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_asa_TZ; +} + +if (goog.LOCALE == 'ast') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ast; +} + +if (goog.LOCALE == 'ast_ES' || goog.LOCALE == 'ast-ES') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ast_ES; +} + +if (goog.LOCALE == 'az_Cyrl' || goog.LOCALE == 'az-Cyrl') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_az_Cyrl; +} + +if (goog.LOCALE == 'az_Cyrl_AZ' || goog.LOCALE == 'az-Cyrl-AZ') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_az_Cyrl_AZ; +} + +if (goog.LOCALE == 'az_Latn' || goog.LOCALE == 'az-Latn') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_az_Latn; +} + +if (goog.LOCALE == 'az_Latn_AZ' || goog.LOCALE == 'az-Latn-AZ') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_az_Latn_AZ; +} + +if (goog.LOCALE == 'bas') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_bas; +} + +if (goog.LOCALE == 'bas_CM' || goog.LOCALE == 'bas-CM') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_bas_CM; +} + +if (goog.LOCALE == 'be_BY' || goog.LOCALE == 'be-BY') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_be_BY; +} + +if (goog.LOCALE == 'bem') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_bem; +} + +if (goog.LOCALE == 'bem_ZM' || goog.LOCALE == 'bem-ZM') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_bem_ZM; +} + +if (goog.LOCALE == 'bez') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_bez; +} + +if (goog.LOCALE == 'bez_TZ' || goog.LOCALE == 'bez-TZ') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_bez_TZ; +} + +if (goog.LOCALE == 'bg_BG' || goog.LOCALE == 'bg-BG') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_bg_BG; +} + +if (goog.LOCALE == 'bm') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_bm; +} + +if (goog.LOCALE == 'bm_ML' || goog.LOCALE == 'bm-ML') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_bm_ML; +} + +if (goog.LOCALE == 'bn_BD' || goog.LOCALE == 'bn-BD') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_bn_BD; +} + +if (goog.LOCALE == 'bn_IN' || goog.LOCALE == 'bn-IN') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_bn_IN; +} + +if (goog.LOCALE == 'bo') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_bo; +} + +if (goog.LOCALE == 'bo_CN' || goog.LOCALE == 'bo-CN') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_bo_CN; +} + +if (goog.LOCALE == 'bo_IN' || goog.LOCALE == 'bo-IN') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_bo_IN; +} + +if (goog.LOCALE == 'br_FR' || goog.LOCALE == 'br-FR') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_br_FR; +} + +if (goog.LOCALE == 'brx') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_brx; +} + +if (goog.LOCALE == 'brx_IN' || goog.LOCALE == 'brx-IN') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_brx_IN; +} + +if (goog.LOCALE == 'bs_Cyrl' || goog.LOCALE == 'bs-Cyrl') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_bs_Cyrl; +} + +if (goog.LOCALE == 'bs_Cyrl_BA' || goog.LOCALE == 'bs-Cyrl-BA') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_bs_Cyrl_BA; +} + +if (goog.LOCALE == 'bs_Latn' || goog.LOCALE == 'bs-Latn') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_bs_Latn; +} + +if (goog.LOCALE == 'bs_Latn_BA' || goog.LOCALE == 'bs-Latn-BA') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_bs_Latn_BA; +} + +if (goog.LOCALE == 'ca_AD' || goog.LOCALE == 'ca-AD') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ca_AD; +} + +if (goog.LOCALE == 'ca_ES' || goog.LOCALE == 'ca-ES') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ca_ES; +} + +if (goog.LOCALE == 'ca_FR' || goog.LOCALE == 'ca-FR') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ca_FR; +} + +if (goog.LOCALE == 'ca_IT' || goog.LOCALE == 'ca-IT') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ca_IT; +} + +if (goog.LOCALE == 'ce') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ce; +} + +if (goog.LOCALE == 'ce_RU' || goog.LOCALE == 'ce-RU') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ce_RU; +} + +if (goog.LOCALE == 'cgg') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_cgg; +} + +if (goog.LOCALE == 'cgg_UG' || goog.LOCALE == 'cgg-UG') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_cgg_UG; +} + +if (goog.LOCALE == 'chr_US' || goog.LOCALE == 'chr-US') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_chr_US; +} + +if (goog.LOCALE == 'ckb') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ckb; +} + +if (goog.LOCALE == 'ckb_IQ' || goog.LOCALE == 'ckb-IQ') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ckb_IQ; +} + +if (goog.LOCALE == 'ckb_IR' || goog.LOCALE == 'ckb-IR') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ckb_IR; +} + +if (goog.LOCALE == 'cs_CZ' || goog.LOCALE == 'cs-CZ') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_cs_CZ; +} + +if (goog.LOCALE == 'cy_GB' || goog.LOCALE == 'cy-GB') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_cy_GB; +} + +if (goog.LOCALE == 'da_DK' || goog.LOCALE == 'da-DK') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_da_DK; +} + +if (goog.LOCALE == 'da_GL' || goog.LOCALE == 'da-GL') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_da_GL; +} + +if (goog.LOCALE == 'dav') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_dav; +} + +if (goog.LOCALE == 'dav_KE' || goog.LOCALE == 'dav-KE') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_dav_KE; +} + +if (goog.LOCALE == 'de_BE' || goog.LOCALE == 'de-BE') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_de_BE; +} + +if (goog.LOCALE == 'de_DE' || goog.LOCALE == 'de-DE') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_de_DE; +} + +if (goog.LOCALE == 'de_IT' || goog.LOCALE == 'de-IT') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_de_IT; +} + +if (goog.LOCALE == 'de_LI' || goog.LOCALE == 'de-LI') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_de_LI; +} + +if (goog.LOCALE == 'de_LU' || goog.LOCALE == 'de-LU') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_de_LU; +} + +if (goog.LOCALE == 'dje') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_dje; +} + +if (goog.LOCALE == 'dje_NE' || goog.LOCALE == 'dje-NE') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_dje_NE; +} + +if (goog.LOCALE == 'dsb') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_dsb; +} + +if (goog.LOCALE == 'dsb_DE' || goog.LOCALE == 'dsb-DE') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_dsb_DE; +} + +if (goog.LOCALE == 'dua') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_dua; +} + +if (goog.LOCALE == 'dua_CM' || goog.LOCALE == 'dua-CM') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_dua_CM; +} + +if (goog.LOCALE == 'dyo') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_dyo; +} + +if (goog.LOCALE == 'dyo_SN' || goog.LOCALE == 'dyo-SN') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_dyo_SN; +} + +if (goog.LOCALE == 'dz') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_dz; +} + +if (goog.LOCALE == 'dz_BT' || goog.LOCALE == 'dz-BT') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_dz_BT; +} + +if (goog.LOCALE == 'ebu') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ebu; +} + +if (goog.LOCALE == 'ebu_KE' || goog.LOCALE == 'ebu-KE') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ebu_KE; +} + +if (goog.LOCALE == 'ee') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ee; +} + +if (goog.LOCALE == 'ee_GH' || goog.LOCALE == 'ee-GH') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ee_GH; +} + +if (goog.LOCALE == 'ee_TG' || goog.LOCALE == 'ee-TG') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ee_TG; +} + +if (goog.LOCALE == 'el_CY' || goog.LOCALE == 'el-CY') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_el_CY; +} + +if (goog.LOCALE == 'el_GR' || goog.LOCALE == 'el-GR') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_el_GR; +} + +if (goog.LOCALE == 'en_001' || goog.LOCALE == 'en-001') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_001; +} + +if (goog.LOCALE == 'en_150' || goog.LOCALE == 'en-150') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_150; +} + +if (goog.LOCALE == 'en_AG' || goog.LOCALE == 'en-AG') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_AG; +} + +if (goog.LOCALE == 'en_AI' || goog.LOCALE == 'en-AI') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_AI; +} + +if (goog.LOCALE == 'en_AS' || goog.LOCALE == 'en-AS') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_AS; +} + +if (goog.LOCALE == 'en_AT' || goog.LOCALE == 'en-AT') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_AT; +} + +if (goog.LOCALE == 'en_BB' || goog.LOCALE == 'en-BB') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_BB; +} + +if (goog.LOCALE == 'en_BE' || goog.LOCALE == 'en-BE') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_BE; +} + +if (goog.LOCALE == 'en_BI' || goog.LOCALE == 'en-BI') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_BI; +} + +if (goog.LOCALE == 'en_BM' || goog.LOCALE == 'en-BM') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_BM; +} + +if (goog.LOCALE == 'en_BS' || goog.LOCALE == 'en-BS') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_BS; +} + +if (goog.LOCALE == 'en_BW' || goog.LOCALE == 'en-BW') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_BW; +} + +if (goog.LOCALE == 'en_BZ' || goog.LOCALE == 'en-BZ') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_BZ; +} + +if (goog.LOCALE == 'en_CC' || goog.LOCALE == 'en-CC') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_CC; +} + +if (goog.LOCALE == 'en_CH' || goog.LOCALE == 'en-CH') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_CH; +} + +if (goog.LOCALE == 'en_CK' || goog.LOCALE == 'en-CK') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_CK; +} + +if (goog.LOCALE == 'en_CM' || goog.LOCALE == 'en-CM') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_CM; +} + +if (goog.LOCALE == 'en_CX' || goog.LOCALE == 'en-CX') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_CX; +} + +if (goog.LOCALE == 'en_CY' || goog.LOCALE == 'en-CY') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_CY; +} + +if (goog.LOCALE == 'en_DE' || goog.LOCALE == 'en-DE') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_DE; +} + +if (goog.LOCALE == 'en_DG' || goog.LOCALE == 'en-DG') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_DG; +} + +if (goog.LOCALE == 'en_DK' || goog.LOCALE == 'en-DK') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_DK; +} + +if (goog.LOCALE == 'en_DM' || goog.LOCALE == 'en-DM') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_DM; +} + +if (goog.LOCALE == 'en_ER' || goog.LOCALE == 'en-ER') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_ER; +} + +if (goog.LOCALE == 'en_FI' || goog.LOCALE == 'en-FI') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_FI; +} + +if (goog.LOCALE == 'en_FJ' || goog.LOCALE == 'en-FJ') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_FJ; +} + +if (goog.LOCALE == 'en_FK' || goog.LOCALE == 'en-FK') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_FK; +} + +if (goog.LOCALE == 'en_FM' || goog.LOCALE == 'en-FM') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_FM; +} + +if (goog.LOCALE == 'en_GD' || goog.LOCALE == 'en-GD') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_GD; +} + +if (goog.LOCALE == 'en_GG' || goog.LOCALE == 'en-GG') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_GG; +} + +if (goog.LOCALE == 'en_GH' || goog.LOCALE == 'en-GH') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_GH; +} + +if (goog.LOCALE == 'en_GI' || goog.LOCALE == 'en-GI') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_GI; +} + +if (goog.LOCALE == 'en_GM' || goog.LOCALE == 'en-GM') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_GM; +} + +if (goog.LOCALE == 'en_GU' || goog.LOCALE == 'en-GU') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_GU; +} + +if (goog.LOCALE == 'en_GY' || goog.LOCALE == 'en-GY') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_GY; +} + +if (goog.LOCALE == 'en_HK' || goog.LOCALE == 'en-HK') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_HK; +} + +if (goog.LOCALE == 'en_IL' || goog.LOCALE == 'en-IL') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_IL; +} + +if (goog.LOCALE == 'en_IM' || goog.LOCALE == 'en-IM') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_IM; +} + +if (goog.LOCALE == 'en_IO' || goog.LOCALE == 'en-IO') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_IO; +} + +if (goog.LOCALE == 'en_JE' || goog.LOCALE == 'en-JE') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_JE; +} + +if (goog.LOCALE == 'en_JM' || goog.LOCALE == 'en-JM') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_JM; +} + +if (goog.LOCALE == 'en_KE' || goog.LOCALE == 'en-KE') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_KE; +} + +if (goog.LOCALE == 'en_KI' || goog.LOCALE == 'en-KI') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_KI; +} + +if (goog.LOCALE == 'en_KN' || goog.LOCALE == 'en-KN') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_KN; +} + +if (goog.LOCALE == 'en_KY' || goog.LOCALE == 'en-KY') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_KY; +} + +if (goog.LOCALE == 'en_LC' || goog.LOCALE == 'en-LC') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_LC; +} + +if (goog.LOCALE == 'en_LR' || goog.LOCALE == 'en-LR') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_LR; +} + +if (goog.LOCALE == 'en_LS' || goog.LOCALE == 'en-LS') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_LS; +} + +if (goog.LOCALE == 'en_MG' || goog.LOCALE == 'en-MG') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_MG; +} + +if (goog.LOCALE == 'en_MH' || goog.LOCALE == 'en-MH') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_MH; +} + +if (goog.LOCALE == 'en_MO' || goog.LOCALE == 'en-MO') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_MO; +} + +if (goog.LOCALE == 'en_MP' || goog.LOCALE == 'en-MP') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_MP; +} + +if (goog.LOCALE == 'en_MS' || goog.LOCALE == 'en-MS') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_MS; +} + +if (goog.LOCALE == 'en_MT' || goog.LOCALE == 'en-MT') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_MT; +} + +if (goog.LOCALE == 'en_MU' || goog.LOCALE == 'en-MU') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_MU; +} + +if (goog.LOCALE == 'en_MW' || goog.LOCALE == 'en-MW') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_MW; +} + +if (goog.LOCALE == 'en_MY' || goog.LOCALE == 'en-MY') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_MY; +} + +if (goog.LOCALE == 'en_NA' || goog.LOCALE == 'en-NA') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_NA; +} + +if (goog.LOCALE == 'en_NF' || goog.LOCALE == 'en-NF') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_NF; +} + +if (goog.LOCALE == 'en_NG' || goog.LOCALE == 'en-NG') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_NG; +} + +if (goog.LOCALE == 'en_NL' || goog.LOCALE == 'en-NL') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_NL; +} + +if (goog.LOCALE == 'en_NR' || goog.LOCALE == 'en-NR') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_NR; +} + +if (goog.LOCALE == 'en_NU' || goog.LOCALE == 'en-NU') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_NU; +} + +if (goog.LOCALE == 'en_NZ' || goog.LOCALE == 'en-NZ') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_NZ; +} + +if (goog.LOCALE == 'en_PG' || goog.LOCALE == 'en-PG') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_PG; +} + +if (goog.LOCALE == 'en_PH' || goog.LOCALE == 'en-PH') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_PH; +} + +if (goog.LOCALE == 'en_PK' || goog.LOCALE == 'en-PK') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_PK; +} + +if (goog.LOCALE == 'en_PN' || goog.LOCALE == 'en-PN') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_PN; +} + +if (goog.LOCALE == 'en_PR' || goog.LOCALE == 'en-PR') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_PR; +} + +if (goog.LOCALE == 'en_PW' || goog.LOCALE == 'en-PW') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_PW; +} + +if (goog.LOCALE == 'en_RW' || goog.LOCALE == 'en-RW') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_RW; +} + +if (goog.LOCALE == 'en_SB' || goog.LOCALE == 'en-SB') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_SB; +} + +if (goog.LOCALE == 'en_SC' || goog.LOCALE == 'en-SC') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_SC; +} + +if (goog.LOCALE == 'en_SD' || goog.LOCALE == 'en-SD') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_SD; +} + +if (goog.LOCALE == 'en_SE' || goog.LOCALE == 'en-SE') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_SE; +} + +if (goog.LOCALE == 'en_SH' || goog.LOCALE == 'en-SH') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_SH; +} + +if (goog.LOCALE == 'en_SI' || goog.LOCALE == 'en-SI') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_SI; +} + +if (goog.LOCALE == 'en_SL' || goog.LOCALE == 'en-SL') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_SL; +} + +if (goog.LOCALE == 'en_SS' || goog.LOCALE == 'en-SS') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_SS; +} + +if (goog.LOCALE == 'en_SX' || goog.LOCALE == 'en-SX') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_SX; +} + +if (goog.LOCALE == 'en_SZ' || goog.LOCALE == 'en-SZ') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_SZ; +} + +if (goog.LOCALE == 'en_TC' || goog.LOCALE == 'en-TC') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_TC; +} + +if (goog.LOCALE == 'en_TK' || goog.LOCALE == 'en-TK') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_TK; +} + +if (goog.LOCALE == 'en_TO' || goog.LOCALE == 'en-TO') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_TO; +} + +if (goog.LOCALE == 'en_TT' || goog.LOCALE == 'en-TT') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_TT; +} + +if (goog.LOCALE == 'en_TV' || goog.LOCALE == 'en-TV') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_TV; +} + +if (goog.LOCALE == 'en_TZ' || goog.LOCALE == 'en-TZ') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_TZ; +} + +if (goog.LOCALE == 'en_UG' || goog.LOCALE == 'en-UG') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_UG; +} + +if (goog.LOCALE == 'en_UM' || goog.LOCALE == 'en-UM') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_UM; +} + +if (goog.LOCALE == 'en_US_POSIX' || goog.LOCALE == 'en-US-POSIX') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_US_POSIX; +} + +if (goog.LOCALE == 'en_VC' || goog.LOCALE == 'en-VC') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_VC; +} + +if (goog.LOCALE == 'en_VG' || goog.LOCALE == 'en-VG') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_VG; +} + +if (goog.LOCALE == 'en_VI' || goog.LOCALE == 'en-VI') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_VI; +} + +if (goog.LOCALE == 'en_VU' || goog.LOCALE == 'en-VU') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_VU; +} + +if (goog.LOCALE == 'en_WS' || goog.LOCALE == 'en-WS') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_WS; +} + +if (goog.LOCALE == 'en_XA' || goog.LOCALE == 'en-XA') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_XA; +} + +if (goog.LOCALE == 'en_ZM' || goog.LOCALE == 'en-ZM') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_ZM; +} + +if (goog.LOCALE == 'en_ZW' || goog.LOCALE == 'en-ZW') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_en_ZW; +} + +if (goog.LOCALE == 'eo') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_eo; +} + +if (goog.LOCALE == 'es_AR' || goog.LOCALE == 'es-AR') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_es_AR; +} + +if (goog.LOCALE == 'es_BO' || goog.LOCALE == 'es-BO') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_es_BO; +} + +if (goog.LOCALE == 'es_BR' || goog.LOCALE == 'es-BR') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_es_BR; +} + +if (goog.LOCALE == 'es_BZ' || goog.LOCALE == 'es-BZ') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_es_BZ; +} + +if (goog.LOCALE == 'es_CL' || goog.LOCALE == 'es-CL') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_es_CL; +} + +if (goog.LOCALE == 'es_CO' || goog.LOCALE == 'es-CO') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_es_CO; +} + +if (goog.LOCALE == 'es_CR' || goog.LOCALE == 'es-CR') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_es_CR; +} + +if (goog.LOCALE == 'es_CU' || goog.LOCALE == 'es-CU') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_es_CU; +} + +if (goog.LOCALE == 'es_DO' || goog.LOCALE == 'es-DO') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_es_DO; +} + +if (goog.LOCALE == 'es_EA' || goog.LOCALE == 'es-EA') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_es_EA; +} + +if (goog.LOCALE == 'es_EC' || goog.LOCALE == 'es-EC') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_es_EC; +} + +if (goog.LOCALE == 'es_GQ' || goog.LOCALE == 'es-GQ') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_es_GQ; +} + +if (goog.LOCALE == 'es_GT' || goog.LOCALE == 'es-GT') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_es_GT; +} + +if (goog.LOCALE == 'es_HN' || goog.LOCALE == 'es-HN') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_es_HN; +} + +if (goog.LOCALE == 'es_IC' || goog.LOCALE == 'es-IC') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_es_IC; +} + +if (goog.LOCALE == 'es_NI' || goog.LOCALE == 'es-NI') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_es_NI; +} + +if (goog.LOCALE == 'es_PA' || goog.LOCALE == 'es-PA') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_es_PA; +} + +if (goog.LOCALE == 'es_PE' || goog.LOCALE == 'es-PE') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_es_PE; +} + +if (goog.LOCALE == 'es_PH' || goog.LOCALE == 'es-PH') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_es_PH; +} + +if (goog.LOCALE == 'es_PR' || goog.LOCALE == 'es-PR') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_es_PR; +} + +if (goog.LOCALE == 'es_PY' || goog.LOCALE == 'es-PY') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_es_PY; +} + +if (goog.LOCALE == 'es_SV' || goog.LOCALE == 'es-SV') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_es_SV; +} + +if (goog.LOCALE == 'es_UY' || goog.LOCALE == 'es-UY') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_es_UY; +} + +if (goog.LOCALE == 'es_VE' || goog.LOCALE == 'es-VE') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_es_VE; +} + +if (goog.LOCALE == 'et_EE' || goog.LOCALE == 'et-EE') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_et_EE; +} + +if (goog.LOCALE == 'eu_ES' || goog.LOCALE == 'eu-ES') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_eu_ES; +} + +if (goog.LOCALE == 'ewo') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ewo; +} + +if (goog.LOCALE == 'ewo_CM' || goog.LOCALE == 'ewo-CM') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ewo_CM; +} + +if (goog.LOCALE == 'fa_AF' || goog.LOCALE == 'fa-AF') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fa_AF; +} + +if (goog.LOCALE == 'fa_IR' || goog.LOCALE == 'fa-IR') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fa_IR; +} + +if (goog.LOCALE == 'ff') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ff; +} + +if (goog.LOCALE == 'ff_CM' || goog.LOCALE == 'ff-CM') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ff_CM; +} + +if (goog.LOCALE == 'ff_GN' || goog.LOCALE == 'ff-GN') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ff_GN; +} + +if (goog.LOCALE == 'ff_MR' || goog.LOCALE == 'ff-MR') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ff_MR; +} + +if (goog.LOCALE == 'ff_SN' || goog.LOCALE == 'ff-SN') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ff_SN; +} + +if (goog.LOCALE == 'fi_FI' || goog.LOCALE == 'fi-FI') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fi_FI; +} + +if (goog.LOCALE == 'fil_PH' || goog.LOCALE == 'fil-PH') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fil_PH; +} + +if (goog.LOCALE == 'fo') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fo; +} + +if (goog.LOCALE == 'fo_DK' || goog.LOCALE == 'fo-DK') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fo_DK; +} + +if (goog.LOCALE == 'fo_FO' || goog.LOCALE == 'fo-FO') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fo_FO; +} + +if (goog.LOCALE == 'fr_BE' || goog.LOCALE == 'fr-BE') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fr_BE; +} + +if (goog.LOCALE == 'fr_BF' || goog.LOCALE == 'fr-BF') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fr_BF; +} + +if (goog.LOCALE == 'fr_BI' || goog.LOCALE == 'fr-BI') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fr_BI; +} + +if (goog.LOCALE == 'fr_BJ' || goog.LOCALE == 'fr-BJ') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fr_BJ; +} + +if (goog.LOCALE == 'fr_BL' || goog.LOCALE == 'fr-BL') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fr_BL; +} + +if (goog.LOCALE == 'fr_CD' || goog.LOCALE == 'fr-CD') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fr_CD; +} + +if (goog.LOCALE == 'fr_CF' || goog.LOCALE == 'fr-CF') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fr_CF; +} + +if (goog.LOCALE == 'fr_CG' || goog.LOCALE == 'fr-CG') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fr_CG; +} + +if (goog.LOCALE == 'fr_CH' || goog.LOCALE == 'fr-CH') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fr_CH; +} + +if (goog.LOCALE == 'fr_CI' || goog.LOCALE == 'fr-CI') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fr_CI; +} + +if (goog.LOCALE == 'fr_CM' || goog.LOCALE == 'fr-CM') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fr_CM; +} + +if (goog.LOCALE == 'fr_DJ' || goog.LOCALE == 'fr-DJ') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fr_DJ; +} + +if (goog.LOCALE == 'fr_DZ' || goog.LOCALE == 'fr-DZ') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fr_DZ; +} + +if (goog.LOCALE == 'fr_FR' || goog.LOCALE == 'fr-FR') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fr_FR; +} + +if (goog.LOCALE == 'fr_GA' || goog.LOCALE == 'fr-GA') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fr_GA; +} + +if (goog.LOCALE == 'fr_GF' || goog.LOCALE == 'fr-GF') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fr_GF; +} + +if (goog.LOCALE == 'fr_GN' || goog.LOCALE == 'fr-GN') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fr_GN; +} + +if (goog.LOCALE == 'fr_GP' || goog.LOCALE == 'fr-GP') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fr_GP; +} + +if (goog.LOCALE == 'fr_GQ' || goog.LOCALE == 'fr-GQ') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fr_GQ; +} + +if (goog.LOCALE == 'fr_HT' || goog.LOCALE == 'fr-HT') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fr_HT; +} + +if (goog.LOCALE == 'fr_KM' || goog.LOCALE == 'fr-KM') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fr_KM; +} + +if (goog.LOCALE == 'fr_LU' || goog.LOCALE == 'fr-LU') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fr_LU; +} + +if (goog.LOCALE == 'fr_MA' || goog.LOCALE == 'fr-MA') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fr_MA; +} + +if (goog.LOCALE == 'fr_MC' || goog.LOCALE == 'fr-MC') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fr_MC; +} + +if (goog.LOCALE == 'fr_MF' || goog.LOCALE == 'fr-MF') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fr_MF; +} + +if (goog.LOCALE == 'fr_MG' || goog.LOCALE == 'fr-MG') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fr_MG; +} + +if (goog.LOCALE == 'fr_ML' || goog.LOCALE == 'fr-ML') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fr_ML; +} + +if (goog.LOCALE == 'fr_MQ' || goog.LOCALE == 'fr-MQ') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fr_MQ; +} + +if (goog.LOCALE == 'fr_MR' || goog.LOCALE == 'fr-MR') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fr_MR; +} + +if (goog.LOCALE == 'fr_MU' || goog.LOCALE == 'fr-MU') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fr_MU; +} + +if (goog.LOCALE == 'fr_NC' || goog.LOCALE == 'fr-NC') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fr_NC; +} + +if (goog.LOCALE == 'fr_NE' || goog.LOCALE == 'fr-NE') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fr_NE; +} + +if (goog.LOCALE == 'fr_PF' || goog.LOCALE == 'fr-PF') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fr_PF; +} + +if (goog.LOCALE == 'fr_PM' || goog.LOCALE == 'fr-PM') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fr_PM; +} + +if (goog.LOCALE == 'fr_RE' || goog.LOCALE == 'fr-RE') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fr_RE; +} + +if (goog.LOCALE == 'fr_RW' || goog.LOCALE == 'fr-RW') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fr_RW; +} + +if (goog.LOCALE == 'fr_SC' || goog.LOCALE == 'fr-SC') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fr_SC; +} + +if (goog.LOCALE == 'fr_SN' || goog.LOCALE == 'fr-SN') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fr_SN; +} + +if (goog.LOCALE == 'fr_SY' || goog.LOCALE == 'fr-SY') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fr_SY; +} + +if (goog.LOCALE == 'fr_TD' || goog.LOCALE == 'fr-TD') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fr_TD; +} + +if (goog.LOCALE == 'fr_TG' || goog.LOCALE == 'fr-TG') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fr_TG; +} + +if (goog.LOCALE == 'fr_TN' || goog.LOCALE == 'fr-TN') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fr_TN; +} + +if (goog.LOCALE == 'fr_VU' || goog.LOCALE == 'fr-VU') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fr_VU; +} + +if (goog.LOCALE == 'fr_WF' || goog.LOCALE == 'fr-WF') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fr_WF; +} + +if (goog.LOCALE == 'fr_YT' || goog.LOCALE == 'fr-YT') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fr_YT; +} + +if (goog.LOCALE == 'fur') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fur; +} + +if (goog.LOCALE == 'fur_IT' || goog.LOCALE == 'fur-IT') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fur_IT; +} + +if (goog.LOCALE == 'fy') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fy; +} + +if (goog.LOCALE == 'fy_NL' || goog.LOCALE == 'fy-NL') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_fy_NL; +} + +if (goog.LOCALE == 'ga_IE' || goog.LOCALE == 'ga-IE') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ga_IE; +} + +if (goog.LOCALE == 'gd') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_gd; +} + +if (goog.LOCALE == 'gd_GB' || goog.LOCALE == 'gd-GB') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_gd_GB; +} + +if (goog.LOCALE == 'gl_ES' || goog.LOCALE == 'gl-ES') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_gl_ES; +} + +if (goog.LOCALE == 'gsw_CH' || goog.LOCALE == 'gsw-CH') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_gsw_CH; +} + +if (goog.LOCALE == 'gsw_FR' || goog.LOCALE == 'gsw-FR') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_gsw_FR; +} + +if (goog.LOCALE == 'gsw_LI' || goog.LOCALE == 'gsw-LI') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_gsw_LI; +} + +if (goog.LOCALE == 'gu_IN' || goog.LOCALE == 'gu-IN') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_gu_IN; +} + +if (goog.LOCALE == 'guz') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_guz; +} + +if (goog.LOCALE == 'guz_KE' || goog.LOCALE == 'guz-KE') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_guz_KE; +} + +if (goog.LOCALE == 'gv') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_gv; +} + +if (goog.LOCALE == 'gv_IM' || goog.LOCALE == 'gv-IM') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_gv_IM; +} + +if (goog.LOCALE == 'ha') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ha; +} + +if (goog.LOCALE == 'ha_GH' || goog.LOCALE == 'ha-GH') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ha_GH; +} + +if (goog.LOCALE == 'ha_NE' || goog.LOCALE == 'ha-NE') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ha_NE; +} + +if (goog.LOCALE == 'ha_NG' || goog.LOCALE == 'ha-NG') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ha_NG; +} + +if (goog.LOCALE == 'haw_US' || goog.LOCALE == 'haw-US') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_haw_US; +} + +if (goog.LOCALE == 'he_IL' || goog.LOCALE == 'he-IL') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_he_IL; +} + +if (goog.LOCALE == 'hi_IN' || goog.LOCALE == 'hi-IN') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_hi_IN; +} + +if (goog.LOCALE == 'hr_BA' || goog.LOCALE == 'hr-BA') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_hr_BA; +} + +if (goog.LOCALE == 'hr_HR' || goog.LOCALE == 'hr-HR') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_hr_HR; +} + +if (goog.LOCALE == 'hsb') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_hsb; +} + +if (goog.LOCALE == 'hsb_DE' || goog.LOCALE == 'hsb-DE') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_hsb_DE; +} + +if (goog.LOCALE == 'hu_HU' || goog.LOCALE == 'hu-HU') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_hu_HU; +} + +if (goog.LOCALE == 'hy_AM' || goog.LOCALE == 'hy-AM') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_hy_AM; +} + +if (goog.LOCALE == 'id_ID' || goog.LOCALE == 'id-ID') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_id_ID; +} + +if (goog.LOCALE == 'ig') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ig; +} + +if (goog.LOCALE == 'ig_NG' || goog.LOCALE == 'ig-NG') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ig_NG; +} + +if (goog.LOCALE == 'ii') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ii; +} + +if (goog.LOCALE == 'ii_CN' || goog.LOCALE == 'ii-CN') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ii_CN; +} + +if (goog.LOCALE == 'is_IS' || goog.LOCALE == 'is-IS') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_is_IS; +} + +if (goog.LOCALE == 'it_CH' || goog.LOCALE == 'it-CH') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_it_CH; +} + +if (goog.LOCALE == 'it_IT' || goog.LOCALE == 'it-IT') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_it_IT; +} + +if (goog.LOCALE == 'it_SM' || goog.LOCALE == 'it-SM') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_it_SM; +} + +if (goog.LOCALE == 'it_VA' || goog.LOCALE == 'it-VA') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_it_VA; +} + +if (goog.LOCALE == 'ja_JP' || goog.LOCALE == 'ja-JP') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ja_JP; +} + +if (goog.LOCALE == 'jgo') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_jgo; +} + +if (goog.LOCALE == 'jgo_CM' || goog.LOCALE == 'jgo-CM') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_jgo_CM; +} + +if (goog.LOCALE == 'jmc') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_jmc; +} + +if (goog.LOCALE == 'jmc_TZ' || goog.LOCALE == 'jmc-TZ') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_jmc_TZ; +} + +if (goog.LOCALE == 'ka_GE' || goog.LOCALE == 'ka-GE') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ka_GE; +} + +if (goog.LOCALE == 'kab') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_kab; +} + +if (goog.LOCALE == 'kab_DZ' || goog.LOCALE == 'kab-DZ') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_kab_DZ; +} + +if (goog.LOCALE == 'kam') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_kam; +} + +if (goog.LOCALE == 'kam_KE' || goog.LOCALE == 'kam-KE') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_kam_KE; +} + +if (goog.LOCALE == 'kde') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_kde; +} + +if (goog.LOCALE == 'kde_TZ' || goog.LOCALE == 'kde-TZ') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_kde_TZ; +} + +if (goog.LOCALE == 'kea') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_kea; +} + +if (goog.LOCALE == 'kea_CV' || goog.LOCALE == 'kea-CV') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_kea_CV; +} + +if (goog.LOCALE == 'khq') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_khq; +} + +if (goog.LOCALE == 'khq_ML' || goog.LOCALE == 'khq-ML') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_khq_ML; +} + +if (goog.LOCALE == 'ki') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ki; +} + +if (goog.LOCALE == 'ki_KE' || goog.LOCALE == 'ki-KE') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ki_KE; +} + +if (goog.LOCALE == 'kk_KZ' || goog.LOCALE == 'kk-KZ') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_kk_KZ; +} + +if (goog.LOCALE == 'kkj') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_kkj; +} + +if (goog.LOCALE == 'kkj_CM' || goog.LOCALE == 'kkj-CM') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_kkj_CM; +} + +if (goog.LOCALE == 'kl') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_kl; +} + +if (goog.LOCALE == 'kl_GL' || goog.LOCALE == 'kl-GL') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_kl_GL; +} + +if (goog.LOCALE == 'kln') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_kln; +} + +if (goog.LOCALE == 'kln_KE' || goog.LOCALE == 'kln-KE') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_kln_KE; +} + +if (goog.LOCALE == 'km_KH' || goog.LOCALE == 'km-KH') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_km_KH; +} + +if (goog.LOCALE == 'kn_IN' || goog.LOCALE == 'kn-IN') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_kn_IN; +} + +if (goog.LOCALE == 'ko_KP' || goog.LOCALE == 'ko-KP') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ko_KP; +} + +if (goog.LOCALE == 'ko_KR' || goog.LOCALE == 'ko-KR') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ko_KR; +} + +if (goog.LOCALE == 'kok') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_kok; +} + +if (goog.LOCALE == 'kok_IN' || goog.LOCALE == 'kok-IN') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_kok_IN; +} + +if (goog.LOCALE == 'ks') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ks; +} + +if (goog.LOCALE == 'ks_IN' || goog.LOCALE == 'ks-IN') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ks_IN; +} + +if (goog.LOCALE == 'ksb') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ksb; +} + +if (goog.LOCALE == 'ksb_TZ' || goog.LOCALE == 'ksb-TZ') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ksb_TZ; +} + +if (goog.LOCALE == 'ksf') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ksf; +} + +if (goog.LOCALE == 'ksf_CM' || goog.LOCALE == 'ksf-CM') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ksf_CM; +} + +if (goog.LOCALE == 'ksh') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ksh; +} + +if (goog.LOCALE == 'ksh_DE' || goog.LOCALE == 'ksh-DE') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ksh_DE; +} + +if (goog.LOCALE == 'kw') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_kw; +} + +if (goog.LOCALE == 'kw_GB' || goog.LOCALE == 'kw-GB') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_kw_GB; +} + +if (goog.LOCALE == 'ky_KG' || goog.LOCALE == 'ky-KG') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ky_KG; +} + +if (goog.LOCALE == 'lag') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_lag; +} + +if (goog.LOCALE == 'lag_TZ' || goog.LOCALE == 'lag-TZ') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_lag_TZ; +} + +if (goog.LOCALE == 'lb') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_lb; +} + +if (goog.LOCALE == 'lb_LU' || goog.LOCALE == 'lb-LU') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_lb_LU; +} + +if (goog.LOCALE == 'lg') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_lg; +} + +if (goog.LOCALE == 'lg_UG' || goog.LOCALE == 'lg-UG') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_lg_UG; +} + +if (goog.LOCALE == 'lkt') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_lkt; +} + +if (goog.LOCALE == 'lkt_US' || goog.LOCALE == 'lkt-US') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_lkt_US; +} + +if (goog.LOCALE == 'ln_AO' || goog.LOCALE == 'ln-AO') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ln_AO; +} + +if (goog.LOCALE == 'ln_CD' || goog.LOCALE == 'ln-CD') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ln_CD; +} + +if (goog.LOCALE == 'ln_CF' || goog.LOCALE == 'ln-CF') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ln_CF; +} + +if (goog.LOCALE == 'ln_CG' || goog.LOCALE == 'ln-CG') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ln_CG; +} + +if (goog.LOCALE == 'lo_LA' || goog.LOCALE == 'lo-LA') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_lo_LA; +} + +if (goog.LOCALE == 'lrc') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_lrc; +} + +if (goog.LOCALE == 'lrc_IQ' || goog.LOCALE == 'lrc-IQ') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_lrc_IQ; +} + +if (goog.LOCALE == 'lrc_IR' || goog.LOCALE == 'lrc-IR') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_lrc_IR; +} + +if (goog.LOCALE == 'lt_LT' || goog.LOCALE == 'lt-LT') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_lt_LT; +} + +if (goog.LOCALE == 'lu') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_lu; +} + +if (goog.LOCALE == 'lu_CD' || goog.LOCALE == 'lu-CD') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_lu_CD; +} + +if (goog.LOCALE == 'luo') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_luo; +} + +if (goog.LOCALE == 'luo_KE' || goog.LOCALE == 'luo-KE') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_luo_KE; +} + +if (goog.LOCALE == 'luy') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_luy; +} + +if (goog.LOCALE == 'luy_KE' || goog.LOCALE == 'luy-KE') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_luy_KE; +} + +if (goog.LOCALE == 'lv_LV' || goog.LOCALE == 'lv-LV') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_lv_LV; +} + +if (goog.LOCALE == 'mas') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_mas; +} + +if (goog.LOCALE == 'mas_KE' || goog.LOCALE == 'mas-KE') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_mas_KE; +} + +if (goog.LOCALE == 'mas_TZ' || goog.LOCALE == 'mas-TZ') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_mas_TZ; +} + +if (goog.LOCALE == 'mer') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_mer; +} + +if (goog.LOCALE == 'mer_KE' || goog.LOCALE == 'mer-KE') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_mer_KE; +} + +if (goog.LOCALE == 'mfe') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_mfe; +} + +if (goog.LOCALE == 'mfe_MU' || goog.LOCALE == 'mfe-MU') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_mfe_MU; +} + +if (goog.LOCALE == 'mg') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_mg; +} + +if (goog.LOCALE == 'mg_MG' || goog.LOCALE == 'mg-MG') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_mg_MG; +} + +if (goog.LOCALE == 'mgh') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_mgh; +} + +if (goog.LOCALE == 'mgh_MZ' || goog.LOCALE == 'mgh-MZ') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_mgh_MZ; +} + +if (goog.LOCALE == 'mgo') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_mgo; +} + +if (goog.LOCALE == 'mgo_CM' || goog.LOCALE == 'mgo-CM') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_mgo_CM; +} + +if (goog.LOCALE == 'mk_MK' || goog.LOCALE == 'mk-MK') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_mk_MK; +} + +if (goog.LOCALE == 'ml_IN' || goog.LOCALE == 'ml-IN') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ml_IN; +} + +if (goog.LOCALE == 'mn_MN' || goog.LOCALE == 'mn-MN') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_mn_MN; +} + +if (goog.LOCALE == 'mr_IN' || goog.LOCALE == 'mr-IN') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_mr_IN; +} + +if (goog.LOCALE == 'ms_BN' || goog.LOCALE == 'ms-BN') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ms_BN; +} + +if (goog.LOCALE == 'ms_MY' || goog.LOCALE == 'ms-MY') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ms_MY; +} + +if (goog.LOCALE == 'ms_SG' || goog.LOCALE == 'ms-SG') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ms_SG; +} + +if (goog.LOCALE == 'mt_MT' || goog.LOCALE == 'mt-MT') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_mt_MT; +} + +if (goog.LOCALE == 'mua') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_mua; +} + +if (goog.LOCALE == 'mua_CM' || goog.LOCALE == 'mua-CM') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_mua_CM; +} + +if (goog.LOCALE == 'my_MM' || goog.LOCALE == 'my-MM') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_my_MM; +} + +if (goog.LOCALE == 'mzn') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_mzn; +} + +if (goog.LOCALE == 'mzn_IR' || goog.LOCALE == 'mzn-IR') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_mzn_IR; +} + +if (goog.LOCALE == 'naq') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_naq; +} + +if (goog.LOCALE == 'naq_NA' || goog.LOCALE == 'naq-NA') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_naq_NA; +} + +if (goog.LOCALE == 'nb_NO' || goog.LOCALE == 'nb-NO') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_nb_NO; +} + +if (goog.LOCALE == 'nb_SJ' || goog.LOCALE == 'nb-SJ') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_nb_SJ; +} + +if (goog.LOCALE == 'nd') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_nd; +} + +if (goog.LOCALE == 'nd_ZW' || goog.LOCALE == 'nd-ZW') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_nd_ZW; +} + +if (goog.LOCALE == 'nds') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_nds; +} + +if (goog.LOCALE == 'nds_DE' || goog.LOCALE == 'nds-DE') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_nds_DE; +} + +if (goog.LOCALE == 'nds_NL' || goog.LOCALE == 'nds-NL') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_nds_NL; +} + +if (goog.LOCALE == 'ne_IN' || goog.LOCALE == 'ne-IN') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ne_IN; +} + +if (goog.LOCALE == 'ne_NP' || goog.LOCALE == 'ne-NP') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ne_NP; +} + +if (goog.LOCALE == 'nl_AW' || goog.LOCALE == 'nl-AW') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_nl_AW; +} + +if (goog.LOCALE == 'nl_BE' || goog.LOCALE == 'nl-BE') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_nl_BE; +} + +if (goog.LOCALE == 'nl_BQ' || goog.LOCALE == 'nl-BQ') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_nl_BQ; +} + +if (goog.LOCALE == 'nl_CW' || goog.LOCALE == 'nl-CW') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_nl_CW; +} + +if (goog.LOCALE == 'nl_NL' || goog.LOCALE == 'nl-NL') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_nl_NL; +} + +if (goog.LOCALE == 'nl_SR' || goog.LOCALE == 'nl-SR') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_nl_SR; +} + +if (goog.LOCALE == 'nl_SX' || goog.LOCALE == 'nl-SX') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_nl_SX; +} + +if (goog.LOCALE == 'nmg') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_nmg; +} + +if (goog.LOCALE == 'nmg_CM' || goog.LOCALE == 'nmg-CM') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_nmg_CM; +} + +if (goog.LOCALE == 'nn') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_nn; +} + +if (goog.LOCALE == 'nn_NO' || goog.LOCALE == 'nn-NO') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_nn_NO; +} + +if (goog.LOCALE == 'nnh') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_nnh; +} + +if (goog.LOCALE == 'nnh_CM' || goog.LOCALE == 'nnh-CM') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_nnh_CM; +} + +if (goog.LOCALE == 'nus') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_nus; +} + +if (goog.LOCALE == 'nus_SS' || goog.LOCALE == 'nus-SS') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_nus_SS; +} + +if (goog.LOCALE == 'nyn') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_nyn; +} + +if (goog.LOCALE == 'nyn_UG' || goog.LOCALE == 'nyn-UG') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_nyn_UG; +} + +if (goog.LOCALE == 'om') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_om; +} + +if (goog.LOCALE == 'om_ET' || goog.LOCALE == 'om-ET') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_om_ET; +} + +if (goog.LOCALE == 'om_KE' || goog.LOCALE == 'om-KE') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_om_KE; +} + +if (goog.LOCALE == 'or_IN' || goog.LOCALE == 'or-IN') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_or_IN; +} + +if (goog.LOCALE == 'os') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_os; +} + +if (goog.LOCALE == 'os_GE' || goog.LOCALE == 'os-GE') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_os_GE; +} + +if (goog.LOCALE == 'os_RU' || goog.LOCALE == 'os-RU') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_os_RU; +} + +if (goog.LOCALE == 'pa_Arab' || goog.LOCALE == 'pa-Arab') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_pa_Arab; +} + +if (goog.LOCALE == 'pa_Arab_PK' || goog.LOCALE == 'pa-Arab-PK') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_pa_Arab_PK; +} + +if (goog.LOCALE == 'pa_Guru' || goog.LOCALE == 'pa-Guru') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_pa_Guru; +} + +if (goog.LOCALE == 'pa_Guru_IN' || goog.LOCALE == 'pa-Guru-IN') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_pa_Guru_IN; +} + +if (goog.LOCALE == 'pl_PL' || goog.LOCALE == 'pl-PL') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_pl_PL; +} + +if (goog.LOCALE == 'ps') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ps; +} + +if (goog.LOCALE == 'ps_AF' || goog.LOCALE == 'ps-AF') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ps_AF; +} + +if (goog.LOCALE == 'pt_AO' || goog.LOCALE == 'pt-AO') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_pt_AO; +} + +if (goog.LOCALE == 'pt_CH' || goog.LOCALE == 'pt-CH') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_pt_CH; +} + +if (goog.LOCALE == 'pt_CV' || goog.LOCALE == 'pt-CV') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_pt_CV; +} + +if (goog.LOCALE == 'pt_GQ' || goog.LOCALE == 'pt-GQ') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_pt_GQ; +} + +if (goog.LOCALE == 'pt_GW' || goog.LOCALE == 'pt-GW') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_pt_GW; +} + +if (goog.LOCALE == 'pt_LU' || goog.LOCALE == 'pt-LU') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_pt_LU; +} + +if (goog.LOCALE == 'pt_MO' || goog.LOCALE == 'pt-MO') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_pt_MO; +} + +if (goog.LOCALE == 'pt_MZ' || goog.LOCALE == 'pt-MZ') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_pt_MZ; +} + +if (goog.LOCALE == 'pt_ST' || goog.LOCALE == 'pt-ST') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_pt_ST; +} + +if (goog.LOCALE == 'pt_TL' || goog.LOCALE == 'pt-TL') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_pt_TL; +} + +if (goog.LOCALE == 'qu') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_qu; +} + +if (goog.LOCALE == 'qu_BO' || goog.LOCALE == 'qu-BO') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_qu_BO; +} + +if (goog.LOCALE == 'qu_EC' || goog.LOCALE == 'qu-EC') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_qu_EC; +} + +if (goog.LOCALE == 'qu_PE' || goog.LOCALE == 'qu-PE') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_qu_PE; +} + +if (goog.LOCALE == 'rm') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_rm; +} + +if (goog.LOCALE == 'rm_CH' || goog.LOCALE == 'rm-CH') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_rm_CH; +} + +if (goog.LOCALE == 'rn') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_rn; +} + +if (goog.LOCALE == 'rn_BI' || goog.LOCALE == 'rn-BI') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_rn_BI; +} + +if (goog.LOCALE == 'ro_MD' || goog.LOCALE == 'ro-MD') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ro_MD; +} + +if (goog.LOCALE == 'ro_RO' || goog.LOCALE == 'ro-RO') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ro_RO; +} + +if (goog.LOCALE == 'rof') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_rof; +} + +if (goog.LOCALE == 'rof_TZ' || goog.LOCALE == 'rof-TZ') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_rof_TZ; +} + +if (goog.LOCALE == 'ru_BY' || goog.LOCALE == 'ru-BY') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ru_BY; +} + +if (goog.LOCALE == 'ru_KG' || goog.LOCALE == 'ru-KG') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ru_KG; +} + +if (goog.LOCALE == 'ru_KZ' || goog.LOCALE == 'ru-KZ') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ru_KZ; +} + +if (goog.LOCALE == 'ru_MD' || goog.LOCALE == 'ru-MD') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ru_MD; +} + +if (goog.LOCALE == 'ru_RU' || goog.LOCALE == 'ru-RU') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ru_RU; +} + +if (goog.LOCALE == 'ru_UA' || goog.LOCALE == 'ru-UA') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ru_UA; +} + +if (goog.LOCALE == 'rw') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_rw; +} + +if (goog.LOCALE == 'rw_RW' || goog.LOCALE == 'rw-RW') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_rw_RW; +} + +if (goog.LOCALE == 'rwk') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_rwk; +} + +if (goog.LOCALE == 'rwk_TZ' || goog.LOCALE == 'rwk-TZ') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_rwk_TZ; +} + +if (goog.LOCALE == 'sah') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_sah; +} + +if (goog.LOCALE == 'sah_RU' || goog.LOCALE == 'sah-RU') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_sah_RU; +} + +if (goog.LOCALE == 'saq') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_saq; +} + +if (goog.LOCALE == 'saq_KE' || goog.LOCALE == 'saq-KE') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_saq_KE; +} + +if (goog.LOCALE == 'sbp') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_sbp; +} + +if (goog.LOCALE == 'sbp_TZ' || goog.LOCALE == 'sbp-TZ') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_sbp_TZ; +} + +if (goog.LOCALE == 'se') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_se; +} + +if (goog.LOCALE == 'se_FI' || goog.LOCALE == 'se-FI') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_se_FI; +} + +if (goog.LOCALE == 'se_NO' || goog.LOCALE == 'se-NO') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_se_NO; +} + +if (goog.LOCALE == 'se_SE' || goog.LOCALE == 'se-SE') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_se_SE; +} + +if (goog.LOCALE == 'seh') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_seh; +} + +if (goog.LOCALE == 'seh_MZ' || goog.LOCALE == 'seh-MZ') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_seh_MZ; +} + +if (goog.LOCALE == 'ses') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ses; +} + +if (goog.LOCALE == 'ses_ML' || goog.LOCALE == 'ses-ML') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ses_ML; +} + +if (goog.LOCALE == 'sg') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_sg; +} + +if (goog.LOCALE == 'sg_CF' || goog.LOCALE == 'sg-CF') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_sg_CF; +} + +if (goog.LOCALE == 'shi') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_shi; +} + +if (goog.LOCALE == 'shi_Latn' || goog.LOCALE == 'shi-Latn') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_shi_Latn; +} + +if (goog.LOCALE == 'shi_Latn_MA' || goog.LOCALE == 'shi-Latn-MA') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_shi_Latn_MA; +} + +if (goog.LOCALE == 'shi_Tfng' || goog.LOCALE == 'shi-Tfng') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_shi_Tfng; +} + +if (goog.LOCALE == 'shi_Tfng_MA' || goog.LOCALE == 'shi-Tfng-MA') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_shi_Tfng_MA; +} + +if (goog.LOCALE == 'si_LK' || goog.LOCALE == 'si-LK') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_si_LK; +} + +if (goog.LOCALE == 'sk_SK' || goog.LOCALE == 'sk-SK') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_sk_SK; +} + +if (goog.LOCALE == 'sl_SI' || goog.LOCALE == 'sl-SI') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_sl_SI; +} + +if (goog.LOCALE == 'smn') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_smn; +} + +if (goog.LOCALE == 'smn_FI' || goog.LOCALE == 'smn-FI') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_smn_FI; +} + +if (goog.LOCALE == 'sn') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_sn; +} + +if (goog.LOCALE == 'sn_ZW' || goog.LOCALE == 'sn-ZW') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_sn_ZW; +} + +if (goog.LOCALE == 'so') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_so; +} + +if (goog.LOCALE == 'so_DJ' || goog.LOCALE == 'so-DJ') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_so_DJ; +} + +if (goog.LOCALE == 'so_ET' || goog.LOCALE == 'so-ET') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_so_ET; +} + +if (goog.LOCALE == 'so_KE' || goog.LOCALE == 'so-KE') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_so_KE; +} + +if (goog.LOCALE == 'so_SO' || goog.LOCALE == 'so-SO') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_so_SO; +} + +if (goog.LOCALE == 'sq_AL' || goog.LOCALE == 'sq-AL') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_sq_AL; +} + +if (goog.LOCALE == 'sq_MK' || goog.LOCALE == 'sq-MK') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_sq_MK; +} + +if (goog.LOCALE == 'sq_XK' || goog.LOCALE == 'sq-XK') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_sq_XK; +} + +if (goog.LOCALE == 'sr_Cyrl' || goog.LOCALE == 'sr-Cyrl') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_sr_Cyrl; +} + +if (goog.LOCALE == 'sr_Cyrl_BA' || goog.LOCALE == 'sr-Cyrl-BA') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_sr_Cyrl_BA; +} + +if (goog.LOCALE == 'sr_Cyrl_ME' || goog.LOCALE == 'sr-Cyrl-ME') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_sr_Cyrl_ME; +} + +if (goog.LOCALE == 'sr_Cyrl_RS' || goog.LOCALE == 'sr-Cyrl-RS') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_sr_Cyrl_RS; +} + +if (goog.LOCALE == 'sr_Cyrl_XK' || goog.LOCALE == 'sr-Cyrl-XK') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_sr_Cyrl_XK; +} + +if (goog.LOCALE == 'sr_Latn_BA' || goog.LOCALE == 'sr-Latn-BA') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_sr_Latn_BA; +} + +if (goog.LOCALE == 'sr_Latn_ME' || goog.LOCALE == 'sr-Latn-ME') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_sr_Latn_ME; +} + +if (goog.LOCALE == 'sr_Latn_RS' || goog.LOCALE == 'sr-Latn-RS') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_sr_Latn_RS; +} + +if (goog.LOCALE == 'sr_Latn_XK' || goog.LOCALE == 'sr-Latn-XK') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_sr_Latn_XK; +} + +if (goog.LOCALE == 'sv_AX' || goog.LOCALE == 'sv-AX') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_sv_AX; +} + +if (goog.LOCALE == 'sv_FI' || goog.LOCALE == 'sv-FI') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_sv_FI; +} + +if (goog.LOCALE == 'sv_SE' || goog.LOCALE == 'sv-SE') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_sv_SE; +} + +if (goog.LOCALE == 'sw_CD' || goog.LOCALE == 'sw-CD') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_sw_CD; +} + +if (goog.LOCALE == 'sw_KE' || goog.LOCALE == 'sw-KE') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_sw_KE; +} + +if (goog.LOCALE == 'sw_TZ' || goog.LOCALE == 'sw-TZ') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_sw_TZ; +} + +if (goog.LOCALE == 'sw_UG' || goog.LOCALE == 'sw-UG') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_sw_UG; +} + +if (goog.LOCALE == 'ta_IN' || goog.LOCALE == 'ta-IN') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ta_IN; +} + +if (goog.LOCALE == 'ta_LK' || goog.LOCALE == 'ta-LK') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ta_LK; +} + +if (goog.LOCALE == 'ta_MY' || goog.LOCALE == 'ta-MY') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ta_MY; +} + +if (goog.LOCALE == 'ta_SG' || goog.LOCALE == 'ta-SG') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ta_SG; +} + +if (goog.LOCALE == 'te_IN' || goog.LOCALE == 'te-IN') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_te_IN; +} + +if (goog.LOCALE == 'teo') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_teo; +} + +if (goog.LOCALE == 'teo_KE' || goog.LOCALE == 'teo-KE') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_teo_KE; +} + +if (goog.LOCALE == 'teo_UG' || goog.LOCALE == 'teo-UG') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_teo_UG; +} + +if (goog.LOCALE == 'th_TH' || goog.LOCALE == 'th-TH') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_th_TH; +} + +if (goog.LOCALE == 'ti') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ti; +} + +if (goog.LOCALE == 'ti_ER' || goog.LOCALE == 'ti-ER') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ti_ER; +} + +if (goog.LOCALE == 'ti_ET' || goog.LOCALE == 'ti-ET') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ti_ET; +} + +if (goog.LOCALE == 'to') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_to; +} + +if (goog.LOCALE == 'to_TO' || goog.LOCALE == 'to-TO') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_to_TO; +} + +if (goog.LOCALE == 'tr_CY' || goog.LOCALE == 'tr-CY') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_tr_CY; +} + +if (goog.LOCALE == 'tr_TR' || goog.LOCALE == 'tr-TR') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_tr_TR; +} + +if (goog.LOCALE == 'twq') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_twq; +} + +if (goog.LOCALE == 'twq_NE' || goog.LOCALE == 'twq-NE') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_twq_NE; +} + +if (goog.LOCALE == 'tzm') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_tzm; +} + +if (goog.LOCALE == 'tzm_MA' || goog.LOCALE == 'tzm-MA') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_tzm_MA; +} + +if (goog.LOCALE == 'ug') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ug; +} + +if (goog.LOCALE == 'ug_CN' || goog.LOCALE == 'ug-CN') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ug_CN; +} + +if (goog.LOCALE == 'uk_UA' || goog.LOCALE == 'uk-UA') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_uk_UA; +} + +if (goog.LOCALE == 'ur_IN' || goog.LOCALE == 'ur-IN') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ur_IN; +} + +if (goog.LOCALE == 'ur_PK' || goog.LOCALE == 'ur-PK') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_ur_PK; +} + +if (goog.LOCALE == 'uz_Arab' || goog.LOCALE == 'uz-Arab') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_uz_Arab; +} + +if (goog.LOCALE == 'uz_Arab_AF' || goog.LOCALE == 'uz-Arab-AF') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_uz_Arab_AF; +} + +if (goog.LOCALE == 'uz_Cyrl' || goog.LOCALE == 'uz-Cyrl') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_uz_Cyrl; +} + +if (goog.LOCALE == 'uz_Cyrl_UZ' || goog.LOCALE == 'uz-Cyrl-UZ') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_uz_Cyrl_UZ; +} + +if (goog.LOCALE == 'uz_Latn' || goog.LOCALE == 'uz-Latn') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_uz_Latn; +} + +if (goog.LOCALE == 'uz_Latn_UZ' || goog.LOCALE == 'uz-Latn-UZ') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_uz_Latn_UZ; +} + +if (goog.LOCALE == 'vai') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_vai; +} + +if (goog.LOCALE == 'vai_Latn' || goog.LOCALE == 'vai-Latn') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_vai_Latn; +} + +if (goog.LOCALE == 'vai_Latn_LR' || goog.LOCALE == 'vai-Latn-LR') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_vai_Latn_LR; +} + +if (goog.LOCALE == 'vai_Vaii' || goog.LOCALE == 'vai-Vaii') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_vai_Vaii; +} + +if (goog.LOCALE == 'vai_Vaii_LR' || goog.LOCALE == 'vai-Vaii-LR') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_vai_Vaii_LR; +} + +if (goog.LOCALE == 'vi_VN' || goog.LOCALE == 'vi-VN') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_vi_VN; +} + +if (goog.LOCALE == 'vun') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_vun; +} + +if (goog.LOCALE == 'vun_TZ' || goog.LOCALE == 'vun-TZ') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_vun_TZ; +} + +if (goog.LOCALE == 'wae') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_wae; +} + +if (goog.LOCALE == 'wae_CH' || goog.LOCALE == 'wae-CH') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_wae_CH; +} + +if (goog.LOCALE == 'xog') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_xog; +} + +if (goog.LOCALE == 'xog_UG' || goog.LOCALE == 'xog-UG') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_xog_UG; +} + +if (goog.LOCALE == 'yav') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_yav; +} + +if (goog.LOCALE == 'yav_CM' || goog.LOCALE == 'yav-CM') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_yav_CM; +} + +if (goog.LOCALE == 'yi') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_yi; +} + +if (goog.LOCALE == 'yi_001' || goog.LOCALE == 'yi-001') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_yi_001; +} + +if (goog.LOCALE == 'yo') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_yo; +} + +if (goog.LOCALE == 'yo_BJ' || goog.LOCALE == 'yo-BJ') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_yo_BJ; +} + +if (goog.LOCALE == 'yo_NG' || goog.LOCALE == 'yo-NG') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_yo_NG; +} + +if (goog.LOCALE == 'yue') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_yue; +} + +if (goog.LOCALE == 'yue_HK' || goog.LOCALE == 'yue-HK') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_yue_HK; +} + +if (goog.LOCALE == 'zgh') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_zgh; +} + +if (goog.LOCALE == 'zgh_MA' || goog.LOCALE == 'zgh-MA') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_zgh_MA; +} + +if (goog.LOCALE == 'zh_Hans' || goog.LOCALE == 'zh-Hans') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_zh_Hans; +} + +if (goog.LOCALE == 'zh_Hans_CN' || goog.LOCALE == 'zh-Hans-CN') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_zh_Hans_CN; +} + +if (goog.LOCALE == 'zh_Hans_HK' || goog.LOCALE == 'zh-Hans-HK') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_zh_Hans_HK; +} + +if (goog.LOCALE == 'zh_Hans_MO' || goog.LOCALE == 'zh-Hans-MO') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_zh_Hans_MO; +} + +if (goog.LOCALE == 'zh_Hans_SG' || goog.LOCALE == 'zh-Hans-SG') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_zh_Hans_SG; +} + +if (goog.LOCALE == 'zh_Hant' || goog.LOCALE == 'zh-Hant') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_zh_Hant; +} + +if (goog.LOCALE == 'zh_Hant_HK' || goog.LOCALE == 'zh-Hant-HK') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_zh_Hant_HK; +} + +if (goog.LOCALE == 'zh_Hant_MO' || goog.LOCALE == 'zh-Hant-MO') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_zh_Hant_MO; +} + +if (goog.LOCALE == 'zh_Hant_TW' || goog.LOCALE == 'zh-Hant-TW') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_zh_Hant_TW; +} + +if (goog.LOCALE == 'zu_ZA' || goog.LOCALE == 'zu-ZA') { + goog.i18n.NumberFormatSymbols = goog.i18n.NumberFormatSymbols_zu_ZA; +} diff --git a/i18n/closure/pluralRules.js b/i18n/closure/pluralRules.js index 9d115cd82946..07ad9e3903f4 100644 --- a/i18n/closure/pluralRules.js +++ b/i18n/closure/pluralRules.js @@ -1,4 +1,4 @@ -// Copyright 2012 The Closure Library Authors. All Rights Reserved +// Copyright 2012 The Closure Library Authors. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -7,16 +7,17 @@ // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS-IS" BASIS, WITHOUT -// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -// License for the specific language governing permissions and limitations under -// the License. +// distributed under the License is distributed on an "AS-IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. /** * @fileoverview Plural rules. * * This file is autogenerated by script: * http://go/generate_pluralrules.py + * File generated from CLDR ver. 31.0.1 * * Before check in, this file could have been manually edited. This is to * incorporate changes before we could fix CLDR. All manual modification must be @@ -24,6 +25,8 @@ * CLDR. */ +// clang-format off + goog.provide('goog.i18n.pluralRules'); /** * Plural pattern keyword @@ -40,766 +43,1086 @@ goog.i18n.pluralRules.Keyword = { /** - * Default plural select rule. + * Default Plural select rule. * @param {number} n The count of items. + * @param {number=} opt_precision optional, precision. * @return {goog.i18n.pluralRules.Keyword} Default value. * @private */ -goog.i18n.pluralRules.defaultSelect_ = function(n) { +goog.i18n.pluralRules.defaultSelect_ = function(n, opt_precision) { return goog.i18n.pluralRules.Keyword.OTHER; }; +/** + * Returns the fractional part of a number (3.1416 => 1416) + * @param {number} n The count of items. + * @return {number} The fractional part. + * @private + */ +goog.i18n.pluralRules.decimals_ = function(n) { + var str = n + ''; + var result = str.indexOf('.'); + return (result == -1) ? 0 : str.length - result - 1; +}; /** - * Plural select rules for ar locale + * Calculates v and f as per CLDR plural rules. + * The short names for parameters / return match the CLDR syntax and UTS #35 + * (http://unicode.org/reports/tr35/tr35-numbers.html#Plural_rules_syntax) + * @param {number} n The count of items. + * @param {number=} opt_precision optional, precision. + * @return {!{v:number, f:number}} The v and f. + * @private + */ +goog.i18n.pluralRules.get_vf_ = function(n, opt_precision) { + var DEFAULT_DIGITS = 3; + + if (undefined === opt_precision) { + var v = Math.min(goog.i18n.pluralRules.decimals_(n), DEFAULT_DIGITS); + } else { + var v = opt_precision; + } + + var base = Math.pow(10, v); + var f = ((n * base) | 0) % base; + + return {v: v, f: f}; +}; + +/** + * Calculates w and t as per CLDR plural rules. + * The short names for parameters / return match the CLDR syntax and UTS #35 + * (http://unicode.org/reports/tr35/tr35-numbers.html#Plural_rules_syntax) + * @param {number} v Calculated previously. + * @param {number} f Calculated previously. + * @return {!{w:number, t:number}} The w and t. + * @private + */ +goog.i18n.pluralRules.get_wt_ = function(v, f) { + if (f === 0) { + return {w: 0, t: 0}; + } + + while ((f % 10) === 0) { + f /= 10; + v--; + } + + return {w: v, t: f}; +}; + +/** + * Plural select rules for fil locale * * @param {number} n The count of items. + * @param {number=} opt_precision Precision for number formatting, if not default. * @return {goog.i18n.pluralRules.Keyword} Locale-specific plural value. * @private */ -goog.i18n.pluralRules.arSelect_ = function(n) { - if (n == 0) { - return goog.i18n.pluralRules.Keyword.ZERO; +goog.i18n.pluralRules.filSelect_ = function(n, opt_precision) { + var i = n | 0; + var vf = goog.i18n.pluralRules.get_vf_(n, opt_precision); + if (vf.v == 0 && (i == 1 || i == 2 || i == 3) || vf.v == 0 && i % 10 != 4 && i % 10 != 6 && i % 10 != 9 || vf.v != 0 && vf.f % 10 != 4 && vf.f % 10 != 6 && vf.f % 10 != 9) { + return goog.i18n.pluralRules.Keyword.ONE; } - if (n == 1) { - return goog.i18n.pluralRules.Keyword.ONE; + return goog.i18n.pluralRules.Keyword.OTHER; +}; + +/** + * Plural select rules for br locale + * + * @param {number} n The count of items. + * @param {number=} opt_precision Precision for number formatting, if not default. + * @return {goog.i18n.pluralRules.Keyword} Locale-specific plural value. + * @private + */ +goog.i18n.pluralRules.brSelect_ = function(n, opt_precision) { + if (n % 10 == 1 && n % 100 != 11 && n % 100 != 71 && n % 100 != 91) { + return goog.i18n.pluralRules.Keyword.ONE; } - if (n == 2) { - return goog.i18n.pluralRules.Keyword.TWO; + if (n % 10 == 2 && n % 100 != 12 && n % 100 != 72 && n % 100 != 92) { + return goog.i18n.pluralRules.Keyword.TWO; } - if (n == (n | 0) && n % 100 >= 3 && n % 100 <= 10) { - return goog.i18n.pluralRules.Keyword.FEW; + if ((n % 10 >= 3 && n % 10 <= 4 || n % 10 == 9) && (n % 100 < 10 || n % 100 > 19) && (n % 100 < 70 || n % 100 > 79) && (n % 100 < 90 || n % 100 > 99)) { + return goog.i18n.pluralRules.Keyword.FEW; } - if (n == (n | 0) && n % 100 >= 11 && n % 100 <= 99) { - return goog.i18n.pluralRules.Keyword.MANY; + if (n != 0 && n % 1000000 == 0) { + return goog.i18n.pluralRules.Keyword.MANY; } return goog.i18n.pluralRules.Keyword.OTHER; }; - /** - * Plural select rules for en locale + * Plural select rules for sr locale * * @param {number} n The count of items. + * @param {number=} opt_precision Precision for number formatting, if not default. * @return {goog.i18n.pluralRules.Keyword} Locale-specific plural value. * @private */ -goog.i18n.pluralRules.enSelect_ = function(n) { - if (n == 1) { - return goog.i18n.pluralRules.Keyword.ONE; +goog.i18n.pluralRules.srSelect_ = function(n, opt_precision) { + var i = n | 0; + var vf = goog.i18n.pluralRules.get_vf_(n, opt_precision); + if (vf.v == 0 && i % 10 == 1 && i % 100 != 11 || vf.f % 10 == 1 && vf.f % 100 != 11) { + return goog.i18n.pluralRules.Keyword.ONE; + } + if (vf.v == 0 && i % 10 >= 2 && i % 10 <= 4 && (i % 100 < 12 || i % 100 > 14) || vf.f % 10 >= 2 && vf.f % 10 <= 4 && (vf.f % 100 < 12 || vf.f % 100 > 14)) { + return goog.i18n.pluralRules.Keyword.FEW; } return goog.i18n.pluralRules.Keyword.OTHER; }; - /** - * Plural select rules for fil locale + * Plural select rules for ro locale * * @param {number} n The count of items. + * @param {number=} opt_precision Precision for number formatting, if not default. * @return {goog.i18n.pluralRules.Keyword} Locale-specific plural value. * @private */ -goog.i18n.pluralRules.filSelect_ = function(n) { - if (n == 0 || n == 1) { - return goog.i18n.pluralRules.Keyword.ONE; +goog.i18n.pluralRules.roSelect_ = function(n, opt_precision) { + var i = n | 0; + var vf = goog.i18n.pluralRules.get_vf_(n, opt_precision); + if (i == 1 && vf.v == 0) { + return goog.i18n.pluralRules.Keyword.ONE; + } + if (vf.v != 0 || n == 0 || n != 1 && n % 100 >= 1 && n % 100 <= 19) { + return goog.i18n.pluralRules.Keyword.FEW; } return goog.i18n.pluralRules.Keyword.OTHER; }; +/** + * Plural select rules for hi locale + * + * @param {number} n The count of items. + * @param {number=} opt_precision Precision for number formatting, if not default. + * @return {goog.i18n.pluralRules.Keyword} Locale-specific plural value. + * @private + */ +goog.i18n.pluralRules.hiSelect_ = function(n, opt_precision) { + var i = n | 0; + if (i == 0 || n == 1) { + return goog.i18n.pluralRules.Keyword.ONE; + } + return goog.i18n.pluralRules.Keyword.OTHER; +}; /** * Plural select rules for fr locale * * @param {number} n The count of items. + * @param {number=} opt_precision Precision for number formatting, if not default. * @return {goog.i18n.pluralRules.Keyword} Locale-specific plural value. * @private */ -goog.i18n.pluralRules.frSelect_ = function(n) { - if (n >= 0 && n <= 2 && n != 2) { - return goog.i18n.pluralRules.Keyword.ONE; +goog.i18n.pluralRules.frSelect_ = function(n, opt_precision) { + var i = n | 0; + if (i == 0 || i == 1) { + return goog.i18n.pluralRules.Keyword.ONE; } return goog.i18n.pluralRules.Keyword.OTHER; }; +/** + * Plural select rules for pt locale + * + * @param {number} n The count of items. + * @param {number=} opt_precision Precision for number formatting, if not default. + * @return {goog.i18n.pluralRules.Keyword} Locale-specific plural value. + * @private + */ +goog.i18n.pluralRules.ptSelect_ = function(n, opt_precision) { + var i = n | 0; + if (i >= 0 && i <= 1) { + return goog.i18n.pluralRules.Keyword.ONE; + } + return goog.i18n.pluralRules.Keyword.OTHER; +}; /** - * Plural select rules for lv locale + * Plural select rules for cs locale * * @param {number} n The count of items. + * @param {number=} opt_precision Precision for number formatting, if not default. * @return {goog.i18n.pluralRules.Keyword} Locale-specific plural value. * @private */ -goog.i18n.pluralRules.lvSelect_ = function(n) { - if (n == 0) { - return goog.i18n.pluralRules.Keyword.ZERO; +goog.i18n.pluralRules.csSelect_ = function(n, opt_precision) { + var i = n | 0; + var vf = goog.i18n.pluralRules.get_vf_(n, opt_precision); + if (i == 1 && vf.v == 0) { + return goog.i18n.pluralRules.Keyword.ONE; } - if (n % 10 == 1 && n % 100 != 11) { - return goog.i18n.pluralRules.Keyword.ONE; + if (i >= 2 && i <= 4 && vf.v == 0) { + return goog.i18n.pluralRules.Keyword.FEW; + } + if (vf.v != 0) { + return goog.i18n.pluralRules.Keyword.MANY; } return goog.i18n.pluralRules.Keyword.OTHER; }; - /** - * Plural select rules for iu locale + * Plural select rules for pl locale * * @param {number} n The count of items. + * @param {number=} opt_precision Precision for number formatting, if not default. * @return {goog.i18n.pluralRules.Keyword} Locale-specific plural value. * @private */ -goog.i18n.pluralRules.iuSelect_ = function(n) { - if (n == 1) { - return goog.i18n.pluralRules.Keyword.ONE; +goog.i18n.pluralRules.plSelect_ = function(n, opt_precision) { + var i = n | 0; + var vf = goog.i18n.pluralRules.get_vf_(n, opt_precision); + if (i == 1 && vf.v == 0) { + return goog.i18n.pluralRules.Keyword.ONE; } - if (n == 2) { - return goog.i18n.pluralRules.Keyword.TWO; + if (vf.v == 0 && i % 10 >= 2 && i % 10 <= 4 && (i % 100 < 12 || i % 100 > 14)) { + return goog.i18n.pluralRules.Keyword.FEW; + } + if (vf.v == 0 && i != 1 && i % 10 >= 0 && i % 10 <= 1 || vf.v == 0 && i % 10 >= 5 && i % 10 <= 9 || vf.v == 0 && i % 100 >= 12 && i % 100 <= 14) { + return goog.i18n.pluralRules.Keyword.MANY; } return goog.i18n.pluralRules.Keyword.OTHER; }; - /** - * Plural select rules for ga locale + * Plural select rules for shi locale * * @param {number} n The count of items. + * @param {number=} opt_precision Precision for number formatting, if not default. * @return {goog.i18n.pluralRules.Keyword} Locale-specific plural value. * @private */ -goog.i18n.pluralRules.gaSelect_ = function(n) { - if (n == 1) { - return goog.i18n.pluralRules.Keyword.ONE; +goog.i18n.pluralRules.shiSelect_ = function(n, opt_precision) { + var i = n | 0; + if (i == 0 || n == 1) { + return goog.i18n.pluralRules.Keyword.ONE; } - if (n == 2) { - return goog.i18n.pluralRules.Keyword.TWO; + if (n >= 2 && n <= 10) { + return goog.i18n.pluralRules.Keyword.FEW; } - if (n == (n | 0) && n >= 3 && n <= 6) { - return goog.i18n.pluralRules.Keyword.FEW; + return goog.i18n.pluralRules.Keyword.OTHER; +}; + +/** + * Plural select rules for lv locale + * + * @param {number} n The count of items. + * @param {number=} opt_precision Precision for number formatting, if not default. + * @return {goog.i18n.pluralRules.Keyword} Locale-specific plural value. + * @private + */ +goog.i18n.pluralRules.lvSelect_ = function(n, opt_precision) { + var vf = goog.i18n.pluralRules.get_vf_(n, opt_precision); + if (n % 10 == 0 || n % 100 >= 11 && n % 100 <= 19 || vf.v == 2 && vf.f % 100 >= 11 && vf.f % 100 <= 19) { + return goog.i18n.pluralRules.Keyword.ZERO; } - if (n == (n | 0) && n >= 7 && n <= 10) { - return goog.i18n.pluralRules.Keyword.MANY; + if (n % 10 == 1 && n % 100 != 11 || vf.v == 2 && vf.f % 10 == 1 && vf.f % 100 != 11 || vf.v != 2 && vf.f % 10 == 1) { + return goog.i18n.pluralRules.Keyword.ONE; } return goog.i18n.pluralRules.Keyword.OTHER; }; - /** - * Plural select rules for ro locale + * Plural select rules for iu locale * * @param {number} n The count of items. + * @param {number=} opt_precision Precision for number formatting, if not default. * @return {goog.i18n.pluralRules.Keyword} Locale-specific plural value. * @private */ -goog.i18n.pluralRules.roSelect_ = function(n) { +goog.i18n.pluralRules.iuSelect_ = function(n, opt_precision) { if (n == 1) { - return goog.i18n.pluralRules.Keyword.ONE; + return goog.i18n.pluralRules.Keyword.ONE; } - if (n == 0 || n != 1 && n == (n | 0) && n % 100 >= 1 && n % 100 <= 19) { - return goog.i18n.pluralRules.Keyword.FEW; + if (n == 2) { + return goog.i18n.pluralRules.Keyword.TWO; } return goog.i18n.pluralRules.Keyword.OTHER; }; - /** - * Plural select rules for lt locale + * Plural select rules for he locale * * @param {number} n The count of items. + * @param {number=} opt_precision Precision for number formatting, if not default. * @return {goog.i18n.pluralRules.Keyword} Locale-specific plural value. * @private */ -goog.i18n.pluralRules.ltSelect_ = function(n) { - if (n % 10 == 1 && (n % 100 < 11 || n % 100 > 19)) { - return goog.i18n.pluralRules.Keyword.ONE; +goog.i18n.pluralRules.heSelect_ = function(n, opt_precision) { + var i = n | 0; + var vf = goog.i18n.pluralRules.get_vf_(n, opt_precision); + if (i == 1 && vf.v == 0) { + return goog.i18n.pluralRules.Keyword.ONE; + } + if (i == 2 && vf.v == 0) { + return goog.i18n.pluralRules.Keyword.TWO; } - if (n == (n | 0) && n % 10 >= 2 && n % 10 <= 9 && (n % 100 < 11 || n % 100 > 19)) { - return goog.i18n.pluralRules.Keyword.FEW; + if (vf.v == 0 && (n < 0 || n > 10) && n % 10 == 0) { + return goog.i18n.pluralRules.Keyword.MANY; } return goog.i18n.pluralRules.Keyword.OTHER; }; - /** - * Plural select rules for be locale + * Plural select rules for mt locale * * @param {number} n The count of items. + * @param {number=} opt_precision Precision for number formatting, if not default. * @return {goog.i18n.pluralRules.Keyword} Locale-specific plural value. * @private */ -goog.i18n.pluralRules.beSelect_ = function(n) { - if (n % 10 == 1 && n % 100 != 11) { - return goog.i18n.pluralRules.Keyword.ONE; +goog.i18n.pluralRules.mtSelect_ = function(n, opt_precision) { + if (n == 1) { + return goog.i18n.pluralRules.Keyword.ONE; } - if (n == (n | 0) && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14)) { - return goog.i18n.pluralRules.Keyword.FEW; + if (n == 0 || n % 100 >= 2 && n % 100 <= 10) { + return goog.i18n.pluralRules.Keyword.FEW; } - if (n % 10 == 0 || n == (n | 0) && n % 10 >= 5 && n % 10 <= 9 || n == (n | 0) && n % 100 >= 11 && n % 100 <= 14) { - return goog.i18n.pluralRules.Keyword.MANY; + if (n % 100 >= 11 && n % 100 <= 19) { + return goog.i18n.pluralRules.Keyword.MANY; } return goog.i18n.pluralRules.Keyword.OTHER; }; +/** + * Plural select rules for si locale + * + * @param {number} n The count of items. + * @param {number=} opt_precision Precision for number formatting, if not default. + * @return {goog.i18n.pluralRules.Keyword} Locale-specific plural value. + * @private + */ +goog.i18n.pluralRules.siSelect_ = function(n, opt_precision) { + var i = n | 0; + var vf = goog.i18n.pluralRules.get_vf_(n, opt_precision); + if ((n == 0 || n == 1) || i == 0 && vf.f == 1) { + return goog.i18n.pluralRules.Keyword.ONE; + } + return goog.i18n.pluralRules.Keyword.OTHER; +}; /** - * Plural select rules for cs locale + * Plural select rules for cy locale * * @param {number} n The count of items. + * @param {number=} opt_precision Precision for number formatting, if not default. * @return {goog.i18n.pluralRules.Keyword} Locale-specific plural value. * @private */ -goog.i18n.pluralRules.csSelect_ = function(n) { +goog.i18n.pluralRules.cySelect_ = function(n, opt_precision) { + if (n == 0) { + return goog.i18n.pluralRules.Keyword.ZERO; + } if (n == 1) { - return goog.i18n.pluralRules.Keyword.ONE; + return goog.i18n.pluralRules.Keyword.ONE; } - if (n == (n | 0) && n >= 2 && n <= 4) { - return goog.i18n.pluralRules.Keyword.FEW; + if (n == 2) { + return goog.i18n.pluralRules.Keyword.TWO; + } + if (n == 3) { + return goog.i18n.pluralRules.Keyword.FEW; + } + if (n == 6) { + return goog.i18n.pluralRules.Keyword.MANY; } return goog.i18n.pluralRules.Keyword.OTHER; }; +/** + * Plural select rules for da locale + * + * @param {number} n The count of items. + * @param {number=} opt_precision Precision for number formatting, if not default. + * @return {goog.i18n.pluralRules.Keyword} Locale-specific plural value. + * @private + */ +goog.i18n.pluralRules.daSelect_ = function(n, opt_precision) { + var i = n | 0; + var vf = goog.i18n.pluralRules.get_vf_(n, opt_precision); + var wt = goog.i18n.pluralRules.get_wt_(vf.v, vf.f); + if (n == 1 || wt.t != 0 && (i == 0 || i == 1)) { + return goog.i18n.pluralRules.Keyword.ONE; + } + return goog.i18n.pluralRules.Keyword.OTHER; +}; /** - * Plural select rules for pl locale + * Plural select rules for ru locale * * @param {number} n The count of items. + * @param {number=} opt_precision Precision for number formatting, if not default. * @return {goog.i18n.pluralRules.Keyword} Locale-specific plural value. * @private */ -goog.i18n.pluralRules.plSelect_ = function(n) { - if (n == 1) { - return goog.i18n.pluralRules.Keyword.ONE; +goog.i18n.pluralRules.ruSelect_ = function(n, opt_precision) { + var i = n | 0; + var vf = goog.i18n.pluralRules.get_vf_(n, opt_precision); + if (vf.v == 0 && i % 10 == 1 && i % 100 != 11) { + return goog.i18n.pluralRules.Keyword.ONE; } - if (n == (n | 0) && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14)) { - return goog.i18n.pluralRules.Keyword.FEW; + if (vf.v == 0 && i % 10 >= 2 && i % 10 <= 4 && (i % 100 < 12 || i % 100 > 14)) { + return goog.i18n.pluralRules.Keyword.FEW; } - if (n != 1 && (n % 10 == 0 || n % 10 == 1) || n == (n | 0) && n % 10 >= 5 && n % 10 <= 9 || n == (n | 0) && n % 100 >= 12 && n % 100 <= 14) { - return goog.i18n.pluralRules.Keyword.MANY; + if (vf.v == 0 && i % 10 == 0 || vf.v == 0 && i % 10 >= 5 && i % 10 <= 9 || vf.v == 0 && i % 100 >= 11 && i % 100 <= 14) { + return goog.i18n.pluralRules.Keyword.MANY; } return goog.i18n.pluralRules.Keyword.OTHER; }; - /** - * Plural select rules for sl locale + * Plural select rules for gv locale * * @param {number} n The count of items. + * @param {number=} opt_precision Precision for number formatting, if not default. * @return {goog.i18n.pluralRules.Keyword} Locale-specific plural value. * @private */ -goog.i18n.pluralRules.slSelect_ = function(n) { - if (n % 100 == 1) { - return goog.i18n.pluralRules.Keyword.ONE; +goog.i18n.pluralRules.gvSelect_ = function(n, opt_precision) { + var i = n | 0; + var vf = goog.i18n.pluralRules.get_vf_(n, opt_precision); + if (vf.v == 0 && i % 10 == 1) { + return goog.i18n.pluralRules.Keyword.ONE; + } + if (vf.v == 0 && i % 10 == 2) { + return goog.i18n.pluralRules.Keyword.TWO; } - if (n % 100 == 2) { - return goog.i18n.pluralRules.Keyword.TWO; + if (vf.v == 0 && (i % 100 == 0 || i % 100 == 20 || i % 100 == 40 || i % 100 == 60 || i % 100 == 80)) { + return goog.i18n.pluralRules.Keyword.FEW; } - if (n % 100 == 3 || n % 100 == 4) { - return goog.i18n.pluralRules.Keyword.FEW; + if (vf.v != 0) { + return goog.i18n.pluralRules.Keyword.MANY; } return goog.i18n.pluralRules.Keyword.OTHER; }; - /** - * Plural select rules for mt locale + * Plural select rules for be locale * * @param {number} n The count of items. + * @param {number=} opt_precision Precision for number formatting, if not default. * @return {goog.i18n.pluralRules.Keyword} Locale-specific plural value. * @private */ -goog.i18n.pluralRules.mtSelect_ = function(n) { - if (n == 1) { - return goog.i18n.pluralRules.Keyword.ONE; +goog.i18n.pluralRules.beSelect_ = function(n, opt_precision) { + if (n % 10 == 1 && n % 100 != 11) { + return goog.i18n.pluralRules.Keyword.ONE; } - if (n == 0 || n == (n | 0) && n % 100 >= 2 && n % 100 <= 10) { - return goog.i18n.pluralRules.Keyword.FEW; + if (n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14)) { + return goog.i18n.pluralRules.Keyword.FEW; } - if (n == (n | 0) && n % 100 >= 11 && n % 100 <= 19) { - return goog.i18n.pluralRules.Keyword.MANY; + if (n % 10 == 0 || n % 10 >= 5 && n % 10 <= 9 || n % 100 >= 11 && n % 100 <= 14) { + return goog.i18n.pluralRules.Keyword.MANY; } return goog.i18n.pluralRules.Keyword.OTHER; }; - /** * Plural select rules for mk locale * * @param {number} n The count of items. + * @param {number=} opt_precision Precision for number formatting, if not default. * @return {goog.i18n.pluralRules.Keyword} Locale-specific plural value. * @private */ -goog.i18n.pluralRules.mkSelect_ = function(n) { - if (n % 10 == 1 && n != 11) { - return goog.i18n.pluralRules.Keyword.ONE; +goog.i18n.pluralRules.mkSelect_ = function(n, opt_precision) { + var i = n | 0; + var vf = goog.i18n.pluralRules.get_vf_(n, opt_precision); + if (vf.v == 0 && i % 10 == 1 || vf.f % 10 == 1) { + return goog.i18n.pluralRules.Keyword.ONE; } return goog.i18n.pluralRules.Keyword.OTHER; }; - /** - * Plural select rules for cy locale + * Plural select rules for ga locale * * @param {number} n The count of items. + * @param {number=} opt_precision Precision for number formatting, if not default. * @return {goog.i18n.pluralRules.Keyword} Locale-specific plural value. * @private */ -goog.i18n.pluralRules.cySelect_ = function(n) { - if (n == 0) { - return goog.i18n.pluralRules.Keyword.ZERO; - } +goog.i18n.pluralRules.gaSelect_ = function(n, opt_precision) { if (n == 1) { - return goog.i18n.pluralRules.Keyword.ONE; + return goog.i18n.pluralRules.Keyword.ONE; } if (n == 2) { - return goog.i18n.pluralRules.Keyword.TWO; + return goog.i18n.pluralRules.Keyword.TWO; } - if (n == 3) { - return goog.i18n.pluralRules.Keyword.FEW; + if (n >= 3 && n <= 6) { + return goog.i18n.pluralRules.Keyword.FEW; } - if (n == 6) { - return goog.i18n.pluralRules.Keyword.MANY; + if (n >= 7 && n <= 10) { + return goog.i18n.pluralRules.Keyword.MANY; } return goog.i18n.pluralRules.Keyword.OTHER; }; +/** + * Plural select rules for es locale + * + * @param {number} n The count of items. + * @param {number=} opt_precision Precision for number formatting, if not default. + * @return {goog.i18n.pluralRules.Keyword} Locale-specific plural value. + * @private + */ +goog.i18n.pluralRules.esSelect_ = function(n, opt_precision) { + if (n == 1) { + return goog.i18n.pluralRules.Keyword.ONE; + } + return goog.i18n.pluralRules.Keyword.OTHER; +}; + +/** + * Plural select rules for dsb locale + * + * @param {number} n The count of items. + * @param {number=} opt_precision Precision for number formatting, if not default. + * @return {goog.i18n.pluralRules.Keyword} Locale-specific plural value. + * @private + */ +goog.i18n.pluralRules.dsbSelect_ = function(n, opt_precision) { + var i = n | 0; + var vf = goog.i18n.pluralRules.get_vf_(n, opt_precision); + if (vf.v == 0 && i % 100 == 1 || vf.f % 100 == 1) { + return goog.i18n.pluralRules.Keyword.ONE; + } + if (vf.v == 0 && i % 100 == 2 || vf.f % 100 == 2) { + return goog.i18n.pluralRules.Keyword.TWO; + } + if (vf.v == 0 && i % 100 >= 3 && i % 100 <= 4 || vf.f % 100 >= 3 && vf.f % 100 <= 4) { + return goog.i18n.pluralRules.Keyword.FEW; + } + return goog.i18n.pluralRules.Keyword.OTHER; +}; /** * Plural select rules for lag locale * * @param {number} n The count of items. + * @param {number=} opt_precision Precision for number formatting, if not default. * @return {goog.i18n.pluralRules.Keyword} Locale-specific plural value. * @private */ -goog.i18n.pluralRules.lagSelect_ = function(n) { +goog.i18n.pluralRules.lagSelect_ = function(n, opt_precision) { + var i = n | 0; if (n == 0) { - return goog.i18n.pluralRules.Keyword.ZERO; + return goog.i18n.pluralRules.Keyword.ZERO; } - if (n >= 0 && n <= 2 && n != 0 && n != 2) { - return goog.i18n.pluralRules.Keyword.ONE; + if ((i == 0 || i == 1) && n != 0) { + return goog.i18n.pluralRules.Keyword.ONE; } return goog.i18n.pluralRules.Keyword.OTHER; }; +/** + * Plural select rules for is locale + * + * @param {number} n The count of items. + * @param {number=} opt_precision Precision for number formatting, if not default. + * @return {goog.i18n.pluralRules.Keyword} Locale-specific plural value. + * @private + */ +goog.i18n.pluralRules.isSelect_ = function(n, opt_precision) { + var i = n | 0; + var vf = goog.i18n.pluralRules.get_vf_(n, opt_precision); + var wt = goog.i18n.pluralRules.get_wt_(vf.v, vf.f); + if (wt.t == 0 && i % 10 == 1 && i % 100 != 11 || wt.t != 0) { + return goog.i18n.pluralRules.Keyword.ONE; + } + return goog.i18n.pluralRules.Keyword.OTHER; +}; /** - * Plural select rules for shi locale + * Plural select rules for ksh locale * * @param {number} n The count of items. + * @param {number=} opt_precision Precision for number formatting, if not default. * @return {goog.i18n.pluralRules.Keyword} Locale-specific plural value. * @private */ -goog.i18n.pluralRules.shiSelect_ = function(n) { - if (n >= 0 && n <= 1) { - return goog.i18n.pluralRules.Keyword.ONE; +goog.i18n.pluralRules.kshSelect_ = function(n, opt_precision) { + if (n == 0) { + return goog.i18n.pluralRules.Keyword.ZERO; } - if (n == (n | 0) && n >= 2 && n <= 10) { - return goog.i18n.pluralRules.Keyword.FEW; + if (n == 1) { + return goog.i18n.pluralRules.Keyword.ONE; } return goog.i18n.pluralRules.Keyword.OTHER; }; - /** - * Plural select rules for br locale + * Plural select rules for ar locale * * @param {number} n The count of items. + * @param {number=} opt_precision Precision for number formatting, if not default. * @return {goog.i18n.pluralRules.Keyword} Locale-specific plural value. * @private */ -goog.i18n.pluralRules.brSelect_ = function(n) { - if (n % 10 == 1 && n % 100 != 11 && n % 100 != 71 && n % 100 != 91) { - return goog.i18n.pluralRules.Keyword.ONE; +goog.i18n.pluralRules.arSelect_ = function(n, opt_precision) { + if (n == 0) { + return goog.i18n.pluralRules.Keyword.ZERO; } - if (n % 10 == 2 && n % 100 != 12 && n % 100 != 72 && n % 100 != 92) { - return goog.i18n.pluralRules.Keyword.TWO; + if (n == 1) { + return goog.i18n.pluralRules.Keyword.ONE; } - if ((n % 10 == 3 || n % 10 == 4 || n % 10 == 9) && ((n % 100 < 10 || n % 100 > 19) && (n % 100 < 70 || n % 100 > 79) && (n % 100 < 90 || n % 100 > 99))) { - return goog.i18n.pluralRules.Keyword.FEW; + if (n == 2) { + return goog.i18n.pluralRules.Keyword.TWO; + } + if (n % 100 >= 3 && n % 100 <= 10) { + return goog.i18n.pluralRules.Keyword.FEW; } - if (n % 1000000 == 0 && n != 0) { - return goog.i18n.pluralRules.Keyword.MANY; + if (n % 100 >= 11 && n % 100 <= 99) { + return goog.i18n.pluralRules.Keyword.MANY; } return goog.i18n.pluralRules.Keyword.OTHER; }; +/** + * Plural select rules for gd locale + * + * @param {number} n The count of items. + * @param {number=} opt_precision Precision for number formatting, if not default. + * @return {goog.i18n.pluralRules.Keyword} Locale-specific plural value. + * @private + */ +goog.i18n.pluralRules.gdSelect_ = function(n, opt_precision) { + if (n == 1 || n == 11) { + return goog.i18n.pluralRules.Keyword.ONE; + } + if (n == 2 || n == 12) { + return goog.i18n.pluralRules.Keyword.TWO; + } + if (n >= 3 && n <= 10 || n >= 13 && n <= 19) { + return goog.i18n.pluralRules.Keyword.FEW; + } + return goog.i18n.pluralRules.Keyword.OTHER; +}; /** - * Plural select rules for ksh locale + * Plural select rules for sl locale * * @param {number} n The count of items. + * @param {number=} opt_precision Precision for number formatting, if not default. * @return {goog.i18n.pluralRules.Keyword} Locale-specific plural value. * @private */ -goog.i18n.pluralRules.kshSelect_ = function(n) { - if (n == 0) { - return goog.i18n.pluralRules.Keyword.ZERO; +goog.i18n.pluralRules.slSelect_ = function(n, opt_precision) { + var i = n | 0; + var vf = goog.i18n.pluralRules.get_vf_(n, opt_precision); + if (vf.v == 0 && i % 100 == 1) { + return goog.i18n.pluralRules.Keyword.ONE; } - if (n == 1) { - return goog.i18n.pluralRules.Keyword.ONE; + if (vf.v == 0 && i % 100 == 2) { + return goog.i18n.pluralRules.Keyword.TWO; + } + if (vf.v == 0 && i % 100 >= 3 && i % 100 <= 4 || vf.v != 0) { + return goog.i18n.pluralRules.Keyword.FEW; } return goog.i18n.pluralRules.Keyword.OTHER; }; +/** + * Plural select rules for lt locale + * + * @param {number} n The count of items. + * @param {number=} opt_precision Precision for number formatting, if not default. + * @return {goog.i18n.pluralRules.Keyword} Locale-specific plural value. + * @private + */ +goog.i18n.pluralRules.ltSelect_ = function(n, opt_precision) { + var vf = goog.i18n.pluralRules.get_vf_(n, opt_precision); + if (n % 10 == 1 && (n % 100 < 11 || n % 100 > 19)) { + return goog.i18n.pluralRules.Keyword.ONE; + } + if (n % 10 >= 2 && n % 10 <= 9 && (n % 100 < 11 || n % 100 > 19)) { + return goog.i18n.pluralRules.Keyword.FEW; + } + if (vf.f != 0) { + return goog.i18n.pluralRules.Keyword.MANY; + } + return goog.i18n.pluralRules.Keyword.OTHER; +}; /** * Plural select rules for tzm locale * * @param {number} n The count of items. + * @param {number=} opt_precision Precision for number formatting, if not default. * @return {goog.i18n.pluralRules.Keyword} Locale-specific plural value. * @private */ -goog.i18n.pluralRules.tzmSelect_ = function(n) { - if (n == 0 || n == 1 || n == (n | 0) && n >= 11 && n <= 99) { - return goog.i18n.pluralRules.Keyword.ONE; +goog.i18n.pluralRules.tzmSelect_ = function(n, opt_precision) { + if (n >= 0 && n <= 1 || n >= 11 && n <= 99) { + return goog.i18n.pluralRules.Keyword.ONE; } return goog.i18n.pluralRules.Keyword.OTHER; }; - /** - * Plural select rules for gv locale + * Plural select rules for en locale * * @param {number} n The count of items. + * @param {number=} opt_precision Precision for number formatting, if not default. * @return {goog.i18n.pluralRules.Keyword} Locale-specific plural value. * @private */ -goog.i18n.pluralRules.gvSelect_ = function(n) { - if (n % 10 == 1 || n % 10 == 2 || n % 20 == 0) { - return goog.i18n.pluralRules.Keyword.ONE; +goog.i18n.pluralRules.enSelect_ = function(n, opt_precision) { + var i = n | 0; + var vf = goog.i18n.pluralRules.get_vf_(n, opt_precision); + if (i == 1 && vf.v == 0) { + return goog.i18n.pluralRules.Keyword.ONE; } return goog.i18n.pluralRules.Keyword.OTHER; }; - /** - * Plural select rules for gd locale + * Plural select rules for ak locale * * @param {number} n The count of items. + * @param {number=} opt_precision Precision for number formatting, if not default. * @return {goog.i18n.pluralRules.Keyword} Locale-specific plural value. * @private */ -goog.i18n.pluralRules.gdSelect_ = function(n) { - if (n == 1 || n == 11) { - return goog.i18n.pluralRules.Keyword.ONE; - } - if (n == 2 || n == 12) { - return goog.i18n.pluralRules.Keyword.TWO; - } - if (n == (n | 0) && (n >= 3 && n <= 10 || n >= 13 && n <= 19)) { - return goog.i18n.pluralRules.Keyword.FEW; +goog.i18n.pluralRules.akSelect_ = function(n, opt_precision) { + if (n >= 0 && n <= 1) { + return goog.i18n.pluralRules.Keyword.ONE; } return goog.i18n.pluralRules.Keyword.OTHER; }; - /** - * Selected plural rules by locale. + * Selected Plural rules by locale. */ goog.i18n.pluralRules.select = goog.i18n.pluralRules.enSelect_; +if (goog.LOCALE == 'af') { + goog.i18n.pluralRules.select = goog.i18n.pluralRules.esSelect_; +} if (goog.LOCALE == 'am') { - goog.i18n.pluralRules.select = goog.i18n.pluralRules.filSelect_; + goog.i18n.pluralRules.select = goog.i18n.pluralRules.hiSelect_; } - if (goog.LOCALE == 'ar') { goog.i18n.pluralRules.select = goog.i18n.pluralRules.arSelect_; } - +if (goog.LOCALE == 'ar_DZ' || goog.LOCALE == 'ar-DZ') { + goog.i18n.pluralRules.select = goog.i18n.pluralRules.arSelect_; +} +if (goog.LOCALE == 'az') { + goog.i18n.pluralRules.select = goog.i18n.pluralRules.esSelect_; +} +if (goog.LOCALE == 'be') { + goog.i18n.pluralRules.select = goog.i18n.pluralRules.beSelect_; +} if (goog.LOCALE == 'bg') { - goog.i18n.pluralRules.select = goog.i18n.pluralRules.enSelect_; + goog.i18n.pluralRules.select = goog.i18n.pluralRules.esSelect_; } - if (goog.LOCALE == 'bn') { - goog.i18n.pluralRules.select = goog.i18n.pluralRules.enSelect_; + goog.i18n.pluralRules.select = goog.i18n.pluralRules.hiSelect_; } - if (goog.LOCALE == 'br') { goog.i18n.pluralRules.select = goog.i18n.pluralRules.brSelect_; } - +if (goog.LOCALE == 'bs') { + goog.i18n.pluralRules.select = goog.i18n.pluralRules.srSelect_; +} if (goog.LOCALE == 'ca') { goog.i18n.pluralRules.select = goog.i18n.pluralRules.enSelect_; } - +if (goog.LOCALE == 'chr') { + goog.i18n.pluralRules.select = goog.i18n.pluralRules.esSelect_; +} if (goog.LOCALE == 'cs') { goog.i18n.pluralRules.select = goog.i18n.pluralRules.csSelect_; } - +if (goog.LOCALE == 'cy') { + goog.i18n.pluralRules.select = goog.i18n.pluralRules.cySelect_; +} if (goog.LOCALE == 'da') { - goog.i18n.pluralRules.select = goog.i18n.pluralRules.enSelect_; + goog.i18n.pluralRules.select = goog.i18n.pluralRules.daSelect_; } - if (goog.LOCALE == 'de') { goog.i18n.pluralRules.select = goog.i18n.pluralRules.enSelect_; } - if (goog.LOCALE == 'de_AT' || goog.LOCALE == 'de-AT') { goog.i18n.pluralRules.select = goog.i18n.pluralRules.enSelect_; } - if (goog.LOCALE == 'de_CH' || goog.LOCALE == 'de-CH') { goog.i18n.pluralRules.select = goog.i18n.pluralRules.enSelect_; } - if (goog.LOCALE == 'el') { - goog.i18n.pluralRules.select = goog.i18n.pluralRules.enSelect_; + goog.i18n.pluralRules.select = goog.i18n.pluralRules.esSelect_; } - if (goog.LOCALE == 'en') { goog.i18n.pluralRules.select = goog.i18n.pluralRules.enSelect_; } - if (goog.LOCALE == 'en_AU' || goog.LOCALE == 'en-AU') { goog.i18n.pluralRules.select = goog.i18n.pluralRules.enSelect_; } - +if (goog.LOCALE == 'en_CA' || goog.LOCALE == 'en-CA') { + goog.i18n.pluralRules.select = goog.i18n.pluralRules.enSelect_; +} if (goog.LOCALE == 'en_GB' || goog.LOCALE == 'en-GB') { goog.i18n.pluralRules.select = goog.i18n.pluralRules.enSelect_; } - if (goog.LOCALE == 'en_IE' || goog.LOCALE == 'en-IE') { goog.i18n.pluralRules.select = goog.i18n.pluralRules.enSelect_; } - if (goog.LOCALE == 'en_IN' || goog.LOCALE == 'en-IN') { goog.i18n.pluralRules.select = goog.i18n.pluralRules.enSelect_; } - if (goog.LOCALE == 'en_SG' || goog.LOCALE == 'en-SG') { goog.i18n.pluralRules.select = goog.i18n.pluralRules.enSelect_; } - if (goog.LOCALE == 'en_US' || goog.LOCALE == 'en-US') { goog.i18n.pluralRules.select = goog.i18n.pluralRules.enSelect_; } - if (goog.LOCALE == 'en_ZA' || goog.LOCALE == 'en-ZA') { goog.i18n.pluralRules.select = goog.i18n.pluralRules.enSelect_; } - if (goog.LOCALE == 'es') { - goog.i18n.pluralRules.select = goog.i18n.pluralRules.enSelect_; + goog.i18n.pluralRules.select = goog.i18n.pluralRules.esSelect_; +} +if (goog.LOCALE == 'es_419' || goog.LOCALE == 'es-419') { + goog.i18n.pluralRules.select = goog.i18n.pluralRules.esSelect_; +} +if (goog.LOCALE == 'es_ES' || goog.LOCALE == 'es-ES') { + goog.i18n.pluralRules.select = goog.i18n.pluralRules.esSelect_; +} +if (goog.LOCALE == 'es_MX' || goog.LOCALE == 'es-MX') { + goog.i18n.pluralRules.select = goog.i18n.pluralRules.esSelect_; +} +if (goog.LOCALE == 'es_US' || goog.LOCALE == 'es-US') { + goog.i18n.pluralRules.select = goog.i18n.pluralRules.esSelect_; } - if (goog.LOCALE == 'et') { goog.i18n.pluralRules.select = goog.i18n.pluralRules.enSelect_; } - if (goog.LOCALE == 'eu') { - goog.i18n.pluralRules.select = goog.i18n.pluralRules.enSelect_; + goog.i18n.pluralRules.select = goog.i18n.pluralRules.esSelect_; } - if (goog.LOCALE == 'fa') { - goog.i18n.pluralRules.select = goog.i18n.pluralRules.defaultSelect_; + goog.i18n.pluralRules.select = goog.i18n.pluralRules.hiSelect_; } - if (goog.LOCALE == 'fi') { goog.i18n.pluralRules.select = goog.i18n.pluralRules.enSelect_; } - if (goog.LOCALE == 'fil') { goog.i18n.pluralRules.select = goog.i18n.pluralRules.filSelect_; } - if (goog.LOCALE == 'fr') { goog.i18n.pluralRules.select = goog.i18n.pluralRules.frSelect_; } - if (goog.LOCALE == 'fr_CA' || goog.LOCALE == 'fr-CA') { goog.i18n.pluralRules.select = goog.i18n.pluralRules.frSelect_; } - +if (goog.LOCALE == 'ga') { + goog.i18n.pluralRules.select = goog.i18n.pluralRules.gaSelect_; +} if (goog.LOCALE == 'gl') { goog.i18n.pluralRules.select = goog.i18n.pluralRules.enSelect_; } - if (goog.LOCALE == 'gsw') { - goog.i18n.pluralRules.select = goog.i18n.pluralRules.enSelect_; + goog.i18n.pluralRules.select = goog.i18n.pluralRules.esSelect_; } - if (goog.LOCALE == 'gu') { - goog.i18n.pluralRules.select = goog.i18n.pluralRules.enSelect_; + goog.i18n.pluralRules.select = goog.i18n.pluralRules.hiSelect_; +} +if (goog.LOCALE == 'haw') { + goog.i18n.pluralRules.select = goog.i18n.pluralRules.esSelect_; } - if (goog.LOCALE == 'he') { - goog.i18n.pluralRules.select = goog.i18n.pluralRules.enSelect_; + goog.i18n.pluralRules.select = goog.i18n.pluralRules.heSelect_; } - if (goog.LOCALE == 'hi') { - goog.i18n.pluralRules.select = goog.i18n.pluralRules.filSelect_; + goog.i18n.pluralRules.select = goog.i18n.pluralRules.hiSelect_; } - if (goog.LOCALE == 'hr') { - goog.i18n.pluralRules.select = goog.i18n.pluralRules.beSelect_; + goog.i18n.pluralRules.select = goog.i18n.pluralRules.srSelect_; } - if (goog.LOCALE == 'hu') { - goog.i18n.pluralRules.select = goog.i18n.pluralRules.defaultSelect_; + goog.i18n.pluralRules.select = goog.i18n.pluralRules.esSelect_; +} +if (goog.LOCALE == 'hy') { + goog.i18n.pluralRules.select = goog.i18n.pluralRules.frSelect_; } - if (goog.LOCALE == 'id') { goog.i18n.pluralRules.select = goog.i18n.pluralRules.defaultSelect_; } - if (goog.LOCALE == 'in') { goog.i18n.pluralRules.select = goog.i18n.pluralRules.defaultSelect_; } - if (goog.LOCALE == 'is') { - goog.i18n.pluralRules.select = goog.i18n.pluralRules.enSelect_; + goog.i18n.pluralRules.select = goog.i18n.pluralRules.isSelect_; } - if (goog.LOCALE == 'it') { goog.i18n.pluralRules.select = goog.i18n.pluralRules.enSelect_; } - if (goog.LOCALE == 'iw') { - goog.i18n.pluralRules.select = goog.i18n.pluralRules.defaultSelect_; + goog.i18n.pluralRules.select = goog.i18n.pluralRules.heSelect_; } - if (goog.LOCALE == 'ja') { goog.i18n.pluralRules.select = goog.i18n.pluralRules.defaultSelect_; } - -if (goog.LOCALE == 'kn') { +if (goog.LOCALE == 'ka') { + goog.i18n.pluralRules.select = goog.i18n.pluralRules.esSelect_; +} +if (goog.LOCALE == 'kk') { + goog.i18n.pluralRules.select = goog.i18n.pluralRules.esSelect_; +} +if (goog.LOCALE == 'km') { goog.i18n.pluralRules.select = goog.i18n.pluralRules.defaultSelect_; } - +if (goog.LOCALE == 'kn') { + goog.i18n.pluralRules.select = goog.i18n.pluralRules.hiSelect_; +} if (goog.LOCALE == 'ko') { goog.i18n.pluralRules.select = goog.i18n.pluralRules.defaultSelect_; } - +if (goog.LOCALE == 'ky') { + goog.i18n.pluralRules.select = goog.i18n.pluralRules.esSelect_; +} if (goog.LOCALE == 'ln') { - goog.i18n.pluralRules.select = goog.i18n.pluralRules.filSelect_; + goog.i18n.pluralRules.select = goog.i18n.pluralRules.akSelect_; +} +if (goog.LOCALE == 'lo') { + goog.i18n.pluralRules.select = goog.i18n.pluralRules.defaultSelect_; } - if (goog.LOCALE == 'lt') { goog.i18n.pluralRules.select = goog.i18n.pluralRules.ltSelect_; } - if (goog.LOCALE == 'lv') { goog.i18n.pluralRules.select = goog.i18n.pluralRules.lvSelect_; } - +if (goog.LOCALE == 'mk') { + goog.i18n.pluralRules.select = goog.i18n.pluralRules.mkSelect_; +} if (goog.LOCALE == 'ml') { - goog.i18n.pluralRules.select = goog.i18n.pluralRules.enSelect_; + goog.i18n.pluralRules.select = goog.i18n.pluralRules.esSelect_; +} +if (goog.LOCALE == 'mn') { + goog.i18n.pluralRules.select = goog.i18n.pluralRules.esSelect_; +} +if (goog.LOCALE == 'mo') { + goog.i18n.pluralRules.select = goog.i18n.pluralRules.roSelect_; } - if (goog.LOCALE == 'mr') { - goog.i18n.pluralRules.select = goog.i18n.pluralRules.enSelect_; + goog.i18n.pluralRules.select = goog.i18n.pluralRules.hiSelect_; } - if (goog.LOCALE == 'ms') { goog.i18n.pluralRules.select = goog.i18n.pluralRules.defaultSelect_; } - if (goog.LOCALE == 'mt') { goog.i18n.pluralRules.select = goog.i18n.pluralRules.mtSelect_; } - +if (goog.LOCALE == 'my') { + goog.i18n.pluralRules.select = goog.i18n.pluralRules.defaultSelect_; +} +if (goog.LOCALE == 'nb') { + goog.i18n.pluralRules.select = goog.i18n.pluralRules.esSelect_; +} +if (goog.LOCALE == 'ne') { + goog.i18n.pluralRules.select = goog.i18n.pluralRules.esSelect_; +} if (goog.LOCALE == 'nl') { goog.i18n.pluralRules.select = goog.i18n.pluralRules.enSelect_; } - if (goog.LOCALE == 'no') { - goog.i18n.pluralRules.select = goog.i18n.pluralRules.enSelect_; + goog.i18n.pluralRules.select = goog.i18n.pluralRules.esSelect_; +} +if (goog.LOCALE == 'no_NO' || goog.LOCALE == 'no-NO') { + goog.i18n.pluralRules.select = goog.i18n.pluralRules.esSelect_; } - if (goog.LOCALE == 'or') { - goog.i18n.pluralRules.select = goog.i18n.pluralRules.enSelect_; + goog.i18n.pluralRules.select = goog.i18n.pluralRules.esSelect_; +} +if (goog.LOCALE == 'pa') { + goog.i18n.pluralRules.select = goog.i18n.pluralRules.akSelect_; } - if (goog.LOCALE == 'pl') { goog.i18n.pluralRules.select = goog.i18n.pluralRules.plSelect_; } - if (goog.LOCALE == 'pt') { - goog.i18n.pluralRules.select = goog.i18n.pluralRules.enSelect_; + goog.i18n.pluralRules.select = goog.i18n.pluralRules.ptSelect_; } - if (goog.LOCALE == 'pt_BR' || goog.LOCALE == 'pt-BR') { - goog.i18n.pluralRules.select = goog.i18n.pluralRules.enSelect_; + goog.i18n.pluralRules.select = goog.i18n.pluralRules.ptSelect_; } - if (goog.LOCALE == 'pt_PT' || goog.LOCALE == 'pt-PT') { - goog.i18n.pluralRules.select = goog.i18n.pluralRules.enSelect_; + goog.i18n.pluralRules.select = goog.i18n.pluralRules.ptSelect_; } - if (goog.LOCALE == 'ro') { goog.i18n.pluralRules.select = goog.i18n.pluralRules.roSelect_; } - if (goog.LOCALE == 'ru') { - goog.i18n.pluralRules.select = goog.i18n.pluralRules.beSelect_; + goog.i18n.pluralRules.select = goog.i18n.pluralRules.ruSelect_; +} +if (goog.LOCALE == 'sh') { + goog.i18n.pluralRules.select = goog.i18n.pluralRules.srSelect_; +} +if (goog.LOCALE == 'si') { + goog.i18n.pluralRules.select = goog.i18n.pluralRules.siSelect_; } - if (goog.LOCALE == 'sk') { goog.i18n.pluralRules.select = goog.i18n.pluralRules.csSelect_; } - if (goog.LOCALE == 'sl') { goog.i18n.pluralRules.select = goog.i18n.pluralRules.slSelect_; } - if (goog.LOCALE == 'sq') { - goog.i18n.pluralRules.select = goog.i18n.pluralRules.enSelect_; + goog.i18n.pluralRules.select = goog.i18n.pluralRules.esSelect_; } - if (goog.LOCALE == 'sr') { - goog.i18n.pluralRules.select = goog.i18n.pluralRules.beSelect_; + goog.i18n.pluralRules.select = goog.i18n.pluralRules.srSelect_; +} +if (goog.LOCALE == 'sr_Latn' || goog.LOCALE == 'sr-Latn') { + goog.i18n.pluralRules.select = goog.i18n.pluralRules.srSelect_; } - if (goog.LOCALE == 'sv') { goog.i18n.pluralRules.select = goog.i18n.pluralRules.enSelect_; } - if (goog.LOCALE == 'sw') { goog.i18n.pluralRules.select = goog.i18n.pluralRules.enSelect_; } - if (goog.LOCALE == 'ta') { - goog.i18n.pluralRules.select = goog.i18n.pluralRules.enSelect_; + goog.i18n.pluralRules.select = goog.i18n.pluralRules.esSelect_; } - if (goog.LOCALE == 'te') { - goog.i18n.pluralRules.select = goog.i18n.pluralRules.enSelect_; + goog.i18n.pluralRules.select = goog.i18n.pluralRules.esSelect_; } - if (goog.LOCALE == 'th') { goog.i18n.pluralRules.select = goog.i18n.pluralRules.defaultSelect_; } - if (goog.LOCALE == 'tl') { goog.i18n.pluralRules.select = goog.i18n.pluralRules.filSelect_; } - if (goog.LOCALE == 'tr') { - goog.i18n.pluralRules.select = goog.i18n.pluralRules.defaultSelect_; + goog.i18n.pluralRules.select = goog.i18n.pluralRules.esSelect_; } - if (goog.LOCALE == 'uk') { - goog.i18n.pluralRules.select = goog.i18n.pluralRules.beSelect_; + goog.i18n.pluralRules.select = goog.i18n.pluralRules.ruSelect_; } - if (goog.LOCALE == 'ur') { goog.i18n.pluralRules.select = goog.i18n.pluralRules.enSelect_; } - +if (goog.LOCALE == 'uz') { + goog.i18n.pluralRules.select = goog.i18n.pluralRules.esSelect_; +} if (goog.LOCALE == 'vi') { goog.i18n.pluralRules.select = goog.i18n.pluralRules.defaultSelect_; } - if (goog.LOCALE == 'zh') { goog.i18n.pluralRules.select = goog.i18n.pluralRules.defaultSelect_; } - if (goog.LOCALE == 'zh_CN' || goog.LOCALE == 'zh-CN') { goog.i18n.pluralRules.select = goog.i18n.pluralRules.defaultSelect_; } - if (goog.LOCALE == 'zh_HK' || goog.LOCALE == 'zh-HK') { goog.i18n.pluralRules.select = goog.i18n.pluralRules.defaultSelect_; } - if (goog.LOCALE == 'zh_TW' || goog.LOCALE == 'zh-TW') { goog.i18n.pluralRules.select = goog.i18n.pluralRules.defaultSelect_; } - +if (goog.LOCALE == 'zu') { + goog.i18n.pluralRules.select = goog.i18n.pluralRules.hiSelect_; +} diff --git a/i18n/e2e/.eslintrc.json b/i18n/e2e/.eslintrc.json new file mode 100644 index 000000000000..c0ce78c4b702 --- /dev/null +++ b/i18n/e2e/.eslintrc.json @@ -0,0 +1,14 @@ +{ + "root": true, + "extends": "../../.eslintrc-node.json", + + "env": { + "jasmine": true, + "protractor": true + }, + + "globals": { + "binding": false, + "input": false + } +} diff --git a/i18n/e2e/i18n-e2e.js b/i18n/e2e/i18n-e2e.js index 8909a2aba66c..b34022d5174a 100644 --- a/i18n/e2e/i18n-e2e.js +++ b/i18n/e2e/i18n-e2e.js @@ -1,51 +1,53 @@ -describe("localized filters", function() { - describe("es locale", function() { +'use strict'; + +describe('localized filters', function() { + describe('es locale', function() { beforeEach(function() { - browser().navigateTo("localeTest_es.html"); + browser().navigateTo('localeTest_es.html'); }); it('should check filters for es locale', function() { expect(binding('input | date:"medium"')).toBe('03/06/1977 18:07:23'); - expect(binding('input | date:"longDate"')).toBe("3 de junio de 1977"); + expect(binding('input | date:"longDate"')).toBe('3 de junio de 1977'); expect(binding('input | number')).toBe('234.234.443.432'); expect(binding('input | currency')).toBe('€\u00a0234.234.443.432,00'); }); }); - describe("cs locale", function() { + describe('cs locale', function() { beforeEach(function() { - browser().navigateTo("localeTest_cs.html"); + browser().navigateTo('localeTest_cs.html'); }); it('should check filters for cs locale', function() { expect(binding('input | date:"medium"')).toBe('3.6.1977 18:07:23'); - expect(binding('input | date:"longDate"')).toBe("3. června 1977"); + expect(binding('input | date:"longDate"')).toBe('3. června 1977'); expect(binding('input | number')).toBe('234\u00a0234\u00a0443\u00a0432'); expect(binding('input | currency')).toBe('234\u00a0234\u00a0443\u00a0432,00\u00a0K\u010d'); }); }); - describe("de locale", function() { + describe('de locale', function() { beforeEach(function() { - browser().navigateTo("localeTest_de.html"); + browser().navigateTo('localeTest_de.html'); }); it('should check filters for de locale', function() { expect(binding('input | date:"medium"')).toBe('03.06.1977 18:07:23'); - expect(binding('input | date:"longDate"')).toBe("3. Juni 1977"); + expect(binding('input | date:"longDate"')).toBe('3. Juni 1977'); expect(binding('input | number')).toBe('234.234.443.432'); expect(binding('input | currency')).toBe('234.234.443.432,00\u00a0€'); }); }); - describe("en locale", function() { + describe('en locale', function() { beforeEach(function() { - browser().navigateTo("localeTest_en.html"); + browser().navigateTo('localeTest_en.html'); }); it('should check filters for en locale', function() { expect(binding('input | date:"medium"')).toBe('Jun 3, 1977 6:07:23 PM'); - expect(binding('input | date:"longDate"')).toBe("June 3, 1977"); + expect(binding('input | date:"longDate"')).toBe('June 3, 1977'); expect(binding('input | number')).toBe('234,234,443,432'); expect(binding('input | currency')).toBe('$234,234,443,432.00'); }); @@ -90,17 +92,17 @@ describe("localized filters", function() { input('person2').enter('Vojta'); expect(element('ng-pluralize:last').html()).toBe('Igor and Vojta are viewing!'); }); - }) + }); }); - describe("sk locale", function() { + describe('sk locale', function() { beforeEach(function() { - browser().navigateTo("localeTest_sk.html"); + browser().navigateTo('localeTest_sk.html'); }); it('should check filters for sk locale', function() { expect(binding('input | date:"medium"')).toBe('3.6.1977 18:07:23'); - expect(binding('input | date:"longDate"')).toBe("3. júna 1977"); + expect(binding('input | date:"longDate"')).toBe('3. júna 1977'); expect(binding('input | number')).toBe('234\u00a0234\u00a0443\u00a0432'); expect(binding('input | currency')).toBe('234\u00a0234\u00a0443\u00a0432,00\u00a0Sk'); }); @@ -129,17 +131,17 @@ describe("localized filters", function() { it('should show pluralized strings with correct data-binding', function() { }); - }) + }); }); - describe("zh locale", function() { + describe('zh locale', function() { beforeEach(function() { - browser().navigateTo("localeTest_zh.html"); + browser().navigateTo('localeTest_zh.html'); }); it('should check filters for zh locale', function() { expect(binding('input | date:"medium"')).toBe('1977-6-3 下午6:07:23'); - expect(binding('input | date:"longDate"')).toBe("1977年6月3日"); + expect(binding('input | date:"longDate"')).toBe('1977年6月3日'); expect(binding('input | number')).toBe('234,234,443,432'); expect(binding('input | currency')).toBe('¥234,234,443,432.00'); }); @@ -180,6 +182,6 @@ describe("localized filters", function() { input('person2').enter('一哥'); expect(element('ng-pluralize:last').html()).toBe('彭迪 和 一哥 在浏览该文件!'); }); - }) + }); }); }); diff --git a/i18n/e2e/runner.html b/i18n/e2e/runner.html index ea41238c8bf8..4f8f9dd8b377 100644 --- a/i18n/e2e/runner.html +++ b/i18n/e2e/runner.html @@ -3,7 +3,7 @@ - <angular/> Docs Scenario Runner + <AngularJS/> Docs Scenario Runner diff --git a/i18n/generate.sh b/i18n/generate.sh index 3b3f44422790..255020ea9b12 100755 --- a/i18n/generate.sh +++ b/i18n/generate.sh @@ -1,7 +1,15 @@ #!/bin/bash +set -e + BASE_DIR=`dirname $0` -cd $BASE_DIR +yarn run test-i18n + +node $BASE_DIR/src/closureSlurper.js + +yarn run test-i18n-ucd + +echo "Generating ngParseExt" +node $BASE_DIR/ucd/src/extract.js -../node_modules/.bin/jasmine-node spec/ --noColor && node src/closureSlurper.js diff --git a/i18n/run-tests.sh b/i18n/run-tests.sh deleted file mode 100755 index 68b134011b04..000000000000 --- a/i18n/run-tests.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/bash - -set -e -PARENT_DIR="$(dirname "$0")" -jasmine-node "$PARENT_DIR"/spec/ diff --git a/i18n/spec/.eslintrc.json b/i18n/spec/.eslintrc.json new file mode 100644 index 000000000000..4eabc1c93ed4 --- /dev/null +++ b/i18n/spec/.eslintrc.json @@ -0,0 +1,8 @@ +{ + "root": true, + "extends": "../../.eslintrc-node.json", + + "env": { + "jasmine": true + } +} diff --git a/i18n/spec/closureI18nExtractorSpec.js b/i18n/spec/closureI18nExtractorSpec.js index f145596308d0..09f5f1a10050 100644 --- a/i18n/spec/closureI18nExtractorSpec.js +++ b/i18n/spec/closureI18nExtractorSpec.js @@ -1,9 +1,12 @@ +'use strict'; + var closureI18nExtractor = require('../src/closureI18nExtractor.js'); var converter = require('../src/converter.js'); -findLocaleId = closureI18nExtractor.findLocaleId; -extractNumberSymbols = closureI18nExtractor.extractNumberSymbols; -extractCurrencySymbols = closureI18nExtractor.extractCurrencySymbols; -extractDateTimeSymbols = closureI18nExtractor.extractDateTimeSymbols; +var findLocaleId = closureI18nExtractor.findLocaleId; +var extractNumberSymbols = closureI18nExtractor.extractNumberSymbols; +var extractCurrencySymbols = closureI18nExtractor.extractCurrencySymbols; +var extractDateTimeSymbols = closureI18nExtractor.extractDateTimeSymbols; +var outputLocale = closureI18nExtractor.outputLocale; function newTestLocaleInfo() { @@ -11,6 +14,8 @@ function newTestLocaleInfo() { DATETIME_FORMATS: { MONTH: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + STANDALONEMONTH: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', + 'octobre', 'novembre', 'décembre'], SHORTMONTH: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], DAY: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], @@ -26,74 +31,81 @@ function newTestLocaleInfo() { shortTime: 'HH:mm' }, NUMBER_FORMATS: { - "DECIMAL_SEP": ".", - "GROUP_SEP": ",", - "PATTERNS": [{ - "minInt": 1, - "minFrac": 0, - "macFrac": 0, - "posPre": "", - "posSuf": "", - "negPre": "-", - "negSuf": "", - "gSize": 3, - "lgSize": 3, - "maxFrac": 3 + 'DECIMAL_SEP': '.', + 'GROUP_SEP': ',', + 'PATTERNS': [{ + 'minInt': 1, + 'minFrac': 0, + 'macFrac': 0, + 'posPre': '', + 'posSuf': '', + 'negPre': '-', + 'negSuf': '', + 'gSize': 3, + 'lgSize': 3, + 'maxFrac': 3 }, { - "minInt": 1, - "minFrac": 2, - "macFrac": 0, - "posPre": "¤", - "posSuf": "", - "negPre": "¤-", - "negSuf": "", - "gSize": 3, - "lgSize": 3, - "maxFrac": 2 + 'minInt': 1, + 'minFrac': 2, + 'macFrac': 0, + 'posPre': '¤', + 'posSuf': '', + 'negPre': '¤-', + 'negSuf': '', + 'gSize': 3, + 'lgSize': 3, + 'maxFrac': 2 }], - "CURRENCY_SYM": "£" + 'CURRENCY_SYM': '£' }}}; } -describe("findLocaleId", function () { - it("should find the id from numbers", function() { - expect(findLocaleId("NumberFormatSymbols_en_GB", "num")).toEqual("en_GB"); +describe('findLocaleId', function() { + it('should find the id from numbers', function() { + expect(findLocaleId('NumberFormatSymbols_en_GB', 'num')).toEqual('en_GB'); }); - it("should find the id from datetime", function() { - expect(findLocaleId("DateTimeSymbols_en_ISO", "datetime")).toEqual("en_ISO"); + it('should find the id from datetime', function() { + expect(findLocaleId('DateTimeSymbols_en', 'datetime')).toBe('en'); + expect(findLocaleId('DateTimeSymbols_en_ISO', 'datetime')).toEqual('en_ISO'); }); + it('should not find localeId if data is missing', function() { + expect(findLocaleId('', 'num')).toBeUndefined(); + expect(findLocaleId('aa', 'datetime')).toBeUndefined(); + expect(findLocaleId('NumberFormatSymbols_en', 'datetime')).toBeUndefined(); + expect(findLocaleId('DateTimeSymbols_en', 'num')).toBeUndefined(); + }); - it("should throw an error otherwise", function() { + it('should throw an error otherwise', function() { expect(function() { - findLocaleId("str", "otherwise") - }).toThrow("unknown type in findLocaleId: otherwise"); + findLocaleId('str', 'otherwise'); + }).toThrowError('unknown type in findLocaleId: otherwise'); }); }); -describe("extractNumberSymbols", function () { - it("should extract number data", function() { +describe('extractNumberSymbols', function() { + it('should extract number data', function() { var CONTENT = [ - "goog.provide('goog.i18n.NumberFormatSymbols_en_GB');", - "goog.i18n.NumberFormatSymbols_en_GB = {", - "DECIMAL_SEP: '.',", - "GROUP_SEP: ',',", - "PERCENT: '%',", - "ZERO_DIGIT: '0',", - "PLUS_SIGN: '+',", - "MINUS_SIGN: '-',", - "EXP_SYMBOL: 'E',", - "PERMILL: '\u2030',", - "INFINITY: '\u221E',", - "NAN: 'NaN',", - "DECIMAL_PATTERN: '#,##0.###',", - "SCIENTIFIC_PATTERN: '#E0',", - "PERCENT_PATTERN: '#,##0%',", - "CURRENCY_PATTERN: '\u00A4#,##0.00',", - "DEF_CURRENCY_CODE: 'GBP' };" + 'goog.provide(\'goog.i18n.NumberFormatSymbols_en_GB\');', + 'goog.i18n.NumberFormatSymbols_en_GB = {', + 'DECIMAL_SEP: \'.\',', + 'GROUP_SEP: \',\',', + 'PERCENT: \'%\',', + 'ZERO_DIGIT: \'0\',', + 'PLUS_SIGN: \'+\',', + 'MINUS_SIGN: \'-\',', + 'EXP_SYMBOL: \'E\',', + 'PERMILL: \'\u2030\',', + 'INFINITY: \'\u221E\',', + 'NAN: \'NaN\',', + 'DECIMAL_PATTERN: \'#,##0.###\',', + 'SCIENTIFIC_PATTERN: \'#E0\',', + 'PERCENT_PATTERN: \'#,##0%\',', + 'CURRENCY_PATTERN: \'\u00A4#,##0.00\',', + 'DEF_CURRENCY_CODE: \'GBP\' };' ].join('\n'); var currencySymbols = {'GBP':[2, '£', 'GB£']}; @@ -114,22 +126,24 @@ describe("extractNumberSymbols", function () { expect(localeInfo).toEqual({ 'en_GB': { NUMBER_FORMATS: expectedNumberFormats } }); - }) + }); }); -describe("extractCurrencySymbols", function () { - it("should extract currency data", function() { +describe('extractCurrencySymbols', function() { + it('should extract currency data', function() { var CONTENT = [ - "goog.i18n.currency.CurrencyInfo = {", - " 'GBP':[2, '£', 'GB£'],", - "};", - "goog.i18n.currency.CurrencyInfoTier2 = {", - " 'AOA':[2, 'Kz', 'Kz'],", - "};" + 'goog.i18n.currency.CurrencyInfo = {', + ' \'GBP\':[2, \'£\', \'GB£\'],', + '};', + 'goog.i18n.currency.CurrencyInfoTier2 = {', + ' \'AOA\':[2, \'Kz\', \'Kz\'],', + '};' ].join('\n'); - var localeInfo = {}; - expect(extractCurrencySymbols(CONTENT)).toEqual({ + var currencySymbols = extractCurrencySymbols(CONTENT); + expect(currencySymbols.GBP).toEqual([2, '£', 'GB£']); + expect(currencySymbols.AOA).toEqual([2, 'Kz', 'Kz']); + expect(currencySymbols).toEqual({ 'GBP':[2, '£', 'GB£'], 'AOA':[2, 'Kz', 'Kz'] }); @@ -137,130 +151,146 @@ describe("extractCurrencySymbols", function () { }); -describe("extractDateTimeSymbols", function () { - it("should extract date time data", function() { +describe('extractDateTimeSymbols', function() { + it('should extract date time data', function() { var CONTENT = [ -"goog.i18n.DateTimeSymbols_fr_CA = {", -" ERAS: ['av. J.-C.', 'ap. J.-C.'],", -" ERANAMES: ['avant Jésus-Christ', 'après Jésus-Christ'],", -" NARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'],", -" STANDALONENARROWMONTHS: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O',", -" 'N', 'D'],", -" MONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet',", -" 'août', 'septembre', 'octobre', 'novembre', 'décembre'],", -" STANDALONEMONTHS: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin',", -" 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'],", -" SHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.',", -" 'août', 'sept.', 'oct.', 'nov.', 'déc.'],", -" STANDALONESHORTMONTHS: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin',", -" 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'],", -" WEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi',", -" 'samedi'],", -" STANDALONEWEEKDAYS: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi',", -" 'vendredi', 'samedi'],", -" SHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'],", -" STANDALONESHORTWEEKDAYS: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.',", -" 'sam.'],", -" NARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'],", -" STANDALONENARROWWEEKDAYS: ['D', 'L', 'M', 'M', 'J', 'V', 'S'],", -" SHORTQUARTERS: ['T1', 'T2', 'T3', 'T4'],", -" QUARTERS: ['1er trimestre', '2e trimestre', '3e trimestre', '4e trimestre'],", -" AMPMS: ['AM', 'PM'],", -" DATEFORMATS: ['EEEE d MMMM y', 'd MMMM y', 'yyyy-MM-dd', 'yy-MM-dd'],", -" TIMEFORMATS: ['HH \\'h\\' mm \\'min\\' ss \\'s\\' zzzz', 'HH:mm:ss z',", -" 'HH:mm:ss', 'HH:mm'],", -" FIRSTDAYOFWEEK: 6,", -" WEEKENDRANGE: [5, 6],", -" FIRSTWEEKCUTOFFDAY: 2", -"};" + 'goog.i18n.DateTimeSymbols_fr_CA = {', + ' ERAS: [\'av. J.-C.\', \'ap. J.-C.\'],', + ' ERANAMES: [\'avant Jésus-Christ\', \'après Jésus-Christ\'],', + ' NARROWMONTHS: [\'J\', \'F\', \'M\', \'A\', \'M\', \'J\', \'J\', \'A\', \'S\', \'O\', \'N\', \'D\'],', + ' STANDALONENARROWMONTHS: [\'J\', \'F\', \'M\', \'A\', \'M\', \'J\', \'J\', \'A\', \'S\', \'O\',', + ' \'N\', \'D\'],', + ' MONTHS: [\'janvier\', \'février\', \'mars\', \'avril\', \'mai\', \'juin\', \'juillet\',', + ' \'août\', \'septembre\', \'octobre\', \'novembre\', \'décembre\'],', + ' STANDALONEMONTHS: [\'janvier\', \'février\', \'mars\', \'avril\', \'mai\', \'juin\',', + ' \'juillet\', \'août\', \'septembre\', \'octobre\', \'novembre\', \'décembre\'],', + ' SHORTMONTHS: [\'janv.\', \'févr.\', \'mars\', \'avr.\', \'mai\', \'juin\', \'juil.\',', + ' \'août\', \'sept.\', \'oct.\', \'nov.\', \'déc.\'],', + ' STANDALONESHORTMONTHS: [\'janv.\', \'févr.\', \'mars\', \'avr.\', \'mai\', \'juin\',', + ' \'juil.\', \'août\', \'sept.\', \'oct.\', \'nov.\', \'déc.\'],', + ' WEEKDAYS: [\'dimanche\', \'lundi\', \'mardi\', \'mercredi\', \'jeudi\', \'vendredi\',', + ' \'samedi\'],', + ' STANDALONEWEEKDAYS: [\'dimanche\', \'lundi\', \'mardi\', \'mercredi\', \'jeudi\',', + ' \'vendredi\', \'samedi\'],', + ' SHORTWEEKDAYS: [\'dim.\', \'lun.\', \'mar.\', \'mer.\', \'jeu.\', \'ven.\', \'sam.\'],', + ' STANDALONESHORTWEEKDAYS: [\'dim.\', \'lun.\', \'mar.\', \'mer.\', \'jeu.\', \'ven.\',', + ' \'sam.\'],', + ' NARROWWEEKDAYS: [\'D\', \'L\', \'M\', \'M\', \'J\', \'V\', \'S\'],', + ' STANDALONENARROWWEEKDAYS: [\'D\', \'L\', \'M\', \'M\', \'J\', \'V\', \'S\'],', + ' SHORTQUARTERS: [\'T1\', \'T2\', \'T3\', \'T4\'],', + ' QUARTERS: [\'1er trimestre\', \'2e trimestre\', \'3e trimestre\', \'4e trimestre\'],', + ' AMPMS: [\'AM\', \'PM\'],', + ' DATEFORMATS: [\'EEEE d MMMM y\', \'d MMMM y\', \'yyyy-MM-dd\', \'yy-MM-dd\'],', + ' TIMEFORMATS: [\'HH \\\'h\\\' mm \\\'min\\\' ss \\\'s\\\' zzzz\', \'HH:mm:ss z\',', + ' \'HH:mm:ss\', \'HH:mm\'],', + ' FIRSTDAYOFWEEK: 6,', + ' WEEKENDRANGE: [5, 6],', + ' FIRSTWEEKCUTOFFDAY: 2', + '};' ].join('\n'); - var localeInfo = {}; - var expectedLocaleInfo = { - fr_CA: { - DATETIME_FORMATS: { - MONTH: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', - 'octobre', 'novembre', 'décembre'], - SHORTMONTH: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', - 'nov.', 'déc.'], - DAY: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], - SHORTDAY: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], - AMPMS: ['AM', 'PM'], - medium: 'yyyy-MM-dd HH:mm:ss', - short: 'yy-MM-dd HH:mm', - fullDate: 'EEEE d MMMM y', - longDate: 'd MMMM y', - mediumDate: 'yyyy-MM-dd', - shortDate: 'yy-MM-dd', - mediumTime: 'HH:mm:ss', - shortTime: 'HH:mm' - } + var localeInfo = {}; + var expectedLocaleInfo = { + fr_CA: { + DATETIME_FORMATS: { + MONTH: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', + 'octobre', 'novembre', 'décembre'], + STANDALONEMONTH: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', + 'août', 'septembre', 'octobre', 'novembre', 'décembre'], + SHORTMONTH: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', + 'nov.', 'déc.'], + DAY: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], + SHORTDAY: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], + FIRSTDAYOFWEEK: 6, + WEEKENDRANGE: [5, 6], + AMPMS: ['AM', 'PM'], + ERAS: ['av. J.-C.', 'ap. J.-C.'], + ERANAMES: ['avant Jésus-Christ', 'après Jésus-Christ'], + medium: 'yyyy-MM-dd HH:mm:ss', + short: 'yy-MM-dd HH:mm', + fullDate: 'EEEE d MMMM y', + longDate: 'd MMMM y', + mediumDate: 'yyyy-MM-dd', + shortDate: 'yy-MM-dd', + mediumTime: 'HH:mm:ss', + shortTime: 'HH:mm' } - }; - extractDateTimeSymbols(CONTENT, localeInfo); - expect(localeInfo).toEqual(expectedLocaleInfo); - }) + } + }; + extractDateTimeSymbols(CONTENT, localeInfo); + expect(localeInfo).toEqual(expectedLocaleInfo); + }); }); -describe("pluralExtractor", function() { - it("should output PLURAL_CAT in the output string code", function() { - var localeIds = ["fr_CA"]; +describe('pluralExtractor', function() { + it('should output PLURAL_CAT in the output string code', function() { var content = ( - "goog.provide('goog.i18n.pluralRules');\n" + - "\n" + - "goog.i18n.pluralRules.Keyword = {\n" + - " ZERO: 'zero',\n" + - " ONE: 'one',\n" + - " TWO: 'two',\n" + - " FEW: 'few',\n" + - " MANY: 'many',\n" + - " OTHER: 'other'\n" + - "};\n" + - "\n" + - "goog.i18n.pluralRules.frSelect_ = function(n) {\n" + - " if (n >= 0 && n < 2) {\n" + - " return goog.i18n.pluralRules.Keyword.ONE;\n" + - " }\n" + - " return goog.i18n.pluralRules.Keyword.OTHER;\n" + - "};\n" + - "\n" + - "if (goog.LOCALE == 'fr') {\n" + - " goog.i18n.pluralRules.select = goog.i18n.pluralRules.frSelect_;\n" + - "}" + 'goog.provide(\'goog.i18n.pluralRules\');\n' + + '\n' + + 'goog.i18n.pluralRules.Keyword = {\n' + + ' ZERO: \'zero\',\n' + + ' ONE: \'one\',\n' + + ' TWO: \'two\',\n' + + ' FEW: \'few\',\n' + + ' MANY: \'many\',\n' + + ' OTHER: \'other\'\n' + + '};\n' + + '\n' + + 'goog.i18n.pluralRules.frSelect_ = function(n) {\n' + + ' if (n >= 0 && n < 2) {\n' + + ' return goog.i18n.pluralRules.Keyword.ONE;\n' + + ' }\n' + + ' return goog.i18n.pluralRules.Keyword.OTHER;\n' + + '};\n' + + '\n' + + 'if (goog.LOCALE == \'fr\') {\n' + + ' goog.i18n.pluralRules.select = goog.i18n.pluralRules.frSelect_;\n' + + '}' ); var localeInfo = newTestLocaleInfo(); closureI18nExtractor.pluralExtractor(content, localeInfo); - var pluralCat = localeInfo["fr_CA"].pluralCat; + var pluralCat = localeInfo['fr_CA'].pluralCat; expect(pluralCat).toBeDefined(); // pluralCat is the source text for the pluralCat and contains @@ // placeholders that need to be stripped before evaluation. // Ref: closureI18nExtractor.pluralExtractor. pluralCat = pluralCat.replace(/^@@|@@$/g, ''); // pluralCat requires these constants to exist. + // eslint-disable-next-line no-unused-vars var PLURAL_CATEGORY = { - ZERO: "zero", ONE: "one", TWO: "two", - FEW: "few", MANY: "many", OTHER: "other" + ZERO: 'zero', ONE: 'one', TWO: 'two', + FEW: 'few', MANY: 'many', OTHER: 'other' }; // Obtain the function by evaluating the source text. - pluralCat = eval("(" + pluralCat + ")"); + // eslint-disable-next-line no-eval + pluralCat = eval('(' + pluralCat + ')'); // Confirm some expectations for pluralCat in fr_CA. - expect(pluralCat(0)).toEqual("one"); - expect(pluralCat(3)).toEqual("other"); - }) + expect(pluralCat(0)).toEqual('one'); + expect(pluralCat(3)).toEqual('other'); + }); }); -describe("serializeContent", function() { - it("should not make any modifications to the content of the locale", function() { +describe('serializeContent', function() { + it('should not make any modifications to the content of the locale', function() { var serializedContent = closureI18nExtractor.serializeContent(newTestLocaleInfo()); - expect(eval("(" + serializedContent + ")")).toEqual(newTestLocaleInfo()); + // eslint-disable-next-line no-eval + expect(eval('(' + serializedContent + ')')).toEqual(newTestLocaleInfo()); }); - it("should only have ascii characters", function() { + it('should only have ascii characters', function() { var serializedContent = closureI18nExtractor.serializeContent(newTestLocaleInfo()); expect((/[^\u0001-\u007f]/).test(serializedContent)).toBe(false); }); - it("should not transform arrays into objects", function() { + it('should not transform arrays into objects', function() { var serializedContent = closureI18nExtractor.serializeContent(newTestLocaleInfo().fr_CA); - var deserializedLocale = eval("(" + serializedContent + ")"); - expect(deserializedLocale.DATETIME_FORMATS.MONTH.length).not.toBe(undefined); + // eslint-disable-next-line no-eval + var deserializedLocale = eval('(' + serializedContent + ')'); + expect(deserializedLocale.DATETIME_FORMATS.MONTH.length).not.toBeUndefined(); }); }); +describe('outputLocale', function() { + it('should render the correct locale ids', function() { + var output = outputLocale(newTestLocaleInfo(), 'fr_CA'); + expect(output).toContain('"id": "fr-ca"'); + expect(output).toContain('"localeID": "fr_CA"'); + }); +}); diff --git a/i18n/spec/converterSpec.js b/i18n/spec/converterSpec.js index a7879e6beacf..ee6bf80698ed 100644 --- a/i18n/spec/converterSpec.js +++ b/i18n/spec/converterSpec.js @@ -1,6 +1,8 @@ +'use strict'; + var converter = require('../src/converter.js'); -describe("convertNumberData", function() { +describe('convertNumberData', function() { var convert = converter.convertNumberData, dataObj = { DECIMAL_SEP: ',', GROUP_SEP: '.', @@ -24,19 +26,21 @@ describe("convertNumberData", function() { }); -describe("convertDatetimeData", function() { +describe('convertDatetimeData', function() { var convert = converter.convertDatetimeData, dataObj = { MONTHS: ['Enero', 'Pebrero'], + STANDALONEMONTHS: ['Enero', 'Pebrero'], SHORTMONTHS: ['Ene', 'Peb'], WEEKDAYS: ['Linggo', 'Lunes'], SHORTWEEKDAYS: ['Lin', 'Lun'], AMPMS: ['AM', 'PM'], DATEFORMATS: ['a', 'b', 'c', 'd'], TIMEFORMATS: ['e', 'f', 'g', 'h'] }; - + it('should convert empty datetime obj', function() { var processedData = convert(dataObj); expect(processedData.MONTH).toEqual(['Enero', 'Pebrero']); + expect(processedData.STANDALONEMONTH).toEqual(['Enero', 'Pebrero']); expect(processedData.SHORTMONTH).toEqual(['Ene', 'Peb']); expect(processedData.DAY).toEqual(['Linggo', 'Lunes']); expect(processedData.SHORTDAY).toEqual(['Lin', 'Lun']); diff --git a/i18n/spec/parserSpec.js b/i18n/spec/parserSpec.js index e9aff2bedb19..c26e49e9b85c 100644 --- a/i18n/spec/parserSpec.js +++ b/i18n/spec/parserSpec.js @@ -1,4 +1,43 @@ -var parsePattern = require('../src/parser.js').parsePattern; +'use strict'; + +var parser = require('../src/parser'); +var ensureDecimalSep = parser.ensureDecimalSep; +var parsePattern = parser.parsePattern; + +describe('ensureDecimalSep', function() { + it('should leave patterns with DECIMAL_SEP untouched', function() { + [ + '#,##0.00', + '$#,##0.00', + '#,##0.00$', + '$0.00', + '0.00$', + '0.0', + '#,##0.', + '0.' + ].forEach(function(pattern) { + expect(ensureDecimalSep(pattern)).toBe(pattern); + }); + }); + + it('should add a DECIMAL_SEP in patterns that don\'t have one (after the last ZERO)', function() { + var patterns = { + '#,##000': '#,##000.', + '$#,#0#00': '$#,#0#00.', + '#,##000$': '#,##000.$', + '$000': '$000.', + '000$': '000.$', + '00': '00.', + '#,##0': '#,##0.', + '0': '0.' + }; + + Object.keys(patterns).forEach(function(input) { + var output = patterns[input]; + expect(ensureDecimalSep(input)).toBe(output); + }); + }); +}); describe('parsePattern', function() { function parseAndExpect(pattern, pp, np, ps, ns, mii, mif, maf, g, lg) { @@ -22,32 +61,43 @@ describe('parsePattern', function() { parseAndExpect('#,##0.###', '', '-', '', '', 1, 0, 3, 3, 3); parseAndExpect('#,##0.###;#,##0.###-', '', '', '', '-', 1, 0, 3, 3, 3); parseAndExpect('#,##,##0.###', '', '-', '', '', 1, 0, 3, 2, 3); - parseAndExpect("#,##0.###;\'\u202A\'-#,##0.###\'\u202C\'", + parseAndExpect('#,##0.###;\'\u202A\'-#,##0.###\'\u202C\'', '', '\u202A-', '', '\u202C', 1, 0, 3, 3, 3); parseAndExpect('#0.###;#0.###-', '', '', '', '-', 1, 0, 3, 0, 0); + // Even patterns without a DECIMAL_SEP + parseAndExpect('#,##0', '', '-', '', '', 1, 0, 0, 3, 3); + parseAndExpect('+#,##0', '+', '-+', '', '', 1, 0, 0, 3, 3); + parseAndExpect('#,#0;+#,#0', '', '+', '', '', 1, 0, 0, 2, 2); + parseAndExpect('#,##,##0+;(#,##,##0)', '', '(', '+', ')', 1, 0, 0, 2, 3); }); it('should parse CURRENCY patterns', function() { // all CURRENCY patterns from closure parseAndExpect('#,##0.00 \u00A4', '', '-', ' \u00A4', ' \u00A4', 1, 2, 2, 3, 3); - parseAndExpect("#,##0.00\u00A0\u00A4;\'\u202A\'-#,##0.00\'\u202C\'\u00A0\u00A4", + parseAndExpect('#,##0.00\u00A0\u00A4;\'\u202A\'-#,##0.00\'\u202C\'\u00A0\u00A4', '', '\u202A-', '\u00A0\u00A4', '\u202C\u00A0\u00A4', 1, 2, 2, 3, 3); parseAndExpect('#,##0.00 \u00A4;(#,##0.00 \u00A4)', '', '(', ' \u00A4', ' \u00A4)', 1, 2, 2, 3, 3); parseAndExpect('#,##,##0.00\u00A4', '', '-', '\u00A4', '\u00A4', 1, 2, 2, 2, 3); parseAndExpect('#,##,##0.00\u00A4;(#,##,##0.00\u00A4)', '', '(', '\u00A4', '\u00A4)', 1, 2, 2, 2, 3); - parseAndExpect('\u00A4#,##0.00', '\u00A4', '\u00A4-', '', '', 1, 2, 2, 3, 3); + parseAndExpect('\u00A4#,##0.00', '\u00A4', '-\u00A4', '', '', 1, 2, 2, 3, 3); parseAndExpect('\u00A4#,##0.00;(\u00A4#,##0.00)', '\u00A4', '(\u00A4', '', ')', 1, 2, 2, 3, 3); parseAndExpect('\u00A4#,##0.00;\u00A4-#,##0.00', '\u00A4', '\u00A4-', '', '', 1, 2, 2, 3, 3); - parseAndExpect('\u00A4 #,##0.00', '\u00A4 ', '\u00A4 -', '', '', 1, 2, 2, 3, 3); + parseAndExpect('\u00A4 #,##0.00', '\u00A4 ', '-\u00A4 ', '', '', 1, 2, 2, 3, 3); parseAndExpect('\u00A4 #,##0.00;\u00A4-#,##0.00', '\u00A4 ', '\u00A4-', '', '', 1, 2, 2, 3, 3); parseAndExpect('\u00A4 #,##0.00;\u00A4 #,##0.00-', '\u00A4 ', '\u00A4 ', '', '-', 1, 2, 2, 3, 3); - parseAndExpect('\u00A4 #,##,##0.00', '\u00A4 ', '\u00A4 -', '', '', 1, 2, 2, 2, 3); + parseAndExpect('\u00A4 #,##,##0.00', '\u00A4 ', '-\u00A4 ', '', '', 1, 2, 2, 2, 3); + + // Even patterns without a DECIMAL_SEP + parseAndExpect('#,##0 \u00A4', '', '-', ' \u00A4', ' \u00A4', 1, 0, 0, 3, 3); + parseAndExpect('\u00A4 #,##0', '\u00A4 ', '-\u00A4 ', '', '', 1, 0, 0, 3, 3); + parseAndExpect('#,#0 \u00A4;+#,#0\u00A4', '', '+', ' \u00A4', '\u00A4', 1, 0, 0, 2, 2); + parseAndExpect('\u00A4 #,##,##0;(\u00A4 #,##,##0)', '\u00A4 ', '(\u00A4 ', '', ')', 1, 0, 0, 2, 3); }); }); diff --git a/i18n/spec/utilSpec.js b/i18n/spec/utilSpec.js deleted file mode 100644 index e6304254c41c..000000000000 --- a/i18n/spec/utilSpec.js +++ /dev/null @@ -1,14 +0,0 @@ -var util = require('../src/util.js'); - -describe('findLocaleId', function() { - it('should find localeId', function() { - expect(util.findLocaleId('', 'num')).toBeUndefined(); - expect(util.findLocaleId('aa', 'datetime')).toBeUndefined(); - expect(util.findLocaleId('aa', 'randomType')).toBeUndefined(); - expect(util.findLocaleId('NumberFormatSymbols_en', 'datetime')).toBeUndefined(); - expect(util.findLocaleId('DateTimeSymbols_en', 'num')).toBeUndefined(); - - expect(util.findLocaleId('DateTimeSymbols_en', 'datetime')).toBe('en'); - expect(util.findLocaleId('NumberFormatSymbols_en_US', 'num')).toBe('en_US'); - }); -}); diff --git a/i18n/src/.eslintrc.json b/i18n/src/.eslintrc.json new file mode 100644 index 000000000000..54bd17c95c46 --- /dev/null +++ b/i18n/src/.eslintrc.json @@ -0,0 +1,4 @@ +{ + "root": true, + "extends": "../../.eslintrc-node.json" +} diff --git a/i18n/src/closureI18nExtractor.js b/i18n/src/closureI18nExtractor.js index 83146d07d7f3..81d367a7158b 100644 --- a/i18n/src/closureI18nExtractor.js +++ b/i18n/src/closureI18nExtractor.js @@ -20,7 +20,7 @@ function findLocaleId(str, type) { return (str.match(/^NumberFormatSymbols_(.+)$/) || [])[1]; } - if (type != 'datetime') { throw new Error('unknown type in findLocaleId: ' + type); } + if (type !== 'datetime') { throw new Error('unknown type in findLocaleId: ' + type); } return (str.match(/^DateTimeSymbols_(.+)$/) || [])[1]; } @@ -36,6 +36,7 @@ function getInfoForLocale(localeInfo, localeID) { function extractNumberSymbols(content, localeInfo, currencySymbols) { //eval script in the current context so that we get access to all the symbols + // eslint-disable-next-line no-eval eval(content.toString()); for (var propName in goog.i18n) { var localeID = findLocaleId(propName, 'num'); @@ -49,21 +50,23 @@ function extractNumberSymbols(content, localeInfo, currencySymbols) { function extractCurrencySymbols(content) { //eval script in the current context so that we get access to all the symbols + // eslint-disable-next-line no-eval eval(content.toString()); - var currencySymbols = goog.i18n.currency.CurrencyInfo; - currencySymbols.__proto__ = goog.i18n.currency.CurrencyInfoTier2; + // var currencySymbols = goog.i18n.currency.CurrencyInfo; + // currencySymbols.__proto__ = goog.i18n.currency.CurrencyInfoTier2; - return currencySymbols; + return Object.assign({}, goog.i18n.currency.CurrencyInfoTier2, goog.i18n.currency.CurrencyInfo); } function extractDateTimeSymbols(content, localeInfo) { //eval script in the current context so that we get access to all the symbols + // eslint-disable-next-line no-eval eval(content.toString()); for (var propName in goog.i18n) { var localeID = findLocaleId(propName, 'datetime'); if (localeID) { var info = getInfoForLocale(localeInfo, localeID); - localeInfo[localeID].DATETIME_FORMATS = + info.DATETIME_FORMATS = converter.convertDatetimeData(goog.i18n[propName]); } } @@ -78,19 +81,25 @@ function pluralExtractor(content, localeInfo) { // e.g. plural rules for en_SG is the same as those for en. goog.LOCALE = localeIds[i].match(/[^_]+/)[0]; try { + // eslint-disable-next-line no-eval eval(contentText); - } catch(e) { - console.log("Error in eval(contentText): " + e.stack); + } catch (e) { + console.log('Error in eval(contentText): ' + e.stack); } if (!goog.i18n.pluralRules.select) { console.log('No select for lang [' + goog.LOCALE + ']'); continue; } var temp = goog.i18n.pluralRules.select.toString(). - replace(/goog.i18n.pluralRules.Keyword/g, 'PLURAL_CATEGORY').replace(/\n/g, ''); + replace(/function\s+\(/g, 'function('). + replace(/goog\.i18n\.pluralRules\.Keyword/g, 'PLURAL_CATEGORY'). + replace(/goog\.i18n\.pluralRules\.get_vf_/g, 'getVF'). + replace(/goog\.i18n\.pluralRules\.get_wt_/g, 'getWT'). + replace(/goog\.i18n\.pluralRules\.decimals_/g, 'getDecimals'). + replace(/\n/g, ''); ///@@ is a crazy place holder to be replaced before writing to file - localeInfo[localeIds[i]].pluralCat = "@@" + temp + "@@"; + localeInfo[localeIds[i]].pluralCat = '@@' + temp + '@@'; } } @@ -116,7 +125,7 @@ function canonicalizeForJsonStringify(unused_key, object) { // 2. https://code.google.com/p/v8/issues/detail?id=164 // ECMA-262 does not specify enumeration order. The de facto standard // is to match insertion order, which V8 also does ... - if (typeof object != "object" || Object.prototype.toString.apply(object) === '[object Array]') { + if (typeof object !== 'object' || Object.prototype.toString.apply(object) === '[object Array]') { return object; } var result = {}; @@ -128,7 +137,7 @@ function canonicalizeForJsonStringify(unused_key, object) { function serializeContent(localeObj) { return JSON.stringify(localeObj, canonicalizeForJsonStringify, ' ') - .replace(new RegExp('[\\u007f-\\uffff]', 'g'), function(c) { return '\\u'+('0000'+c.charCodeAt(0).toString(16)).slice(-4); }) + .replace(new RegExp('[\\u007f-\\uffff]', 'g'), function(c) { return '\\u' + ('0000' + c.charCodeAt(0).toString(16)).slice(-4); }) .replace(/"@@|@@"/g, ''); } @@ -149,33 +158,79 @@ function outputLocale(localeInfo, localeID) { // don't want to write locale files that only have dateformat (i.e. missing // number formats.) So we skip them. if (!localeObj.NUMBER_FORMATS) { - console.log("Skipping locale %j: Don't have any number formats", localeID); + console.log('Skipping locale %j: Don\'t have any number formats', localeID); return null; } if (!localeObj.DATETIME_FORMATS) { localeObj.DATETIME_FORMATS = fallBackObj.DATETIME_FORMATS; } + localeObj.localeID = localeID; localeObj.id = correctedLocaleId(localeID); - var prefix = - "'use strict';\n" + - 'angular.module("ngLocale", [], ["$provide", function($provide) {\n' + - 'var PLURAL_CATEGORY = {' + - 'ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"' + - '};\n' + - '$provide.value("$locale", '; - - var suffix = ');\n}]);'; + var getDecimals = [ + 'function getDecimals(n) {', + ' n = n + \'\';', + ' var i = n.indexOf(\'.\');', + ' return (i == -1) ? 0 : n.length - i - 1;', + '}', '', '' + ].join('\n'); + + var getVF = [ + 'function getVF(n, opt_precision) {', + ' var v = opt_precision;', '', + ' if (undefined === v) {', + ' v = Math.min(getDecimals(n), 3);', + ' }', '', + ' var base = Math.pow(10, v);', + ' var f = ((n * base) | 0) % base;', + ' return {v: v, f: f};', + '}', '', '' + ].join('\n'); + + var getWT = + [ + 'function getWT(v, f) {', + ' if (f === 0) {', + ' return {w: 0, t: 0};', + ' }', '', + ' while ((f % 10) === 0) {', + ' f /= 10;', + ' v--;', + ' }', '', + ' return {w: v, t: f};', + '}', '', '' + ].join('\n'); localeObj = { DATETIME_FORMATS: localeObj.DATETIME_FORMATS, NUMBER_FORMATS: localeObj.NUMBER_FORMATS, pluralCat: localeObj.pluralCat, - id: localeObj.id + id: localeObj.id, + localeID: localeID }; - var content = serializeContent(localeInfo[localeID]); + var content = serializeContent(localeObj); + if (content.indexOf('getVF(') < 0) { + getVF = ''; + } + if (content.indexOf('getWT(') < 0) { + getWT = ''; + } + if (!getVF && content.indexOf('getDecimals(') < 0) { + getDecimals = ''; + } + + var prefix = + '\'use strict\';\n' + + 'angular.module("ngLocale", [], ["$provide", function($provide) {\n' + + 'var PLURAL_CATEGORY = {' + + 'ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"' + + '};\n' + + getDecimals + getVF + getWT + + '$provide.value("$locale", '; + + var suffix = ');\n}]);\n'; return prefix + content + suffix; } diff --git a/i18n/src/closureSlurper.js b/i18n/src/closureSlurper.js index 9f236cf22a9f..9ada804a43ff 100755 --- a/i18n/src/closureSlurper.js +++ b/i18n/src/closureSlurper.js @@ -2,31 +2,30 @@ 'use strict'; var Q = require('q'), - qfs = require('q-fs'), - converter = require('./converter.js'), - util = require('./util.js'), + qfs = require('q-io/fs'), closureI18nExtractor = require('./closureI18nExtractor.js'), - localeInfo = {}, - currencySymbols, - goog = { provide: function() {}, - require: function() {}, - i18n: {currency: {}, pluralRules: {}} }; + localeInfo = {}; -var NG_LOCALE_DIR = '../src/ngLocale/'; +var NG_LOCALE_DIR = __dirname + '/../../src/ngLocale/'; function readSymbols() { - console.log("Processing currency and number symbols ..."); + console.log('Processing currency and number symbols ...'); var numericStagePromise = qfs.read(__dirname + '/../closure/currencySymbols.js', 'b') .then(function(content) { var currencySymbols = closureI18nExtractor.extractCurrencySymbols(content); return qfs.read(__dirname + '/../closure/numberSymbols.js', 'b').then(function(content) { - closureI18nExtractor.extractNumberSymbols(content, localeInfo, currencySymbols); + var numberSymbols = content; + return qfs.read(__dirname + '/../closure/numberSymbolsExt.js', 'b') + .then(function(content) { + numberSymbols += content; + return closureI18nExtractor.extractNumberSymbols(numberSymbols, localeInfo, currencySymbols); + }); }); }); - console.log("Processing datetime symbols ..."); + console.log('Processing datetime symbols ...'); var datetimeStagePromise = qfs.read(__dirname + '/../closure/datetimeSymbols.js', 'b') .then(function(content) { closureI18nExtractor.extractDateTimeSymbols(content, localeInfo); @@ -46,25 +45,41 @@ function extractPlurals() { } function writeLocaleFiles() { - console.log('Final stage: Writing angular locale files to directory: %j', NG_LOCALE_DIR); - var writePromises = []; + console.log('Final stage: Writing AngularJS locale files to directory: %j', NG_LOCALE_DIR); + var result = Q.defer(); var localeIds = Object.keys(localeInfo); var num_files = 0; - localeIds.forEach(function(localeID) { + + console.log('Generated %j locale files.', localeIds.length); + loop(); + return result.promise; + + // Need to use a loop and not write the files in parallel, + // as otherwise we will get the error EMFILE, which means + // we have too many open files. + function loop() { + var nextPromise; + if (localeIds.length) { + nextPromise = process(localeIds.pop()) || Q.when(); + nextPromise.then(loop, result.reject); + } else { + result.resolve(num_files); + } + } + + function process(localeID) { var content = closureI18nExtractor.outputLocale(localeInfo, localeID); if (!content) return; var correctedLocaleId = closureI18nExtractor.correctedLocaleId(localeID); - var filename = NG_LOCALE_DIR + 'angular-locale_' + correctedLocaleId + '.js' - writePromises.push( - qfs.write(filename, content) - .then(function () { - console.log('Wrote ' + filename); - ++num_files; - })); + var filename = NG_LOCALE_DIR + 'angular-locale_' + correctedLocaleId + '.js'; console.log('Writing ' + filename); - }); - console.log('Generated %j locale files.', localeIds.length); - return Q.all(writePromises).then(function() { return num_files }); + return qfs.write(filename, content) + .then(function() { + console.log('Wrote ' + filename); + ++num_files; + }); + } + } /** @@ -74,7 +89,8 @@ function writeLocaleFiles() { function createFolder(folder) { return qfs.isDirectory(folder).then(function(isDir) { if (!isDir) return qfs.makeDirectory(folder).then(function() { - console.log('Created directory %j', folder); }); + console.log('Created directory %j', folder); + }); }); } @@ -82,4 +98,4 @@ createFolder(NG_LOCALE_DIR) .then(readSymbols) .then(extractPlurals) .then(writeLocaleFiles) - .done(function(num_files) { console.log("Wrote %j files.\nAll Done!", num_files); }); + .done(function(num_files) { console.log('Wrote %j files.\nAll Done!', num_files); }); diff --git a/i18n/src/converter.js b/i18n/src/converter.js index a318726ae015..c71f3c47b7cd 100644 --- a/i18n/src/converter.js +++ b/i18n/src/converter.js @@ -1,3 +1,5 @@ +'use strict'; + /** * after obtaining data from closure files, use converter to massage the data into the formats * we want @@ -10,24 +12,22 @@ var parsePattern = require('./parser').parsePattern; function convertNumberData(dataObj, currencySymbols) { - var numberFormats = {}, - - numberFormats = { + var numberFormats = { DECIMAL_SEP: dataObj.DECIMAL_SEP, GROUP_SEP: dataObj.GROUP_SEP, PATTERNS: [parsePattern(dataObj.DECIMAL_PATTERN), parsePattern(dataObj.CURRENCY_PATTERN)] - } + }; if (currencySymbols[dataObj.DEF_CURRENCY_CODE]) { numberFormats.CURRENCY_SYM = currencySymbols[dataObj.DEF_CURRENCY_CODE][1]; } else { - if (dataObj.DEF_CURRENCY_CODE == 'MTL') { + if (dataObj.DEF_CURRENCY_CODE === 'MTL') { numberFormats.CURRENCY_SYM = '₤'; //for some reason this is missing in closure } else { // if there is no corresponding currency symbol, just use currency code. var code = numberFormats.CURRENCY_SYM = dataObj.DEF_CURRENCY_CODE; - console.log(code +' has no currency symbol in closure, used ' + code + ' instead!'); + console.log(code + ' has no currency symbol in closure, used ' + code + ' instead!'); } } return numberFormats; @@ -39,9 +39,14 @@ function convertDatetimeData(dataObj) { datetimeFormats.MONTH = dataObj.MONTHS; datetimeFormats.SHORTMONTH = dataObj.SHORTMONTHS; + datetimeFormats.STANDALONEMONTH = dataObj.STANDALONEMONTHS; datetimeFormats.DAY = dataObj.WEEKDAYS; datetimeFormats.SHORTDAY = dataObj.SHORTWEEKDAYS; datetimeFormats.AMPMS = dataObj.AMPMS; + datetimeFormats.FIRSTDAYOFWEEK = dataObj.FIRSTDAYOFWEEK; + datetimeFormats.WEEKENDRANGE = dataObj.WEEKENDRANGE; + datetimeFormats.ERAS = dataObj.ERAS; + datetimeFormats.ERANAMES = dataObj.ERANAMES; datetimeFormats.medium = dataObj.DATEFORMATS[2] + ' ' + dataObj.TIMEFORMATS[2]; diff --git a/i18n/src/parser.js b/i18n/src/parser.js index 31dea51099fe..2c289be2550c 100644 --- a/i18n/src/parser.js +++ b/i18n/src/parser.js @@ -1,24 +1,39 @@ +'use strict'; + /** * A simple parser to parse a number format into a pattern object */ +exports.ensureDecimalSep = ensureDecimalSep; exports.parsePattern = parsePattern; -var PATTERN_SEP = ';', - DECIMAL_SEP = '.', - GROUP_SEP = ',', - ZERO = '0', - DIGIT = '#'; +var PATTERN_SEP = ';', + DECIMAL_SEP = '.', + GROUP_SEP = ',', + DIGIT = '#', + ZERO = '0', + LAST_ZERO_RE = /^(.*0)(?!0)(.*)$/; + +/** + * Helper function for parser. + * Ensures that `pattern` (e.g #,##0.###) contains a DECIMAL_SEP, which is necessary for further + * parsing. If a pattern does not include one, it is added after the last ZERO (which is the last + * thing before the `posSuf` - if any). + */ +function ensureDecimalSep(pattern) { + return (pattern.indexOf(DECIMAL_SEP) !== -1) + ? pattern : pattern.replace(LAST_ZERO_RE, '$1' + DECIMAL_SEP + '$2'); +} /** - * main funciton for parser + * main function for parser * @param str {string} pattern to be parsed (e.g. #,##0.###). */ function parsePattern(pattern) { var p = { minInt: 1, minFrac: 0, - macFrac: 0, + maxFrac: 0, posPre: '', posSuf: '', negPre: '', @@ -27,20 +42,29 @@ function parsePattern(pattern) { lgSize: 0 }; - var parts = pattern.split(PATTERN_SEP), - positive = parts[0], - negative = parts[1]; + var patternParts = pattern.split(PATTERN_SEP), + positive = patternParts[0], + negative = patternParts[1]; - var parts = positive.split(DECIMAL_SEP), - integer = parts[0], - fraction = parts[1]; + // The parsing logic further below assumes that there will always be a DECIMAL_SEP in the pattern. + // However, some locales (e.g. agq_CM) do not have one, thus we add one after the last ZERO + // (which is the last thing before the `posSuf` - if any). Since there will be no ZEROs or DIGITs + // after DECIMAL_SEP, `min/maxFrac` will remain 0 (which is accurate - no fraction digits) and + // `posSuf` will be processed correctly. + // For example `#,##0$` would be converted to `#,##0.$`, which would (correctly) result in: + // `minFrac: 0`, `maxFrac: 0`, `posSuf: '$'` + // Note: We shouldn't modify `positive` directly, because it is used to parse the negative part.) + var positiveWithDecimalSep = ensureDecimalSep(positive), + positiveParts = positiveWithDecimalSep.split(DECIMAL_SEP), + integer = positiveParts[0], + fraction = positiveParts[1]; p.posPre = integer.substr(0, integer.indexOf(DIGIT)); for (var i = 0; i < fraction.length; i++) { var ch = fraction.charAt(i); - if (ch == ZERO) p.minFrac = p.maxFrac = i + 1; - else if (ch == DIGIT) p.maxFrac = i + 1; + if (ch === ZERO) p.minFrac = p.maxFrac = i + 1; + else if (ch === DIGIT) p.maxFrac = i + 1; else p.posSuf += ch; } @@ -52,11 +76,11 @@ function parsePattern(pattern) { var trunkLen = positive.length - p.posPre.length - p.posSuf.length, pos = negative.indexOf(DIGIT); - p.negPre = negative.substr(0, pos).replace(/\'/g, ''); - p.negSuf = negative.substr(pos + trunkLen).replace(/\'/g, ''); + p.negPre = negative.substr(0, pos).replace(/'/g, ''); + p.negSuf = negative.substr(pos + trunkLen).replace(/'/g, ''); } else { // hardcoded '-' sign is fine as all locale use '-' as MINUS_SIGN. (\u2212 is the same as '-') - p.negPre = p.posPre + '-'; + p.negPre = '-' + p.posPre; p.negSuf = p.posSuf; } diff --git a/i18n/src/util.js b/i18n/src/util.js deleted file mode 100644 index 82e2a7e4681a..000000000000 --- a/i18n/src/util.js +++ /dev/null @@ -1,7 +0,0 @@ -exports.findLocaleId = function findLocaleId(str, type) { - if (type === 'num') { - return (str.match(/^NumberFormatSymbols_(.+)$/) || [])[1]; - } else if (type == 'datetime') { - return (str.match(/^DateTimeSymbols_(.+)$/) || [])[1]; - } -} diff --git a/i18n/ucd/.eslintrc.json b/i18n/ucd/.eslintrc.json new file mode 100644 index 000000000000..4bd89ff5005a --- /dev/null +++ b/i18n/ucd/.eslintrc.json @@ -0,0 +1,5 @@ +{ + "root": true, + "extends": "../../.eslintrc-node.json" + +} diff --git a/i18n/ucd/spec/.eslintrc.json b/i18n/ucd/spec/.eslintrc.json new file mode 100644 index 000000000000..86dc549c58cb --- /dev/null +++ b/i18n/ucd/spec/.eslintrc.json @@ -0,0 +1,8 @@ +{ + "env": { + "jasmine": true + }, + "rules": { + "no-multi-str": "off" + } +} diff --git a/i18n/ucd/spec/extactValuesSpec.js b/i18n/ucd/spec/extactValuesSpec.js new file mode 100644 index 000000000000..b4ae735757a9 --- /dev/null +++ b/i18n/ucd/spec/extactValuesSpec.js @@ -0,0 +1,60 @@ +'use strict'; + +var extractValues = require('../src/extractValues.js').extractValues; +var stream = require('stream'); + +function stringStream(str) { + return new stream.Readable({ + read: function(n) { + this.push(str); + str = null; + } + }); +} + +describe('extractValues', function() { + it('should extract the values from the xml', function(done) { + var str = '' + + ''; + extractValues(stringStream(str), {'IDS': 'Y'}, function(values) { + expect(values).toEqual({ IDS_Y : [['0001', '0002']] }); + done(); + }); + }); + + it('should extract the values from the xml if the last element matches', function(done) { + var str = '' + + ''; + extractValues(stringStream(str), {'IDS': 'Y'}, function(values) { + expect(values).toEqual({ IDS_Y : [['0001', '0003']] }); + done(); + }); + }); + + it('should support `reserved`', function(done) { + var str = '' + + ''; + extractValues(stringStream(str), {'IDS': 'Y'}, function(values) { + expect(values).toEqual({ IDS_Y : [['0001', '0001'], ['0006', '0006']] }); + done(); + }); + }); + + it('should support `surrogate`', function(done) { + var str = '' + + ''; + extractValues(stringStream(str), {'IDS': 'Y'}, function(values) { + expect(values).toEqual({ IDS_Y : [['0001', '0001'], ['0006', '0006']] }); + done(); + }); + }); + + it('should support `noncharactere`', function(done) { + var str = '' + + ''; + extractValues(stringStream(str), {'IDS': 'Y'}, function(values) { + expect(values).toEqual({ IDS_Y : [['0001', '0001'], ['0006', '0006']] }); + done(); + }); + }); +}); diff --git a/i18n/ucd/spec/generateCodeSpec.js b/i18n/ucd/spec/generateCodeSpec.js new file mode 100644 index 000000000000..76c78ca7e736 --- /dev/null +++ b/i18n/ucd/spec/generateCodeSpec.js @@ -0,0 +1,55 @@ +'use strict'; + +var generateCodeModule = require('../src/generateCode.js'); +var generateCode = generateCodeModule.generateCode; +var generateFunction = generateCodeModule.generateFunction; + +describe('generateFunction', function() { + it('should generate function with ranges', function() { + expect(generateFunction([['0001', '0003']], 'IDS_Y')).toEqual('\ +function IDS_Y(cp) {\n\ + if (0x0001 <= cp && cp <= 0x0003) return true;\n\ + return false;\n\ +}\n'); + }); + + it('should generate function with multiple ranges', function() { + expect(generateFunction([['0001', '0003'], ['0005', '0009']], 'IDS_Y')).toEqual('\ +function IDS_Y(cp) {\n\ + if (0x0001 <= cp && cp <= 0x0003) return true;\n\ + if (0x0005 <= cp && cp <= 0x0009) return true;\n\ + return false;\n\ +}\n'); + }); + + it('should generate function with unique values', function() { + expect(generateFunction([['0001', '0001'], ['0005', '0009']], 'IDS_Y')).toEqual('\ +function IDS_Y(cp) {\n\ + if (cp === 0x0001) return true;\n\ + if (0x0005 <= cp && cp <= 0x0009) return true;\n\ + return false;\n\ +}\n'); + }); +}); + +describe('generateCode', function() { + it('should generate the function for all the values', function() { + expect(generateCode({ IDS_Y : [['0001', '0001'], ['0006', '0006']], IDC_Y : [['0002', '0002'], ['0007', '0007']] })).toEqual('\ +/******************************************************\n\ + * Generated file, do not modify *\n\ + * *\n\ + *****************************************************/\n\ +"use strict";\n\ +function IDS_Y(cp) {\n\ + if (cp === 0x0001) return true;\n\ + if (cp === 0x0006) return true;\n\ + return false;\n\ +}\n\ +function IDC_Y(cp) {\n\ + if (cp === 0x0002) return true;\n\ + if (cp === 0x0007) return true;\n\ + return false;\n\ +}\n\ +'); + }); +}); diff --git a/i18n/ucd/src/extract.js b/i18n/ucd/src/extract.js new file mode 100644 index 000000000000..bc6736597d77 --- /dev/null +++ b/i18n/ucd/src/extract.js @@ -0,0 +1,27 @@ +'use strict'; + +var fs = require('fs'); +var zlib = require('zlib'); +var extractValues = require('./extractValues').extractValues; +var generateCode = require('./generateCode').generateCode; +// ID_Start and ID_Continue +var propertiesToExtract = {'IDS': 'Y', 'IDC': 'Y'}; + +function main() { + extractValues( + fs.createReadStream(__dirname + '/ucd.all.flat.xml.gz').pipe(zlib.createGunzip()), + propertiesToExtract, + writeFile); + + function writeFile(validRanges) { + var code = generateCode(validRanges); + try { + fs.lstatSync(__dirname + '/../../../src/ngParseExt'); + } catch (e) { + fs.mkdirSync(__dirname + '/../../../src/ngParseExt'); + } + fs.writeFileSync(__dirname + '/../../../src/ngParseExt/ucd.js', code); + } +} + +main(); diff --git a/i18n/ucd/src/extractValues.js b/i18n/ucd/src/extractValues.js new file mode 100644 index 000000000000..e91332897155 --- /dev/null +++ b/i18n/ucd/src/extractValues.js @@ -0,0 +1,59 @@ +'use strict'; +/** + * Extract values from a stream. + */ + +exports.extractValues = extractValues; + +var sax = require('sax/lib/sax'); +var saxStrict = true; +var saxOptions = {}; +var validXMLTagNames = { char: 'Y', reserved: 'Y', surrogate: 'Y', noncharacter: 'Y'}; + +function extractValues(stream, propertiesToExtract, callback) { + var saxStream = sax.createStream(saxStrict, saxOptions); + var firstValid = {}; + var lastValid = {}; + var keys = Object.keys(propertiesToExtract); + var keyValues = keys.map(function(k) { return propertiesToExtract[k]; }); + var validRanges = {}; + + for (var i in keys) { + validRanges[keys[i] + '_' + keyValues[i]] = []; + } + saxStream.onopentag = onOpenTag; + stream + .pipe(saxStream) + .on('end', doCallback); + + function onOpenTag(node) { + var property; + if (validXMLTagNames[node.name]) { + for (var i in keys) { + property = keyValues[i]; + if (node.attributes[keys[i]] === property) validProperty(keys[i] + '_' + property, node); + else invalidProperty(keys[i] + '_' + property); + } + } + } + + function validProperty(property, node) { + if (!firstValid[property]) firstValid[property] = + node.attributes.cp || node.attributes['first-cp']; + lastValid[property] = node.attributes.cp || node.attributes['last-cp']; + } + + function invalidProperty(property) { + if (!firstValid[property]) return; + validRanges[property].push([firstValid[property], lastValid[property]]); + firstValid[property] = null; + } + + function doCallback() { + for (var i in keys) { + var property = keys[i] + '_' + keyValues[i]; + invalidProperty(property); + } + callback(validRanges); + } +} diff --git a/i18n/ucd/src/generateCode.js b/i18n/ucd/src/generateCode.js new file mode 100644 index 000000000000..0360689a9bcc --- /dev/null +++ b/i18n/ucd/src/generateCode.js @@ -0,0 +1,34 @@ +'use strict'; + +exports.generateCode = generateCode; +exports.generateFunction = generateFunction; + +function generateCode(validRanges) { + var code = '/******************************************************\n' + + ' * Generated file, do not modify *\n' + + ' * *\n' + + ' *****************************************************/\n' + + '"use strict";\n'; + var keys = Object.keys(validRanges); + for (var i in keys) { + code += generateFunction(validRanges[keys[i]], keys[i]); + } + return code; +} + + +function generateFunction(positiveElements, functionName) { + var result = []; + result.push('function ', functionName, '(cp) {\n'); + positiveElements.forEach(function(range) { + if (range[0] === range[1]) { + result.push(' if (cp === 0x', range[0], ')'); + } else { + result.push(' if (0x', range[0], ' <= cp && cp <= 0x', range[1], ')'); + } + result.push(' return true;\n'); + }); + result.push(' return false;\n}\n'); + return result.join(''); +} + diff --git a/i18n/ucd/src/ucd.all.flat.xml.gz b/i18n/ucd/src/ucd.all.flat.xml.gz new file mode 100644 index 000000000000..673dc7e865d8 Binary files /dev/null and b/i18n/ucd/src/ucd.all.flat.xml.gz differ diff --git a/i18n/update-closure.sh b/i18n/update-closure.sh index 2ddf88922fad..44f579fe7fad 100755 --- a/i18n/update-closure.sh +++ b/i18n/update-closure.sh @@ -7,8 +7,12 @@ cd $BASE_DIR set -x # Trace commands as they're executed. -curl http://closure-library.googlecode.com/svn/trunk/closure/goog/i18n/currency.js > closure/currencySymbols.js -curl http://closure-library.googlecode.com/svn/trunk/closure/goog/i18n/datetimesymbols.js > closure/datetimeSymbols.js -curl http://closure-library.googlecode.com/svn/trunk/closure/goog/i18n/datetimesymbolsext.js > closure/datetimeSymbolsExt.js -curl http://closure-library.googlecode.com/svn/trunk/closure/goog/i18n/numberformatsymbols.js > closure/numberSymbols.js -curl http://closure-library.googlecode.com/svn/trunk/closure/goog/i18n/pluralrules.js > closure/pluralRules.js +I18N_BASE="https://raw.githubusercontent.com/google/closure-library/master/closure/goog/i18n" + +# use the github repo as it is more up to date than the svn repo +curl "$I18N_BASE/currency.js" > closure/currencySymbols.js +curl "$I18N_BASE/datetimesymbols.js" > closure/datetimeSymbols.js +curl "$I18N_BASE/datetimesymbolsext.js" > closure/datetimeSymbolsExt.js +curl "$I18N_BASE/numberformatsymbols.js" > closure/numberSymbols.js +curl "$I18N_BASE/numberformatsymbolsext.js" > closure/numberSymbolsExt.js +curl "$I18N_BASE/pluralrules.js" > closure/pluralRules.js diff --git a/images/docs/Diagrams.graffle/QuickLook/Preview.pdf b/images/docs/Diagrams.graffle/QuickLook/Preview.pdf deleted file mode 100644 index cd63b69b3618..000000000000 Binary files a/images/docs/Diagrams.graffle/QuickLook/Preview.pdf and /dev/null differ diff --git a/images/docs/Diagrams.graffle/QuickLook/Thumbnail.tiff b/images/docs/Diagrams.graffle/QuickLook/Thumbnail.tiff deleted file mode 100644 index 40832b544a24..000000000000 Binary files a/images/docs/Diagrams.graffle/QuickLook/Thumbnail.tiff and /dev/null differ diff --git a/images/docs/Diagrams.graffle/data.plist b/images/docs/Diagrams.graffle/data.plist index f9358def26fb..0ed35fc1361b 100644 --- a/images/docs/Diagrams.graffle/data.plist +++ b/images/docs/Diagrams.graffle/data.plist @@ -4,15 +4,15 @@ ApplicationVersion - com.omnigroup.OmniGrafflePro - 138.17.0.133677 + com.omnigroup.OmniGraffle6 + 169.10.0.256984 CreationDate - 2010-04-27 14:00:20 -0700 + 2010-04-27 21:00:20 +0000 Creator Miško Hevery GraphDocumentVersion - 6 + 12 GuidesLocked NO GuidesVisible @@ -42,9 +42,9 @@ MasterSheets ModificationDate - 2011-02-15 10:20:08 -0800 + 2016-04-12 13:18:31 +0000 Modifier - Kenneth Culp + Peter Bacon Darwin NotesVisible NO OriginVisible @@ -58,16 +58,31 @@ float 41 + NSHorizonalPagination + + coded + BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG + NSLeftMargin float 18 + NSPaperName + + string + Letter + NSPaperSize size {612, 792} + NSPrintReverseOrientation + + coded + BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG + NSRightMargin float @@ -98,19 +113,6 @@ 2 Style - fill - - GradientColor - - w - 0.666667 - - - shadow - - Draws - NO - stroke Draws @@ -118,6 +120,8 @@ + BaseZoom + 0 CanvasOrigin {0, 0} ColumnAlign @@ -125,7 +129,7 @@ ColumnSpacing 36 DisplayScale - 1 0/72 in = 1.0000 in + 1 in = 1.00000 in GraphicsList @@ -139,8 +143,6 @@ Resize ID 3 - Shape - Rectangle Style fill @@ -164,12 +166,12 @@ Align 0 Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\b\fs24 \cf0 Guiding Principles \b0 \ @@ -179,7 +181,7 @@ * DRY (Don't Repeat Yourself)\ * CRUD ~ 80% -> make it trivial } VerticalPad - 0 + 0.0 Wrap NO @@ -214,6 +216,8 @@ 0.0 layoutEngine dot + neatoLineLength + 0.20000000298023224 neatoSeparation 0.0 twopiSeparation @@ -249,11 +253,6 @@ 2 Style - shadow - - Draws - NO - stroke Draws @@ -261,6 +260,8 @@ + BaseZoom + 0 CanvasOrigin {0, 0} ColumnAlign @@ -268,12 +269,12 @@ ColumnSpacing 36 DisplayScale - 1 0/72 in = 1.0000 in + 1 in = 1.00000 in GraphicsList Bounds - {{99.761, 235.062}, {97, 84}} + {{99.760999999999996, 235.06200000000001}, {97, 86}} Class ShapedGraphic FitText @@ -282,15 +283,11 @@ Resize FontInfo - Font - HelveticaNeue Size 13 ID 170 - Shape - Rectangle Style fill @@ -314,29 +311,29 @@ Align 0 Pad - 2 + 2 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fnil\fcharset0 HelveticaNeue;\f1\fnil\fcharset0 HelveticaNeue-Light;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\b\fs26 \cf0 Scope\ -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f1\b0 \cf0 * $get / $set\ * $eval / $tryEval\ * $watch \ * $become} VerticalPad - 2 + 2 Wrap NO Bounds - {{358.844, 275.485}, {168.158, 80.0625}} + {{358.84399999999999, 275.48500000000001}, {168.15799999999999, 80.0625}} Class ShapedGraphic ID @@ -359,20 +356,11 @@ Color b - 0.8 + 0.80000000000000004 g - 0.8 + 0.80000000000000004 r - 0.8 - - GradientColor - - b - 0.727062 - g - 0.290394 - r - 0.384375 + 0.80000000000000004 MiddleFraction 0.4523809552192688 @@ -382,25 +370,23 @@ Color a - 0.4 + 0.40000000000000002 b - 0 + 0.0 g - 0 + 0.0 r - 0 + 0.0 - ShadowVector - {0, 2} Text Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fnil\fcharset0 HelveticaNeue-CondensedBold;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\b\fs28 \cf0 JSON RESTful URLs} @@ -411,7 +397,7 @@ Bounds - {{277.761, 428.328}, {125, 26}} + {{277.76100000000002, 428.32799999999997}, {125, 26}} Class ShapedGraphic FitText @@ -420,15 +406,11 @@ Resize FontInfo - Font - HelveticaNeue Size 13 ID 168 - Shape - Rectangle Style fill @@ -452,23 +434,23 @@ Align 0 Pad - 2 + 2 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fnil\fcharset0 HelveticaNeue-Light;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\i\fs36 \cf0 Your JavaScript} VerticalPad - 2 + 2 Wrap NO Bounds - {{71.0258, 428.328}, {143, 26}} + {{71.025800000000004, 428.32799999999997}, {143, 26}} Class ShapedGraphic FitText @@ -477,15 +459,11 @@ Resize FontInfo - Font - HelveticaNeue Size 13 ID 167 - Shape - Rectangle Style fill @@ -509,23 +487,23 @@ Align 0 Pad - 2 + 2 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fnil\fcharset0 HelveticaNeue-Light;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\i\fs36 \cf0 Your HTML / CSS} VerticalPad - 2 + 2 Wrap NO Bounds - {{258.133, 231.188}, {117, 84}} + {{258.13299999999998, 231.18799999999999}, {117, 86}} Class ShapedGraphic FitText @@ -534,15 +512,11 @@ Resize FontInfo - Font - HelveticaNeue Size 13 ID 165 - Shape - Rectangle Style fill @@ -566,29 +540,29 @@ Align 0 Pad - 2 + 2 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fnil\fcharset0 HelveticaNeue;\f1\fnil\fcharset0 HelveticaNeue-Light;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\b\fs26 \cf0 Standard Services\ -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f1\b0 \cf0 * Browser\ * URL Router\ * Resources\ * Caching} VerticalPad - 2 + 2 Wrap NO Bounds - {{136.044, 463.125}, {102, 100}} + {{136.04400000000001, 463.125}, {102, 103}} Class ShapedGraphic FitText @@ -597,15 +571,11 @@ Resize FontInfo - Font - HelveticaNeue Size 13 ID 164 - Shape - Rectangle Style fill @@ -629,15 +599,15 @@ Align 0 Pad - 2 + 2 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fnil\fcharset0 HelveticaNeue;\f1\fnil\fcharset0 HelveticaNeue-Light;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\b\fs26 \cf0 HTML Compiler\ -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f1\b0 \cf0 * Widgets\ * Markup\ @@ -645,14 +615,14 @@ * Filters\ * Validators} VerticalPad - 2 + 2 Wrap NO Bounds - {{337.761, 199.625}, {68, 27}} + {{337.76100000000002, 199.625}, {68, 27}} Class ShapedGraphic FitText @@ -661,15 +631,11 @@ Resize FontInfo - Font - HelveticaNeue Size 13 ID 163 - Shape - Rectangle Style fill @@ -693,23 +659,23 @@ Align 0 Pad - 2 + 2 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fnil\fcharset0 HelveticaNeue-CondensedBlack;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\b\fs36 \cf0 Services} VerticalPad - 2 + 2 Wrap NO Bounds - {{80.7612, 531.125}, {40, 27}} + {{80.761200000000002, 531.125}, {40, 27}} Class ShapedGraphic FitText @@ -718,15 +684,11 @@ Resize FontInfo - Font - HelveticaNeue Size 13 ID 162 - Shape - Rectangle Style fill @@ -750,23 +712,23 @@ Align 0 Pad - 2 + 2 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fnil\fcharset0 HelveticaNeue-CondensedBlack;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\b\fs36 \cf0 View} VerticalPad - 2 + 2 Wrap NO Bounds - {{327.761, 533.625}, {78, 27}} + {{327.76100000000002, 533.625}, {78, 27}} Class ShapedGraphic FitText @@ -775,15 +737,11 @@ Resize FontInfo - Font - HelveticaNeue Size 13 ID 161 - Shape - Rectangle Style fill @@ -807,23 +765,23 @@ Align 0 Pad - 2 + 2 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fnil\fcharset0 HelveticaNeue-CondensedBlack;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\b\fs36 \cf0 Controller} VerticalPad - 2 + 2 Wrap NO Bounds - {{80.7612, 202.125}, {50, 27}} + {{80.761200000000002, 202.125}, {50, 27}} Class ShapedGraphic FitText @@ -832,15 +790,11 @@ Resize FontInfo - Font - HelveticaNeue Size 13 ID 160 - Shape - Rectangle Style fill @@ -864,16 +818,16 @@ Align 0 Pad - 2 + 2 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fnil\fcharset0 HelveticaNeue-CondensedBlack;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\b\fs36 \cf0 Model} VerticalPad - 2 + 2 Wrap NO @@ -887,8 +841,6 @@ 18 ImageID 9 - Shape - Rectangle Style fill @@ -912,15 +864,13 @@ Bounds - {{48.7612, 197.125}, {32, 32}} + {{48.761200000000002, 197.125}, {32, 32}} Class ShapedGraphic ID 17 ImageID 8 - Shape - Rectangle Style fill @@ -942,15 +892,13 @@ Bounds - {{48.7612, 531.125}, {32, 32}} + {{48.761200000000002, 531.125}, {32, 32}} Class ShapedGraphic ID 13 ImageID 4 - Shape - Rectangle Style fill @@ -972,15 +920,13 @@ Bounds - {{405.761, 197.125}, {32, 32}} + {{405.76100000000002, 197.125}, {32, 32}} Class ShapedGraphic ID 11 ImageID 2 - Shape - Rectangle Style fill @@ -1002,15 +948,13 @@ Bounds - {{405.761, 531.125}, {32, 32}} + {{405.76100000000002, 531.125}, {32, 32}} Class ShapedGraphic ID 10 ImageID 1 - Shape - Rectangle Style fill @@ -1032,13 +976,11 @@ Bounds - {{171.916, 339.469}, {143, 80.0625}} + {{171.916, 339.46899999999999}, {143, 80.0625}} Class ShapedGraphic ID 9 - Shape - Rectangle Style stroke @@ -1050,31 +992,29 @@ Text Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\b\fs24 \cf0 2-Way Data Binding\ -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \b0 \cf0 \ \ \ -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \b \cf0 Single Source of Truth} Bounds - {{245.567, 382.02}, {197.964, 186.105}} + {{245.56700000000001, 382.01999999999998}, {197.964, 186.10499999999999}} Class ShapedGraphic ID 8 - Shape - Rectangle Style fill @@ -1082,11 +1022,11 @@ Color b - 0 + 0.0 g - 0.501961 + 0.50196099999999999 r - 1 + 1 stroke @@ -1105,13 +1045,11 @@ Bounds - {{43.5439, 382.02}, {197.964, 186.105}} + {{43.543900000000001, 382.01999999999998}, {197.964, 186.10499999999999}} Class ShapedGraphic ID 7 - Shape - Rectangle Style fill @@ -1119,11 +1057,11 @@ Color b - 0.4 + 0.40000000000000002 g - 1 + 1 r - 0.4 + 0.40000000000000002 stroke @@ -1142,13 +1080,11 @@ Bounds - {{245.421, 191.875}, {197.964, 186.105}} + {{245.42099999999999, 191.875}, {197.964, 186.10499999999999}} Class ShapedGraphic ID 6 - Shape - Rectangle Style fill @@ -1156,11 +1092,11 @@ Color b - 1 + 1 g - 0.8 + 0.80000000000000004 r - 0.4 + 0.40000000000000002 stroke @@ -1179,13 +1115,11 @@ Bounds - {{43.5438, 191.875}, {197.964, 186.105}} + {{43.543799999999997, 191.875}, {197.964, 186.10499999999999}} Class ShapedGraphic ID 5 - Shape - Rectangle Style fill @@ -1193,11 +1127,11 @@ Color b - 0.4 + 0.40000000000000002 g - 1 + 1 r - 1 + 1 stroke @@ -1211,10 +1145,10 @@ Align 0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\b\fs14 \cf0 \ @@ -1225,13 +1159,11 @@ Bounds - {{34.0712, 182.875}, {418.69, 393.25}} + {{34.071199999999997, 182.875}, {418.69, 393.25}} Class ShapedGraphic ID 4 - Shape - Rectangle Style stroke @@ -1243,7 +1175,7 @@ Bounds - {{49.385, 130}, {381, 36}} + {{49.384999999999998, 130}, {381, 36}} Class ShapedGraphic FitText @@ -1252,8 +1184,6 @@ Resize ID 3 - Shape - Rectangle Style fill @@ -1275,16 +1205,16 @@ Text Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs60 \cf0 <angular/> Enabled Browser} VerticalPad - 0 + 0.0 Wrap NO @@ -1319,6 +1249,8 @@ 0.0 layoutEngine dot + neatoLineLength + 0.20000000298023224 neatoSeparation 0.0 twopiSeparation @@ -1361,19 +1293,6 @@ 2 Style - fill - - GradientColor - - w - 0.666667 - - - shadow - - Draws - NO - stroke Draws @@ -1381,6 +1300,8 @@ + BaseZoom + 0 CanvasOrigin {0, 0} ColumnAlign @@ -1388,7 +1309,7 @@ ColumnSpacing 36 DisplayScale - 1 0/72 in = 1.0000 in + 1 in = 1.00000 in GraphicsList @@ -1402,11 +1323,6 @@ Resize FontInfo - Color - - w - 0 - Font Optima-ExtraBlack Size @@ -1416,8 +1332,6 @@ 141 Layer 0 - Shape - Rectangle Style fill @@ -1436,16 +1350,16 @@ Align 0 Pad - 2 + 2 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Optima-ExtraBlack;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\b\fs36 \cf0 \ul \ulc0 Legend} VerticalPad - 2 + 2 Wrap NO @@ -1463,8 +1377,6 @@ 13 Layer 0 - Shape - Rectangle Style fill @@ -1472,11 +1384,11 @@ Color b - 0.901961 + 0.90196100000000001 g - 0.901961 + 0.90196100000000001 r - 0.901961 + 0.90196100000000001 Draws NO @@ -1497,12 +1409,12 @@ Align 0 Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fmodern\fcharset0 Courier;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\fs24 \cf0 <html>\ <body>\ @@ -1520,7 +1432,7 @@ </body>\ </html>} VerticalPad - 0 + 0.0 TextPlacement 0 @@ -1536,8 +1448,6 @@ 154 Layer 1 - Shape - Rectangle Style fill @@ -1545,11 +1455,11 @@ Color b - 0.395087 + 0.39508700000000002 g - 0.360479 + 0.36047899999999999 r - 1 + 1 shadow @@ -1567,10 +1477,10 @@ Align 0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\b\fs24 \cf0 Nested Widgets: \b0 widgets can be nested for added expressivness.} @@ -1587,8 +1497,6 @@ 153 Layer 1 - Shape - Rectangle Style fill @@ -1596,11 +1504,11 @@ Color b - 0.0203403 + 0.020340299999999999 g - 0.553979 + 0.553979 r - 0.814221 + 0.81422099999999997 stroke @@ -1619,8 +1527,6 @@ 152 Layer 1 - Shape - Rectangle Style fill @@ -1628,11 +1534,11 @@ Color b - 0.402579 + 0.40257900000000002 g - 0.843046 + 0.84304599999999996 r - 1 + 1 stroke @@ -1651,8 +1557,6 @@ 151 Layer 1 - Shape - Rectangle Style fill @@ -1660,11 +1564,11 @@ Color b - 0.798825 + 0.79882500000000001 g - 0.790722 + 0.79072200000000004 r - 1 + 1 shadow @@ -1682,10 +1586,10 @@ Align 0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\b\fs24 \cf0 Widget: \b0 Allows the execution of custom code which can transform the DOM.} @@ -1702,8 +1606,6 @@ 150 Layer 1 - Shape - Rectangle Style fill @@ -1711,11 +1613,11 @@ Color b - 0.0203403 + 0.020340299999999999 g - 0.553979 + 0.553979 r - 0.814221 + 0.81422099999999997 shadow @@ -1733,10 +1635,10 @@ Align 0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\b\fs24 \cf0 Validator: \b0 an input widget may have optional validator to notify user of wrong input.} @@ -1753,8 +1655,6 @@ 149 Layer 1 - Shape - Rectangle Style fill @@ -1762,11 +1662,11 @@ Color b - 0.402579 + 0.40257900000000002 g - 0.843046 + 0.84304599999999996 r - 1 + 1 shadow @@ -1784,10 +1684,10 @@ Align 0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;\f1\fmodern\fcharset0 Courier;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\b\fs24 \cf0 Input Widget: \b0 binds to ' @@ -1806,8 +1706,6 @@ 148 Layer 1 - Shape - Rectangle Style fill @@ -1815,11 +1713,11 @@ Color b - 0.315999 + 0.31599899999999997 g - 0.670665 + 0.67066499999999996 r - 0.292546 + 0.29254599999999997 shadow @@ -1837,10 +1735,10 @@ Align 0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\b\fs24 \cf0 Filter: \b0 Markup may include optional filter to transform value before it is displayed.} @@ -1857,8 +1755,6 @@ 147 Layer 1 - Shape - Rectangle Style fill @@ -1866,11 +1762,11 @@ Color b - 0.661341 + 0.66134099999999996 g - 0.850156 + 0.85015600000000002 r - 0.662013 + 0.66201299999999996 shadow @@ -1888,10 +1784,10 @@ Align 0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\b\fs24 \cf0 Markup: \b0 evaluates expression in the closest scope and inserts it into DOM.} @@ -1908,8 +1804,6 @@ 146 Layer 1 - Shape - Rectangle Style fill @@ -1917,11 +1811,11 @@ Color b - 0.862531 + 0.86253100000000005 g - 0.668772 + 0.66877200000000003 r - 0.313756 + 0.31375599999999998 shadow @@ -1939,10 +1833,10 @@ Align 0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;\f1\fmodern\fcharset0 Courier;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\b\fs24 \cf0 Directives: \b0 instructing the compiler to perform specific actions. In this case a repeater iterates over the list of ' @@ -1961,8 +1855,6 @@ 145 Layer 1 - Shape - Rectangle Style fill @@ -1970,11 +1862,11 @@ Color b - 0.952972 + 0.95297200000000004 g - 0.890059 + 0.89005900000000004 r - 0.780545 + 0.78054500000000004 shadow @@ -1992,10 +1884,10 @@ Align 0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\b\fs24 \cf0 Child Scope: \b0 in this case the ng-repeat directive triggers the creation of new scopes one for each item in an iterator expression. It than assigns the 'person' to each scope. The scopes inherit from parent scopes so anything declared at higher scope is still visible. } @@ -2012,8 +1904,6 @@ 144 Layer 1 - Shape - Rectangle Style fill @@ -2021,11 +1911,11 @@ Color b - 0.800748 + 0.80074800000000002 g - 0.946502 + 0.94650199999999995 r - 1 + 1 shadow @@ -2043,10 +1933,10 @@ Align 0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;\f1\fmodern\fcharset0 Courier;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\b\fs24 \cf0 Scope: \b0 Outter most scope which holds services and properties such as ' @@ -2067,8 +1957,6 @@ 34 Layer 1 - Shape - Rectangle Bounds @@ -2079,8 +1967,6 @@ 33 Layer 1 - Shape - Rectangle Style fill @@ -2088,11 +1974,11 @@ Color b - 0.395087 + 0.39508700000000002 g - 0.360479 + 0.36047899999999999 r - 1 + 1 stroke @@ -2111,8 +1997,6 @@ 23 Layer 1 - Shape - Rectangle Style fill @@ -2120,11 +2004,11 @@ Color b - 0.315999 + 0.31599899999999997 g - 0.670665 + 0.67066499999999996 r - 0.292546 + 0.29254599999999997 stroke @@ -2143,8 +2027,6 @@ 10 Layer 1 - Shape - Rectangle Style fill @@ -2152,11 +2034,11 @@ Color b - 0.798825 + 0.79882500000000001 g - 0.790722 + 0.79072200000000004 r - 1 + 1 stroke @@ -2175,8 +2057,6 @@ 9 Layer 1 - Shape - Rectangle Style fill @@ -2184,11 +2064,11 @@ Color b - 0.661341 + 0.66134099999999996 g - 0.850156 + 0.85015600000000002 r - 0.662013 + 0.66201299999999996 stroke @@ -2207,8 +2087,6 @@ 8 Layer 1 - Shape - Rectangle Style fill @@ -2216,11 +2094,11 @@ Color b - 0.661341 + 0.66134099999999996 g - 0.850156 + 0.85015600000000002 r - 0.662013 + 0.66201299999999996 stroke @@ -2239,8 +2117,6 @@ 6 Layer 1 - Shape - Rectangle Style fill @@ -2248,11 +2124,11 @@ Color b - 0.862531 + 0.86253100000000005 g - 0.668772 + 0.66877200000000003 r - 0.313756 + 0.31375599999999998 stroke @@ -2271,8 +2147,6 @@ 4 Layer 1 - Shape - Rectangle Style fill @@ -2280,11 +2154,11 @@ Color b - 0.952972 + 0.95297200000000004 g - 0.890059 + 0.89005900000000004 r - 0.780545 + 0.78054500000000004 stroke @@ -2303,8 +2177,6 @@ 1 Layer 1 - Shape - Rectangle Style fill @@ -2312,11 +2184,11 @@ Color b - 0.800748 + 0.80074800000000002 g - 0.946502 + 0.94650199999999995 r - 1 + 1 @@ -2361,6 +2233,8 @@ 0.0 layoutEngine dot + neatoLineLength + 0.20000000298023224 neatoSeparation 0.0 twopiSeparation @@ -2396,19 +2270,6 @@ 2 Style - fill - - GradientColor - - w - 0.666667 - - - shadow - - Draws - NO - stroke Draws @@ -2416,6 +2277,8 @@ + BaseZoom + 0 CanvasOrigin {0, 0} ColumnAlign @@ -2423,12 +2286,12 @@ ColumnSpacing 36 DisplayScale - 1 0/72 in = 1.0000 in + 1 in = 1.00000 in GraphicsList Bounds - {{76.7578, 323.5}, {68, 86}} + {{76.757800000000003, 323.5}, {68, 86}} Class ShapedGraphic FitText @@ -2437,8 +2300,6 @@ Resize ID 47 - Shape - Rectangle Style fill @@ -2460,16 +2321,16 @@ Text Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs144 \cf0 :-(} VerticalPad - 0 + 0.0 TextRotation 90 @@ -2478,13 +2339,11 @@ Bounds - {{250.922, 355.17}, {74.1562, 66.0257}} + {{250.922, 355.17000000000002}, {74.156199999999998, 66.025700000000001}} Class ShapedGraphic ID 17 - Shape - Rectangle Style fill @@ -2492,11 +2351,11 @@ Color b - 0.901961 + 0.90196100000000001 g - 0.901961 + 0.90196100000000001 r - 0.901961 + 0.90196100000000001 stroke @@ -2510,25 +2369,23 @@ Text Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs28 \cf0 one-time merge} Bounds - {{315.375, 457.934}, {152.625, 37.0536}} + {{315.375, 457.93400000000003}, {152.625, 37.053600000000003}} Class ShapedGraphic ID 5 - Shape - Rectangle Style fill @@ -2536,11 +2393,11 @@ Color b - 0.776013 + 0.77601299999999995 g - 0.532738 + 0.53273800000000004 r - 0 + 0.0 shadow @@ -2557,23 +2414,21 @@ Text Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs48 \cf0 Model} Bounds - {{108, 454.763}, {152.625, 40.2247}} + {{108, 454.76299999999998}, {152.625, 40.224699999999999}} Class ShapedGraphic ID 12 - Shape - Rectangle Style fill @@ -2581,11 +2436,11 @@ Color b - 0.395087 + 0.39508700000000002 g - 0.360479 + 0.36047899999999999 r - 1 + 1 shadow @@ -2602,19 +2457,19 @@ Text Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs48 \cf0 Template} Bounds - {{270.131, 318.801}, {35.7383, 36}} + {{270.13117871114127, 318.80084999999997}, {35.738300000363971, 36}} Class ShapedGraphic Head @@ -2625,7 +2480,7 @@ ID 29 Rotation - 270.000244140625 + 270.00025503471159 Shape AdjustableArrow ShapeData @@ -2642,20 +2497,11 @@ Color b - 0.86276 - g - 0.86276 - r - 0.86276 - - GradientColor - - b - 0.501961 + 0.86275999999999997 g - 0.25098 + 0.86275999999999997 r - 0 + 0.86275999999999997 MiddleFraction 0.70634919404983521 @@ -2667,13 +2513,13 @@ Color a - 0.4 + 0.40000000000000002 b - 0 + 0.0 g - 0 + 0.0 r - 0 + 0.0 Fuzziness 0.0 @@ -2685,13 +2531,13 @@ Color a - 0.75 + 0.75 b - 0 + 0.0 g - 0 + 0.0 r - 0 + 0.0 @@ -2707,7 +2553,7 @@ Bounds - {{308.475, 417.134}, {69.3428, 36}} + {{308.4752325618569, 417.13378382743406}, {69.342741366325427, 36}} Class ShapedGraphic Head @@ -2718,7 +2564,7 @@ ID 28 Rotation - 220.41058349609375 + 220.4105915275855 Shape AdjustableArrow ShapeData @@ -2735,20 +2581,11 @@ Color b - 0.86276 + 0.86275999999999997 g - 0.86276 + 0.86275999999999997 r - 0.86276 - - GradientColor - - b - 0.501961 - g - 0.25098 - r - 0 + 0.86275999999999997 MiddleFraction 0.70634919404983521 @@ -2760,13 +2597,13 @@ Color a - 0.4 + 0.40000000000000002 b - 0 + 0.0 g - 0 + 0.0 r - 0 + 0.0 Fuzziness 0.0 @@ -2778,13 +2615,13 @@ Color a - 0.75 + 0.75 b - 0 + 0.0 g - 0 + 0.0 r - 0 + 0.0 @@ -2800,7 +2637,7 @@ Bounds - {{201.124, 415.429}, {65.5192, 36}} + {{201.12411517475755, 415.42918435033459}, {65.519220160419323, 36}} Class ShapedGraphic Head @@ -2811,7 +2648,7 @@ ID 27 Rotation - 320.10122680664062 + 320.10123273901769 Shape AdjustableArrow ShapeData @@ -2828,20 +2665,11 @@ Color b - 0.86276 + 0.86275999999999997 g - 0.86276 + 0.86275999999999997 r - 0.86276 - - GradientColor - - b - 0.501961 - g - 0.25098 - r - 0 + 0.86275999999999997 MiddleFraction 0.70634919404983521 @@ -2853,13 +2681,13 @@ Color a - 0.4 + 0.40000000000000002 b - 0 + 0.0 g - 0 + 0.0 r - 0 + 0.0 Fuzziness 0.0 @@ -2871,13 +2699,13 @@ Color a - 0.75 + 0.75 b - 0 + 0.0 g - 0 + 0.0 r - 0 + 0.0 @@ -2893,13 +2721,11 @@ Bounds - {{211.688, 278.207}, {152.625, 40.2247}} + {{211.68799999999999, 278.20699999999999}, {152.625, 40.224699999999999}} Class ShapedGraphic ID 16 - Shape - Rectangle Style fill @@ -2907,11 +2733,11 @@ Color b - 0.494377 + 0.49437700000000001 g - 0.778576 + 0.77857600000000005 r - 0.492882 + 0.49288199999999999 shadow @@ -2928,19 +2754,19 @@ Text Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs48 \cf0 View} Bounds - {{135, 229.763}, {306, 36}} + {{135, 229.76300000000001}, {306, 36}} Class ShapedGraphic FitText @@ -2949,8 +2775,6 @@ Resize ID 3 - Shape - Rectangle Style fill @@ -2972,29 +2796,27 @@ Text Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs60 \cf0 One-Way Data Binding} VerticalPad - 0 + 0.0 Wrap NO Bounds - {{51.5, 218.91}, {473, 295.18}} + {{51.5, 218.91}, {473, 295.18000000000001}} Class ShapedGraphic ID 4 - Shape - Rectangle Style stroke @@ -3034,6 +2856,8 @@ 0.0 layoutEngine dot + neatoLineLength + 0.20000000298023224 neatoSeparation 0.0 twopiSeparation @@ -3069,19 +2893,6 @@ 2 Style - fill - - GradientColor - - w - 0.666667 - - - shadow - - Draws - NO - stroke Draws @@ -3089,6 +2900,8 @@ + BaseZoom + 0 CanvasOrigin {0, 0} ColumnAlign @@ -3096,12 +2909,12 @@ ColumnSpacing 36 DisplayScale - 1 0/72 in = 1.0000 in + 1 in = 1.00000 in GraphicsList Bounds - {{76.7578, 273.411}, {68, 86}} + {{76.757800000000003, 273.411}, {68, 86}} Class ShapedGraphic FitText @@ -3110,8 +2923,6 @@ Resize ID 46 - Shape - Rectangle Style fill @@ -3133,16 +2944,16 @@ Text Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs144 \cf0 :-)} VerticalPad - 0 + 0.0 TextRotation 90 @@ -3151,7 +2962,7 @@ Bounds - {{292.401, 304.76}, {45, 14}} + {{292.40100000000001, 304.75999999999999}, {45, 14}} Class ShapedGraphic FitText @@ -3160,8 +2971,6 @@ Resize ID 45 - Shape - Rectangle Style fill @@ -3183,23 +2992,23 @@ Text Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs24 \cf0 Compile} VerticalPad - 0 + 0.0 Wrap NO Bounds - {{261.895, 293.76}, {45.2113, 36}} + {{261.89484999999996, 293.76034999999996}, {45.211300000000051, 36}} Class ShapedGraphic Head @@ -3227,20 +3036,11 @@ Color b - 0.86276 + 0.86275999999999997 g - 0.86276 + 0.86275999999999997 r - 0.86276 - - GradientColor - - b - 0.501961 - g - 0.25098 - r - 0 + 0.86275999999999997 MiddleFraction 0.70634919404983521 @@ -3252,13 +3052,13 @@ Color a - 0.4 + 0.40000000000000002 b - 0 + 0.0 g - 0 + 0.0 r - 0 + 0.0 Fuzziness 0.0 @@ -3270,13 +3070,13 @@ Color a - 0.75 + 0.75 b - 0 + 0.0 g - 0 + 0.0 r - 0 + 0.0 @@ -3292,7 +3092,7 @@ Bounds - {{64.4012, 417.148}, {85, 28}} + {{64.401200000000003, 417.14800000000002}, {85, 28}} Class ShapedGraphic FitText @@ -3301,8 +3101,6 @@ Resize ID 43 - Shape - Rectangle Style fill @@ -3324,24 +3122,24 @@ Text Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs24 \cf0 Change to View\ updates Model} VerticalPad - 0 + 0.0 Wrap NO Bounds - {{419.599, 416.581}, {92, 28}} + {{419.59899999999999, 416.58100000000002}, {92, 28}} Class ShapedGraphic FitText @@ -3350,8 +3148,6 @@ updates Model} Resize ID 42 - Shape - Rectangle Style fill @@ -3373,24 +3169,24 @@ updates Model} Text Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs24 \cf0 Change to Model\ updates View} VerticalPad - 0 + 0.0 Wrap NO Bounds - {{360.813, 343.888}, {54.6204, 159.326}} + {{360.81299999999999, 343.88799999999998}, {54.620399999999997, 159.32599999999999}} Class ShapedGraphic HFlip @@ -3403,33 +3199,33 @@ updates View} UnitPoints - {0.397684, -0.443513} - {-0.462807, -0.437242} - {-0.316327, -0.311715} + {0.39768399999999998, -0.44351299999999999} + {-0.46280700000000002, -0.43724200000000002} + {-0.31632700000000002, -0.31171500000000002} {-0.334644, -0.0167227} - {-0.352948, 0.278274} - {-0.371882, 0.38703} - {0.263908, 0.387019} - {0.263908, 0.387019} - {0.263908, 0.330536} - {0.263908, 0.330536} - {0.263908, 0.330536} - {0.5, 0.412133} - {0.5, 0.412133} - {0.5, 0.412133} - {0.243683, 0.5} - {0.243683, 0.5} - {0.243683, 0.5} - {0.243683, 0.443511} - {0.243683, 0.443511} - {-0.374941, 0.443511} - {-0.5102, 0.345263} - {-0.49942, -0.0167215} - {-0.488657, -0.378697} - {-0.444334, -0.5} - {0.397684, -0.5} - {0.397684, -0.5} - {0.397684, -0.443513} + {-0.35294799999999998, 0.27827400000000002} + {-0.37188199999999999, 0.38702999999999999} + {0.26390799999999998, 0.387019} + {0.26390799999999998, 0.387019} + {0.26390799999999998, 0.330536} + {0.26390799999999998, 0.330536} + {0.26390799999999998, 0.330536} + {0.5, 0.41213300000000003} + {0.5, 0.41213300000000003} + {0.5, 0.41213300000000003} + {0.24368300000000001, 0.5} + {0.24368300000000001, 0.5} + {0.24368300000000001, 0.5} + {0.24368300000000001, 0.44351099999999999} + {0.24368300000000001, 0.44351099999999999} + {-0.37494100000000002, 0.44351099999999999} + {-0.51019999999999999, 0.34526299999999999} + {-0.49941999999999998, -0.0167215} + {-0.48865700000000001, -0.37869700000000001} + {-0.44433400000000001, -0.5} + {0.39768399999999998, -0.5} + {0.39768399999999998, -0.5} + {0.39768399999999998, -0.44351299999999999} Style @@ -3439,11 +3235,11 @@ updates View} Color b - 0.86276 + 0.86275999999999997 g - 0.86276 + 0.86275999999999997 r - 0.86276 + 0.86275999999999997 @@ -3452,7 +3248,7 @@ updates View} Bounds - {{152.401, 351.215}, {61.0002, 159.866}} + {{152.40100000000001, 351.21499999999997}, {61.0002, 159.86600000000001}} Class ShapedGraphic ID @@ -3463,33 +3259,33 @@ updates View} UnitPoints - {0.401639, -0.443704} - {-0.368852, -0.43745} - {-0.336055, -0.281072} - {-0.352457, 0.0129294} - {-0.368851, 0.30692} - {-0.280703, 0.387415} - {0.288608, 0.387408} - {0.288608, 0.387408} - {0.288608, 0.33111} - {0.288608, 0.33111} - {0.288608, 0.33111} - {0.5, 0.412432} - {0.5, 0.412432} - {0.5, 0.412432} - {0.270492, 0.5} - {0.270492, 0.5} - {0.270492, 0.5} - {0.270492, 0.443705} - {0.270492, 0.443705} - {-0.283441, 0.443705} - {-0.5, 0.382829} + {0.40163900000000002, -0.44370399999999999} + {-0.36885200000000001, -0.43745000000000001} + {-0.33605499999999999, -0.28107199999999999} + {-0.35245700000000002, 0.012929400000000001} + {-0.36885099999999998, 0.30692000000000003} + {-0.28070299999999998, 0.38741500000000001} + {0.28860799999999998, 0.38740799999999997} + {0.28860799999999998, 0.38740799999999997} + {0.28860799999999998, 0.33111000000000002} + {0.28860799999999998, 0.33111000000000002} + {0.28860799999999998, 0.33111000000000002} + {0.5, 0.41243200000000002} + {0.5, 0.41243200000000002} + {0.5, 0.41243200000000002} + {0.27049200000000001, 0.5} + {0.27049200000000001, 0.5} + {0.27049200000000001, 0.5} + {0.27049200000000001, 0.44370500000000002} + {0.27049200000000001, 0.44370500000000002} + {-0.283441, 0.44370500000000002} + {-0.5, 0.38282899999999997} {-0.5, 0.0129306} - {-0.500018, -0.356965} + {-0.50001799999999996, -0.35696499999999998} {-0.352321, -0.5} {0.40164, -0.5} {0.40164, -0.5} - {0.401639, -0.443704} + {0.40163900000000002, -0.44370399999999999} Style @@ -3499,24 +3295,22 @@ updates View} Color b - 0.86276 + 0.86275999999999997 g - 0.86276 + 0.86275999999999997 r - 0.86276 + 0.86275999999999997 Bounds - {{171.085, 400.87}, {226.831, 59.4215}} + {{171.08500000000001, 400.87}, {226.83099999999999, 59.421500000000002}} Class ShapedGraphic ID 37 - Shape - Rectangle Style fill @@ -3524,11 +3318,11 @@ updates View} Color b - 0.901961 + 0.90196100000000001 g - 0.901961 + 0.90196100000000001 r - 0.901961 + 0.90196100000000001 shadow @@ -3547,12 +3341,12 @@ updates View} Text Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs28 \cf0 Continuous Updates\ Model is Single-Source-of-Truth} @@ -3560,13 +3354,11 @@ Model is Single-Source-of-Truth} Bounds - {{208.188, 334.866}, {152.625, 40.2247}} + {{208.18799999999999, 334.86599999999999}, {152.625, 40.224699999999999}} Class ShapedGraphic ID 30 - Shape - Rectangle Style fill @@ -3574,11 +3366,11 @@ Model is Single-Source-of-Truth} Color b - 0.494377 + 0.49437700000000001 g - 0.778576 + 0.77857600000000005 r - 0.492882 + 0.49288199999999999 shadow @@ -3595,25 +3387,23 @@ Model is Single-Source-of-Truth} Text Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs48 \cf0 View} Bounds - {{213.089, 479.081}, {152.625, 37.0536}} + {{213.089, 479.08100000000002}, {152.625, 37.053600000000003}} Class ShapedGraphic ID 36 - Shape - Rectangle Style fill @@ -3621,11 +3411,11 @@ Model is Single-Source-of-Truth} Color b - 0.776013 + 0.77601299999999995 g - 0.532738 + 0.53273800000000004 r - 0 + 0.0 shadow @@ -3642,23 +3432,21 @@ Model is Single-Source-of-Truth} Text Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs48 \cf0 Model} Bounds - {{208.188, 248.43}, {152.625, 40.2247}} + {{208.18799999999999, 248.43000000000001}, {152.625, 40.224699999999999}} Class ShapedGraphic ID 35 - Shape - Rectangle Style fill @@ -3666,11 +3454,11 @@ Model is Single-Source-of-Truth} Color b - 0.395087 + 0.39508700000000002 g - 0.360479 + 0.36047899999999999 r - 1 + 1 shadow @@ -3687,12 +3475,12 @@ Model is Single-Source-of-Truth} Text Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs48 \cf0 Template} @@ -3708,8 +3496,6 @@ Model is Single-Source-of-Truth} Resize ID 10 - Shape - Rectangle Style fill @@ -3731,16 +3517,16 @@ Model is Single-Source-of-Truth} Text Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs60 \cf0 Two-Way Data Binding} VerticalPad - 0 + 0.0 Wrap NO @@ -3752,8 +3538,6 @@ Model is Single-Source-of-Truth} ShapedGraphic ID 48 - Shape - Rectangle Style stroke @@ -3793,6 +3577,8 @@ Model is Single-Source-of-Truth} 0.0 layoutEngine dot + neatoLineLength + 0.20000000298023224 neatoSeparation 0.0 twopiSeparation @@ -3828,19 +3614,6 @@ Model is Single-Source-of-Truth} 2 Style - fill - - GradientColor - - w - 0.666667 - - - shadow - - Draws - NO - stroke Draws @@ -3848,6 +3621,8 @@ Model is Single-Source-of-Truth} + BaseZoom + 0 CanvasOrigin {0, 0} ColumnAlign @@ -3855,12 +3630,12 @@ Model is Single-Source-of-Truth} ColumnSpacing 36 DisplayScale - 1 0/72 in = 1.0000 in + 1 in = 1.00000 in GraphicsList Bounds - {{375.479, 159}, {149.043, 522}} + {{375.47899999999998, 159}, {149.04300000000001, 522}} Class ShapedGraphic FontInfo @@ -3874,8 +3649,6 @@ Model is Single-Source-of-Truth} 23 Layer 0 - Shape - Rectangle Style fill @@ -3896,10 +3669,10 @@ Model is Single-Source-of-Truth} Align 0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\b\fs28 \cf0 Receive \b0 \ @@ -3910,7 +3683,7 @@ Model is Single-Source-of-Truth} Bounds - {{133, 159}, {84.0215, 522}} + {{133, 159}, {84.021500000000003, 522}} Class ShapedGraphic FontInfo @@ -3924,8 +3697,6 @@ Model is Single-Source-of-Truth} 21 Layer 0 - Shape - Rectangle Style fill @@ -3946,10 +3717,10 @@ Model is Single-Source-of-Truth} Align 0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\b\fs28 \cf0 URL \b0 \ @@ -3960,7 +3731,7 @@ Model is Single-Source-of-Truth} Bounds - {{71.7928, 159}, {55.9785, 522}} + {{71.7928, 159}, {55.978499999999997, 522}} Class ShapedGraphic FontInfo @@ -3974,8 +3745,6 @@ Model is Single-Source-of-Truth} 10 Layer 0 - Shape - Rectangle Style fill @@ -3996,10 +3765,10 @@ Model is Single-Source-of-Truth} Align 0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\b\fs28 \cf0 Verb \b0 \ @@ -4010,7 +3779,7 @@ Model is Single-Source-of-Truth} Bounds - {{222.521, 159}, {149.043, 522}} + {{222.52099999999999, 159}, {149.04300000000001, 522}} Class ShapedGraphic FontInfo @@ -4024,8 +3793,6 @@ Model is Single-Source-of-Truth} 20 Layer 0 - Shape - Rectangle Style fill @@ -4046,10 +3813,10 @@ Model is Single-Source-of-Truth} Align 0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\b\fs28 \cf0 Send \b0 \ @@ -4060,7 +3827,7 @@ Model is Single-Source-of-Truth} Bounds - {{75.9893, 604.629}, {51.5434, 17}} + {{75.9893, 604.62900000000002}, {51.543399999999998, 17}} Class ShapedGraphic FitText @@ -4078,8 +3845,6 @@ Model is Single-Source-of-Truth} 47 Layer 1 - Shape - Rectangle Style fill @@ -4103,21 +3868,21 @@ Model is Single-Source-of-Truth} Align 0 Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fmodern\fcharset0 Courier;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\fs28 \cf0 DELETE} VerticalPad - 0 + 0.0 Bounds - {{138.021, 604.629}, {76, 17}} + {{138.02099999999999, 604.62900000000002}, {76, 17}} Class ShapedGraphic FitText @@ -4135,8 +3900,6 @@ Model is Single-Source-of-Truth} 46 Layer 1 - Shape - Rectangle Style fill @@ -4160,23 +3923,23 @@ Model is Single-Source-of-Truth} Align 0 Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fmodern\fcharset0 Courier;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\fs28 \cf0 /Book/456} VerticalPad - 0 + 0.0 Wrap NO Bounds - {{378.728, 512.322}, {135, 34}} + {{378.72800000000001, 512.322}, {135, 34}} Class ShapedGraphic FitText @@ -4194,8 +3957,6 @@ Model is Single-Source-of-Truth} 45 Layer 1 - Shape - Rectangle Style fill @@ -4219,24 +3980,24 @@ Model is Single-Source-of-Truth} Align 0 Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fmodern\fcharset0 Courier;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\fs28 \cf0 \{ id:456,\ name:'Catch' \}} VerticalPad - 0 + 0.0 Wrap NO Bounds - {{227.814, 512.322}, {135, 34}} + {{227.81399999999999, 512.322}, {135, 34}} Class ShapedGraphic FitText @@ -4247,8 +4008,6 @@ Model is Single-Source-of-Truth} 44 Layer 1 - Shape - Rectangle Style fill @@ -4272,17 +4031,17 @@ Model is Single-Source-of-Truth} Align 0 Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fmodern\fcharset0 Courier;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\fs28 \cf0 \{ id: 456,\ name:'Catch' \}} VerticalPad - 0 + 0.0 Wrap NO @@ -4307,8 +4066,6 @@ Model is Single-Source-of-Truth} 43 Layer 1 - Shape - Rectangle Style fill @@ -4332,23 +4089,23 @@ Model is Single-Source-of-Truth} Align 0 Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fmodern\fcharset0 Courier;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\fs28 \cf0 POST} VerticalPad - 0 + 0.0 Wrap NO Bounds - {{138.021, 512.322}, {76, 17}} + {{138.02099999999999, 512.322}, {76, 17}} Class ShapedGraphic FitText @@ -4366,8 +4123,6 @@ Model is Single-Source-of-Truth} 42 Layer 1 - Shape - Rectangle Style fill @@ -4391,23 +4146,23 @@ Model is Single-Source-of-Truth} Align 0 Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fmodern\fcharset0 Courier;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\fs28 \cf0 /Book/456} VerticalPad - 0 + 0.0 Wrap NO Bounds - {{378.728, 405.064}, {152, 85}} + {{378.72800000000001, 405.06400000000002}, {152, 85}} Class ShapedGraphic FitText @@ -4425,8 +4180,6 @@ Model is Single-Source-of-Truth} 41 Layer 1 - Shape - Rectangle Style fill @@ -4450,12 +4203,12 @@ Model is Single-Source-of-Truth} Align 0 Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fmodern\fcharset0 Courier;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\fs28 \cf0 [ \{ id:123,\ name:'Moby' \},\ @@ -4463,14 +4216,14 @@ Model is Single-Source-of-Truth} name:'Rye' \}\ ]} VerticalPad - 0 + 0.0 Wrap NO Bounds - {{75.9893, 405.064}, {26, 17}} + {{75.9893, 405.06400000000002}, {26, 17}} Class ShapedGraphic FitText @@ -4488,8 +4241,6 @@ Model is Single-Source-of-Truth} 40 Layer 1 - Shape - Rectangle Style fill @@ -4513,23 +4264,23 @@ Model is Single-Source-of-Truth} Align 0 Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fmodern\fcharset0 Courier;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\fs28 \cf0 GET} VerticalPad - 0 + 0.0 Wrap NO Bounds - {{138.021, 405.064}, {43, 17}} + {{138.02099999999999, 405.06400000000002}, {43, 17}} Class ShapedGraphic FitText @@ -4547,8 +4298,6 @@ Model is Single-Source-of-Truth} 39 Layer 1 - Shape - Rectangle Style fill @@ -4572,23 +4321,23 @@ Model is Single-Source-of-Truth} Align 0 Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fmodern\fcharset0 Courier;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\fs28 \cf0 /Book} VerticalPad - 0 + 0.0 Wrap NO Bounds - {{378.728, 352.435}, {143, 34}} + {{378.72800000000001, 352.435}, {143, 34}} Class ShapedGraphic FitText @@ -4606,8 +4355,6 @@ Model is Single-Source-of-Truth} 38 Layer 1 - Shape - Rectangle Style fill @@ -4631,17 +4378,17 @@ Model is Single-Source-of-Truth} Align 0 Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fmodern\fcharset0 Courier;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\fs28 \cf0 \{ id:456,\ name:'Gatsby' \}} VerticalPad - 0 + 0.0 Wrap NO @@ -4666,8 +4413,6 @@ Model is Single-Source-of-Truth} 37 Layer 1 - Shape - Rectangle Style fill @@ -4691,23 +4436,23 @@ Model is Single-Source-of-Truth} Align 0 Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fmodern\fcharset0 Courier;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\fs28 \cf0 GET} VerticalPad - 0 + 0.0 Wrap NO Bounds - {{138.021, 352.435}, {76, 17}} + {{138.02099999999999, 352.435}, {76, 17}} Class ShapedGraphic FitText @@ -4725,8 +4470,6 @@ Model is Single-Source-of-Truth} 36 Layer 1 - Shape - Rectangle Style fill @@ -4750,23 +4493,23 @@ Model is Single-Source-of-Truth} Align 0 Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fmodern\fcharset0 Courier;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\fs28 \cf0 /Book/456} VerticalPad - 0 + 0.0 Wrap NO Bounds - {{378.728, 298.307}, {127, 34}} + {{378.72800000000001, 298.30700000000002}, {127, 34}} Class ShapedGraphic FitText @@ -4784,8 +4527,6 @@ Model is Single-Source-of-Truth} 35 Layer 1 - Shape - Rectangle Style fill @@ -4809,24 +4550,24 @@ Model is Single-Source-of-Truth} Align 0 Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fmodern\fcharset0 Courier;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\fs28 \cf0 \{ id:123,\ name:'Moby' \}} VerticalPad - 0 + 0.0 Wrap NO Bounds - {{75.9893, 298.307}, {26, 17}} + {{75.9893, 298.30700000000002}, {26, 17}} Class ShapedGraphic FitText @@ -4844,8 +4585,6 @@ Model is Single-Source-of-Truth} 33 Layer 1 - Shape - Rectangle Style fill @@ -4869,23 +4608,23 @@ Model is Single-Source-of-Truth} Align 0 Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fmodern\fcharset0 Courier;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\fs28 \cf0 GET} VerticalPad - 0 + 0.0 Wrap NO Bounds - {{138.021, 298.307}, {76, 17}} + {{138.02099999999999, 298.30700000000002}, {76, 17}} Class ShapedGraphic FitText @@ -4903,8 +4642,6 @@ Model is Single-Source-of-Truth} 32 Layer 1 - Shape - Rectangle Style fill @@ -4928,23 +4665,23 @@ Model is Single-Source-of-Truth} Align 0 Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fmodern\fcharset0 Courier;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\fs28 \cf0 /Book/123} VerticalPad - 0 + 0.0 Wrap NO Bounds - {{378.728, 241.065}, {118, 34}} + {{378.72800000000001, 241.065}, {118, 34}} Class ShapedGraphic FitText @@ -4962,8 +4699,6 @@ Model is Single-Source-of-Truth} 28 Layer 1 - Shape - Rectangle Style fill @@ -4987,24 +4722,24 @@ Model is Single-Source-of-Truth} Align 0 Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fmodern\fcharset0 Courier;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\fs28 \cf0 \{ id:456,\ name:'Rye' \}} VerticalPad - 0 + 0.0 Wrap NO Bounds - {{227.271, 241.065}, {135, 17}} + {{227.27099999999999, 241.065}, {135, 17}} Class ShapedGraphic FitText @@ -5015,8 +4750,6 @@ Model is Single-Source-of-Truth} 27 Layer 1 - Shape - Rectangle Style fill @@ -5040,16 +4773,16 @@ Model is Single-Source-of-Truth} Align 0 Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fmodern\fcharset0 Courier;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\fs28 \cf0 \{ name:'Gatsby'\}} VerticalPad - 0 + 0.0 Wrap NO @@ -5074,8 +4807,6 @@ Model is Single-Source-of-Truth} 26 Layer 1 - Shape - Rectangle Style fill @@ -5099,23 +4830,23 @@ Model is Single-Source-of-Truth} Align 0 Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fmodern\fcharset0 Courier;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\fs28 \cf0 POST} VerticalPad - 0 + 0.0 Wrap NO Bounds - {{138.021, 241.065}, {43, 17}} + {{138.02099999999999, 241.065}, {43, 17}} Class ShapedGraphic FitText @@ -5133,8 +4864,6 @@ Model is Single-Source-of-Truth} 25 Layer 1 - Shape - Rectangle Style fill @@ -5158,23 +4887,23 @@ Model is Single-Source-of-Truth} Align 0 Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fmodern\fcharset0 Courier;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\fs28 \cf0 /Book} VerticalPad - 0 + 0.0 Wrap NO Bounds - {{378.728, 186.403}, {127, 34}} + {{378.72800000000001, 186.40299999999999}, {127, 34}} Class ShapedGraphic FitText @@ -5192,8 +4921,6 @@ Model is Single-Source-of-Truth} 24 Layer 1 - Shape - Rectangle Style fill @@ -5217,24 +4944,24 @@ Model is Single-Source-of-Truth} Align 0 Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fmodern\fcharset0 Courier;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\fs28 \cf0 \{ id:123,\ name:'Moby' \}} VerticalPad - 0 + 0.0 Wrap NO Bounds - {{227.5, 186.403}, {127, 17}} + {{227.5, 186.40299999999999}, {127, 17}} Class ShapedGraphic FitText @@ -5245,8 +4972,6 @@ Model is Single-Source-of-Truth} 22 Layer 1 - Shape - Rectangle Style fill @@ -5270,23 +4995,23 @@ Model is Single-Source-of-Truth} Align 0 Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fmodern\fcharset0 Courier;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\fs28 \cf0 \{ name:'Moby' \}} VerticalPad - 0 + 0.0 Wrap NO Bounds - {{75.9893, 186.403}, {34, 17}} + {{75.9893, 186.40299999999999}, {34, 17}} Class ShapedGraphic FitText @@ -5304,8 +5029,6 @@ Model is Single-Source-of-Truth} 19 Layer 1 - Shape - Rectangle Style fill @@ -5329,23 +5052,23 @@ Model is Single-Source-of-Truth} Align 0 Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fmodern\fcharset0 Courier;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\fs28 \cf0 POST} VerticalPad - 0 + 0.0 Wrap NO Bounds - {{138.021, 186.403}, {43, 17}} + {{138.02099999999999, 186.40299999999999}, {43, 17}} Class ShapedGraphic FitText @@ -5363,8 +5086,6 @@ Model is Single-Source-of-Truth} 6 Layer 1 - Shape - Rectangle Style fill @@ -5388,16 +5109,16 @@ Model is Single-Source-of-Truth} Align 0 Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fmodern\fcharset0 Courier;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\fs28 \cf0 /Book} VerticalPad - 0 + 0.0 Wrap NO @@ -5415,8 +5136,6 @@ Model is Single-Source-of-Truth} 4 Layer 1 - Shape - Rectangle Style fill @@ -5438,13 +5157,13 @@ Model is Single-Source-of-Truth} Text Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fmodern\fcharset0 Courier;\f1\fmodern\fcharset0 Courier-BoldOblique;\f2\fmodern\fcharset0 Courier-Oblique; } {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs48 \cf0 http://server/data/ \f1\i\b Collection @@ -5452,7 +5171,7 @@ Model is Single-Source-of-Truth} \f1\b /ID \f2\b0 ]} VerticalPad - 0 + 0.0 Wrap NO @@ -5470,8 +5189,6 @@ Model is Single-Source-of-Truth} 3 Layer 1 - Shape - Rectangle Style fill @@ -5493,23 +5210,23 @@ Model is Single-Source-of-Truth} Text Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs60 \cf0 RESTful URLs} VerticalPad - 0 + 0.0 Wrap NO Bounds - {{240.383, -14.4874}, {97, 498.233}} + {{240.38300000000001, -14.487399999999999}, {97, 498.233}} Class ShapedGraphic ID @@ -5518,8 +5235,6 @@ Model is Single-Source-of-Truth} 1 Rotation 270 - Shape - Rectangle Style fill @@ -5527,11 +5242,11 @@ Model is Single-Source-of-Truth} Color b - 0.597299 + 0.59729900000000002 g - 0.578759 + 0.57875900000000002 r - 1 + 1 shadow @@ -5550,10 +5265,10 @@ Model is Single-Source-of-Truth} Align 2 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qr\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qr\partightenfactor0 \f0\b\fs36 \cf0 Create} @@ -5562,7 +5277,7 @@ Model is Single-Source-of-Truth} Bounds - {{254.319, 384.448}, {69.1293, 498.233}} + {{254.31899999999999, 384.44799999999998}, {69.129300000000001, 498.233}} Class ShapedGraphic ID @@ -5571,8 +5286,6 @@ Model is Single-Source-of-Truth} 1 Rotation 270 - Shape - Rectangle Style fill @@ -5580,11 +5293,11 @@ Model is Single-Source-of-Truth} Color b - 0.597299 + 0.59729900000000002 g - 0.578759 + 0.57875900000000002 r - 1 + 1 shadow @@ -5603,10 +5316,10 @@ Model is Single-Source-of-Truth} Align 2 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qr\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qr\partightenfactor0 \f0\b\fs36 \cf0 Delete} @@ -5615,7 +5328,7 @@ Model is Single-Source-of-Truth} Bounds - {{250.883, 297.98}, {76, 498.233}} + {{250.88300000000001, 297.98000000000002}, {76, 498.233}} Class ShapedGraphic ID @@ -5624,8 +5337,6 @@ Model is Single-Source-of-Truth} 1 Rotation 270 - Shape - Rectangle Style fill @@ -5633,11 +5344,11 @@ Model is Single-Source-of-Truth} Color b - 0.909743 + 0.90974299999999997 g - 0.779721 + 0.779721 r - 0.555337 + 0.55533699999999997 shadow @@ -5656,10 +5367,10 @@ Model is Single-Source-of-Truth} Align 2 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qr\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qr\partightenfactor0 \f0\b\fs36 \cf0 Update} @@ -5668,7 +5379,7 @@ Model is Single-Source-of-Truth} Bounds - {{186.23, 146.996}, {201.774, 498.233}} + {{186.22999999999999, 146.99600000000001}, {201.774, 498.233}} Class ShapedGraphic ID @@ -5677,8 +5388,6 @@ Model is Single-Source-of-Truth} 1 Rotation 270 - Shape - Rectangle Style fill @@ -5686,11 +5395,11 @@ Model is Single-Source-of-Truth} Color b - 0.661341 + 0.66134099999999996 g - 0.850156 + 0.85015600000000002 r - 0.662013 + 0.66201299999999996 shadow @@ -5709,10 +5418,10 @@ Model is Single-Source-of-Truth} Align 2 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qr\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qr\partightenfactor0 \f0\b\fs36 \cf0 Read} @@ -5759,6 +5468,8 @@ Model is Single-Source-of-Truth} 0.0 layoutEngine dot + neatoLineLength + 0.20000000298023224 neatoSeparation 0.0 twopiSeparation @@ -5794,19 +5505,6 @@ Model is Single-Source-of-Truth} 2 Style - fill - - GradientColor - - w - 0.666667 - - - shadow - - Draws - NO - stroke Draws @@ -5814,6 +5512,8 @@ Model is Single-Source-of-Truth} + BaseZoom + 0 CanvasOrigin {0, 0} ColumnAlign @@ -5821,7 +5521,7 @@ Model is Single-Source-of-Truth} ColumnSpacing 36 DisplayScale - 1 0/72 in = 1.0000 in + 1 in = 1.00000 in GraphicsList @@ -5835,8 +5535,6 @@ Model is Single-Source-of-Truth} Resize ID 29 - Shape - Rectangle Style fill @@ -5858,29 +5556,27 @@ Model is Single-Source-of-Truth} Text Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fnil\fcharset0 HelveticaNeue-CondensedBlack;\f1\fnil\fcharset0 HelveticaNeue-UltraLight;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\b\fs36 \cf0 HTTP RESTful URL\ JSON \f1\b0 / XML / PROTO} VerticalPad - 0 + 0.0 Bounds - {{268, 275.746}, {206.125, 37.0536}} + {{268, 275.74599999999998}, {206.125, 37.053600000000003}} Class ShapedGraphic ID 9 - Shape - Rectangle Style fill @@ -5888,11 +5584,11 @@ JSON Color b - 0.952972 + 0.95297200000000004 g - 0.890059 + 0.89005900000000004 r - 0.780545 + 0.78054500000000004 shadow @@ -5911,23 +5607,21 @@ JSON Text Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs48 \cf0 ACL} Bounds - {{268, 321.29}, {206.125, 37.0536}} + {{268, 321.29000000000002}, {206.125, 37.053600000000003}} Class ShapedGraphic ID 7 - Shape - Rectangle Style fill @@ -5935,11 +5629,11 @@ JSON Color b - 0.776013 + 0.77601299999999995 g - 0.532738 + 0.53273800000000004 r - 0 + 0.0 shadow @@ -5956,23 +5650,21 @@ JSON Text Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs48 \cf0 Mapper} Bounds - {{268, 230.201}, {206.125, 37.0536}} + {{268, 230.20099999999999}, {206.125, 37.053600000000003}} Class ShapedGraphic ID 6 - Shape - Rectangle Style fill @@ -5980,11 +5672,11 @@ JSON Color b - 0.776013 + 0.77601299999999995 g - 0.532738 + 0.53273800000000004 r - 0 + 0.0 shadow @@ -6001,23 +5693,21 @@ JSON Text Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs48 \cf0 URL Router} Bounds - {{268, 184.656}, {206.125, 37.0536}} + {{268, 184.65600000000001}, {206.125, 37.053600000000003}} Class ShapedGraphic ID 5 - Shape - Rectangle Style fill @@ -6025,11 +5715,11 @@ JSON Color b - 0.776013 + 0.77601299999999995 g - 0.532738 + 0.53273800000000004 r - 0 + 0.0 shadow @@ -6046,10 +5736,10 @@ JSON Text Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs48 \cf0 Serializer} @@ -6065,8 +5755,6 @@ JSON Resize ID 28 - Shape - Rectangle Style fill @@ -6090,29 +5778,27 @@ JSON Align 0 Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fmodern\fcharset0 Courier;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\fs28 \cf0 (CRUD+verbs)} VerticalPad - 0 + 0.0 Wrap NO Bounds - {{145.75, 589.471}, {88.5, 29.5287}} + {{145.75, 589.471}, {88.5, 29.528700000000001}} Class ShapedGraphic ID 27 - Shape - Rectangle Style fill @@ -6120,11 +5806,11 @@ JSON Color b - 0.803922 + 0.80392200000000003 g - 0.893111 + 0.89311099999999999 r - 1 + 1 shadow @@ -6143,23 +5829,21 @@ JSON Text Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs28 \cf0 ???} Bounds - {{145.75, 552.393}, {88.5, 29.5287}} + {{145.75, 552.39300000000003}, {88.5, 29.528700000000001}} Class ShapedGraphic ID 26 - Shape - Rectangle Style fill @@ -6167,11 +5851,11 @@ JSON Color b - 0.803922 + 0.80392200000000003 g - 0.893111 + 0.89311099999999999 r - 1 + 1 shadow @@ -6190,23 +5874,21 @@ JSON Text Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs28 \cf0 JavaScript} Bounds - {{145.75, 515.316}, {88.5, 29.5287}} + {{145.75, 515.31600000000003}, {88.5, 29.528700000000001}} Class ShapedGraphic ID 25 - Shape - Rectangle Style fill @@ -6214,11 +5896,11 @@ JSON Color b - 0.217426 + 0.21742600000000001 g - 0.546502 + 0.54650200000000004 r - 1 + 1 shadow @@ -6235,10 +5917,10 @@ JSON Text Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs28 \cf0 Java} @@ -6254,8 +5936,6 @@ JSON Resize ID 17 - Shape - Rectangle Style fill @@ -6279,31 +5959,29 @@ JSON Align 0 Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fmodern\fcharset0 Courier;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\fs28 \cf0 (CRUD)} VerticalPad - 0 + 0.0 Wrap NO Bounds - {{376.237, 531.888}, {134, 40.2247}} + {{376.23700000000002, 531.88800000000003}, {134, 40.224699999999999}} Class ShapedGraphic ID 16 Rotation 270 - Shape - Rectangle Style fill @@ -6311,11 +5989,11 @@ JSON Color b - 0.798825 + 0.79882500000000001 g - 0.790722 + 0.79072200000000004 r - 1 + 1 shadow @@ -6334,27 +6012,25 @@ JSON Text Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs48 \cf0 ???} Bounds - {{280.652, 531.888}, {134, 40.2247}} + {{280.65199999999999, 531.88800000000003}, {134, 40.224699999999999}} Class ShapedGraphic ID 14 Rotation 270 - Shape - Rectangle Style fill @@ -6362,11 +6038,11 @@ JSON Color b - 0.395087 + 0.39508700000000002 g - 0.360479 + 0.36047899999999999 r - 1 + 1 shadow @@ -6383,27 +6059,25 @@ JSON Text Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs48 \cf0 Buganizer} Bounds - {{328.445, 531.888}, {134, 40.2247}} + {{328.44499999999999, 531.88800000000003}, {134, 40.224699999999999}} Class ShapedGraphic ID 13 Rotation 270 - Shape - Rectangle Style fill @@ -6411,11 +6085,11 @@ JSON Color b - 0.798825 + 0.79882500000000001 g - 0.790722 + 0.79072200000000004 r - 1 + 1 shadow @@ -6434,27 +6108,25 @@ JSON Text Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs48 \cf0 BigTable} Bounds - {{233.371, 531.888}, {134, 40.2247}} + {{233.37100000000001, 531.88800000000003}, {134, 40.224699999999999}} Class ShapedGraphic ID 12 Rotation 270 - Shape - Rectangle Style fill @@ -6462,11 +6134,11 @@ JSON Color b - 0.395087 + 0.39508700000000002 g - 0.360479 + 0.36047899999999999 r - 1 + 1 shadow @@ -6483,12 +6155,12 @@ JSON Text Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs48 \cf0 MegaStore} @@ -6500,8 +6172,6 @@ JSON ShapedGraphic ID 15 - Shape - Rectangle Style fill @@ -6509,11 +6179,11 @@ JSON Color b - 0.494377 + 0.49437700000000001 g - 0.778576 + 0.77857600000000005 r - 0.492882 + 0.49288199999999999 shadow @@ -6532,10 +6202,10 @@ JSON Align 0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\fs48 \cf0 Repository} @@ -6549,8 +6219,6 @@ JSON ShapedGraphic ID 11 - Shape - Rectangle Style fill @@ -6558,11 +6226,11 @@ JSON Color b - 0.494377 + 0.49437700000000001 g - 0.778576 + 0.77857600000000005 r - 0.492882 + 0.49288199999999999 shadow @@ -6581,12 +6249,12 @@ JSON Align 0 Pad - 10 + 10 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\fs48 \cf0 Custom} @@ -6604,8 +6272,6 @@ JSON Resize ID 3 - Shape - Rectangle Style fill @@ -6627,16 +6293,16 @@ JSON Text Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs60 \cf0 RESTy: Declarative Data Storage} VerticalPad - 0 + 0.0 Wrap NO @@ -6648,8 +6314,6 @@ JSON ShapedGraphic ID 10 - Shape - Rectangle Style fill @@ -6670,10 +6334,10 @@ JSON Align 2 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qr\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qr\partightenfactor0 \f0\fs48 \cf0 Declarative} @@ -6682,7 +6346,7 @@ JSON Bounds - {{46.0001, 135}, {380, 278}} + {{46.000100000000003, 135}, {380, 278}} Class ShapedGraphic ID @@ -6693,42 +6357,42 @@ JSON UnitPoints - {-0.5, -0.356114} - {-0.5, -0.356114} - {-0.407897, -0.5} - {-0.407896, -0.5} - {-0.407897, -0.5} - {-0.407896, -0.43525} - {-0.407896, -0.43525} - {0.142105, -0.428057} - {0.197365, -0.464023} - {0.344737, -0.356114} - {0.492106, -0.248202} - {0.452631, -0.0251794} - {0.452631, 0.363309} - {0.452631, 0.363309} - {0.5, 0.363309} - {0.5, 0.363309} - {0.5, 0.363309} - {0.371053, 0.5} - {0.371053, 0.5} - {0.371053, 0.5} - {0.255264, 0.366911} - {0.255264, 0.366911} - {0.255264, 0.366911} - {0.302633, 0.366921} - {0.302633, 0.366921} - {0.302633, -0.0215823} - {0.32105, -0.125901} - {0.260526, -0.208633} - {0.199998, -0.29137} - {0.0605264, -0.276978} - {-0.402632, -0.27338} - {-0.402632, -0.27338} - {-0.402632, -0.208632} - {-0.402632, -0.208632} - {-0.40263, -0.208633} - {-0.5, -0.356109} + {-0.5, -0.35611399999999999} + {-0.5, -0.35611399999999999} + {-0.40789700000000001, -0.5} + {-0.40789599999999998, -0.5} + {-0.40789700000000001, -0.5} + {-0.40789599999999998, -0.43525000000000003} + {-0.40789599999999998, -0.43525000000000003} + {0.14210500000000001, -0.42805700000000002} + {0.19736500000000001, -0.46402300000000002} + {0.34473700000000002, -0.35611399999999999} + {0.49210599999999999, -0.24820200000000001} + {0.45263100000000001, -0.025179400000000001} + {0.45263100000000001, 0.36330899999999999} + {0.45263100000000001, 0.36330899999999999} + {0.5, 0.36330899999999999} + {0.5, 0.36330899999999999} + {0.5, 0.36330899999999999} + {0.37105300000000002, 0.5} + {0.37105300000000002, 0.5} + {0.37105300000000002, 0.5} + {0.25526399999999999, 0.36691099999999999} + {0.25526399999999999, 0.36691099999999999} + {0.25526399999999999, 0.36691099999999999} + {0.30263299999999999, 0.366921} + {0.30263299999999999, 0.366921} + {0.30263299999999999, -0.021582299999999999} + {0.32105, -0.12590100000000001} + {0.26052599999999998, -0.20863300000000001} + {0.19999800000000001, -0.29137000000000002} + {0.060526400000000001, -0.276978} + {-0.40263199999999999, -0.27338000000000001} + {-0.40263199999999999, -0.27338000000000001} + {-0.40263199999999999, -0.20863200000000001} + {-0.40263199999999999, -0.20863200000000001} + {-0.40262999999999999, -0.20863300000000001} + {-0.5, -0.35610900000000001} Style @@ -6738,24 +6402,22 @@ JSON Color b - 0.800015 + 0.80001500000000003 g - 0.800015 + 0.80001500000000003 r - 0.800015 + 0.80001500000000003 Bounds - {{123, 399}, {374.5, 258.999}} + {{123, 399}, {374.5, 258.99900000000002}} Class ShapedGraphic ID 8 - Shape - Rectangle Style fill @@ -6763,11 +6425,11 @@ JSON Color b - 0.494377 + 0.49437700000000001 g - 0.778576 + 0.77857600000000005 r - 0.492882 + 0.49288199999999999 Draws NO @@ -6790,10 +6452,10 @@ JSON Align 0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\fs48 \cf0 Resources} @@ -6807,8 +6469,6 @@ JSON ShapedGraphic ID 4 - Shape - Rectangle Style fill @@ -6816,11 +6476,11 @@ JSON Color b - 0.800748 + 0.80074800000000002 g - 0.946502 + 0.94650199999999995 r - 1 + 1 stroke @@ -6860,6 +6520,8 @@ JSON 0.0 layoutEngine dot + neatoLineLength + 0.20000000298023224 neatoSeparation 0.0 twopiSeparation @@ -6895,19 +6557,6 @@ JSON 2 Style - fill - - GradientColor - - w - 0.666667 - - - shadow - - Draws - NO - stroke Draws @@ -6915,6 +6564,8 @@ JSON + BaseZoom + 0 CanvasOrigin {0, 0} ColumnAlign @@ -6922,48 +6573,44 @@ JSON ColumnSpacing 36 DisplayScale - 1 0/72 in = 1.0000 in + 1 in = 1.00000 in GraphicsList Bounds - {{85.9137, 394.312}, {220.947, 95.625}} + {{85.913700000000006, 394.31200000000001}, {220.947, 95.625}} Class ShapedGraphic ID 144 Magnets - {-0.685994, -1.14332} - {-0.261488, -1.30744} - {0.261488, -1.30744} - {0.685994, -1.14332} - {1.14332, -0.685995} - {1.30744, -0.261488} - {1.30744, 0.261488} - {1.14332, 0.685995} - {0.685994, 1.14332} - {0.261488, 1.30744} - {-0.261489, 1.30744} - {-0.685994, 1.14332} - {-1.14332, 0.685994} - {-1.30744, 0.261488} - {-1.30744, -0.261488} - {-1.14332, -0.685995} + {-0.68599399999999999, -1.1433199999999999} + {-0.261488, -1.3074399999999999} + {0.261488, -1.3074399999999999} + {0.68599399999999999, -1.1433199999999999} + {1.1433199999999999, -0.68599500000000002} + {1.3074399999999999, -0.261488} + {1.3074399999999999, 0.261488} + {1.1433199999999999, 0.68599500000000002} + {0.68599399999999999, 1.1433199999999999} + {0.261488, 1.3074399999999999} + {-0.26148900000000003, 1.3074399999999999} + {-0.68599399999999999, 1.1433199999999999} + {-1.1433199999999999, 0.68599399999999999} + {-1.3074399999999999, 0.261488} + {-1.3074399999999999, -0.261488} + {-1.1433199999999999, -0.68599500000000002} - Shape - Rectangle - Style - Text Align 0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fmodern\fcharset0 Courier;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\fs24 \cf0 $route \{\ current: \{\ @@ -6977,43 +6624,39 @@ JSON Bounds - {{217.75, 347.375}, {298.96, 38.25}} + {{217.75, 347.375}, {298.95999999999998, 38.25}} Class ShapedGraphic ID 22 Magnets - {-0.685994, -1.14332} - {-0.261488, -1.30744} - {0.261488, -1.30744} - {0.685994, -1.14332} - {1.14332, -0.685995} - {1.30744, -0.261489} - {1.30744, 0.261488} - {1.14332, 0.685994} - {0.685994, 1.14332} - {0.261488, 1.30744} - {-0.261489, 1.30744} - {-0.685994, 1.14332} - {-1.14332, 0.685994} - {-1.30744, 0.261488} - {-1.30744, -0.261489} - {-1.14332, -0.685995} + {-0.68599399999999999, -1.1433199999999999} + {-0.261488, -1.3074399999999999} + {0.261488, -1.3074399999999999} + {0.68599399999999999, -1.1433199999999999} + {1.1433199999999999, -0.68599500000000002} + {1.3074399999999999, -0.26148900000000003} + {1.3074399999999999, 0.261488} + {1.1433199999999999, 0.68599399999999999} + {0.68599399999999999, 1.1433199999999999} + {0.261488, 1.3074399999999999} + {-0.26148900000000003, 1.3074399999999999} + {-0.68599399999999999, 1.1433199999999999} + {-1.1433199999999999, 0.68599399999999999} + {-1.3074399999999999, 0.261488} + {-1.3074399999999999, -0.26148900000000003} + {-1.1433199999999999, -0.68599500000000002} - Shape - Rectangle - Style - Text Align 0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fmodern\fcharset0 Courier;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\fs24 \cf0 /account -> AccountCntl; Account.html\ /settings -> SettingsCntl; Settings.html} @@ -7028,7 +6671,7 @@ JSON Bounds - {{475.71, 679.25}, {41, 14}} + {{475.70999999999998, 679.25}, {41, 14}} Class ShapedGraphic FitText @@ -7037,8 +6680,6 @@ JSON Resize ID 173 - Shape - Rectangle Style fill @@ -7060,16 +6701,16 @@ JSON Text Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs24 \cf0 Binding} VerticalPad - 0 + 0.0 Wrap NO @@ -7085,8 +6726,6 @@ JSON Resize ID 174 - Shape - Rectangle Style fill @@ -7108,16 +6747,16 @@ JSON Text Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs24 \cf0 Watch} VerticalPad - 0 + 0.0 Wrap NO @@ -7134,11 +6773,16 @@ JSON 175 Points - {461.007, 685.75} - {387.965, 685.75} + {461.00700000000001, 685.75} + {387.96499999999997, 685.75} Style + shadow + + Draws + NO + stroke Bezier @@ -7146,18 +6790,20 @@ JSON Color a - 0.49 + 0.48999999999999999 b - 0.776013 + 0.77601299999999995 g - 0.532738 + 0.53273800000000004 r - 0 + 0.0 HeadArrow FilledArrow HeadScale 0.69999992847442627 + Legacy + LineType 1 TailArrow @@ -7181,11 +6827,16 @@ JSON 176 Points - {167.082, 685.75} - {93.7897, 685.75} + {167.08199999999999, 685.75} + {93.789699999999996, 685.75} Style + shadow + + Draws + NO + stroke Bezier @@ -7193,18 +6844,20 @@ JSON Color a - 0.5 + 0.5 b - 0 + 0.0 g - 0 + 0.0 r - 0.958068 + 0.95806800000000003 HeadArrow FilledArrow HeadScale 0.59999996423721313 + Legacy + LineType 1 TailArrow @@ -7225,9 +6878,9 @@ JSON LineGraphic ControlPoints - {-71.4076, 17.75} + {-71.407600000000002, 17.75} {0, -146} - {6.10352e-05, 146} + {6.1035200000000001e-05, 146} {40, 0} Head @@ -7241,12 +6894,17 @@ JSON 157 Points - {397.158, 220.25} + {397.15750000000003, 220.25} {330.75, 421} {294, 564.625} Style + shadow + + Draws + NO + stroke Bezier @@ -7254,18 +6912,20 @@ JSON Color a - 0.49 + 0.48999999999999999 b - 0.776013 + 0.77601299999999995 g - 0.532738 + 0.53273800000000004 r - 0 + 0.0 HeadArrow FilledArrow HeadScale 0.69999992847442627 + Legacy + LineType 1 TailArrow @@ -7287,9 +6947,9 @@ JSON LineGraphic ControlPoints - {-69.6563, 11.25} + {-69.656300000000002, 11.25} {0, -146} - {6.10352e-05, 146} + {6.1035200000000001e-05, 146} {153, 0.125} Head @@ -7301,12 +6961,17 @@ JSON 155 Points - {411.406, 280.75} + {411.40603827465975, 280.75} {341.75, 469.25} - {190.711, 617.875} + {190.71080000000001, 617.875} Style + shadow + + Draws + NO + stroke Bezier @@ -7314,18 +6979,20 @@ JSON Color a - 0.49 + 0.48999999999999999 b - 0.776013 + 0.77601299999999995 g - 0.532738 + 0.53273800000000004 r - 0 + 0.0 HeadArrow FilledArrow HeadScale 0.69999992847442627 + Legacy + LineType 1 TailArrow @@ -7351,7 +7018,7 @@ JSON Bounds - {{104.84, 603.875}, {85.8708, 28}} + {{104.84, 603.875}, {85.870800000000003, 28}} Class ShapedGraphic FitText @@ -7367,8 +7034,6 @@ JSON {1, 0} {-1, 0} - Shape - Rectangle Style fill @@ -7392,21 +7057,21 @@ JSON Align 0 Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fmodern\fcharset0 Courier;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\fs24 \cf0 save() \{...\}} VerticalPad - 0 + 0.0 Bounds - {{112.425, 557.625}, {181.575, 14}} + {{112.425, 557.625}, {181.57499999999999, 14}} Class ShapedGraphic FitText @@ -7422,8 +7087,6 @@ JSON {1, 0} {-1, 0} - Shape - Rectangle Style fill @@ -7447,27 +7110,25 @@ JSON Align 0 Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fmodern\fcharset0 Courier;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\fs24 \cf0 this.name = 'John Smith'} VerticalPad - 0 + 0.0 Bounds - {{85.9137, 498}, {437.967, 147.25}} + {{85.913700000000006, 498}, {437.96699999999998, 147.25}} Class ShapedGraphic ID 171 - Shape - Rectangle Style fill @@ -7475,11 +7136,11 @@ JSON Color b - 0.611551 + 0.61155099999999996 g - 0.785672 + 0.78567200000000004 r - 1 + 1 @@ -7488,13 +7149,13 @@ JSON Align 0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;\f1\fmodern\fcharset0 Courier;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\fs36 \cf0 Partial Scope:\ -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f1\fs24 \cf0 class AccountCntl \{\ AccountCntl() \{\ @@ -7519,7 +7180,7 @@ JSON {0, 0} {0, -77} - {5.34058e-05, 77} + {5.3405800000000003e-05, 77} {0, 0} Head @@ -7533,12 +7194,17 @@ JSON 148 Points - {144.544, 161.95} + {144.37493502711496, 162.42040015127151} {101.86, 280.75} - {130.103, 394.312} + {129.98223255775298, 393.82678073058446} Style + shadow + + Draws + NO + stroke Bezier @@ -7546,18 +7212,20 @@ JSON Color a - 0.5 + 0.5 b - 0 + 0.0 g - 0 + 0.0 r - 0.958068 + 0.95806800000000003 HeadArrow 0 HeadScale 0.59999996423721313 + Legacy + LineType 1 TailArrow @@ -7578,7 +7246,7 @@ JSON Bounds - {{171.233, 374.939}, {49.138, 15}} + {{171.20225286448905, 374.81849999999997}, {49.637994271021917, 15}} Class ShapedGraphic Head @@ -7591,7 +7259,7 @@ JSON ID 147 Rotation - 151.10282897949219 + 151.10285862682451 Shape AdjustableArrow ShapeData @@ -7608,22 +7276,13 @@ JSON Color a - 0.1 + 0.10000000000000001 b - 0 + 0.0 g - 0 + 0.0 r - 0 - - GradientColor - - b - 0.501961 - g - 0.25098 - r - 0 + 0.0 MiddleFraction 0.70634919404983521 @@ -7633,31 +7292,29 @@ JSON Color a - 0.4 + 0.40000000000000002 b - 0 + 0.0 g - 0 + 0.0 r - 0 + 0.0 Fuzziness 0.0 - ShadowVector - {0, 2} stroke Color a - 0.75 + 0.75 b - 0 + 0.0 g - 0 + 0.0 r - 0 + 0.0 @@ -7678,10 +7335,10 @@ JSON LineGraphic ControlPoints - {89.7157, 8.77938} - {-0.989136, -163} - {0.989258, 163} - {25.6368, -27.25} + {89.715699999999998, 8.7793799999999997} + {-0.98913600000000002, -163} + {0.98925799999999997, 163} + {25.636800000000001, -27.25} Head @@ -7694,12 +7351,17 @@ JSON 146 Points - {451.588, 64.2154} + {451.58770508914768, 64.215414196643465} {528.75, 260.75} - {491.226, 421.763} + {491.11294329846419, 422.25} Style + shadow + + Draws + NO + stroke Bezier @@ -7707,18 +7369,20 @@ JSON Color a - 0.5 + 0.5 b - 0 + 0.0 g - 0 + 0.0 r - 0.958068 + 0.95806800000000003 HeadArrow FilledArrow HeadScale 0.59999996423721313 + Legacy + LineType 1 TailArrow @@ -7742,7 +7406,7 @@ JSON LineGraphic ControlPoints - {-28.1529, 13.4} + {-28.152899999999999, 13.4} {24.8888, 13.125} Head @@ -7754,11 +7418,16 @@ JSON 37 Points - {360.044, 455.85} - {306.861, 451.687} + {360.04399999999998, 455.85002141589672} + {306.86070000000001, 451.68700000000001} Style + shadow + + Draws + NO + stroke Bezier @@ -7766,18 +7435,20 @@ JSON Color a - 0.5 + 0.5 b - 0 + 0.0 g - 0 + 0.0 r - 0.958068 + 0.95806800000000003 HeadArrow FilledArrow HeadScale 0.59999996423721313 + Legacy + LineType 1 TailArrow @@ -7796,43 +7467,39 @@ JSON Bounds - {{360.044, 422.25}, {163.836, 56}} + {{360.04399999999998, 422.25}, {163.83600000000001, 56}} Class ShapedGraphic ID 143 Magnets - {-0.685994, -1.14332} - {-0.261488, -1.30744} - {0.261489, -1.30744} - {0.685994, -1.14332} - {1.14332, -0.685994} - {1.30744, -0.261489} - {1.30744, 0.261489} - {1.14332, 0.685995} - {0.685994, 1.14332} - {0.261488, 1.30744} - {-0.261488, 1.30744} - {-0.685994, 1.14332} - {-1.14332, 0.685995} - {-1.30744, 0.261489} - {-1.30744, -0.261489} - {-1.14332, -0.685994} + {-0.68599399999999999, -1.1433199999999999} + {-0.261488, -1.3074399999999999} + {0.26148900000000003, -1.3074399999999999} + {0.68599399999999999, -1.1433199999999999} + {1.1433199999999999, -0.68599399999999999} + {1.3074399999999999, -0.26148900000000003} + {1.3074399999999999, 0.26148900000000003} + {1.1433199999999999, 0.68599500000000002} + {0.68599399999999999, 1.1433199999999999} + {0.261488, 1.3074399999999999} + {-0.261488, 1.3074399999999999} + {-0.68599399999999999, 1.1433199999999999} + {-1.1433199999999999, 0.68599500000000002} + {-1.3074399999999999, 0.26148900000000003} + {-1.3074399999999999, -0.26148900000000003} + {-1.1433199999999999, -0.68599399999999999} - Shape - Rectangle - Style - Text Align 0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fmodern\fcharset0 Courier;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\fs24 \cf0 $location: \{\ hashPath: 'account'\ @@ -7862,8 +7529,6 @@ JSON 142 Rotation 270 - Shape - Rectangle Style fill @@ -7887,16 +7552,16 @@ JSON Align 0 Pad - 2 + 2 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Optima-ExtraBlack;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\b\fs36 \cf0 Runtime} VerticalPad - 2 + 2 Wrap NO @@ -7921,8 +7586,6 @@ JSON 141 Rotation 270 - Shape - Rectangle Style fill @@ -7946,23 +7609,23 @@ JSON Align 0 Pad - 2 + 2 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Optima-ExtraBlack;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\b\fs36 \cf0 Browser} VerticalPad - 2 + 2 Wrap NO Bounds - {{217.75, 266.75}, {290.484, 14}} + {{217.75, 266.75}, {290.48399999999998, 14}} Class ShapedGraphic FitText @@ -7973,17 +7636,15 @@ JSON 34 Magnets - {-0.421637, -1.26491} - {0.421637, -1.26491} - {1.26491, -0.42164} - {1.26491, 0.42164} - {0.421637, 1.26491} - {-0.421637, 1.26491} - {-1.26491, 0.42164} - {-1.26491, -0.42164} + {-0.42163699999999998, -1.26491} + {0.42163699999999998, -1.26491} + {1.26491, -0.42164000000000001} + {1.26491, 0.42164000000000001} + {0.42163699999999998, 1.26491} + {-0.42163699999999998, 1.26491} + {-1.26491, 0.42164000000000001} + {-1.26491, -0.42164000000000001} - Shape - Rectangle Style fill @@ -8007,16 +7668,16 @@ JSON Align 0 Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fmodern\fcharset0 Courier;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\fs24 \cf0 <button ng-click='save()'>Save</button>} VerticalPad - 0 + 0.0 @@ -8037,8 +7698,6 @@ JSON {1, 0} {-1, 0} - Shape - Rectangle Style fill @@ -8062,27 +7721,25 @@ JSON Align 0 Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fmodern\fcharset0 Courier;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\fs24 \cf0 <input name='name' />} VerticalPad - 0 + 0.0 Bounds - {{73.7499, 339.75}, {459, 317.5}} + {{73.749899999999997, 339.75}, {459, 317.5}} Class ShapedGraphic ID 20 - Shape - Rectangle Style fill @@ -8090,11 +7747,11 @@ JSON Color b - 0.828641 + 0.82864099999999996 g - 0.921401 + 0.92140100000000003 r - 0.825757 + 0.82575699999999996 @@ -8103,10 +7760,10 @@ JSON Align 0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fmodern\fcharset0 Courier;\f1\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\fs36 \cf0 \ul \ulc0 $root \f1 Scope\ulnone \ @@ -8117,13 +7774,11 @@ JSON Bounds - {{162.921, 264.75}, {48.7271, 16}} + {{162.92099999999999, 264.75}, {48.7271, 16}} Class ShapedGraphic ID 24 - Shape - Rectangle Style fill @@ -8131,21 +7786,21 @@ JSON Color b - 0.8 + 0.80000000000000004 g - 0.8 + 0.80000000000000004 r - 0.8 + 0.80000000000000004 Text Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs24 \cf0 Save} @@ -8157,43 +7812,35 @@ JSON ShapedGraphic ID 25 - Shape - Rectangle - Style - Text Align 0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\fs24 \cf0 12345} Bounds - {{237.293, 244.75}, {27, 16}} + {{237.29300000000001, 244.75}, {27, 16}} Class ShapedGraphic ID 26 - Shape - Rectangle - Style - Text Align 0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\fs24 \cf0 US} @@ -8205,19 +7852,15 @@ JSON ShapedGraphic ID 27 - Shape - Rectangle - Style - Text Align 0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\fs24 \cf0 Any Place} @@ -8229,19 +7872,15 @@ JSON ShapedGraphic ID 28 - Shape - Rectangle - Style - Text Align 0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\fs24 \cf0 123 Main St} @@ -8253,26 +7892,22 @@ JSON ShapedGraphic ID 29 - Shape - Rectangle - Style - Text Align 0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\fs24 \cf0 John Smith} Bounds - {{85.9137, 110.75}, {71.8362, 42}} + {{85.913700000000006, 110.75}, {71.836200000000005, 42}} Class ShapedGraphic FitText @@ -8281,8 +7916,6 @@ JSON Resize ID 13 - Shape - Rectangle Style fill @@ -8306,30 +7939,28 @@ JSON Align 0 Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\b\fs24 \cf0 Navigation \b0 \ Account\ Settings} VerticalPad - 0 + 0.0 Bounds - {{155.076, 168.75}, {353.158, 123}} + {{155.07599999999999, 168.75}, {353.15800000000002, 123}} Class ShapedGraphic ID 12 - Shape - Rectangle Style fill @@ -8337,11 +7968,11 @@ Settings} Color b - 0.611551 + 0.61155099999999996 g - 0.785672 + 0.78567200000000004 r - 1 + 1 @@ -8350,10 +7981,10 @@ Settings} Align 0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\fs36 \cf0 Account Settings \i\b (Partial)} @@ -8363,7 +7994,7 @@ Settings} Bounds - {{80.1753, 47.6352}, {17.4491, 15.1148}} + {{80.175299999999993, 47.635199999999998}, {17.449100000000001, 15.114800000000001}} Class ShapedGraphic ID @@ -8386,11 +8017,11 @@ Settings} Color b - 0.4 + 0.40000000000000002 g - 0.4 + 0.40000000000000002 r - 0.4 + 0.40000000000000002 FillType 2 @@ -8424,27 +8055,25 @@ Settings} Color a - 0.4 + 0.40000000000000002 b - 0 + 0.0 g - 0 + 0.0 r - 0 + 0.0 - ShadowVector - {0, 2} stroke Color b - 0.0980392 + 0.098039200000000007 g - 0.0980392 + 0.098039200000000007 r - 0.0980392 + 0.098039200000000007 @@ -8455,7 +8084,7 @@ Settings} Bounds - {{102.223, 47.1973}, {18.4475, 15.1055}} + {{102.223, 47.197299999999998}, {18.447500000000002, 15.105499999999999}} Class ShapedGraphic ID @@ -8478,11 +8107,11 @@ Settings} Color b - 0.4 + 0.40000000000000002 g - 0.4 + 0.40000000000000002 r - 0.4 + 0.40000000000000002 FillType 2 @@ -8516,27 +8145,25 @@ Settings} Color a - 0.4 + 0.40000000000000002 b - 0 + 0.0 g - 0 + 0.0 r - 0 + 0.0 - ShadowVector - {0, 2} stroke Color b - 0.0980392 + 0.098039200000000007 g - 0.0980392 + 0.098039200000000007 r - 0.0980392 + 0.098039200000000007 @@ -8547,56 +8174,50 @@ Settings} Bounds - {{127.27, 47.75}, {397.316, 16}} + {{127.27, 47.75}, {397.31599999999997, 16}} Class ShapedGraphic ID 4 Magnets - {-0.685994, -1.14332} - {-0.261488, -1.30744} - {0.261488, -1.30744} - {0.685994, -1.14332} - {1.14332, -0.685994} - {1.30744, -0.261488} - {1.30744, 0.261488} - {1.14332, 0.685995} - {0.685994, 1.14332} - {0.261488, 1.30744} - {-0.261489, 1.30744} - {-0.685994, 1.14332} - {-1.14332, 0.685994} - {-1.30744, 0.261488} - {-1.30744, -0.261489} - {-1.14332, -0.685994} + {-0.68599399999999999, -1.1433199999999999} + {-0.261488, -1.3074399999999999} + {0.261488, -1.3074399999999999} + {0.68599399999999999, -1.1433199999999999} + {1.1433199999999999, -0.68599399999999999} + {1.3074399999999999, -0.261488} + {1.3074399999999999, 0.261488} + {1.1433199999999999, 0.68599500000000002} + {0.68599399999999999, 1.1433199999999999} + {0.261488, 1.3074399999999999} + {-0.26148900000000003, 1.3074399999999999} + {-0.68599399999999999, 1.1433199999999999} + {-1.1433199999999999, 0.68599399999999999} + {-1.3074399999999999, 0.261488} + {-1.3074399999999999, -0.26148900000000003} + {-1.1433199999999999, -0.68599399999999999} - Shape - Rectangle - Style - Text Align 0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\fs24 \cf0 http://server/index.html#account} Bounds - {{73.7499, 39.75}, {459, 29}} + {{73.749899999999997, 39.75}, {459, 29}} Class ShapedGraphic ID 3 - Shape - Rectangle Style fill @@ -8604,54 +8225,50 @@ Settings} Color b - 0.6 + 0.59999999999999998 g - 0.6 + 0.59999999999999998 r - 0.6 + 0.59999999999999998 Bounds - {{144.544, 127.75}, {372.166, 171}} + {{144.54400000000001, 127.75}, {372.166, 171}} Class ShapedGraphic ID 31 Magnets - {-0.685994, -1.14332} - {-0.261488, -1.30744} - {0.261488, -1.30744} - {0.685994, -1.14332} - {1.14332, -0.685994} - {1.30744, -0.261488} - {1.30744, 0.261488} - {1.14332, 0.685995} - {0.685994, 1.14332} - {0.261488, 1.30744} - {-0.261489, 1.30744} - {-0.685994, 1.14332} - {-1.14332, 0.685994} - {-1.30744, 0.261488} - {-1.30744, -0.261488} - {-1.14332, -0.685994} + {-0.68599399999999999, -1.1433199999999999} + {-0.261488, -1.3074399999999999} + {0.261488, -1.3074399999999999} + {0.68599399999999999, -1.1433199999999999} + {1.1433199999999999, -0.68599399999999999} + {1.3074399999999999, -0.261488} + {1.3074399999999999, 0.261488} + {1.1433199999999999, 0.68599500000000002} + {0.68599399999999999, 1.1433199999999999} + {0.261488, 1.3074399999999999} + {-0.26148900000000003, 1.3074399999999999} + {-0.68599399999999999, 1.1433199999999999} + {-1.1433199999999999, 0.68599399999999999} + {-1.3074399999999999, 0.261488} + {-1.3074399999999999, -0.261488} + {-1.1433199999999999, -0.68599399999999999} - Shape - Rectangle - Style - Text Align 0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fmodern\fcharset0 Courier;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\fs24 \cf0 <ng:include src="https://github.com/$route.current.template"\ scope="$route.current.scope" />} @@ -8661,13 +8278,11 @@ Settings} Bounds - {{79.4239, 76.75}, {444.457, 234}} + {{79.423900000000003, 76.75}, {444.45699999999999, 234}} Class ShapedGraphic ID 11 - Shape - Rectangle Style fill @@ -8675,11 +8290,11 @@ Settings} Color b - 0.828641 + 0.82864099999999996 g - 0.921401 + 0.92140100000000003 r - 0.825757 + 0.82575699999999996 @@ -8688,10 +8303,10 @@ Settings} Align 0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\fs36 \cf0 MyApp \i\b (Chrome)} @@ -8706,8 +8321,6 @@ Settings} ShapedGraphic ID 1 - Shape - Rectangle GridInfo @@ -8739,6 +8352,8 @@ Settings} 0.0 layoutEngine dot + neatoLineLength + 0.20000000298023224 neatoSeparation 0.0 twopiSeparation @@ -8770,22 +8385,20 @@ Settings} CurrentSheet 1 - ExpandedCanvases + Expanded_Canvases Frame - {{212, 0}, {836, 878}} - ListView + {{202, 0}, {1132, 877}} + ShowInfo - OutlineWidth - 142 - RightSidebar - Sidebar SidebarWidth - 120 + 200 + TopSlabHeight + 250 VisibleRegion - {{-70, -17}, {716, 769}} + {{-29, -17}, {634, 767}} Zoom 1 ZoomValues @@ -8832,7 +8445,5 @@ Settings} - saveQuickLookFiles - YES diff --git a/images/docs/Diagrams.graffle/image1.png b/images/docs/Diagrams.graffle/image1.png index 565f406dd147..f4b997b37d43 100644 Binary files a/images/docs/Diagrams.graffle/image1.png and b/images/docs/Diagrams.graffle/image1.png differ diff --git a/images/docs/Diagrams.graffle/image2.png b/images/docs/Diagrams.graffle/image2.png index 6e52db7cfd48..a7c35290616d 100644 Binary files a/images/docs/Diagrams.graffle/image2.png and b/images/docs/Diagrams.graffle/image2.png differ diff --git a/images/docs/Diagrams.graffle/image4.png b/images/docs/Diagrams.graffle/image4.png index 6f118cd08754..43ed656d977e 100644 Binary files a/images/docs/Diagrams.graffle/image4.png and b/images/docs/Diagrams.graffle/image4.png differ diff --git a/images/docs/Diagrams.graffle/image9.png b/images/docs/Diagrams.graffle/image9.png index 606ea9eba46b..d9c04b0ccee1 100644 Binary files a/images/docs/Diagrams.graffle/image9.png and b/images/docs/Diagrams.graffle/image9.png differ diff --git a/images/docs/Diagrams.svg/Canvas_8.svg b/images/docs/Diagrams.svg/Canvas_8.svg new file mode 100644 index 000000000000..fb5acf544053 --- /dev/null +++ b/images/docs/Diagrams.svg/Canvas_8.svg @@ -0,0 +1,3 @@ + + + Produced by OmniGraffle 6.5.2 2016-04-12 13:18:31 +0000Standard AppLayer 1MyApp (Chrome)<ng:include src="$route.current.template" scope="$route.current.scope" />http://server/index.html#accountAccount Settings (Partial)NavigationAccountSettingsJohn Smith123 Main StAny PlaceUS12345Save$root Scope<input name='name' /><button ng-click='save()'>Save</button>BrowserRuntime$location: { hashPath: 'account'}Partial Scope:class AccountCntl { AccountCntl() { ... }}this.name = 'John Smith'save() {...}WatchBinding/account -> AccountCntl; Account.html/settings -> SettingsCntl; Settings.html$route { current: { template: 'Account.html', scope: new AccountCntl() }} diff --git a/images/docs/Diagrams.svg/Canvas_angular___parts.svg b/images/docs/Diagrams.svg/Canvas_angular___parts.svg new file mode 100644 index 000000000000..396fc335a14f --- /dev/null +++ b/images/docs/Diagrams.svg/Canvas_angular___parts.svg @@ -0,0 +1,3 @@ + + + Produced by OmniGraffle 6.5.2 2016-04-12 13:18:31 +0000<angular/> partsLayer 1<angular/> Enabled Browser 2-Way Data BindingSingle Source of TruthModelControllerViewServicesHTML Compiler* Widgets* Markup* Directives* Filters* ValidatorsStandard Services* Browser* URL Router* Resources* CachingYour HTML / CSSYour JavaScriptJSON RESTful URLsScope* $get / $set* $eval / $tryEval* $watch * $become diff --git a/images/docs/Diagrams.svg/Canvas_angular___usage.svg b/images/docs/Diagrams.svg/Canvas_angular___usage.svg new file mode 100644 index 000000000000..7c0f5ff9de93 --- /dev/null +++ b/images/docs/Diagrams.svg/Canvas_angular___usage.svg @@ -0,0 +1,3 @@ + + + Produced by OmniGraffle 6.5.2 2016-04-12 13:18:31 +0000<angular/> usageLayer 1Scope: Outter most scope which holds services and properties such as 'people' and 'email'.Child Scope: in this case the ng-repeat directive triggers the creation of new scopes one for each item in an iterator expression. It than assigns the 'person' to each scope. The scopes inherit from parent scopes so anything declared at higher scope is still visible. Directives: instructing the compiler to perform specific actions. In this case a repeater iterates over the list of 'people' looking for the person with specific email. The DOM element is then replicated to match the number of elements.Markup: evaluates expression in the closest scope and inserts it into DOM.Filter: Markup may include optional filter to transform value before it is displayed.Input Widget: binds to 'email' in its scope. Changing scope changes the widget and vice versa.Validator: an input widget may have optional validator to notify user of wrong input.Widget: Allows the execution of custom code which can transform the DOM.Nested Widgets: widgets can be nested for added expressivness.Text<html> <body> Find by email: <input name="email" ng-validate="email"/> <ul> <li ng-repeat="person in people.$filter(email)"> {{ person.last | uppercase }}, {{ person.first }}, </li> <ng:switch on="$location.hashPath"> <div ng-switch-when="home">Welcome</div> <ng:include ng-switch-when="account" src="'account.html'"/> </ng:switch> </ul> </body></html>Legend diff --git a/images/docs/Diagrams.svg/Notes.svg b/images/docs/Diagrams.svg/Notes.svg new file mode 100644 index 000000000000..1ccb79ef88f8 --- /dev/null +++ b/images/docs/Diagrams.svg/Notes.svg @@ -0,0 +1,3 @@ + + + Produced by OmniGraffle 6.5.2 2016-04-12 13:18:31 +0000NotesLayer 1Guiding Principles* Convention over Configuration* Declarative / Self Describing* Testable* DRY (Don't Repeat Yourself)* CRUD ~ 80% -> make it trivial diff --git a/images/docs/Diagrams.svg/One_Way_Data_Binding.svg b/images/docs/Diagrams.svg/One_Way_Data_Binding.svg new file mode 100644 index 000000000000..bbd0da09448a --- /dev/null +++ b/images/docs/Diagrams.svg/One_Way_Data_Binding.svg @@ -0,0 +1,3 @@ + + + Produced by OmniGraffle 6.5.2 2016-04-12 13:18:31 +0000One Way Data BindingLayer 1One-Way Data BindingViewTemplateModelone-time merge:-( diff --git a/images/docs/Diagrams.svg/RESTful_URL.svg b/images/docs/Diagrams.svg/RESTful_URL.svg new file mode 100644 index 000000000000..19e0225a566c --- /dev/null +++ b/images/docs/Diagrams.svg/RESTful_URL.svg @@ -0,0 +1,3 @@ + + + Produced by OmniGraffle 6.5.2 2016-04-12 13:18:31 +0000RESTful URLLayer 1ReadUpdateDeleteCreateRESTful URLshttp://server/data/Collection[/ID]/BookPOST{ name:'Moby' }{ id:123, name:'Moby' }/BookPOST{ name:'Gatsby'}{ id:456, name:'Rye' }/Book/123GET{ id:123, name:'Moby' }/Book/456GET{ id:456, name:'Gatsby' }/BookGET[ { id:123, name:'Moby' }, { id:456, name:'Rye' }]/Book/456POST{ id: 456, name:'Catch' }{ id:456, name:'Catch' }/Book/456DELETEColumnsSendVerbURLReceive diff --git a/images/docs/Diagrams.svg/RESTy.svg b/images/docs/Diagrams.svg/RESTy.svg new file mode 100644 index 000000000000..07bf6e9e115b --- /dev/null +++ b/images/docs/Diagrams.svg/RESTy.svg @@ -0,0 +1,3 @@ + + + Produced by OmniGraffle 6.5.2 2016-04-12 13:18:31 +0000RESTyLayer 1ResourcesDeclarativeRESTy: Declarative Data StorageCustomRepositoryMegaStoreBigTableBuganizer???(CRUD)JavaJavaScript???(CRUD+verbs)SerializerURL RouterMapperACLHTTP RESTful URLJSON / XML / PROTO diff --git a/images/docs/Diagrams.svg/Two_Way_Data_Binding.svg b/images/docs/Diagrams.svg/Two_Way_Data_Binding.svg new file mode 100644 index 000000000000..f7b227f57514 --- /dev/null +++ b/images/docs/Diagrams.svg/Two_Way_Data_Binding.svg @@ -0,0 +1,3 @@ + + + Produced by OmniGraffle 6.5.2 2016-04-12 13:18:31 +0000Two Way Data BindingLayer 1Two-Way Data BindingTemplateModelViewContinuous UpdatesModel is Single-Source-of-TruthChange to Modelupdates ViewChange to Viewupdates ModelCompile:-) diff --git a/images/docs/Diagrams.svg/image1.png b/images/docs/Diagrams.svg/image1.png new file mode 100644 index 000000000000..f4b997b37d43 Binary files /dev/null and b/images/docs/Diagrams.svg/image1.png differ diff --git a/images/docs/Diagrams.svg/image2.png b/images/docs/Diagrams.svg/image2.png new file mode 100644 index 000000000000..a7c35290616d Binary files /dev/null and b/images/docs/Diagrams.svg/image2.png differ diff --git a/images/docs/Diagrams.svg/image4.png b/images/docs/Diagrams.svg/image4.png new file mode 100644 index 000000000000..43ed656d977e Binary files /dev/null and b/images/docs/Diagrams.svg/image4.png differ diff --git a/images/docs/Diagrams.svg/image8.png b/images/docs/Diagrams.svg/image8.png new file mode 100644 index 000000000000..1d6ce3151066 Binary files /dev/null and b/images/docs/Diagrams.svg/image8.png differ diff --git a/images/docs/Diagrams.svg/image9.png b/images/docs/Diagrams.svg/image9.png new file mode 100644 index 000000000000..d9c04b0ccee1 Binary files /dev/null and b/images/docs/Diagrams.svg/image9.png differ diff --git a/images/docs/Diagrams.vdx b/images/docs/Diagrams.vdx new file mode 100644 index 000000000000..3a204190a727 --- /dev/null +++ b/images/docs/Diagrams.vdx @@ -0,0 +1,14452 @@ + + + + 12 + 52 + + + 8 + 10.1806 + 0 + 0.25 + 0.25 + 0.25 + 0.569444 + 1 + 1 + + + + + + + + + + + + + + + + + + 0.111111 + 0.111111 + + + 1 + 1 + 8 + 10.1806 + 3 + 0 + 0 + + + Layer 1 + 1 + 1 + 0 + + + + + + -0 + 1.986111111111111 + 8.513888888888889 + 2.388888888888889 + 1.166666666666667 + 1.194444444444444 + 0.5833333333333334 + + + 2.388888888888889 + 1.166666666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 1.166666666666667 + + + 2.388888888888889 + 1.166666666666667 + + + 2.388888888888889 + 0 + + + 0 + 0 + + + 0 + 1.166666666666667 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Guiding Principles +* Convention over Configuration +* Declarative / Self Describing +* Testable +* DRY (Don't Repeat Yourself) +* CRUD ~ 80% -> make it trivial + + + + + + + + 0.111111 + 0.111111 + + + 1 + 1 + 8 + 10.1806 + 3 + 0 + -0.0277778 + + + Layer 1 + 1 + 1 + 0 + + + + + + -0 + 3.331736111111111 + 8.125 + 5.291666666666667 + 0.5 + 2.645833333333333 + 0.25 + + + 5.291666666666667 + 0.5 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.5 + + + 5.291666666666667 + 0.5 + + + 5.291666666666667 + 0 + + + 0 + 0 + + + 0 + 0.5 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 0 + 0 + + 0.416667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + <angular/> Enabled Browser + + + + -0 + 3.380780555555555 + 4.909722222222222 + 5.815138888888889 + 5.461805555555555 + 2.907569444444444 + 2.730902777777778 + + + 5.815138888888889 + 5.322916666666667 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0.125 + 0 + + + 1 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 5.461805555555555 + + + 5.81513888888889 + 5.461805555555555 + + + 5.81513888888889 + 0 + + + 0 + 0 + + + 0 + 5.461805555555555 + + + + 0 + + + + + -0 + 1.979525 + 6.223229166666666 + 2.7495 + 2.584791666666666 + 1.37475 + 1.292395833333333 + + + 2.7495 + 2.445902777777778 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0.125 + 0 + + + 1 + #ffff66 + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 2.584791666666667 + + + 2.7495 + 2.584791666666667 + + + 2.7495 + 0 + + + 0 + 0 + + + 0 + 2.584791666666667 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 0 + 0 + + 0.0972222 + 0 + + + 0 + 0 + + 0.25 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + + + + + + -0 + 4.783375 + 6.223229166666666 + 2.7495 + 2.584791666666666 + 1.37475 + 1.292395833333333 + + + 2.7495 + 2.445902777777778 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0.125 + 0 + + + 1 + #66ccff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 2.584791666666667 + + + 2.749499999999999 + 2.584791666666667 + + + 2.749499999999999 + 0 + + + 0 + 0 + + + 0 + 2.584791666666667 + + + + 0 + + + + + -0 + 1.979526388888889 + 3.582326388888889 + 2.7495 + 2.584791666666666 + 1.37475 + 1.292395833333333 + + + 2.7495 + 2.445902777777778 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0.125 + 0 + + + 1 + #66ff66 + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 2.584791666666667 + + + 2.7495 + 2.584791666666667 + + + 2.7495 + 0 + + + 0 + 0 + + + 0 + 2.584791666666667 + + + + 0 + + + + + -0 + 4.785402777777778 + 3.582326388888889 + 2.7495 + 2.584791666666666 + 1.37475 + 1.292395833333333 + + + 2.7495 + 2.445902777777778 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0.125 + 0 + + + 1 + #ff8000 + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 2.584791666666667 + + + 2.749499999999999 + 2.584791666666667 + + + 2.749499999999999 + 0 + + + 0 + 0 + + + 0 + 2.584791666666667 + + + + 0 + + + + + -0 + 3.380777777777778 + 4.90971875 + 1.986111111111111 + 1.111979166666667 + 0.9930555555555556 + 0.5559895833333334 + + + 1.986111111111111 + 0.9730902777777778 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0.125 + 0 + + + 1 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 1.111979166666667 + + + 1.986111111111111 + 1.111979166666667 + + + 1.986111111111111 + 0 + + + 0 + 0 + + + 0 + 1.111979166666667 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + 2-Way Data Binding + + + +Single Source of Truth + + + + -0 + 5.857791666666667 + 2.581597222222222 + 0.4444444444444444 + 0.4444444444444444 + 0.2222222222222222 + 0.2222222222222222 + + + 0.4444444444444444 + 0.3055555555555556 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.4444444444444444 + + + 0.4444444444444444 + 0.4444444444444444 + + + 0.4444444444444444 + 0 + + + 0 + 0 + + + 0 + 0.4444444444444444 + + + + 0 + 0 + 0.444444 + 0.444444 + + Qk0AAAAAAAAAADYAAAAoAAAAIAAAACAAAAABABgAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAA/////////////////////////////////////////////////////////f39/Pz8/Pz8/f39/v7+/////////////////////////////////////////////////////////////////////////////////////Pz89/f38vLy7u7u6urqvLKxYkNAYkNAZ0ZEa09M5eXl6Ojo7Ozs8PDw9PT0+fn5////////////////////////////////////////////////////////+fn58vLy7Ozs5ubm4ODg2tra1dXVlYODrpeZ8eTr6dvhZ0pHw8LA0tLS19fX3d3d4+Pj6enp7+/v9fX1/Pz8/////////////////////////////////////f399vb27+/v6enp4uLi29vb1NTUzs7Ox8fHgGdmxLG35MnX69jhhGhoo5qYw8PDysrK0dHR19fX3t7e5eXl7Ozs8vLy+fn5////////////////////////////////+fn5wri3nYqL4N/f3t7e2NjY0tLSzMzMxsbGcFJS28zQ3rzN5s7aoIaIlIWEw8PDyMjIzs7O1dXV29vb08/OyMDA7u7u9fX1/Pz8////////////////////////////t6iobE9NfmFgd1tZxr+/3Nzc0c/PppuZhW9tYkNA7d3m3brL48fVvausZEVBp5ubysjI1NTU2dnZuK6ubE9LYkNAtain9fX1+/v7////////////////////////x7y7a0tJ28zP7uDkvqmsbk9NgGZkblFPiWxsuaGk5dTc7Nri27jI38DQ8eTrv6mui3JxbVBMqpyblICAc1ZV0sLG38/VcFJRycC/////////////////////////////moWEd1pY693h0q643cLJ387TpYyN0rzA7Nzi48vT3b7K17XD2LTD2bXE3r3M5c3Y9evw287QfF5djnR159je4sXU6tXgwq2wYkNA////////////////////////////+/v5f2ZjsJma3sPJz6qz1bO85tLY3cLJ06+606651K+61LC91bG91rK/1rLA17PB6NTc8OPo8+nt6tff3bvL3LnK69nigGVku62t////////////////////////////////6eTkbU5M0b6/1LS7zaevzqiwzqmxz6qz0Kq00Ku10ay20q2306652brE483U6dfe6tjf48rU17PB2LTC5M3XqpKUinJv/v7+////////////////////////////////////knt5hmxo5tTVyqOqyqSry6WszKatzaeuzaiwzqixz6myz6qz277F6NXb6Nfc6Nfc5c/V1K+827zHzrq+YkNA7enp////////////////////////////////////+Pb3b1FPzbm51Le4xqCjx6GkyKGmyaKny6ar2r/D5NHT59fZ5dDU3MHG07C42r3E59Ta59Ta06+43L7I1cTGZklH+/v5////////////////////////////////////wre0iGto4s7OxJyew5yexJ2fxZ6gzKms5dXWsZeWgmZldFdVgmZlsZiY59fZ07K35dHX5tPX2bzCz6qy6djbhWlmx7y6////////////////////////////////+ff2gmlmspmY0LOyv5eWwJiZwZmaxJ2e5dPTjW9ug2hm0cfH5+Li0cfHg2pljm9w6NfY4MnM5dLU4szQzKeu28HFs5ublX99////////////////////vK+tknt5dlpVZkdFcFFP4dTTyammvJSRvZWSvpWT07e3sJSShWtr/Pr7/////////////Pr7hWtrs5eX487R49DR5M/S17q+z62y2sjJYkNAi3NwpJKPv7Gx39jY////YkNAu6mn2c7M6d3c4tHO5dbTzbCsuZCMupGNu5KO4M3Ld1hX39nZ////////////////////39nZeFpX5dXW2b/A4s/P4s/Pzqyv5dTW2sjJwq2tqpCQlHp5YkNA////YkNA8Ojl38zI2sXA2sXB28bBzK+qt42GuI6JvJWR5dXTZEVE+/v5////////////////////+/v5ZEVE59nYwpua3MXG4c3N4MrLy6qpxp+izKmt17u96NjXYkNB////ZEZD5dzY6t7b5NTQ4M7K3MjE2cS/0Law0bax18G84tDMcFBO7Ojo////////////////////7OjocFBP5NPRvZSS0bOy38vL4MzK38vJ0LKxyaam1bm63MrKbk1M////c1ZUY0RBd1pZjXNvqZSR6+Tf28fC2MO92MO+x6mh0bexlHVxpZKR////////////////////pZORlnd01r26wZyZ3cjF3cjH3cjF8ejo5dvaybm3qJCPgGVjaUxJ////////+/n6493dy8HAYUJAvKun4tLN18G518G7zbGqt5GG2cbCdFVRpJKP+ff2////+ff2pJKPdVRS3MjFvZaQuI6HzK+rwJ2Xz7GvxbOzYkNAh25qpJOQxLe37enp////////////////////wre0jHBs6t7b1b+31b+31sC4yKqh2cW/2MbBhmhjaElHclZSaElHh2lk1cO8xaWes4mAtImBtIqCtoyG3MfDhWhixbi4////////////////////////////////////9vTzbFBM1cfD3cvE1L611L611L620bqxwaGW1L622snEy7aw2snE1b+5u5eNr4R5sIV7sIZ8sYd9xaSdx7GtblFO+PX2////////////////////////////////////////knt6i3Fv59rU0ryy07yz072zu5qMqHpqqHtsrIBysYl6roJzq39xrH9zrYB0rIF0roJ1r4V64M7JeFpVoI6M////////////////////////////////////////8OzrblBMzsC818K50bqv0bqw0buxx6ygpXdkpXhlpnhop3lpp3pqqHtrqXxsqn1uqn1vq35wrH9xxaefsZuVdVlV+PX2/////////////////////////////////v7+iXJtpZCM387Hz7is0buw4NDI18O50LmuyrGlu5qKo3VhpHZipHZlpXdmpnhnpnppuJSHt5SGqXtsqn1uzrWskXRvmIOB////////////////////////////////u6+tcVRR6N/bzrep1L+15tvUuqml2s3H5tjS1MC1tpOCoHFcoHJdoXNepnlmuJSG0LmvyrWww6+nxKmcqHxsq35v18W9bEtKuq2r////////////////////////////u62tZ0lG3M/L5tnT2cvHfGFea01Ja01Kj3Vwtp+W18K5rYRxnW5YsIp31cK5sJmPhWdgaEpGYkNAlnt1zriuxqufzruzZUVDx728////////////////////////////////tqikclVRo4+KbE5MuKuo/v7+8/Dxt6qoY0RAmH12s5B9mmpRuZiIjXJrakxIu66s9vTz8+/wkXt4dFdTsZuScFJMtaWl////////////////////////////////////////xbi4clRT4dra////////////////z8XEf2JcupyKl2dMwaWTeltX2tLS////////////////xrq5YkNAw7a2////////////////////////////////////////////////////////////////////////7OfobU5LyK+gnW9VzriqaEhG8/Dx////////////////////////////////////////////////////////////////////////////////////////////////////////aUpIyrWo07+yyLOobE1L////////////////////////////////////////////////////////////////////////////////////////////////////////////b1NQYkNAaEhGYkNAgWhk//////////////////////////////////////////////////////// + + 0 + + + + + -0 + 5.857791666666667 + 7.220486111111111 + 0.4444444444444444 + 0.4444444444444444 + 0.2222222222222222 + 0.2222222222222222 + + + 0.4444444444444444 + 0.3055555555555556 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.4444444444444444 + + + 0.4444444444444444 + 0.4444444444444444 + + + 0.4444444444444444 + 0 + + + 0 + 0 + + + 0 + 0.4444444444444444 + + + + 0 + 0 + 0.444444 + 0.444444 + + Qk0AAAAAAAAAADYAAAAoAAAAIAAAACAAAAABABgAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAA/////////////////v7+/v7+/f39/Pz8/Pz8/Pz8/f39/v7+/////////////////////////////////////////////////////////////////////////////////v7++fn58/Pz6urq5eXl29fUxrOnwaye08zI3Nzc39/f4uLi6Ojo8PDw+Pj4/f39/////////////v7+/Pz8+/v7+vr6+fn5+vr6+/v7/f39/v7+////////////////8vLy6urq4uLi29vbvqmdjE0lmF00nF00jEkksp2SycnJz8/P1tbW3d3d5eXl7Ozs8/Pz9vb28PDw6+vr5+fn5OTk4eHh4ODg4eHh4+Pj5ubm6urq8PDw9/f3/f39////8PDw6Ojo4ODgxLKojU0mtn9YnnJRqHZQs3lOjE0lwLu4y8vL09PT29vb4+Pj5ubm6enp7e3t6urq5OTk3t7e2dnZ09PTzc3N0NDQzMzM2dnZ4+Pj6enp7u7u9PT0+/v7+fn58vLy5eHfkFIru4Vdw45lkmA5hFMwrHdRoWE7qX9n3Nzc4eHh5+fn7e3t9PT09vb29fX18PDw7Ozs5+fn5OTk4uLiwMHBi4+MlZmWjJGOw8TD7+/v9PT0+fn5/v7+////////0bipp21I3ryg06mKr3ZKglYziVk3sXxWkVAo2srA9vb2+/v7/////////////////v7++/v7+Pj49vb2y83Nj5ORzc7Ny8vL0NHQjpKQ8PDw////////////////////w6GNomM52rKS4cKo4sexpndTglQzj2FCqnNMklIs8uvm////////////////////////////////1tjWjpKR0NHQvLy8oaGhxcXFn6Og3d/f////////////////////4tHIlVUvsnZO06N71q2M3r+nnnRTglYzlmtKpm9FnWND+PPy////////////////////////1tnXjpKR09TT2dnZy8vLt7e309PTjZGO9/f3////////////////////////y66djlAoomQ506R/zZxz0qmJmXBPglc0m29NomZBn2VF+PPy////////////////2tvbj5SR1dXV39/f3d3d3t7e3d3dl5uYyMzK////////////////////////////////9vDtrHtgllcxzJx1ypVsxJJqlmtJg1Y1nXFPpGdCnWVE+PPy////////3N7cjZKP1dbV3d3d29vb4ODg5eXlmp6dvL++////////////////////////////////////////////zrOlkFEnx5Nvy5hvvIFUlWhEglc1oHNQo2U/p3RU////3d7ej5SR1tfX3Nzc3Nzc3t7e5+fnoaSjtbi2////////////////////////////////////////////////////4M7EkE8rwo5ny5huvYBUkmE+g1Y1toNel1gwzMCzj5WQ19jX2tra3Nzc29vb6enpp6uorrCw/v7+////////////////////////////////////////////////////////5dbOkE8qyJdwyZNpwIRVun9QwY9nmVk0jXdm1tjX2dnZ3Nzc2tra6enprbGupqmp/Pz8////////////////////////////////////////////////////////////////2sa5kVIqzZ956NK/1q6Oq3JKjlAosaSb2NjY29vb2dnZ6OjouLq5oKSh+vr6////////////////////////////////////////////////////////////////////////0beokVErxp6CrXdSj08rz8O6uq6qtKym1tbW5eXlvsC/mZ+a+Pj4////////////////////////////////////////////////////////////////////////////////6+DZvaCLjHResqWbvLSu1tLNuK6muLCsyMrKlpqY9fX1/////////////////////////////////////////////////////////////////v7+6Orq3eDe4+Xl+/v76OrqkJWS1NbVz8/Pr6ehv7aw1tLNtqujmZGN8fLw////////////////////////////////////////////////////////////////2tvblZqWnKCfrrKvpaimjZKPhYqH0tTTzc3Nzc3NzMzMsKafwbmz1tLNtaqhxr25////////////////////////////////////////////////////////////1NbUlJiV2tvb9fX19PT09PT06urq2tzb19fXvLy8wMDAzMzM19nYm5KKw7y21tLNsqmiyL+7////////////////////////////////////////////////////8/PzlZiW5eXl6+vr6Ojo6urq6+vr5+fn6urq2NjYrKyswsLC2NnYj5SS39/etqyjx7660s7JsaOdysG9////////////////////////////////////////////////wcXDtrm46enp6+vr6+vr6+vr6+vr6Ojo3d3d29vb4ODg2drZkJWT2tza////+/v5s6egxLy20MrDrqCZsqWfy8K+4dva////////////////////////////////////oqak1NXV19jYhYqHhYqHhYqH0tXT8vLy8vLy7Ozs8PDwpaintbm3////////////+/v5saSexLqx0cjAv7Oqtaqhn4+H6ubm////////////////////////////////lZqXtrm4jZOP3t/f////6OjokJSS1dbW8/Pz8PDw7OzswMLBuby7////////////////+ff4no6G1cvA0cW40cS4wbSoqJqS+vj5////////////////////////////3d3dhYqH2tvb////////////5+nnhYqH7Ozs6enp5OTkyMrJrrKw////////////////////ppaQ2s/E2sy+18m718q8tqWcv7Su////////////////////////////////9fX1////////////////////jJCO5+fn5eXl4uLivL69u728////////////////////raCYuq2h4NLE3s/A3s/A2828qZyQ3NbT////////////////////////////////////////////////5ObkhYqH6enp5eXl6enpnaCf3+Lg////////////////////+vj5t6yks6Sb28q93s/A3s/AvKyhno6G/f39////////////////////////////////////////4uPjjpWRzs/O6urq6enpury7p6qo/////////////////////////////v7+xbu2qp2R18i6wrOmppeQ7ero////////////////////////////////////////+Pj4hYqHqayr3N3dzs/Ooqajmp+a8/Pz////////////////////////////////////08vIno6Gq52W8/Dv////////////////////////////////////////////////4uPjmJ6blpqXpqqmyszM+/v7////////////////////////////////////////////5N/d+Pb3//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + 0 + + + + + -0 + 0.8994611111111112 + 2.581597222222222 + 0.4444444444444444 + 0.4444444444444444 + 0.2222222222222222 + 0.2222222222222222 + + + 0.4444444444444444 + 0.3055555555555556 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.4444444444444444 + + + 0.4444444444444444 + 0.4444444444444444 + + + 0.4444444444444444 + 0 + + + 0 + 0 + + + 0 + 0.4444444444444444 + + + + 0 + 0 + 0.444444 + 0.444444 + + Qk0AAAAAAAAAADYAAAAoAAAAIAAAACAAAAABABgAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAA/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+9fX17Ozs5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5+fn7e3t8/Pz/f39////////////////1djUvMG7u8C6u8C6u8C6u8C6u8C6u8C6u8C6u8C6u8C6u8C6u8C6u8C6u8C6u8C6u8C6u8C6u8C6u8C6u8C6ur+5paikj5OPm5+av7+/09PT3t7e9PT0////////////u8G6/f39/////////////////////////////////////////////////////////////////////////////////f39nKKcp6molZuVoKOgycnJ39/f+fn5////////u8C6////0tLS09PT09PT1NTU1NTU1NTU1dXV1dXV1dXV1tbW1tbW19fX19fX19fX2NjY2NjY2dnZ2dnZ2dnZ2tra2traqK2oy8vLt7e3n6KenKCc0tPR7+/v////////u8C6////0dHRUEtIUEtIUEtIUEtIUEtIUEtIUEtIUEtIUEtIUEtIUEtIUEtIUEtIUEtIUEtIUEtIUEtIUEtIUEtIUEtIrrGuz8/PvLy8v7+/pqilqayo8PDw////////u8C6////0dHRUk1KZj4rZj4rZj4rZj4rZj4rZj4rZj4rZj4rZj4rZj4rZj4rZj4rZj4rZj4rZj4rZj4rZj4rZj4rZj4rtrq00tLS0NDQ0NDQzMzMsbOwz9HO////////u8C6////0dHRVE9Mc0s6c0s6c0s6c0s6c0s6c0s6c0s6c0s6c0s6c0s6c0s6c0s6c0s6c0s6c0s6c0s6c0s6bkg2Xz8wub25ub25ub25ub25u7+7u767tLi0////////u8C6////0tLSWlRRg1tJgllIgVhGgVhGgVhGgVhGgVhGgVhGgVhGgVhGgVhGgVhGgVhGgVhGgVhGflZEa0o7XT8zdlBCXUAzWz4yelNDV1FO19fX7e7tub25////////u8C6////1dXVaWNgmXVmmXVmmnVmmHNklW9gkmxcj2dXjmVVjmVVjmVVjmVVjmVVjmVVjGVUe1hJZ0k9ZEc7e1hKbk5BZkk9fFlKjmVVWVNQ19fX////u8C6////////u8C6////1tbWbmhmp4N0p4N0p4R1p4R1p4N0p4N0poN0pH9vn3honHRjnHNinHNijGtdc1tRb1lPb1lPcVpRblhPb1lPj2tcnHNinHNiW1VS1tbW////u8C6////////u8C6////19fXc21rtZGDtZKEtZKEtZKEtZGDtZGDtZGDtJCCtJCCso1/rYZ3qn9wn3tseWZed2Ved2VefGlgU1JSc2JdoHttqn9wqn9wXVdU1dXV////u8C6////////u8C6////2NjYe3d22MK12MK32MK32MK32MK12MK118K118K118G01sCz1sCz1b6w0bmqlIZ/UVFRUVFRkYN8cWtoUVFRm4uE0beq0beqY19d1NTU////u8C6////////u8C6////2dnZfXl207en07io07io07io07en07en0ren0ram0rWl0bWl0bSk0LKj0LOizKyca2VgUVFRgHJriHhwUVFRa2RhyaeVyaeVYl1a09PT////u8C6////////u8C6////2dnZf3t4zbCdzrCezLCexLaivb2pw7ijyrCbzK6bzK6bzK2ay6yZyquYyqmVyqqUt5yLW1pZcWdfh3VpUVFRdGdhwpyFwpyFYFtY0tLS////u8C6////////u8C6////2tragHx5yqmTyqmTtL+oq+bQtvPiruvWr8awxqiSyKWPyKSOx6ONxqKMxaCKxZ+IxJ6HmIR2cGlmfW1kUlJRooFuu5B2u5B2X1lW0dHR////u8C6////////u8C6////29vbg316xaCJvamRrOLP6P/5/P/+7f78se3btLCVw52FwpuEwZqCwJiAv5d+vpZ9vZR7vJJ5f3Fqd21mjXZntYdrs4Nos4NmXldS0dHR////u8C6////////u8C6////3NzchH57wZmBtaqRtu7d/f///////v//wfbpq7WYvpV7vZN5u5F3uo91uY5zuIxxt4tutolsqYJqkXZms4NmsoFlsH9hr31eYVpU0tLS////u8C6////////u8C6////3NzchX96vJJ4tZ+Erd7L6//5/f//7v/7senXrqKEuIxvt4pttodstYdptINns4JksYBisH5fr3xdrnpbrXlZq3ZWqnVUqXNSYltV0tLS////u8C6////////u8C6////3NzchX55t4ttt41wrKyPrN/Iu+/gruTRprOWs4dqs4NksYBhsH9fr31drXtarHhXq3dVqXVSqHJQp3FOpm9KpGtIo2lGomhDYllT0tLS////u8C6////////u8C6////3Nzcgnt3sH9gsYFisYNjrI5vqJl4qpBsrIBerXtarHlYq3dVqXRSqHJQpnBNpW5Lo2xHomlEoWdDoGU/nmI9nWA5m144mlw1YFdQ0tLS////u8C6////////u8C6////29vbf3hygXlzgnp2gnp2gnp2gXp0gHh0f3dxfXVve3NveXFtd29pdW1ndGtlcmljcGZgbWRea2FcaWBaZ11YZFtVYllSYlZQYFVO0tLS////u8C6////////u8C6////29vb29vb29vb3Nzc3Nzc3Nzc29vb29vb29vb29vb2tra2tra2dnZ2dnZ2NjY2NjY19fX19fX1tbW1dXV1dXV1NTU1NTU09PT09PT0tLS////u8C6////////vMG7////////////////////////////////////////////////////////////////////////////////////////////////////////////////vMG7////////09bSu8C6u8C6u8C6u8C6u8C6u8C6u8C6u8C6u8C6u8C6u8C6u8C6u8C6u8C6u8C6u8C6u8C6u8C6u8C6u8C6u8C6u8C6u8C6u8C6u8C6u8C6u8C6u8C609bS//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + 0 + + + + + -0 + 0.8994611111111112 + 7.220486111111111 + 0.4444444444444444 + 0.4444444444444444 + 0.2222222222222222 + 0.2222222222222222 + + + 0.4444444444444444 + 0.3055555555555556 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.4444444444444444 + + + 0.4444444444444444 + 0.4444444444444444 + + + 0.4444444444444444 + 0 + + + 0 + 0 + + + 0 + 0.4444444444444444 + + + + 0 + 0 + 0.444444 + 0.444444 + + Qk0AAAAAAAAAADYAAAAoAAAAIAAAACAAAAABABgAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9fX15+fn4ODg3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e4uLi5OTk8vLy/v7+////////////////////////////////7e3t2dnZycnJwcHBv7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/xsbGwsLCzc3N4eHh/f39////////////////////////+/v74+PjKEVDKEVDKEVDKEVDKEVDKEVDKEVDKEVDKEVDKEVDKEVDKEVDKEVDKEVDKEVDKEVDKEVDKEVDKEVDKEVDKEVDurq60tLS7e3t/////////////////////////v7+5ubmKEVDf73kfLvjebridbjjc7ficLXhbbThabLgZrDfZK/eYK3fXazeWqrdVqncVKfcUqbbT6XaS6LaR6LZKEVDwMDA1tbW7e3t////////////////////////////9fX1KEVDhMDlAHvLAHvLAHvLAHvLAHvLAHvLAHvLAHvLAHvLAHvLAHvLAHvLAHvLAHvLAHvLAHvLAHvLT6XaKEVD2NjY6Ojo/Pz8////////////////////////////////KEVDi8PnAHvLAF+cAE+BAE+BAE+BAE+BAE+BAE+BAE+BAE+BAE+BAE+BAE+BAE+BAE+BAF+cAHvLVajcKEVD9vb2////////////////////////////////////////KEVDkcbnAHvLAE+DAHW/AHTAAHTAAHTAAE+BAGKrAGKrAGKrAE+BAHTAAHTAAHTAAHW/AE+DAHvLW6vdKEVD////////////////////////////////////////////KEVDl8npAHvLAE+BAHTAAHTAAHTAAHTAAE+BAE+BAE+BAE+BAE+BAHTAAHTAAHTAAHTAAE+BAHvLYq7eKEVD////////////////////////////////////////////KEVDns3qAHvLAE+BAHTAAHTAAHTAAHTAAHTAAHTAAHTAAHTAAHTAAHTAAHTAAHTAAHTAAE+BAHvLaLHgKEVD////////////////////////////////////////////KEVDo9DsAHvLAE+BAHTAAHTAAHTAAHTAAHTAAHTAAHTAAHTAAHTAAHTAAHTAAHTAAHTAAE+BAHvLb7XhKEVD////////////////////////////////////////////KEVDqdPsAHvLAE+BAHTAAHTAAHTAAHTAAHTAAHTAAHTAAHTAAHTAAHTAAHTAAHTAAHTAAE+BAHvLdLjhKEVD////////////////////////////////////////////KEVDr9buAHvLAE+DAHW/AHTAAHTAAHTAAHTAAHTAAHTAAHTAAHTAAHTAAHTAAHTAAHW/AE+DAHvLe7vjKEVD////////////////////////////////////////////KEVDttnwAHvLAF+cAE+BAE+BAE+BAE+BAE+BAE+BAE+BAE+BAE+BAE+BAE+BAE+BAE+BAF+cAHvLgb7kKEVD////////////////////////////////////////////KEVDvNzxAHvLAHvLAHvLAHvLAHvLAHvLAHvLAHvLAHvLAHvLAHvLAHvLAHvLAHvLAHvLAHvLAHvLh8HmKEVD////////////////////////////////////////////KEVDwd/xAHvLAF+cAE+BAE+BAE+BAE+BAE+BAE+BAE+BAE+BAE+BAE+BAE+BAE+BAE+BAF+cAHvLjsToKEVD////////////////////////////////////////////KEVDx+LzAHvLAE+DAHW/AHTAAHTAAHTAAE+BAGKrAGKrAGKrAE+BAHTAAHTAAHTAAHW/AE+DAHvLk8foKEVD////////////////////////////////////////////KEVDzeX0AHvLAE+BAHTAAHTAAHTAAHTAAE+BAE+BAE+BAE+BAE+BAHTAAHTAAHTAAHTAAE+BAHvLmcrpKEVD////////////////////////////////////////////KEVD1On2AHvLAE+BAHTAAHTAAHTAAHTAAHTAAHTAAHTAAHTAAHTAAHTAAHTAAHTAAHTAAE+BAHvLoM7rKEVD////////////////////////////////////////////KEVD2uv4AHvLAE+BAHTAAHTAAHTAAHTAAHTAAHTAAHTAAHTAAHTAAHTAAHTAAHTAAHTAAE+BAHvLptHtKEVD////////////////////////////////////////////KEVD3+74AHvLAE+BAHTAAHTAAHTAAHTAAHTAAHTAAHTAAHTAAHTAAHTAAHTAAHTAAHTAAE+BAHvLrNTtKEVD////////////////////////////////////////////KEVD5fH5AHvLAE+DAHW/AHTAAHTAAHTAAHTAAHTAAHTAAHTAAHTAAHTAAHTAAHTAAHW/AE+DAHvLsdfvKEVD////////////////////////////////////////////KEVD6vT7AHvLAF+cAE+BAE+BAE+BAE+BAE+BAE+BAE+BAE+BAE+BAE+BAE+BAE+BAE+BAF+cAHvLuNrwKEVD////////////////////////////////////////////KEVD8vj9AHvLAHvLAHvLAHvLAHvLAHvLAHvLAHvLAHvLAHvLAHvLAHvLAHvLAHvLAHvLAHvLAHvLvt3xKEVD////////////////////////////////////////////KEVD6PP7sNv3ZrrwZrrwZrrwZrrwZrrwZrrwZrrwZrrwZrrwZrrwZrrwZrrwZrrwZrrwZrrwn9T1xuP0KEVD////////////////////////////////////////////laamQmVt4fD6sNv4ZrrwZrrwZrrwZrrwZrrwZrrwZrrwZrrwZrrwZrrwZrrwZrrwZrrwotX2xuT2P2Fqmquq////////////////////////////////////////////////n62tRWl28/n+/P7/+v3++fz+9/v/9fr/9Pr98vn+8fj+7/f+7Pb96/b96fX95/T92uz6QWVtnKur////////////////////////////////////////////////////////oK6wK0pJK01PK01PK01PK01PK01PK01PK01PK01PK01PK01PK01PK01PK01PKkhHnayu//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + 0 + + + + + -0 + 3.380777777777778 + 4.909722222222222 + 0.4444444444444444 + 0.4444444444444444 + 0.2222222222222222 + 0.2222222222222222 + + + 0.4444444444444444 + 0.3055555555555556 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.4444444444444444 + + + 0.4444444444444444 + 0.4444444444444444 + + + 0.4444444444444444 + 0 + + + 0 + 0 + + + 0 + 0.4444444444444444 + + + + 0 + 0 + 0.444444 + 0.444444 + + Qk0AAAAAAAAAADYAAAAoAAAAIAAAACAAAAABABgAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAA/////////////////////////////////////////////////v7+/f39/Pz8+/v7+/v7/Pz8/Pz8/f39/v7+/////////////////////////////////////////////////////////////////////////Pz8+Pj48/Pz7+/v7e3t6urq6Ojo5+fn5ubm5ubm5ubm5+fn6Ojo6urq7Ozs8PDw9fX1+fn5/f39/////////////////////////////////////////f399/f38vLy7e3t6Ojo5OTk4ODg3d3d2tra2NjY1tbW1dXV1NTU1NTU1dXV19fX2dnZ3Nzc39/f4+Pj5+fn7Ozs8PDw+Pj4/v7+/////////////////////v7++Pj48/Pz7e3t5+fn4uLi3d3d2NjY09PTz8/Py8vLyMjIxcXFw8PDw8PDw8PDxMTEx8fHysrKzs7O0tLS19fX29vb4eHh5ubm6+vr8fHx+fn5////////////////+fn58/Pz7e3t5ubm4ODg2tra1NTUz8/PycnJw8PDvr6+ubm5tbW1srKysbGxsrKytLS0uLi4vb29wsLCx8fHzc3N09PT2dnZ39/f5eXl6+vr8fHx+Pj4/////////f399/f38PDwzrCc5OTk3d3d19fX0dHRy8vLxMTEvr6+uLi4r62sqZWIp31gqG1GpmU1p2Eyp2AvqWg5rHRNtpN9xLu1z8/P1dXV3Nzc4uLi6Ojo7+/v9fX1/f39/////v7++Pj48vLypl8t0byr39/f2dnZ09PTzc3Nx8fHvbOqsYZopmU1snVGwIVSyI9dzZVjzpZjz5Reyo1XxIVMuHY/rGk5s39a0cjC3t7e5OTk6urq8PDw9vb2/f39/////////f399/f3pmAtrWs918m84ODg2traz8jBtolmqmg5woxf1KN31KJy0JtmzpRezZBYy45Wy41Tyo1Sy41SyoxRyYtNunc/qmY30r6w6enp7+/v9fX1+/v7/////////////////v7+pl8t3LuarWw94NbNyqyZqmg2w45l2a+E1KN1zphhzpNczZJZzZFZzJBWzJBWzJBWzZBWy45Ty4xRyYpOyolPwX5DqmY14NDF+Pj4/f39////////////////////////pl8t69S92bKPpl8tu4NX3r2c2ayBz5plzpdgzpRezpNdzpdg0Zxq0qBv0p5vypJhxYpWxIdSxYlTzI1VyoxRyolNv3pBr3BC/fr6////////////////////////////pl8t69W+6M+14MGl6c2z4L2Z16l90Jhlzpdh0Zxp1qd71aV5w4tbtXZIqWUyq2Qwr2YxsGcvr2Yxq2Iws3A7wH9IyopOs3A938ax////////////////////////////pl8t7NbB4LuY6Myx37qV3beQ3baP3baP3LWP1Kh+vYRVqmg3yJt759TH+vX0////+/by47uey4NJ6dK206WBrmk1tnQ/v31Eu4Vc////////////////////////////pl8t7dfD37qV3riS3riS3biS48Oi5sqtyJlurGs517mk+vX0////////////////////////7dbB4r2b8uba8ePUtXhHt3VArGo5////////////////////////////pl8t7djF37qV3riS3rmT6dG54cGlq2o7xpd3+PLu/////////////////////////////////Pf06Mit9uzj+PLq9Ojhq2g3pmAt+fTw////////////////////////pl8t7drF37qV3riS3riS5MSl5sqvrGs84869//////////////////////////////////////3+8eHS+fPu/Pj1/f39y6CApl8t9Ozm////////////////////////pl8t7drF37qV3riS3riS3riS5cep4sOnrW49693R///////////////////////////////////++/f0/fv4////////486+pl8t+vXy////////////////////////pl8t7tvH7tvH7tnG7djE69W+69O969S93bubrG068ujh/////////////////////////////////vz9////////////4sy7pl8t////////////////////////////pl8tqmY3qmY3qmY3p2Mxpl8tpl8tpl8tpl8tpl8tpl8t+PHt/////////////////////////////////////////////vz98+rk////////////////////////////9ezn////////////////////////////////////////////////59XIpl8tpl8tpl8tpl8tpl8tpl8tpl8tpl8tpl8tpl8tpl8t////////////////////////+/f1pl8t4cm27d3U8eTa8Obc8+rk////////////////////////////////486+r28/372e5MSl5MOk48Ok48Sk5MSl5ser5smuqGQ1////////////////////////8OPdpl8t1a6P58y46tPB48iy17ei////////////////////////////////////2r6osXJG3ruZ2a+E0qBv0p9r0Z1q0qBu5siqqWQ1////////////////////////7+PZpl8tt3lI1KmJ2bGVx5ZxxZh4////////////////////////////////////////07KZr3FB4b6d2KuA0p9u0Z1r0qBu5caoqWQ1////////////////////////8OTbqmU1qWU0vYJTxI1hwIVavIZg////////////////////////////////////9u7pwZBsrGo53bqZ3riS0qBv0Z5s0p9t5MWmqWQ1////////////////////////+/j2rms9wpBnq2Y1tXNEt3dHrGw8+fPw////////////////////////+fTw1bObrmo8x5Zt4L2b2a2F1KNy06Fw0p9t0p9t48Okp18t////////////////////////////tXlP3r6guoRXq2Y3qWMwrWk4snRJ693R////////+vXy5tLFxZd2qms6xJFq27aS3riS16l91aV31KNz1qd43beR06Jx4b+epl8t////////////////////////////1rWcxJVs69O71rCOtHZKqmQyqmUzqWQyqWQyqGQyq2k5vYdf1KqH58uu6Myy5cWm4LyY2rKI1ad62a6G37ya2rSR37uW4b+dpl8t////////////////////////////+PLvrmw9376i6tO86dO55suw3bue2bWV3Lia4sOn6M+26M6158uw5cep5MSl48Oj4sGh48Ok6Mqv3bmYsnVEpmAt06iD4sGgpl8t////////////////////////////////4sy7r28/48Sq6tK66dG46c+26M+16M206Myy58qu5smt5cer5cao5cWm5cao58uw5smtyZpyrGo84Mi17uHXrWo61KiBpl8t////////////////////////////////////3cOwrm5B1rCP6dG46dC36M+1582058yx58qv58qv58qu58uw582048OmzJ11rmo8yqCB+PLu////////6tnOrGg6pl8t////////////////////////////////////////8OTbvIdgtntP0KWD4L6h5smv6c+26M2y48Wr27eXzaJ+uoJVrms9zqmM9Ovl////////////////////5tLFpl8t////////////////////////////////////////////////8OPc1LCWu4RdsG5BqGMzq2c3r21Au4VdzqaJ59XI/fr6////////////////////////////////4cu6//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + 0 + + + + + -0 + 1.468905555555556 + 7.185763888888889 + 0.6944444444444444 + 0.375 + 0.3472222222222222 + 0.1875 + + + 0.6944444444444444 + 0.375 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.375 + + + 0.6944444444444444 + 0.375 + + + 0.6944444444444444 + 0 + + + 0 + 0 + + + 0 + 0.375 + + + + 0 + + + 0.0277778 + 0.0277778 + 1 + 0 + + + 1 + 0 + + 0.25 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Model + + + + -0 + 5.093902777777778 + 2.581597222222222 + 1.083333333333333 + 0.375 + 0.5416666666666666 + 0.1875 + + + 1.083333333333333 + 0.375 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.375 + + + 1.083333333333333 + 0.375 + + + 1.083333333333333 + 0 + + + 0 + 0 + + + 0 + 0.375 + + + + 0 + + + 0.0277778 + 0.0277778 + 1 + 0 + + + 1 + 0 + + 0.25 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Controller + + + + -0 + 1.399461111111111 + 2.616319444444445 + 0.5555555555555556 + 0.375 + 0.2777777777777778 + 0.1875 + + + 0.5555555555555556 + 0.375 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.375 + + + 0.5555555555555556 + 0.375 + + + 0.5555555555555556 + 0 + + + 0 + 0 + + + 0 + 0.375 + + + + 0 + + + 0.0277778 + 0.0277778 + 1 + 0 + + + 1 + 0 + + 0.25 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + View + + + + -0 + 5.163347222222223 + 7.220486111111111 + 0.9444444444444444 + 0.375 + 0.4722222222222222 + 0.1875 + + + 0.9444444444444444 + 0.375 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.375 + + + 0.9444444444444444 + 0.375 + + + 0.9444444444444444 + 0 + + + 0 + 0 + + + 0 + 0.375 + + + + 0 + + + 0.0277778 + 0.0277778 + 1 + 0 + + + 1 + 0 + + 0.25 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Services + + + + -0 + 2.597833333333333 + 3.032986111111111 + 1.416666666666667 + 1.430555555555556 + 0.7083333333333334 + 0.7152777777777778 + + + 1.416666666666667 + 1.430555555555556 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 1.430555555555556 + + + 1.416666666666667 + 1.430555555555556 + + + 1.416666666666667 + 0 + + + 0 + 0 + + + 0 + 1.430555555555556 + + + + 0 + + + 0.0277778 + 0.0277778 + 1 + 0 + + + 1 + 0 + + 0.180556 + 0 + + + 1 + 0 + + 0.180556 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + HTML Compiler +* Widgets +* Markup +* Directives +* Filters +* Validators + + + + -0 + 4.397680555555556 + 6.372388888888889 + 1.625 + 1.194444444444444 + 0.8125 + 0.5972222222222222 + + + 1.625 + 1.194444444444444 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 1.194444444444444 + + + 1.625 + 1.194444444444444 + + + 1.625 + 0 + + + 0 + 0 + + + 0 + 1.194444444444444 + + + + 0 + + + 0.0277778 + 0.0277778 + 1 + 0 + + + 1 + 0 + + 0.180556 + 0 + + + 1 + 0 + + 0.180556 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Standard Services +* Browser +* URL Router +* Resources +* Caching + + + + -0 + 1.979525 + 4.051 + 1.986111111111111 + 0.3611111111111111 + 0.9930555555555556 + 0.1805555555555556 + + + 1.986111111111111 + 0.3611111111111111 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3611111111111111 + + + 1.986111111111111 + 0.3611111111111111 + + + 1.986111111111111 + 0 + + + 0 + 0 + + + 0 + 0.3611111111111111 + + + + 0 + + + 0.0277778 + 0.0277778 + 1 + 0 + + + 1 + 0 + + 0.25 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Your HTML / CSS + + + + -0 + 4.725847222222223 + 4.051 + 1.736111111111111 + 0.3611111111111111 + 0.8680555555555556 + 0.1805555555555556 + + + 1.736111111111111 + 0.3611111111111111 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3611111111111111 + + + 1.736111111111111 + 0.3611111111111111 + + + 1.736111111111111 + 0 + + + 0 + 0 + + + 0 + 0.3611111111111111 + + + + 0 + + + 0.0277778 + 0.0277778 + 1 + 0 + + + 1 + 0 + + 0.25 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Your JavaScript + + + + -0.005759001 + 6.151708333333334 + 5.798385416666666 + 2.335527777777778 + 1.111979166666667 + 1.167763888888889 + 0.5559895833333334 + + + 4.983963809474 + 5.80511053298142 + 7.31945285719266 + 5.79166030035192 + + + 1.751645833333333 + 0.4171006944444444 + -0 + + + 2 + 4 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #cccccc + 0 + 1 + 0 + 0.6 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 7.894919286223335e-16 + 0.5559895833333334 + + + 0.2785159746805835 + 1.111979166666667 + + + 0.2785159746805835 + 0.8380146096460521 + + + 2.057011803097195 + 0.8380146096460521 + + + 2.057011803097195 + 1.111979166666667 + + + 2.335527777777777 + 0.5559895833333326 + + + 2.057011803097195 + -7.894919286223335e-16 + + + 2.057011803097195 + 0.2739645570206137 + + + 0.2785159746805835 + 0.2739645570206146 + + + 0.2785159746805835 + -7.894919286223335e-16 + + + 7.894919286223335e-16 + 0.5559895833333334 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.194444 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + JSON RESTful URLs + + + + -0 + 2.059180555555555 + 6.318583333333333 + 1.347222222222222 + 1.194444444444444 + 0.6736111111111112 + 0.5972222222222222 + + + 1.347222222222222 + 1.194444444444444 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 1.194444444444444 + + + 1.347222222222222 + 1.194444444444444 + + + 1.347222222222222 + 0 + + + 0 + 0 + + + 0 + 1.194444444444444 + + + + 0 + + + 0.0277778 + 0.0277778 + 1 + 0 + + + 1 + 0 + + 0.180556 + 0 + + + 1 + 0 + + 0.180556 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Scope +* $get / $set +* $eval / $tryEval +* $watch +* $become + + + + + + + + 0.111111 + 0.111111 + + + 1 + 1 + 8 + 10.1806 + 3 + 0.0178571 + -0.0337302 + + + Text + 1 + 1 + 1 + + + Layer 1 + 1 + 1 + 0 + + + + + + -0 + 4 + 8.104166666666666 + 7.038194444444445 + 3.041666666666667 + 3.519097222222222 + 1.520833333333333 + + + 7.038194444444445 + 2.902777777777778 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #fff1cc + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 3.041666666666667 + + + 7.038194444444445 + 3.041666666666667 + + + 7.038194444444445 + 0 + + + 0 + 0 + + + 0 + 3.041666666666667 + + + + 1 + + + + + -0 + 3.597222222222222 + 8.416666666666666 + 4.927083333333333 + 0.7777777777777778 + 2.463541666666667 + 0.3888888888888889 + + + 4.927083333333333 + 0.6388888888888888 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #c7e3f3 + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.7777777777777778 + + + 4.927083333333333 + 0.7777777777777778 + + + 4.927083333333333 + 0 + + + 0 + 0 + + + 0 + 0.7777777777777778 + + + + 1 + + + + + -0 + 3.701388888888889 + 8.6875 + 4.329861111111111 + 0.1805555555555556 + 2.164930555555555 + 0.09027777777777778 + + + 4.329861111111111 + 0.04166666666666666 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #50abdc + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.1805555555555556 + + + 4.329861111111111 + 0.1805555555555556 + + + 4.329861111111111 + 0 + + + 0 + 0 + + + 0 + 0.1805555555555556 + + + + 1 + + + + + -0 + 2.786458333333333 + 8.479166666666666 + 2.888888888888889 + 0.1805555555555556 + 1.444444444444444 + 0.09027777777777778 + + + 2.888888888888889 + 0.04166666666666666 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #a9d9a9 + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.1805555555555556 + + + 2.888888888888889 + 0.1805555555555556 + + + 2.888888888888889 + 0 + + + 0 + 0 + + + 0 + 0.1805555555555556 + + + + 1 + + + + + -0 + 2.265625 + 8.284722222222221 + 1.847222222222222 + 0.1805555555555556 + 0.9236111111111112 + 0.09027777777777778 + + + 1.847222222222222 + 0.04166666666666666 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #a9d9a9 + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.1805555555555556 + + + 1.847222222222222 + 0.1805555555555556 + + + 1.847222222222222 + 0 + + + 0 + 0 + + + 0 + 0.1805555555555556 + + + + 1 + + + + + -0 + 4.263888888888889 + 7.618055555555555 + 6.260416666666667 + 0.7777777777777778 + 3.130208333333333 + 0.3888888888888889 + + + 6.260416666666667 + 0.6388888888888888 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #ffcacc + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.7777777777777778 + + + 6.260416666666667 + 0.7777777777777778 + + + 6.260416666666667 + 0 + + + 0 + 0 + + + 0 + 0.7777777777777778 + + + + 1 + + + + + -0 + 3.53125 + 8.479166666666666 + 0.9340277777777778 + 0.125 + 0.4670138888888889 + 0.0625 + + + 0.9340277777777778 + 0.01388888888888889 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #4bab51 + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.125 + + + 0.9340277777777778 + 0.125 + + + 0.9340277777777778 + 0 + + + 0 + 0 + + + 0 + 0.125 + + + + 1 + + + + + -0 + 4.296875 + 7.506944444444445 + 5.965277777777778 + 0.1805555555555556 + 2.982638888888889 + 0.09027777777777778 + + + 5.965277777777778 + 0.04166666666666666 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #ff5c65 + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.1805555555555556 + + + 5.965277777777778 + 0.1805555555555556 + + + 5.965277777777778 + 0 + + + 0 + 0 + + + 0 + 0.1805555555555556 + + + + 1 + + + + + -0 + 4 + 3.423611111111111 + 7.038194444444445 + 5.736111111111111 + 3.519097222222222 + 2.868055555555555 + + + 7.038194444444445 + 5.597222222222222 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 5.736111111111111 + + + 7.038194444444445 + 5.736111111111111 + + + 7.038194444444445 + 0 + + + 0 + 0 + + + 0 + 5.736111111111111 + + + + 1 + + + + + -0 + 4.015625 + 5.576388888888889 + 6.694444444444445 + 0.4861111111111111 + 3.347222222222222 + 0.2430555555555556 + + + 6.694444444444445 + 0.3472222222222222 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #fff1cc + 0 + 1 + 0 + 0.5 + 1 + 0.0416667 + -0.0416667 + + + 0 + 0 + + 0 + 0.4861111111111111 + + + 6.694444444444445 + 0.4861111111111111 + + + 6.694444444444445 + 0 + + + 0 + 0 + + + 0 + 0.4861111111111111 + + + + 1 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 2 + 0 + + 0.166667 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 2 + 0 + + 0.166667 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Scope: Outter most scope which holds services and properties such as 'people' and 'email'. + + + + -0 + 4.015625 + 2.965277777777778 + 6.694444444444445 + 0.9027777777777778 + 3.347222222222222 + 0.4513888888888889 + + + 6.694444444444445 + 0.7638888888888888 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #c7e3f3 + 0 + 1 + 0 + 0.5 + 1 + 0.0416667 + -0.0416667 + + + 0 + 0 + + 0 + 0.9027777777777778 + + + 6.694444444444445 + 0.9027777777777778 + + + 6.694444444444445 + 0 + + + 0 + 0 + + + 0 + 0.9027777777777778 + + + + 1 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Child Scope: in this case the ng-repeat directive triggers the creation of new scopes one for each item in an iterator expression. It than assigns the 'person' to each scope. The scopes inherit from parent scopes so anything declared at higher scope is still visible. + + + + -0 + 4.015625 + 3.855902777777778 + 6.694444444444445 + 0.7118055555555556 + 3.347222222222222 + 0.3559027777777778 + + + 6.694444444444445 + 0.5729166666666666 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #50abdc + 0 + 1 + 0 + 0.5 + 1 + 0.0416667 + -0.0416667 + + + 0 + 0 + + 0 + 0.7118055555555556 + + + 6.694444444444445 + 0.7118055555555556 + + + 6.694444444444445 + 0 + + + 0 + 0 + + + 0 + 0.7118055555555556 + + + + 1 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 2 + 0 + + 0.166667 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Directives: instructing the compiler to perform specific actions. In this case a repeater iterates over the list of 'people' looking for the person with specific email. The DOM element is then replicated to match the number of elements. + + + + -0 + 4.015625 + 2.243055555555555 + 6.694444444444445 + 0.375 + 3.347222222222222 + 0.1875 + + + 6.694444444444445 + 0.2361111111111111 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #a9d9a9 + 0 + 1 + 0 + 0.5 + 1 + 0.0416667 + -0.0416667 + + + 0 + 0 + + 0 + 0.375 + + + 6.694444444444445 + 0.375 + + + 6.694444444444445 + 0 + + + 0 + 0 + + + 0 + 0.375 + + + + 1 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Markup: evaluates expression in the closest scope and inserts it into DOM. + + + + -0 + 4.015625 + 1.777777777777778 + 6.694444444444445 + 0.375 + 3.347222222222222 + 0.1875 + + + 6.694444444444445 + 0.2361111111111111 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #4bab51 + 0 + 1 + 0 + 0.5 + 1 + 0.0416667 + -0.0416667 + + + 0 + 0 + + 0 + 0.375 + + + 6.694444444444445 + 0.375 + + + 6.694444444444445 + 0 + + + 0 + 0 + + + 0 + 0.375 + + + + 1 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Filter: Markup may include optional filter to transform value before it is displayed. + + + + -0 + 4.015625 + 5.006944444444445 + 6.694444444444445 + 0.4861111111111111 + 3.347222222222222 + 0.2430555555555556 + + + 6.694444444444445 + 0.3472222222222222 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #ffd767 + 0 + 1 + 0 + 0.5 + 1 + 0.0416667 + -0.0416667 + + + 0 + 0 + + 0 + 0.4861111111111111 + + + 6.694444444444445 + 0.4861111111111111 + + + 6.694444444444445 + 0 + + + 0 + 0 + + + 0 + 0.4861111111111111 + + + + 1 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 2 + 0 + + 0.166667 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Input Widget: binds to 'email' in its scope. Changing scope changes the widget and vice versa. + + + + -0 + 4.015625 + 4.486111111111111 + 6.694444444444445 + 0.375 + 3.347222222222222 + 0.1875 + + + 6.694444444444445 + 0.2361111111111111 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #d08d05 + 0 + 1 + 0 + 0.5 + 1 + 0.0416667 + -0.0416667 + + + 0 + 0 + + 0 + 0.375 + + + 6.694444444444445 + 0.375 + + + 6.694444444444445 + 0 + + + 0 + 0 + + + 0 + 0.375 + + + + 1 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Validator: an input widget may have optional validator to notify user of wrong input. + + + + -0 + 4.015625 + 1.3125 + 6.694444444444445 + 0.375 + 3.347222222222222 + 0.1875 + + + 6.694444444444445 + 0.2361111111111111 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #ffcacc + 0 + 1 + 0 + 0.5 + 1 + 0.0416667 + -0.0416667 + + + 0 + 0 + + 0 + 0.375 + + + 6.694444444444445 + 0.375 + + + 6.694444444444445 + 0 + + + 0 + 0 + + + 0 + 0.375 + + + + 1 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Widget: Allows the execution of custom code which can transform the DOM. + + + + -0 + 4.536458333333333 + 9.076388888888889 + 4.159722222222222 + 0.1805555555555556 + 2.079861111111111 + 0.09027777777777778 + + + 4.159722222222222 + 0.04166666666666666 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #ffd767 + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.1805555555555556 + + + 4.159722222222222 + 0.1805555555555556 + + + 4.159722222222222 + 0 + + + 0 + 0 + + + 0 + 0.1805555555555556 + + + + 1 + + + + + -0 + 5.407986111111111 + 9.076388888888889 + 1.972222222222222 + 0.125 + 0.9861111111111112 + 0.0625 + + + 1.972222222222222 + 0.01388888888888889 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #d08d05 + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.125 + + + 1.972222222222222 + 0.125 + + + 1.972222222222222 + 0 + + + 0 + 0 + + + 0 + 0.125 + + + + 1 + + + + + -0 + 4.015625 + 0.8541666666666666 + 6.694444444444445 + 0.375 + 3.347222222222222 + 0.1875 + + + 6.694444444444445 + 0.2361111111111111 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #ff5c65 + 0 + 1 + 0 + 0.5 + 1 + 0.0416667 + -0.0416667 + + + 0 + 0 + + 0 + 0.375 + + + 6.694444444444445 + 0.375 + + + 6.694444444444445 + 0 + + + 0 + 0 + + + 0 + 0.375 + + + + 1 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Nested Widgets: widgets can be nested for added expressivness. + + + + -0 + 3.939236111111111 + 8.111111111111111 + 6.708333333333333 + 2.916666666666667 + 3.354166666666667 + 1.458333333333333 + + + 6.708333333333333 + 2.916666666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #e6e6e6 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 2.916666666666667 + + + 6.708333333333333 + 2.916666666666667 + + + 6.708333333333333 + 0 + + + 0 + 0 + + + 0 + 2.916666666666667 + + + + 0 + + + 0 + 0 + 0 + 0 + + + 2 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + <html> + <body> + Find by email: <input name="email" ng-validate="email"/> + <ul> + <li ng-repeat="person in people.$filter(email)"> + {{ person.last | uppercase }}, + {{ person.first }}, + </li> + <ng:switch on="$location.hashPath"> + <div ng-switch-when="home">Welcome</div> + <ng:include ng-switch-when="account" src="'account.html'"/> + </ng:switch> + </ul> + </body> +</html> + + + + -0 + 1.064236111111111 + 6.048611111111111 + 0.9583333333333334 + 0.375 + 0.4791666666666667 + 0.1875 + + + 0.9583333333333334 + 0.375 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.375 + + + 0.9583333333333334 + 0.375 + + + 0.9583333333333334 + 0 + + + 0 + 0 + + + 0 + 0.375 + + + + 0 + + + 0.0277778 + 0.0277778 + 1 + 0 + + + 3 + 0 + + 0.25 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Legend + + + + + + + + 0.111111 + 0.111111 + + + 1 + 1 + 8 + 10.1806 + 3 + 0.015625 + -0.0329861 + + + Layer 1 + 1 + 1 + 0 + + + + + + -0 + 4 + 5.090277777777778 + 6.569444444444445 + 4.099722222222223 + 3.284722222222222 + 2.049861111111111 + + + 6.569444444444445 + 3.960833333333333 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0.125 + 0 + + + 1 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 4.099722222222223 + + + 6.569444444444445 + 4.099722222222223 + + + 6.569444444444445 + 0 + + + 0 + 0 + + + 0 + 4.099722222222223 + + + + 0 + + + + + -0 + 4 + 6.739402777777777 + 4.25 + 0.5 + 2.125 + 0.25 + + + 4.25 + 0.5 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.5000000000000004 + + + 4.25 + 0.5000000000000004 + + + 4.25 + 0 + + + 0 + 0 + + + 0 + 0.5000000000000004 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 0 + 0 + + 0.416667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + One-Way Data Binding + + + + -0 + 4.000006944444444 + 6.03723125 + 2.119791666666667 + 0.5586763888888888 + 1.059895833333333 + 0.2793381944444444 + + + 2.119791666666667 + 0.4197875 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0.125 + 0 + + + 1 + #7ec77e + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.5586763888888887 + + + 2.119791666666667 + 0.5586763888888887 + + + 2.119791666666667 + 0 + + + 0 + 0 + + + 0 + 0.5586763888888887 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 0 + 0 + + 0.333333 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + View + + + + -5.586821 + 3.248385072985656 + 4.16070577291202 + 0.9099891688947128 + 0.5 + 0.4549945844473564 + 0.25 + + + 2.89932280422606 + 3.86885717448327 + 3.59744734174525 + 4.45255437134077 + + + 0.6824918766710346 + 0.1111111111111111 + -0 + + + 2 + 4 + + + 1 + 0.0138889 + 0 + 0.25 + 0 + 0 + + + 1 + #dcdcdc + 0 + 1 + 0 + 0.6 + 1 + 0.0416667 + -0.0416667 + + + 0 + 0 + + -3.947459643111667e-16 + 0.16952709108591 + + + -3.947459643111667e-16 + 0.3304729089140892 + + + 0.7020196358221354 + 0.3304729089140892 + + + 0.7020196358221354 + 0.4999999999999992 + + + 0.909989168894713 + 0.25 + + + 0.7020196358221354 + -7.894919286223335e-16 + + + 0.702019635822135 + 0.1695270910859108 + + + -3.947459643111667e-16 + 0.16952709108591 + + + + 0 + + + + + -3.84689 + 4.765925045069717 + 4.137030780174527 + 0.9630936300878532 + 0.5 + 0.4815468150439266 + 0.25 + + + 5.13258369144006 + 3.82486292128957 + 4.39926639869938 + 4.44919863905949 + + + 0.7223202225658899 + 0.1111111111111111 + -0 + + + 2 + 4 + + + 1 + 0.0138889 + 0 + 0.25 + 0 + 0 + + + 1 + #dcdcdc + 0 + 1 + 0 + 0.6 + 1 + 0.0416667 + -0.0416667 + + + 0 + 0 + + 0 + 0.1695270910859108 + + + 0 + 0.3304729089140888 + + + 0.7551240970152754 + 0.3304729089140888 + + + 0.7551240970152754 + 0.5 + + + 0.963093630087853 + 0.25 + + + 0.7551240970152754 + 0 + + + 0.7551240970152754 + 0.1695270910859104 + + + 0 + 0.1695270910859108 + + + + 0 + + + + + -4.712393 + 4.000004565435045 + 5.502765972222223 + 0.4963652777828329 + 0.5 + 0.2481826388914165 + 0.25 + + + 4.00000346072562 + 5.25458333333326 + 4.00000567014447 + 5.75094861111118 + + + 0.3722739583371247 + 0.1111111111111111 + -0 + + + 2 + 4 + + + 1 + 0.0138889 + 0 + 0.25 + 0 + 0 + + + 1 + #dcdcdc + 0 + 1 + 0 + 0.6 + 1 + 0.0416667 + -0.0416667 + + + 0 + 0 + + 0 + 0.1695270910859108 + + + 0 + 0.3304729089140892 + + + 0.288395744710255 + 0.3304729089140892 + + + 0.288395744710255 + 0.5000000000000008 + + + 0.4963652777828334 + 0.2500000000000008 + + + 0.288395744710255 + 7.894919286223335e-16 + + + 0.288395744710255 + 0.1695270910859108 + + + 0 + 0.1695270910859108 + + + + 0 + + + + + -0 + 2.559895833333333 + 3.585064583333334 + 2.119791666666667 + 0.5586763888888888 + 1.059895833333333 + 0.2793381944444444 + + + 2.119791666666667 + 0.4197875 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0.125 + 0 + + + 1 + #ff5c65 + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.5586763888888887 + + + 2.119791666666667 + 0.5586763888888887 + + + 2.119791666666667 + 0 + + + 0 + 0 + + + 0 + 0.5586763888888887 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 0 + 0 + + 0.333333 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Template + + + + -0 + 5.440104166666667 + 3.563044444444444 + 2.119791666666667 + 0.5146333333333334 + 1.059895833333333 + 0.2573166666666667 + + + 2.119791666666667 + 0.3757444444444445 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0.125 + 0 + + + 1 + #0088c6 + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.5146333333333328 + + + 2.119791666666667 + 0.5146333333333328 + + + 2.119791666666667 + 0 + + + 0 + 0 + + + 0 + 0.5146333333333328 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.333333 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Model + + + + -0 + 4.000001388888888 + 4.789127083333333 + 1.029947222222222 + 0.9170236111111111 + 0.5149736111111111 + 0.4585118055555555 + + + 1.029947222222222 + 0.7781347222222222 + -0 + + + 1 + + + 9 + 0.0138889 + 0 + 0 + 0.416667 + 0 + + + 1 + #e6e6e6 + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.9170236111111115 + + + 1.029947222222222 + 0.9170236111111115 + + + 1.029947222222222 + 0 + + + 0 + 0 + + + 0 + 0.9170236111111115 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 0 + 0 + + 0.194444 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + one-time merge + + + + -0 + 1.538302777777778 + 5.090277777777778 + 0.9444444444444444 + 1.194444444444444 + 0.4722222222222222 + 0.5972222222222222 + + + 0.9444444444444444 + 1.194444444444444 + -1.5708 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 1.194444444444444 + + + 0.9444444444444444 + 1.194444444444444 + + + 0.9444444444444444 + 0 + + + 0 + 0 + + + 0 + 1.194444444444444 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 0 + 0 + + 1 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + :-( + + + + + + + + + + + + + + + 0.111111 + 0.111111 + + + 1 + 1 + 8 + 10.1806 + 3 + 0.00520833 + -0.0295139 + + + Layer 1 + 1 + 1 + 0 + + + + + + -0 + 4 + 5.145833333333333 + 6.569444444444445 + 4.680555555555555 + 3.284722222222222 + 2.340277777777778 + + + 6.569444444444445 + 4.541666666666667 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0.125 + 0 + + + 1 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 4.680555555555555 + + + 6.569444444444445 + 4.680555555555555 + + + 6.569444444444445 + 0 + + + 0 + 0 + + + 0 + 4.680555555555555 + + + + 0 + + + + + -0 + 4 + 7.173611111111111 + 4.236111111111111 + 0.5 + 2.118055555555555 + 0.25 + + + 4.236111111111111 + 0.5 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.5 + + + 4.236111111111111 + 0.5 + + + 4.236111111111111 + 0 + + + 0 + 0 + + + 0 + 0.5 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 0 + 0 + + 0.416667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Two-Way Data Binding + + + + -0 + 3.951395833333333 + 6.450800694444444 + 2.119791666666667 + 0.5586763888888888 + 1.059895833333333 + 0.2793381944444444 + + + 2.119791666666667 + 0.4197875 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0.125 + 0 + + + 1 + #ff5c65 + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.5586763888888887 + + + 2.119791666666667 + 0.5586763888888887 + + + 2.119791666666667 + 0 + + + 0 + 0 + + + 0 + 0.5586763888888887 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 0 + 0 + + 0.333333 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Template + + + + -0 + 4.019465277777778 + 3.269336111111111 + 2.119791666666667 + 0.5146333333333334 + 1.059895833333333 + 0.2573166666666667 + + + 2.119791666666667 + 0.3757444444444445 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0.125 + 0 + + + 1 + #0088c6 + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.5146333333333328 + + + 2.119791666666667 + 0.5146333333333328 + + + 2.119791666666667 + 0 + + + 0 + 0 + + + 0 + 0.5146333333333328 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.333333 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Model + + + + -0 + 3.951395833333333 + 5.250300694444444 + 2.119791666666667 + 0.5586763888888888 + 1.059895833333333 + 0.2793381944444444 + + + 2.119791666666667 + 0.4197875 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0.125 + 0 + + + 1 + #7ec77e + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.5586763888888887 + + + 2.119791666666667 + 0.5586763888888887 + + + 2.119791666666667 + 0 + + + 0 + 0 + + + 0 + 0.5586763888888887 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 0 + 0 + + 0.333333 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + View + + + + -0 + 3.951395833333333 + 4.200267361111111 + 3.150430555555555 + 0.8252986111111111 + 1.575215277777778 + 0.4126493055555556 + + + 3.150430555555555 + 0.6864097222222223 + -0 + + + 1 + + + 9 + 0.0138889 + 0 + 0 + 0.416667 + 0 + + + 1 + #e6e6e6 + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.8252986111111116 + + + 3.150430555555556 + 0.8252986111111116 + + + 3.150430555555556 + 0 + + + 0 + 0 + + + 0 + 0.8252986111111116 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 0 + 0 + + 0.194444 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Continuous Updates +Model is Single-Source-of-Truth + + + + -0 + 2.540293055555556 + 4.192388888888889 + 0.847225 + 2.220361111111111 + 0.4236125 + 1.110180555555556 + + + 0.847225 + 2.081472222222223 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #dcdcdc + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0.7638911017750003 + 2.095363662 + + + 0.125002118175 + 1.081472618605555 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.131148,0.937450,0,1, 0.163945,0.781072,0,1) + + + 0.6681284128 + 0.2499948982222225 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.131149,0.193080,0,1, 0.219297,0.112585,0,1) + + + 0.6681284128 + 0.3749967880555553 + + + 0.8472250000000001 + 0.1944325817777776 + + + 0.6527800847 + 0 + + + 0.6527800847 + 0.1249952287499999 + + + 0 + 1.081469954172222 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.216559,0.056295,0,1, 0.000000,0.117171,0,1) + + + 0.7638919490000001 + 2.220361111111111 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.000018,0.856965,0,1, 0.147679,1.000000,0,1) + + + 0.7638911017750003 + 2.095363662 + + + + 0 + + + + + -0 + 1 + 1 + 5.3906 + 4.297902777777778 + 0.7586166666666666 + 2.212861111111111 + 0.3793083333333333 + 1.106430555555556 + + + 0.7586166666666666 + 2.073972222222222 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #dcdcdc + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0.6809980438000002 + 2.087863225527778 + + + 0.1254418175333332 + 1.143435568058333 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.037193,0.937242,0,1, 0.183673,0.811715,0,1) + + + 0.5795133406000004 + 0.2500112611944445 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.147052,0.221726,0,1, 0.128118,0.112970,0,1) + + + 0.5795133406000004 + 0.3750002953333333 + + + 0.7586166666666669 + 0.1944374672499999 + + + 0.564170318516667 + 0 + + + 0.564170318516667 + 0.125002311305556 + + + 0.0004399976666667903 + 1.143432912625 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.125059,0.056489,0,1, -0.010200,0.154737,0,1) + + + 0.6809980438000002 + 2.212861111111112 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.011343,0.878697,0,1, 0.055666,1.000000,0,1) + + + 0.6809980438000002 + 2.087863225527778 + + + + 0 + + + + + -0 + 6.466652777777778 + 4.200263888888888 + 1.277777777777778 + 0.3888888888888889 + 0.6388888888888888 + 0.1944444444444444 + + + 1.277777777777778 + 0.3888888888888889 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3888888888888889 + + + 1.277777777777778 + 0.3888888888888889 + + + 1.277777777777778 + 0 + + + 0 + 0 + + + 0 + 0.3888888888888889 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Change to Model +updates View + + + + -0 + 1.484738888888889 + 4.192388888888889 + 1.180555555555556 + 0.3888888888888889 + 0.5902777777777778 + 0.1944444444444444 + + + 1.180555555555556 + 0.3888888888888889 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3888888888888889 + + + 1.180555555555556 + 0.3888888888888889 + + + 1.180555555555556 + 0 + + + 0 + 0 + + + 0 + 0.3888888888888889 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Change to View +updates Model + + + + -1.570796 + 3.951395833333333 + 5.850550694444445 + 0.6279347222222229 + 0.5 + 0.3139673611111115 + 0.25 + + + 3.95139583333333 + 6.16451805555556 + 3.95139583333333 + 5.53658333333333 + + + 0.4709510416666672 + 0.1111111111111111 + -0 + + + 2 + 4 + + + 1 + 0.0138889 + 0 + 0.25 + 0 + 0 + + + 1 + #dcdcdc + 0 + 1 + 0 + 0.6 + 1 + 0.0416667 + -0.0416667 + + + 0 + 0 + + 0 + 0.1695270910859108 + + + 0 + 0.3304729089140892 + + + 0.4199651891496454 + 0.3304729089140892 + + + 0.4199651891496454 + 0.5 + + + 0.6279347222222229 + 0.25 + + + 0.4199651891496454 + 0 + + + 0.4199651891496454 + 0.1695270910859108 + + + 0 + 0.1695270910859108 + + + + 0 + + + + + -0 + 4.373625000000001 + 5.850555555555555 + 0.625 + 0.1944444444444444 + 0.3125 + 0.09722222222222222 + + + 0.625 + 0.1944444444444444 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.1944444444444444 + + + 0.625 + 0.1944444444444444 + + + 0.625 + 0 + + + 0 + 0 + + + 0 + 0.1944444444444444 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Compile + + + + -0 + 1.538302777777778 + 5.785958333333333 + 0.9444444444444444 + 1.194444444444444 + 0.4722222222222222 + 0.5972222222222222 + + + 0.9444444444444444 + 1.194444444444444 + -1.5708 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 1.194444444444444 + + + 0.9444444444444444 + 1.194444444444444 + + + 0.9444444444444444 + 0 + + + 0 + 0 + + + 0 + 1.194444444444444 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 0 + 0 + + 1 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + :-) + + + + + + + + + + + 0.111111 + 0.111111 + + + 1 + 1 + 8 + 10.1806 + 3 + 0 + -0.0277778 + + + Columns + 1 + 1 + 0 + + + Layer 1 + 1 + 1 + 0 + + + + + + -4.712389 + 3.98773611111111 + 4.678993055555555 + 2.802416666666667 + 6.919902777777778 + 1.401208333333333 + 3.459951388888889 + + + 2.802416666666667 + 6.781013888888889 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0.125 + 0 + + + 1 + #a9d9a9 + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 6.919902777777777 + + + 2.802416666666667 + 6.919902777777777 + + + 2.802416666666667 + -1.578983857244667e-15 + + + 0 + -1.578983857244667e-15 + + + 0 + 6.919902777777777 + + + + 1 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 0 + 0 + + 0.25 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 2 + + Read + + + + -4.712389 + 4.01226388888889 + 2.581993055555555 + 1.055555555555556 + 6.919902777777778 + 0.5277777777777778 + 3.459951388888889 + + + 1.055555555555556 + 6.781013888888889 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0.125 + 0 + + + 1 + #8ec7e8 + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 6.919902777777777 + + + 1.055555555555555 + 6.919902777777777 + + + 1.055555555555555 + 0 + + + -1.578983857244667e-15 + 0 + + + 0 + 6.919902777777777 + + + + 1 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 0 + 0 + + 0.25 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 2 + + Update + + + + -4.712389 + 4.012272916666666 + 1.381048611111112 + 0.9601291666666667 + 6.919902777777778 + 0.4800645833333334 + 3.459951388888889 + + + 0.9601291666666667 + 6.781013888888889 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0.125 + 0 + + + 1 + #ff9498 + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 6.919902777777778 + + + 0.9601291666666659 + 6.919902777777777 + + + 0.9601291666666659 + 0 + + + 0 + 0 + + + 0 + 6.919902777777778 + + + + 1 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 0 + 0 + + 0.25 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 2 + + Delete + + + + -4.712389 + 4.01226388888889 + 6.921818055555556 + 1.347222222222222 + 6.919902777777778 + 0.6736111111111112 + 3.459951388888889 + + + 1.347222222222222 + 6.781013888888889 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0.125 + 0 + + + 1 + #ff9498 + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 6.919902777777778 + + + 1.347222222222222 + 6.919902777777778 + + + 1.347222222222223 + 0 + + + 0 + 0 + + + 0 + 6.919902777777778 + + + + 1 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 0 + 0 + + 0.25 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 2 + + Create + + + + -0 + 4 + 9.111111111111111 + 2.722222222222222 + 0.5 + 1.361111111111111 + 0.25 + + + 2.722222222222222 + 0.5 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.5 + + + 2.722222222222222 + 0.5 + + + 2.722222222222222 + 0 + + + 0 + 0 + + + 0 + 0.5 + + + + 1 + + + 0 + 0 + 1 + 0 + + + 0 + 0 + + 0.416667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + RESTful URLs + + + + -0 + 3.895833333333333 + 8.548611111111111 + 6.805555555555555 + 0.4027777777777778 + 3.402777777777778 + 0.2013888888888889 + + + 6.805555555555555 + 0.4027777777777778 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.4027777777777778 + + + 6.805555555555555 + 0.4027777777777778 + + + 6.805555555555555 + 0 + + + 0 + 0 + + + 0 + 0.4027777777777778 + + + + 1 + + + 0 + 0 + 1 + 0 + + + 2 + 0 + + 0.333333 + 0 + + + 2 + 0 + + 0.333333 + 0 + + + 2 + 0 + + 0.333333 + 0 + + + 2 + 0 + + 0.333333 + 0 + + + 2 + 0 + + 0.333333 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + http://server/data/Collection[/ID] + + + + -0 + 2.215569444444444 + 7.473569444444444 + 0.5972222222222222 + 0.2361111111111111 + 0.2986111111111111 + 0.1180555555555556 + + + 0.5972222222222222 + 0.2361111111111111 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2361111111111111 + + + 0.5972222222222222 + 0.2361111111111111 + + + 0.5972222222222222 + 0 + + + 0 + 0 + + + 0 + 0.2361111111111111 + + + + 1 + + + 0 + 0 + 1 + 0 + + + 2 + 0 + + 0.194444 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + /Book + + + + -0 + 1.291518055555556 + 7.473569444444444 + 0.4722222222222222 + 0.2361111111111111 + 0.2361111111111111 + 0.1180555555555556 + + + 0.4722222222222222 + 0.2361111111111111 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2361111111111111 + + + 0.4722222222222222 + 0.2361111111111111 + + + 0.4722222222222222 + 0 + + + 0 + 0 + + + 0 + 0.2361111111111111 + + + + 1 + + + 0 + 0 + 1 + 0 + + + 2 + 0 + + 0.194444 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + POST + + + + -0 + 4.041666666666667 + 7.473569444444444 + 1.763888888888889 + 0.2361111111111111 + 0.8819444444444444 + 0.1180555555555556 + + + 1.763888888888889 + 0.2361111111111111 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2361111111111111 + + + 1.763888888888889 + 0.2361111111111111 + + + 1.763888888888889 + 0 + + + 0 + 0 + + + 0 + 0.2361111111111111 + + + + 1 + + + 0 + 0 + 1 + 0 + + + 2 + 0 + + 0.194444 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + { name:'Moby' } + + + + -0 + 6.142055555555555 + 7.355513888888889 + 1.763888888888889 + 0.4722222222222222 + 0.8819444444444444 + 0.2361111111111111 + + + 1.763888888888889 + 0.4722222222222222 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.4722222222222222 + + + 1.763888888888889 + 0.4722222222222222 + + + 1.763888888888889 + 0 + + + 0 + 0 + + + 0 + 0.4722222222222222 + + + + 1 + + + 0 + 0 + 1 + 0 + + + 2 + 0 + + 0.194444 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + { id:123, + name:'Moby' } + + + + -0 + 2.215569444444444 + 6.714375 + 0.5972222222222222 + 0.2361111111111111 + 0.2986111111111111 + 0.1180555555555556 + + + 0.5972222222222222 + 0.2361111111111111 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2361111111111111 + + + 0.5972222222222222 + 0.2361111111111111 + + + 0.5972222222222222 + 0 + + + 0 + 0 + + + 0 + 0.2361111111111111 + + + + 1 + + + 0 + 0 + 1 + 0 + + + 2 + 0 + + 0.194444 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + /Book + + + + -0 + 1.291518055555556 + 6.714375 + 0.4722222222222222 + 0.2361111111111111 + 0.2361111111111111 + 0.1180555555555556 + + + 0.4722222222222222 + 0.2361111111111111 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2361111111111111 + + + 0.4722222222222222 + 0.2361111111111111 + + + 0.4722222222222222 + 0 + + + 0 + 0 + + + 0 + 0.2361111111111111 + + + + 1 + + + 0 + 0 + 1 + 0 + + + 2 + 0 + + 0.194444 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + POST + + + + -0 + 4.094041666666666 + 6.714375 + 1.875 + 0.2361111111111111 + 0.9375 + 0.1180555555555556 + + + 1.875 + 0.2361111111111111 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2361111111111111 + + + 1.875 + 0.2361111111111111 + + + 1.875 + 0 + + + 0 + 0 + + + 0 + 0.2361111111111111 + + + + 1 + + + 0 + 0 + 1 + 0 + + + 2 + 0 + + 0.194444 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + { name:'Gatsby'} + + + + -0 + 6.079555555555555 + 6.596319444444444 + 1.638888888888889 + 0.4722222222222222 + 0.8194444444444444 + 0.2361111111111111 + + + 1.638888888888889 + 0.4722222222222222 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.4722222222222222 + + + 1.638888888888889 + 0.4722222222222222 + + + 1.638888888888889 + 0 + + + 0 + 0 + + + 0 + 0.4722222222222222 + + + + 1 + + + 0 + 0 + 1 + 0 + + + 2 + 0 + + 0.194444 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + { id:456, + name:'Rye' } + + + + -0 + 2.444736111111111 + 5.919347222222222 + 1.055555555555556 + 0.2361111111111111 + 0.5277777777777778 + 0.1180555555555556 + + + 1.055555555555556 + 0.2361111111111111 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2361111111111111 + + + 1.055555555555556 + 0.2361111111111111 + + + 1.055555555555556 + 0 + + + 0 + 0 + + + 0 + 0.2361111111111111 + + + + 1 + + + 0 + 0 + 1 + 0 + + + 2 + 0 + + 0.194444 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + /Book/123 + + + + -0 + 1.2359625 + 5.919347222222222 + 0.3611111111111111 + 0.2361111111111111 + 0.1805555555555556 + 0.1180555555555556 + + + 0.3611111111111111 + 0.2361111111111111 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2361111111111111 + + + 0.3611111111111111 + 0.2361111111111111 + + + 0.3611111111111111 + 0 + + + 0 + 0 + + + 0 + 0.2361111111111111 + + + + 1 + + + 0 + 0 + 1 + 0 + + + 2 + 0 + + 0.194444 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + GET + + + + -0 + 6.142055555555555 + 5.801291666666667 + 1.763888888888889 + 0.4722222222222222 + 0.8819444444444444 + 0.2361111111111111 + + + 1.763888888888889 + 0.4722222222222222 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.4722222222222222 + + + 1.763888888888889 + 0.4722222222222222 + + + 1.763888888888889 + 0 + + + 0 + 0 + + + 0 + 0.4722222222222222 + + + + 1 + + + 0 + 0 + 1 + 0 + + + 2 + 0 + + 0.194444 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + { id:123, + name:'Moby' } + + + + -0 + 2.444736111111111 + 5.167569444444444 + 1.055555555555556 + 0.2361111111111111 + 0.5277777777777778 + 0.1180555555555556 + + + 1.055555555555556 + 0.2361111111111111 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2361111111111111 + + + 1.055555555555556 + 0.2361111111111111 + + + 1.055555555555556 + 0 + + + 0 + 0 + + + 0 + 0.2361111111111111 + + + + 1 + + + 0 + 0 + 1 + 0 + + + 2 + 0 + + 0.194444 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + /Book/456 + + + + -0 + 1.2359625 + 5.167569444444444 + 0.3611111111111111 + 0.2361111111111111 + 0.1805555555555556 + 0.1180555555555556 + + + 0.3611111111111111 + 0.2361111111111111 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2361111111111111 + + + 0.3611111111111111 + 0.2361111111111111 + + + 0.3611111111111111 + 0 + + + 0 + 0 + + + 0 + 0.2361111111111111 + + + + 1 + + + 0 + 0 + 1 + 0 + + + 2 + 0 + + 0.194444 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + GET + + + + -0 + 6.253166666666667 + 5.049513888888889 + 1.986111111111111 + 0.4722222222222222 + 0.9930555555555556 + 0.2361111111111111 + + + 1.986111111111111 + 0.4722222222222222 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.4722222222222222 + + + 1.986111111111112 + 0.4722222222222222 + + + 1.986111111111112 + 0 + + + 0 + 0 + + + 0 + 0.4722222222222222 + + + + 1 + + + 0 + 0 + 1 + 0 + + + 2 + 0 + + 0.194444 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + { id:456, + name:'Gatsby' } + + + + -0 + 2.215569444444444 + 4.436611111111111 + 0.5972222222222222 + 0.2361111111111111 + 0.2986111111111111 + 0.1180555555555556 + + + 0.5972222222222222 + 0.2361111111111111 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2361111111111111 + + + 0.5972222222222222 + 0.2361111111111111 + + + 0.5972222222222222 + 0 + + + 0 + 0 + + + 0 + 0.2361111111111111 + + + + 1 + + + 0 + 0 + 1 + 0 + + + 2 + 0 + + 0.194444 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + /Book + + + + -0 + 1.2359625 + 4.436611111111111 + 0.3611111111111111 + 0.2361111111111111 + 0.1805555555555556 + 0.1180555555555556 + + + 0.3611111111111111 + 0.2361111111111111 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2361111111111111 + + + 0.3611111111111111 + 0.2361111111111111 + + + 0.3611111111111111 + 0 + + + 0 + 0 + + + 0 + 0.2361111111111111 + + + + 1 + + + 0 + 0 + 1 + 0 + + + 2 + 0 + + 0.194444 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + GET + + + + -0 + 6.315666666666667 + 3.964388888888889 + 2.111111111111111 + 1.180555555555556 + 1.055555555555556 + 0.5902777777777778 + + + 2.111111111111111 + 1.180555555555556 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 1.180555555555556 + + + 2.111111111111112 + 1.180555555555556 + + + 2.111111111111112 + 0 + + + 0 + 0 + + + 0 + 1.180555555555556 + + + + 1 + + + 0 + 0 + 1 + 0 + + + 2 + 0 + + 0.194444 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + [ { id:123, + name:'Moby' }, + { id:456, + name:'Rye' } +] + + + + -0 + 2.444736111111111 + 2.946916666666667 + 1.055555555555556 + 0.2361111111111111 + 0.5277777777777778 + 0.1180555555555556 + + + 1.055555555555556 + 0.2361111111111111 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2361111111111111 + + + 1.055555555555556 + 0.2361111111111111 + + + 1.055555555555556 + 0 + + + 0 + 0 + + + 0 + 0.2361111111111111 + + + + 1 + + + 0 + 0 + 1 + 0 + + + 2 + 0 + + 0.194444 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + /Book/456 + + + + -0 + 1.291518055555556 + 2.946916666666667 + 0.4722222222222222 + 0.2361111111111111 + 0.2361111111111111 + 0.1180555555555556 + + + 0.4722222222222222 + 0.2361111111111111 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2361111111111111 + + + 0.4722222222222222 + 0.2361111111111111 + + + 0.4722222222222222 + 0 + + + 0 + 0 + + + 0 + 0.2361111111111111 + + + + 1 + + + 0 + 0 + 1 + 0 + + + 2 + 0 + + 0.194444 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + POST + + + + -0 + 4.101583333333333 + 2.828861111111111 + 1.875 + 0.4722222222222222 + 0.9375 + 0.2361111111111111 + + + 1.875 + 0.4722222222222222 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.4722222222222222 + + + 1.875 + 0.4722222222222222 + + + 1.875 + 0 + + + 0 + 0 + + + 0 + 0.4722222222222222 + + + + 1 + + + 0 + 0 + 1 + 0 + + + 2 + 0 + + 0.194444 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + { id: 456, + name:'Catch' } + + + + -0 + 6.197611111111112 + 2.828861111111111 + 1.875 + 0.4722222222222222 + 0.9375 + 0.2361111111111111 + + + 1.875 + 0.4722222222222222 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.4722222222222222 + + + 1.875000000000001 + 0.4722222222222222 + + + 1.875000000000001 + 0 + + + 0 + 0 + + + 0 + 0.4722222222222222 + + + + 1 + + + 0 + 0 + 1 + 0 + + + 2 + 0 + + 0.194444 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + { id:456, + name:'Catch' } + + + + -0 + 2.444736111111111 + 1.664875 + 1.055555555555556 + 0.2361111111111111 + 0.5277777777777778 + 0.1180555555555556 + + + 1.055555555555556 + 0.2361111111111111 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2361111111111111 + + + 1.055555555555556 + 0.2361111111111111 + + + 1.055555555555556 + 0 + + + 0 + 0 + + + 0 + 0.2361111111111111 + + + + 1 + + + 0 + 0 + 1 + 0 + + + 2 + 0 + + 0.194444 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + /Book/456 + + + + -0 + 1.413347222222222 + 1.664875 + 0.7158805555555555 + 0.2361111111111111 + 0.3579402777777778 + 0.1180555555555556 + + + 0.7158805555555555 + 0.2361111111111111 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2361111111111111 + + + 0.7158805555555554 + 0.2361111111111111 + + + 0.7158805555555554 + 0 + + + 0 + 0 + + + 0 + 0.2361111111111111 + + + + 1 + + + 0 + 0 + 1 + 0 + + + 2 + 0 + + 0.194444 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + DELETE + + + + -0 + 4.125590277777778 + 4.347222222222222 + 2.070041666666667 + 7.25 + 1.035020833333333 + 3.625 + + + 2.070041666666667 + 7.111111111111111 + -0 + + + 1 + + + 2 + 0.0138889 + 0 + 0 + 0.125 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 7.25 + + + 2.070041666666667 + 7.25 + + + 2.070041666666667 + 0 + + + 0 + 0 + + + 0 + 7.25 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 0 + 0 + + 0.194444 + 0 + + + 0 + 0 + + 0.194444 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Send + + + + + -0 + 1.385861805555556 + 4.347222222222222 + 0.7774791666666666 + 7.25 + 0.3887395833333333 + 3.625 + + + 0.7774791666666666 + 7.111111111111111 + -0 + + + 1 + + + 2 + 0.0138889 + 0 + 0 + 0.125 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 7.25 + + + 0.7774791666666666 + 7.25 + + + 0.7774791666666666 + 0 + + + 0 + 0 + + + 0 + 7.25 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 0 + 0 + + 0.194444 + 0 + + + 0 + 0 + + 0.194444 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Verb + + + + + -0 + 2.430704861111111 + 4.347222222222222 + 1.166965277777778 + 7.25 + 0.583482638888889 + 3.625 + + + 1.166965277777778 + 7.111111111111111 + -0 + + + 1 + + + 2 + 0.0138889 + 0 + 0 + 0.125 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 7.25 + + + 1.166965277777778 + 7.25 + + + 1.166965277777778 + 0 + + + 0 + 0 + + + 0 + 7.25 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 0 + 0 + + 0.194444 + 0 + + + 0 + 0 + + 0.194444 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + URL + + + + + -0 + 6.250006944444444 + 4.347222222222222 + 2.070041666666667 + 7.25 + 1.035020833333333 + 3.625 + + + 2.070041666666667 + 7.111111111111111 + -0 + + + 1 + + + 2 + 0.0138889 + 0 + 0 + 0.125 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 7.25 + + + 2.070041666666666 + 7.25 + + + 2.070041666666666 + 0 + + + 0 + 0 + + + 0 + 7.25 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 0 + 0 + + 0.194444 + 0 + + + 0 + 0 + + 0.194444 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Receive + + + + + + + + + 0.111111 + 0.111111 + + + 1 + 1 + 8 + 10.1806 + 3 + 0 + -0.0277778 + + + Layer 1 + 1 + 1 + 0 + + + + + + -0 + 4.3125 + 4.611111111111111 + 5.763888888888889 + 7.611111111111111 + 2.881944444444445 + 3.805555555555555 + + + 5.763888888888889 + 7.472222222222222 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0.125 + 0 + + + 1 + #fff1cc + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 7.611111111111111 + + + 5.763888888888889 + 7.611111111111111 + + + 5.763888888888889 + 0 + + + 0 + 0 + + + 0 + 7.611111111111111 + + + + 0 + + + + + -0 + 4.309027777777778 + 2.840284722222222 + 5.201388888888889 + 3.597208333333334 + 2.600694444444445 + 1.798604166666667 + + + 5.201388888888889 + 3.458319444444445 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0.125 + 0 + + + 0 + #7ec77e + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 3.597208333333334 + + + 5.201388888888889 + 3.597208333333334 + + + 5.201388888888889 + 0 + + + 0 + 0 + + + 0 + 3.597208333333334 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 0 + 0 + + 0.333333 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Resources + + + + -0 + 3.277779166666667 + 6.375 + 5.277777777777778 + 3.861111111111111 + 2.638888888888889 + 1.930555555555556 + + + 5.277777777777778 + 3.722222222222222 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #cccccc + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 3.305551277777778 + + + 0.4861044444444447 + 3.861111111111111 + + + 0.4861044444444447 + 3.611104166666667 + + + 4.458334166666668 + 3.305551277777778 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.642105,0.928057,0,1, 0.697365,0.964023,0,1) + + + 5.027774722222222 + 0.5277791388888886 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.992106,0.748202,0,1, 0.952631,0.525179,0,1) + + + 5.277777777777778 + 0.5277791388888886 + + + 4.597224166666667 + 0 + + + 3.986115555555555 + 0.5138714166666666 + + + 4.236118611111111 + 0.5138328055555559 + + + 4.013887222222221 + 2.73611075 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.802633,0.521582,0,1, 0.821050,0.625901,0,1) + + + 0.5138866666666667 + 2.986106111111111 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.699998,0.791370,0,1, 0.560526,0.776978,0,1) + + + 0.5138866666666667 + 2.736106888888889 + + + 0 + 3.305551277777778 + + + + 0 + + + + + -0 + 5.145833333333333 + 4.75 + 3.194444444444445 + 7 + 1.597222222222222 + 3.5 + + + 3.194444444444445 + 6.861111111111111 + -0 + + + 1 + + + 2 + 0.0138889 + 0 + 0 + 0.125 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 7 + + + 3.194444444444445 + 7 + + + 3.194444444444445 + 0 + + + 0 + 0 + + + 0 + 7 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 0 + 0 + + 0.333333 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 2 + + Declarative + + + + -0 + 3.902777777777778 + 9.222222222222221 + 6.194444444444445 + 0.5 + 3.097222222222222 + 0.25 + + + 6.194444444444445 + 0.5 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.5 + + + 6.194444444444445 + 0.5 + + + 6.194444444444445 + 0 + + + 0 + 0 + + + 0 + 0.5 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 0 + 0 + + 0.416667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + RESTy: Declarative Data Storage + + + + -0 + 2.638888888888889 + 2.701388888888889 + 1.527777777777778 + 2.569444444444445 + 0.7638888888888888 + 1.284722222222222 + + + 1.527777777777778 + 2.430555555555555 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0.125 + 0 + + + 1 + #7ec77e + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 2.569444444444445 + + + 1.527777777777778 + 2.569444444444445 + + + 1.527777777777778 + 0 + + + 0 + 0 + + + 0 + 2.569444444444445 + + + + 0 + + + 0.138889 + 0.138889 + 0 + 0 + + + 0 + 0 + + 0.333333 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Custom + + + + -0 + 5.153645833333333 + 2.701388888888889 + 2.862847222222222 + 2.569444444444445 + 1.431423611111111 + 1.284722222222222 + + + 2.862847222222222 + 2.430555555555555 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0.125 + 0 + + + 1 + #7ec77e + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 2.569444444444445 + + + 2.862847222222222 + 2.569444444444445 + + + 2.862847222222222 + 0 + + + 0 + 0 + + + 0 + 2.569444444444445 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 0 + 0 + + 0.333333 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Repository + + + + -4.712389 + 4.171819444444444 + 2.513884027777777 + 1.861111111111111 + 0.5586763888888888 + 0.9305555555555556 + 0.2793381944444444 + + + 1.861111111111111 + 0.4197875 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0.125 + 0 + + + 1 + #ff5c65 + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.5586763888888887 + + + 1.86111111111111 + 0.5586763888888887 + + + 1.86111111111111 + 0 + + + -1.578983857244667e-15 + 0 + + + 0 + 0.5586763888888887 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 0 + 0 + + 0.333333 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + MegaStore + + + + -4.712389 + 5.492291666666667 + 2.513884027777777 + 1.861111111111111 + 0.5586763888888888 + 0.9305555555555556 + 0.2793381944444444 + + + 1.861111111111111 + 0.4197875 + -0 + + + 1 + + + 9 + 0.0138889 + 0 + 0 + 0.125 + 0 + + + 1 + #ffcacc + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.5586763888888887 + + + 1.861111111111112 + 0.5586763888888887 + + + 1.861111111111112 + 0 + + + 0 + 0 + + + 0 + 0.5586763888888887 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 0 + 0 + + 0.333333 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + BigTable + + + + -4.712389 + 4.8285 + 2.513884027777777 + 1.861111111111111 + 0.5586763888888888 + 0.9305555555555556 + 0.2793381944444444 + + + 1.861111111111111 + 0.4197875 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0.125 + 0 + + + 1 + #ff5c65 + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + -1.578983857244667e-15 + 0.5586763888888887 + + + 1.86111111111111 + 0.5586763888888887 + + + 1.86111111111111 + 0 + + + -1.578983857244667e-15 + 0 + + + -1.578983857244667e-15 + 0.5586763888888887 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 0 + 0 + + 0.333333 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Buganizer + + + + -4.712389 + 6.156069444444444 + 2.513884027777777 + 1.861111111111111 + 0.5586763888888888 + 0.9305555555555556 + 0.2793381944444444 + + + 1.861111111111111 + 0.4197875 + -0 + + + 1 + + + 9 + 0.0138889 + 0 + 0 + 0.125 + 0 + + + 1 + #ffcacc + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.5586763888888887 + + + 1.861111111111112 + 0.5586763888888887 + + + 1.861111111111112 + 0 + + + 0 + 0 + + + 0 + 0.5586763888888887 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 0 + 0 + + 0.333333 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + ??? + + + + -0 + 6.230902777777778 + 3.701388888888889 + 0.7083333333333334 + 0.2361111111111111 + 0.3541666666666667 + 0.1180555555555556 + + + 0.7083333333333334 + 0.2361111111111111 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2361111111111111 + + + 0.7083333333333334 + 0.2361111111111111 + + + 0.7083333333333334 + 0 + + + 0 + 0 + + + 0 + 0.2361111111111111 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 2 + 0 + + 0.194444 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + (CRUD) + + + + -0 + 2.638888888888889 + 2.818328472222221 + 1.229166666666667 + 0.4101208333333333 + 0.6145833333333334 + 0.2050604166666667 + + + 1.229166666666667 + 0.2712319444444444 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0.125 + 0 + + + 1 + #ff8b37 + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.4101208333333343 + + + 1.229166666666667 + 0.4101208333333343 + + + 1.229166666666667 + 0 + + + 0 + 0 + + + 0 + 0.4101208333333343 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.194444 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Java + + + + -0 + 2.638888888888889 + 2.303370138888888 + 1.229166666666667 + 0.4101208333333333 + 0.6145833333333334 + 0.2050604166666667 + + + 1.229166666666667 + 0.2712319444444444 + -0 + + + 1 + + + 9 + 0.0138889 + 0 + 0 + 0.125 + 0 + + + 1 + #ffe4cd + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.4101208333333343 + + + 1.229166666666667 + 0.4101208333333343 + + + 1.229166666666667 + 0 + + + 0 + 0 + + + 0 + 0.4101208333333343 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.194444 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + JavaScript + + + + -0 + 2.638888888888889 + 1.788397916666666 + 1.229166666666667 + 0.4101208333333333 + 0.6145833333333334 + 0.2050604166666667 + + + 1.229166666666667 + 0.2712319444444444 + -0 + + + 1 + + + 9 + 0.0138889 + 0 + 0 + 0.125 + 0 + + + 1 + #ffe4cd + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.4101208333333343 + + + 1.229166666666667 + 0.4101208333333343 + + + 1.229166666666667 + 0 + + + 0 + 0 + + + 0 + 0.4101208333333343 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.194444 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + ??? + + + + -0 + 2.638888888888889 + 3.434763888888889 + 1.402777777777778 + 0.2361111111111111 + 0.7013888888888888 + 0.1180555555555556 + + + 1.402777777777778 + 0.2361111111111111 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2361111111111111 + + + 1.402777777777778 + 0.2361111111111111 + + + 1.402777777777778 + 0 + + + 0 + 0 + + + 0 + 0.2361111111111111 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 2 + 0 + + 0.194444 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + (CRUD+verbs) + + + + -0 + 5.153645833333333 + 7.358572222222222 + 2.862847222222222 + 0.5146333333333334 + 1.431423611111111 + 0.2573166666666667 + + + 2.862847222222222 + 0.3757444444444445 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0.125 + 0 + + + 1 + #0088c6 + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.5146333333333336 + + + 2.862847222222222 + 0.5146333333333336 + + + 2.862847222222222 + 0 + + + 0 + 0 + + + 0 + 0.5146333333333336 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.333333 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Serializer + + + + -0 + 5.153645833333333 + 6.726002777777778 + 2.862847222222222 + 0.5146333333333334 + 1.431423611111111 + 0.2573166666666667 + + + 2.862847222222222 + 0.3757444444444445 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0.125 + 0 + + + 1 + #0088c6 + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.5146333333333332 + + + 2.862847222222222 + 0.5146333333333332 + + + 2.862847222222222 + 0 + + + 0 + 0 + + + 0 + 0.5146333333333332 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.333333 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + URL Router + + + + -0 + 5.153645833333333 + 5.460877777777778 + 2.862847222222222 + 0.5146333333333334 + 1.431423611111111 + 0.2573166666666667 + + + 2.862847222222222 + 0.3757444444444445 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0.125 + 0 + + + 1 + #0088c6 + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.5146333333333328 + + + 2.862847222222222 + 0.5146333333333328 + + + 2.862847222222222 + 0 + + + 0 + 0 + + + 0 + 0.5146333333333328 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.333333 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Mapper + + + + -0 + 5.153645833333333 + 6.093433333333333 + 2.862847222222222 + 0.5146333333333334 + 1.431423611111111 + 0.2573166666666667 + + + 2.862847222222222 + 0.3757444444444445 + -0 + + + 1 + + + 9 + 0.0138889 + 0 + 0 + 0.125 + 0 + + + 1 + #c7e3f3 + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.5146333333333328 + + + 2.862847222222222 + 0.5146333333333328 + + + 2.862847222222222 + 0 + + + 0 + 0 + + + 0 + 0.5146333333333328 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.333333 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + ACL + + + + -0 + 2.246527777777778 + 7.722222222222222 + 2.3125 + 0.6111111111111112 + 1.15625 + 0.3055555555555556 + + + 2.3125 + 0.6111111111111112 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.6111111111111112 + + + 2.3125 + 0.6111111111111112 + + + 2.3125 + 0 + + + 0 + 0 + + + 0 + 0.6111111111111112 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 1 + 0 + + 0.25 + 0 + + + 1 + 0 + + 0.25 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + HTTP RESTful URL +JSON / XML / PROTO + + + + + + + + 0.111111 + 0.111111 + + + 1 + 1 + 8 + 10.1806 + 3 + 0 + -0.0277778 + + + Layer 1 + 1 + 1 + 0 + + + + + + -0 + 4.211805555555555 + 7.697916666666667 + 6.375 + 3.861111111111111 + 3.1875 + 1.930555555555556 + + + 6.375 + 3.722222222222222 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 3.861111111111111 + + + 6.375 + 3.861111111111111 + + + 6.375 + 0 + + + 0 + 0 + + + 0 + 3.861111111111111 + + + + 0 + + + + + -0 + 4.189616666666667 + 7.489583333333333 + 6.173013888888889 + 3.25 + 3.086506944444444 + 1.625 + + + 6.173013888888889 + 3.111111111111111 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #d3ebd3 + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 3.25 + + + 6.173013888888889 + 3.25 + + + 6.173013888888889 + 0 + + + 0 + 0 + + + 0 + 3.25 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 0 + 0 + + 0.25 + 0 + + + 0 + 0 + + 0.25 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + MyApp (Chrome) + + + + -0 + 4.592041666666667 + 7.21875 + 5.168972222222222 + 2.375 + 2.584486111111111 + 1.1875 + + + 5.168972222222222 + 2.236111111111111 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 2.375 + + + 5.168972222222223 + 2.375 + + + 5.168972222222223 + 0 + + + 0 + 0 + + + 0 + 2.375 + + + + 0 + + + 1.033789923424763 + 2.375 + 0 + + + 2.067588888888888 + 2.375 + 0 + + + 3.101383333333334 + 2.375 + 0 + + + 4.13518229879746 + 2.375 + 0 + + + 5.168972222222223 + 1.9000020772837 + 0 + + + 5.168972222222221 + 1.425 + 0 + + + 5.168972222222221 + 0.9500000000000001 + 0 + + + 5.168972222222223 + 0.4749968840744493 + 0 + + + 4.13518229879746 + 0 + 0 + + + 3.101383333333333 + 0 + 0 + + + 2.06758691213576 + 0 + 0 + + + 1.033789923424762 + 0 + 0 + + + 0 + 0.4749979227162997 + 0 + + + 3.947459643111667e-16 + 0.9500000000000001 + 0 + + + 3.947459643111667e-16 + 1.425 + 0 + + + 0 + 1.9000020772837 + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 2 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + <ng:include src="$route.current.template" + scope="$route.current.scope" /> + + + + -0 + 4.211804166666667 + 9.427083333333334 + 6.375 + 0.4027777777777778 + 3.1875 + 0.2013888888888889 + + + 6.375 + 0.2638888888888889 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #999999 + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.4027777777777778 + + + 6.375 + 0.4027777777777778 + + + 6.375 + 0 + + + 0 + 0 + + + 0 + 0.4027777777777778 + + + + 0 + + + + + -0 + 4.526777777777777 + 9.40625 + 5.518277777777778 + 0.2222222222222222 + 2.759138888888889 + 0.1111111111111111 + + + 5.518277777777778 + 0.08333333333333333 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2222222222222222 + + + 5.518277777777779 + 0.2222222222222222 + + + 5.518277777777779 + 0 + + + 0 + 0 + + + 0 + 0.2222222222222222 + + + + 0 + + + 1.103650729017247 + 0.2222222222222222 + 0 + + + 2.207311111111111 + 0.2222222222222222 + 0 + + + 3.310966666666667 + 0.2222222222222222 + 0 + + + 4.41462704876053 + 0.2222222222222222 + 0 + + + 5.518277777777779 + 0.1777779721435041 + 0 + + + 5.518277777777779 + 0.1333333333333334 + 0 + + + 5.518277777777779 + 0.08888888888888886 + 0 + + + 5.518277777777779 + 0.04444415289585497 + 0 + + + 4.414627048760528 + 0 + 0 + + + 3.310966666666666 + 9.868649107779169e-17 + 0 + + + 2.207309000774202 + 9.868649107779169e-17 + 0 + + + 1.103650729017249 + 0 + 0 + + + 0 + 0.04444425007871811 + 0 + + + -3.947459643111667e-16 + 0.08888888888888886 + 0 + + + -3.947459643111667e-16 + 0.1333334183170505 + 0 + + + 0 + 0.1777779721435041 + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + http://server/index.html#account + + + + -0.04951323 + 1.547871527777778 + 9.420138194444444 + 0.2562152777777778 + 0.2097986111111111 + 0.1281076388888889 + 0.1048993055555555 + + + 1.41992088858111 + 9.42647862588486 + 1.67582216697444 + 9.41379776300403 + + + 0.1921614583333333 + 0.03398958333333334 + -0 + + + 2 + 4 + + + 1 + 0.0138889 + #191919 + 0 + 0 + 0 + + + 28 + 20 + 0 + 0 + 0 + 1 + 0 + 0.6 + 1 + 0 + -0.0277778 + + + 0 + 0 + + -1.973729821555834e-16 + 0.06252273572929617 + + + -1.973729821555834e-16 + 0.1472758753818148 + + + 0.1340060732099744 + 0.1472758753818149 + + + 0.1340060732099744 + 0.2097986111111111 + + + 0.2562152777777776 + 0.1048993055555556 + + + 0.1340060732099744 + 0 + + + 0.1340060732099744 + 0.06252273572929617 + + + -1.973729821555834e-16 + 0.06252273572929617 + + + + 0 + + + + + -3.141593 + 1.234720138888889 + 9.413991666666668 + 0.2423486111111111 + 0.2099277777777778 + 0.1211743055555556 + 0.1049638888888889 + + + 1.35589444444444 + 9.41399169893734 + 1.11354583333334 + 9.413991634396 + + + 0.1817614583333333 + 0.033925 + -0 + + + 2 + 4 + + + 1 + 0.0138889 + #191919 + 0 + 0 + 0 + + + 28 + 20 + 0 + 0 + 0 + 1 + 0 + 0.6 + 1 + 0 + -0.0277778 + + + 0 + 0 + + -1.973729821555834e-16 + 0.05555557249709972 + + + -1.973729821555834e-16 + 0.1543722052806781 + + + 0.07568194444444426 + 0.1543722052806781 + + + 0.07568194444444447 + 0.2099277777777778 + + + 0.2423486111111109 + 0.1049638888888889 + + + 0.07568194444444447 + 0 + + + 0.07568194444444426 + 0.05555557249709962 + + + -1.973729821555834e-16 + 0.05555557249709972 + + + + 0 + + + + + -0 + 4.606319444444444 + 6.982638888888889 + 4.904972222222223 + 1.708333333333333 + 2.452486111111111 + 0.8541666666666666 + + + 4.904972222222223 + 1.569444444444444 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #ffc89c + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 1.708333333333333 + + + 4.904972222222223 + 1.708333333333333 + + + 4.904972222222223 + 0 + + + 0 + 0 + + + 0 + 1.708333333333333 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 0 + 0 + + 0.25 + 0 + + + 0 + 0 + + 0.25 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Account Settings (Partial) + + + + -0 + 1.692108333333334 + 8.350694444444445 + 0.9977250000000001 + 0.5833333333333334 + 0.4988625 + 0.2916666666666667 + + + 0.9977250000000001 + 0.5833333333333334 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.5833333333333334 + + + 0.9977250000000003 + 0.5833333333333334 + + + 0.9977250000000003 + 0 + + + 0 + 0 + + + 0 + 0.5833333333333334 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Navigation +Account +Settings + + + + -0 + 3.335902777777778 + 7.225694444444445 + 2.022638888888889 + 0.2222222222222222 + 1.011319444444444 + 0.1111111111111111 + + + 2.022638888888889 + 0.08333333333333333 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2222222222222222 + + + 2.022638888888889 + 0.2222222222222222 + + + 2.022638888888889 + 0 + + + 0 + 0 + + + 0 + 0.2222222222222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + John Smith + + + + -0 + 3.335902777777778 + 6.947916666666667 + 2.022638888888889 + 0.2222222222222222 + 1.011319444444444 + 0.1111111111111111 + + + 2.022638888888889 + 0.08333333333333333 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2222222222222222 + + + 2.022638888888889 + 0.2222222222222222 + + + 2.022638888888889 + 0 + + + 0 + 0 + + + 0 + 0.2222222222222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + 123 Main St + + + + -0 + 2.777708333333333 + 6.670138888888889 + 0.90625 + 0.2222222222222222 + 0.453125 + 0.1111111111111111 + + + 0.90625 + 0.08333333333333333 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2222222222222222 + + + 0.90625 + 0.2222222222222222 + + + 0.90625 + 0 + + + 0 + 0 + + + 0 + 0.2222222222222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Any Place + + + + -0 + 3.483236111111111 + 6.670138888888889 + 0.375 + 0.2222222222222222 + 0.1875 + 0.1111111111111111 + + + 0.375 + 0.08333333333333333 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2222222222222222 + + + 0.375 + 0.2222222222222222 + + + 0.375 + 0 + + + 0 + 0 + + + 0 + 0.2222222222222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + US + + + + -0 + 4.045138888888889 + 6.670138888888889 + 0.6041666666666666 + 0.2222222222222222 + 0.3020833333333333 + 0.1111111111111111 + + + 0.6041666666666666 + 0.08333333333333333 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2222222222222222 + + + 0.6041666666666666 + 0.2222222222222222 + + + 0.6041666666666666 + 0 + + + 0 + 0 + + + 0 + 0.2222222222222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + 12345 + + + + -0 + 2.601174305555555 + 6.392361111111111 + 0.6767652777777777 + 0.2222222222222222 + 0.3383826388888889 + 0.1111111111111111 + + + 0.6767652777777777 + 0.08333333333333333 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #cccccc + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2222222222222222 + + + 0.6767652777777778 + 0.2222222222222222 + + + 0.6767652777777778 + 0 + + + 0 + 0 + + + 0 + 0.2222222222222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Save + + + + -0 + 4.211804166666667 + 3.256944444444445 + 6.375 + 4.409722222222222 + 3.1875 + 2.204861111111111 + + + 6.375 + 4.270833333333333 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #d3ebd3 + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 4.409722222222222 + + + 6.375 + 4.409722222222222 + + + 6.375 + 0 + + + 0 + 0 + + + 0 + 4.409722222222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 2 + 0 + + 0.25 + 0 + + + 0 + 0 + + 0.25 + 0 + + + 0 + 0 + + 0.25 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + $root Scope + + + + + -0 + 5.516076388888889 + 7.21875 + 2.127569444444445 + 0.1944444444444444 + 1.063784722222222 + 0.09722222222222222 + + + 2.127569444444445 + 0.1944444444444444 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.1944444444444444 + + + 2.127569444444444 + 0.1944444444444444 + + + 2.127569444444444 + 0 + + + 0 + 0 + + + 0 + 0.1944444444444444 + + + + 0 + + + 1.063784722222222 + 0 + 0 + + + 1.063784722222222 + 0.1944444444444444 + 0 + + + 2.127569444444444 + 0.09722222222222222 + 0 + + + 0 + 0.09722222222222222 + 0 + + + 0 + 0 + 1 + 0 + + + 2 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + <input name='name' /> + + + + -0 + 5.041555555555555 + 6.378472222222222 + 4.0345 + 0.1944444444444444 + 2.01725 + 0.09722222222222222 + + + 4.0345 + 0.1944444444444444 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.1944444444444444 + + + 4.034499999999999 + 0.1944444444444444 + + + 4.034499999999999 + 0 + + + 0 + 0 + + + 0 + 0.1944444444444444 + + + + 0 + + + 1.344832801740831 + 0.1944444444444452 + 0 + + + 2.689667198259168 + 0.1944444444444452 + 0 + + + 4.034499999999999 + 0.1296298858328966 + 0 + + + 4.034499999999999 + 0.06481455861154789 + 0 + + + 2.689667198259164 + 0 + 0 + + + 1.344832801740836 + 0 + 0 + + + -3.947459643111667e-16 + 0.06481455861154789 + 0 + + + -3.947459643111667e-16 + 0.1296298858328966 + 0 + + + 0 + 0 + 1 + 0 + + + 2 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + <button ng-click='save()'>Save</button> + + + + -4.712389 + 0.7881944444444444 + 7.697916666666667 + 1.111111111111111 + 0.375 + 0.5555555555555556 + 0.1875 + + + 1.111111111111111 + 0.375 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3750000000000001 + + + 1.111111111111111 + 0.3750000000000001 + + + 1.111111111111111 + 0 + + + 0 + 1.973729821555834e-16 + + + 0 + 0.3750000000000001 + + + + 0 + + + 0.0277778 + 0.0277778 + 1 + 0 + + + 3 + 0 + + 0.25 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Browser + + + + -4.712389 + 0.7881944444444444 + 3.100694444444445 + 1.125 + 0.375 + 0.5625 + 0.1875 + + + 1.125 + 0.375 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3749999999999999 + + + 1.125 + 0.3749999999999999 + + + 1.125 + -1.973729821555834e-16 + + + 0 + 0 + + + 0 + 0.3749999999999999 + + + + 0 + + + 0.0277778 + 0.0277778 + 1 + 0 + + + 3 + 0 + + 0.25 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Runtime + + + + -0 + 6.138361111111111 + 3.927083333333333 + 2.2755 + 0.7777777777777778 + 1.13775 + 0.3888888888888889 + + + 2.2755 + 0.6388888888888888 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.7777777777777778 + + + 2.2755 + 0.7777777777777778 + + + 2.2755 + 0 + + + 0 + 0 + + + 0 + 0.7777777777777778 + + + + 0 + + + 0.4550980097435529 + 0.7777777777777778 + 0 + + + 0.9102000000000001 + 0.7777777777777778 + 0 + + + 1.365300870212018 + 0.7777777777777778 + 0 + + + 1.820401990256447 + 0.7777777777777778 + 0 + + + 2.2755 + 0.6222229025022641 + 0 + + + 2.2755 + 0.4666669641096767 + 0 + + + 2.2755 + 0.3111108136681011 + 0 + + + 2.2755 + 0.1555545351354921 + 0 + + + 1.820401990256447 + -7.894919286223335e-16 + 0 + + + 1.3653 + 0 + 0 + + + 0.9102000000000001 + 0 + 0 + + + 0.4550980097435537 + -7.894919286223335e-16 + 0 + + + 0 + 0.1555545351354921 + 0 + + + 0 + 0.3111108136681011 + 0 + + + 0 + 0.4666669641096767 + 0 + + + 0 + 0.6222229025022641 + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 2 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + $location: { + hashPath: 'account' +} + + + + + -0 + 4.631282638888889 + 3.821811304323914 + 0.7386569444444441 + 0.1706273913521714 + 0.369328472222222 + 0.08531369567608572 + + + 5.00061111111111 + 3.84930525811255 + 4.26195416666667 + 3.907125 + + + 4 + 0 + 0 + 0 + 2 + + + 0.7386569444444441 + 0.1706273913521714 + -0 + + + 2 + + + 1 + 0.0555556 + #f40000 + 0.5 + 0 + 0 + 4 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0.7386569444444433 + 0.1128076494647172 + + + -7.894919286223335e-16 + 0.1706273913521714 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.470644,-0.429611,0,1, 0.467981,-0.068361,0,1) + + + + 0 + + + + + -0 + 6.809352222403316 + 6.802323512523309 + 1.074601525663641 + 4.972702580602174 + 0.5373007628318207 + 2.486351290301087 + + + 6.2720514595715 + 9.2886748028244 + 6.82101310136756 + 4.31597222222222 + + + 4 + 0 + 0 + 2 + 2 + + + 1.074601525663641 + 4.972702580602174 + -0 + + + 2 + + + 1 + 0.0555556 + #f40000 + 0.5 + 0 + 0 + 4 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 4.972702580602174 + + + 1.071698540428504 + 2.243055555555555 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.159547,0.975479,0,1, 0.984514,0.906337,0,1) + + + 0.5489616417960627 + 0 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.010084,-0.004190,0,1, 0.842199,0.076110,0,1) + + + + 0 + + + + + -2.637242 + 2.722517361111111 + 4.870576388888889 + 0.6894165870975266 + 0.2083333333333333 + 0.3447082935487633 + 0.1041666666666667 + + + 3.02430555555556 + 5.03715277777778 + 2.42072916666667 + 4.704 + + + 0.517062440323145 + 0.03472222222222222 + -0 + + + 2 + 4 + + + 1 + 0.0138889 + 0 + 0.25 + 0 + 0 + + + 1 + 0 + 0.9 + 1 + 0 + 0.6 + 1 + 0 + -0.0277778 + + + 0 + 0 + + -3.947459643111667e-16 + 0.07063628795246284 + + + 0 + 0.1376970453808705 + + + 0.4814470540249489 + 0.1376970453808705 + + + 0.4814470540249489 + 0.2083333333333333 + + + 0.689416587097527 + 0.1041666666666667 + + + 0.4814470540249489 + 7.894919286223335e-16 + + + 0.4814470540249489 + 0.07063628795246284 + + + -3.947459643111667e-16 + 0.07063628795246284 + + + + 0 + + + + + -0 + 1.709964826577187 + 6.317727910542668 + 0.5904852087099299 + 3.213977508046013 + 0.295242604354965 + 1.606988754023007 + + + 2.00520743093215 + 7.92471666456567 + 1.80530878552435 + 4.71073915651966 + + + 4 + 0 + 0 + 2 + 2 + + + 0.5904852087099299 + 3.213977508046013 + -0 + + + 2 + + + 1 + 0.0555556 + #f40000 + 0.5 + 0 + 0 + 4 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0.5904852087099302 + 3.213977508046013 + + + 1.973729821555834e-16 + 1.57051084348034 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.000000,1.000000,0,1, 0.000000,0.821398,0,1) + + + 0.3905865633021249 + 0 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.000001,0.155902,0,1, 0.661467,0.000000,0,1) + + + + 0 + + + + + -0 + 4.234683333333333 + 2.241319444444445 + 6.082874999999999 + 2.045138888888889 + 3.041437499999999 + 1.022569444444444 + + + 4 + 0 + 2 + 2 + 1 + + + 6.082874999999999 + 2.045138888888889 + -0 + + + 1 + + + 0 + + + + + -0 + 3.041437499999999 + 1.022569444444444 + 6.082875 + 2.045138888888889 + 3.0414375 + 1.022569444444444 + + + 6.082875 + 1.90625 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #ffc89c + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 2.045138888888889 + + + 6.082874999999999 + 2.045138888888889 + + + 6.082874999999999 + 0 + + + 0 + 0 + + + 0 + 2.045138888888889 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 0 + 0 + + 0.25 + 0 + + + 2 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Partial Scope: +class AccountCntl { + AccountCntl() { + + ... + } + + +} + + + + -0 + 1.629149999999999 + 1.119791666666667 + 2.521875 + 0.1944444444444444 + 1.2609375 + 0.09722222222222222 + + + 2.521875 + 0.1944444444444444 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.1944444444444444 + + + 2.521875 + 0.1944444444444444 + + + 2.521875 + 0 + + + 0 + 0 + + + 0 + 0.1944444444444444 + + + + 0 + + + 1.2609375 + 0 + 0 + + + 1.2609375 + 0.1944444444444444 + 0 + + + 2.521875 + 0.09722222222222222 + 0 + + + 1.973729821555834e-16 + 0.09722222222222222 + 0 + + + 0 + 0 + 1 + 0 + + + 2 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + this.name = 'John Smith' + + + + -0 + 0.8591902777777771 + 0.3802083333333333 + 1.19265 + 0.3888888888888889 + 0.596325 + 0.1944444444444444 + + + 1.19265 + 0.3888888888888889 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3888888888888889 + + + 1.19265 + 0.3888888888888889 + + + 1.19265 + 0 + + + 0 + 0 + + + 0 + 0.3888888888888889 + + + + 0 + + + 0.596325 + 0 + 0 + + + 0.596325 + 0.3888888888888889 + 0 + + + 1.19265 + 0.1944444444444444 + 0 + + + -1.973729821555834e-16 + 0.1944444444444444 + 0 + + + 0 + 0 + 1 + 0 + + + 2 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + save() {...} + + + + + + -0 + 4.181366932462915 + 3.94008181743202 + 3.065211642703607 + 4.682336365135961 + 1.532605821351804 + 2.34116818256798 + + + 5.71397275381472 + 6.28125 + 2.64876111111111 + 1.59895833333333 + + + 4 + 0 + 0 + 0 + 2 + + + 3.065211642703607 + 4.682336365135961 + -0 + + + 2 + + + 1 + 0.0416667 + #0088c6 + 0.51 + 0 + 0 + 4 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 3.065211642703607 + 4.682336365135961 + + + 2.097766666666666 + 2.064280809580405 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.684378,0.966630,0,1, 0.684379,0.873935,0,1) + + + -3.947459643111667e-16 + 4.469846929408858e-05 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.684379,0.007796,0,1, 0.693264,-0.000361,0,1) + + + + 0 + + + + + -0 + 4.799704861111111 + 4.730018347509122 + 1.432743055555556 + 4.783018860537311 + 0.716371527777778 + 2.391509430268655 + + + 5.51607638888889 + 7.12152777777778 + 4.08333333333333 + 2.33854166666667 + + + 4 + 0 + 0 + 0 + 2 + + + 1.432743055555556 + 4.783018860537311 + -0 + + + 2 + + + 1 + 0.0416667 + #0088c6 + 0.51 + 0 + 0 + 4 + 0 + 4 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 1.432743055555556 + 4.783018860537311 + + + 0.5104166666666666 + 1.994824416092867 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.307781,0.948458,0,1, 0.356251,0.841017,0,1) + + + 0 + 3.274942619984561e-05 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.356252,-0.006890,0,1, 0.387757,0.000007,0,1) + + + + 0 + + + + + -0 + 4.239581250000001 + 0.6493055555555556 + 5.873893055555556 + 0.1944444444444444 + 2.936946527777778 + 0.09722222222222222 + + + 4 + 0 + 2 + 2 + 1 + + + 5.873893055555556 + 0.1944444444444444 + -0 + + + 1 + + + 0 + + + + + -0 + 0.5089743055555552 + 0.09722222222222222 + 1.017948611111111 + 0.01388888888888889 + 0.5089743055555556 + 0.006944444444444444 + + + 1.01794861111111 + 0.104166666666667 + -1.97372982155583e-16 + 0.104166666666667 + + + 4 + 0 + 0 + 2 + 2 + + + 1.017948611111111 + 0.01388888888888889 + -0 + + + 2 + + + 1 + 0.0555556 + #f40000 + 0.5 + 0 + 0 + 4 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 1.017948611111111 + 0.01388888888888889 + + + 1.973729821555834e-16 + 0.01388888888888889 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.000000,1.000000,0,1, 0.000000,1.000000,0,1) + + + + 0 + + + + + -0 + 4.593004166666666 + 0.09722222222222222 + 1.014472222222223 + 0.01388888888888889 + 0.5072361111111113 + 0.006944444444444444 + + + 5.10024027777778 + 0.104166666666667 + 4.08576805555556 + 0.104166666666667 + + + 4 + 0 + 0 + 2 + 2 + + + 1.014472222222223 + 0.01388888888888889 + -0 + + + 2 + + + 1 + 0.0416667 + #0088c6 + 0.51 + 0 + 0 + 4 + 0 + 4 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 1.014472222222223 + 0.01388888888888889 + + + 0 + 0.01388888888888889 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.000000,1.000000,0,1, 0.000000,1.000000,0,1) + + + + 0 + + + + + -0 + 1.458268055555555 + 0.09722222222222222 + 0.4722222222222222 + 0.1944444444444444 + 0.2361111111111111 + 0.09722222222222222 + + + 0.4722222222222222 + 0.1944444444444444 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.1944444444444444 + + + 0.4722222222222222 + 0.1944444444444444 + + + 0.4722222222222222 + 0 + + + 0 + 0 + + + 0 + 0.1944444444444444 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Watch + + + + -0 + 5.589170833333333 + 0.09722222222222222 + 0.5694444444444444 + 0.1944444444444444 + 0.2847222222222222 + 0.09722222222222222 + + + 0.5694444444444444 + 0.1944444444444444 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.1944444444444444 + + + 0.5694444444444452 + 0.1944444444444444 + + + 0.5694444444444452 + 0 + + + 0 + 0 + + + 0 + 0.1944444444444444 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Binding + + + + + + -0 + 5.100416666666667 + 5.090277777777778 + 4.152222222222222 + 0.53125 + 2.076111111111111 + 0.265625 + + + 4.152222222222222 + 0.3923611111111111 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.53125 + + + 4.152222222222223 + 0.53125 + + + 4.152222222222223 + 0 + + + 0 + 0 + + + 0 + 0.53125 + + + + 0 + + + 0.8304408127208467 + 0.53125 + 0 + + + 1.660888888888889 + 0.53125 + 0 + + + 2.491333333333333 + 0.53125 + 0 + + + 3.321781409501376 + 0.53125 + 0 + + + 4.152222222222223 + 0.4250006969833472 + 0 + + + 4.152222222222223 + 0.318750203164199 + 0 + + + 4.152222222222223 + 0.2125000000000002 + 0 + + + 4.152222222222223 + 0.1062495353444359 + 0 + + + 3.321781409501373 + 0 + 0 + + + 2.491333333333333 + 7.894919286223335e-16 + 0 + + + 1.660887300968135 + 7.894919286223335e-16 + 0 + + + 0.8304408127208498 + 0 + 0 + + + 3.947459643111667e-16 + 0.1062495353444359 + 0 + + + 0 + 0.2125000000000002 + 0 + + + 0 + 0.318750203164199 + 0 + + + 3.947459643111667e-16 + 0.4250006969833472 + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 2 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + /account -> AccountCntl; Account.html +/settings -> SettingsCntl; Settings.html + + + + -0 + 2.7276 + 4.0399375 + 3.068708333333333 + 1.328125 + 1.534354166666667 + 0.6640625 + + + 3.068708333333333 + 1.189236111111111 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 1.328125 + + + 3.068708333333333 + 1.328125 + + + 3.068708333333333 + 0 + + + 0 + 0 + + + 0 + 1.328125 + + + + 0 + + + 0.6137389826339081 + 1.328125 + 0 + + + 1.227483333333333 + 1.328125 + 0 + + + 1.841225 + 1.328125 + 0 + + + 2.454969350699426 + 1.328125 + 0 + + + 3.068708333333333 + 1.062501742458367 + 0 + + + 3.068708333333333 + 0.796875 + 0 + + + 3.068708333333333 + 0.53125 + 0 + + + 3.068708333333333 + 0.2656232575416332 + 0 + + + 2.454969350699426 + 0 + 0 + + + 1.841225 + 0 + 0 + + + 1.227482159777249 + 0 + 0 + + + 0.6137389826339081 + 0 + 0 + + + 0 + 0.2656238383610885 + 0 + + + 0 + 0.53125 + 0 + + + 0 + 0.796875 + 0 + + + 0 + 1.062501742458367 + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 2 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + $route { + current: { + template: 'Account.html', + scope: new AccountCntl() + } +} + + + + + + + + + + + + + + + + + + + + + 0 + 0 + 1 + 0 + 12 + 52 + 0.5 + + + diff --git a/images/docs/guide/about_controller.graffle b/images/docs/guide/about_controller.graffle index a2b56ccaed71..10bcb7fa8a27 100644 --- a/images/docs/guide/about_controller.graffle +++ b/images/docs/guide/about_controller.graffle @@ -416,7 +416,7 @@ {\colortbl;\red255\green255\blue255;} \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural -\f0\fs24 \cf0 Angular Scope} +\f0\fs24 \cf0 AngularJS Scope} VerticalPad 0 @@ -563,7 +563,7 @@ {\colortbl;\red255\green255\blue255;} \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural -\f0\b\fs20 \cf0 Angular +\f0\b\fs20 \cf0 AngularJS \f1\i applies \f0\i0 controller function to scope object.} @@ -1050,7 +1050,7 @@ {\colortbl;\red255\green255\blue255;} \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural -\f0\b\fs20 \cf0 Angular creates model as property on scope object.} +\f0\b\fs20 \cf0 AngularJS creates model as property on scope object.} diff --git a/images/docs/guide/about_controller.svg b/images/docs/guide/about_controller.svg new file mode 100644 index 000000000000..6b31d847d344 --- /dev/null +++ b/images/docs/guide/about_controller.svg @@ -0,0 +1,3 @@ + + + Produced by OmniGraffle 6.5.2 2011-05-12 20:34:05 +0000Canvas 1Layer 1MyController ScopeModel<html>Root Scope<input name="foo" >foo: "bar"Templateng:autobind</html>AngularJS creates model as property on scope object.Controllerfunction MyController(){ this.foo = 'bar'; this.save = function(){ //do something nice }}<body ng:controller= "MyController"></body>ng:controllerAngularJS applies controller function to scope object.Key:AngularJS Scope<...>DOM NodeScope Property Implicit Scope DeclarationController function diff --git a/images/docs/guide/about_controller.vdx b/images/docs/guide/about_controller.vdx new file mode 100644 index 000000000000..28d28ac431fa --- /dev/null +++ b/images/docs/guide/about_controller.vdx @@ -0,0 +1,3385 @@ + + + + 12 + 52 + + + 7.68056 + 10.5 + 1 + 0.25 + 0.25 + 0.25 + 0.569444 + 1 + 1 + + + + + + + + + + + + + + 0.111111 + 0.111111 + + + 1 + 1 + 10.5 + 7.68056 + 3 + 0 + -0.0277778 + + + Layer 1 + 1 + 1 + 0 + + + + + + -0 + 4.770833333333333 + 5.743055555555555 + 1.958333333333333 + 1.263888888888889 + 0.9791666666666666 + 0.6319444444444444 + + + 1.566666666666667 + 0.7458333333333332 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #ffffff + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 1.671541291666667 + 1.078796152777778 + + + 1.671541291666667 + 0.185092736111111 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.2867920416666665 + 0.185092736111111 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.2867920416666665 + 1.078796152777778 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 1.671541291666667 + 1.078796152777778 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + MyController Scope + + + + -0 + 4.861111111111111 + 2.826388888888889 + 0.8888888888888888 + 0.25 + 0.4444444444444444 + 0.125 + + + 0.8888888888888888 + 0.1111111111111111 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #fdfffc + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.25 + + + 0.8888888888888888 + 0.25 + + + 0.8888888888888888 + 0 + + + 0 + 0 + + + 0 + 0.25 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.194444 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Model + + + + -0 + 0.625 + 7.145833333333333 + 0.6944444444444444 + 0.3472222222222222 + 0.3472222222222222 + 0.1736111111111111 + + + 0.6944444444444444 + 0.2083333333333333 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #fff82f + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3472222222222222 + + + 0.6944444444444444 + 0.3472222222222222 + + + 0.6944444444444444 + 0 + + + 0 + 0 + + + 0 + 0.3472222222222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + <html> + + + + -0 + 4.770833333333333 + 7.138895833333333 + 1.888888888888889 + 0.7777638888888889 + 0.9444444444444444 + 0.3888819444444445 + + + 1.511111111111111 + 0.4055458333333333 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #ffffff + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 1.612266777777778 + 0.6638627006527779 + + + 1.612266777777778 + 0.113901188236111 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.2766221111111109 + 0.113901188236111 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.2766221111111109 + 0.6638627006527779 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 1.612266777777778 + 0.6638627006527779 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Root Scope + + + + -0 + 2.399309194177038 + 7.138296224274305 + 2.840285074467145 + 0.01388888888888889 + 1.420142537233573 + 0.006944444444444444 + + + 0.979166656943466 + 7.14524066871875 + 3.81945173141061 + 7.14048771858647 + + + 4 + 0 + 2 + 0 + 2 + + + 2.840285074467145 + 0.01388888888888889 + -0 + + + 2 + + + 9 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 1.973729821555834e-16 + 0.01388888888888889 + + + 2.840285074467145 + 0.009135938756610685 + + + + 0 + + + + + -0 + 1.083333333333333 + 4.878465277777778 + 1.361111111111111 + 0.7777638888888889 + 0.6805555555555556 + 0.3888819444444445 + + + 1.361111111111111 + 0.6388750000000001 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #f5ff36 + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.7777638888888893 + + + 1.361111111111111 + 0.7777638888888893 + + + 1.361111111111111 + 0 + + + 0 + 0 + + + 0 + 0.7777638888888893 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + <input + name="foo" +> + + + + -0 + 4.798611111111111 + 5.486111111111111 + 1.180555555555556 + 0.2777777777777778 + 0.5902777777777778 + 0.1388888888888889 + + + 0.9444444444444444 + 0.1388888888888889 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0.1770833333333333 + 0.2777777777777778 + + + 1.003472222222222 + 0.2777777777777778 + + + 1.180555555555556 + 0.1388888888888889 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.932800,1.000000,0,1, 1.000000,0.776000,0,1) + + + 1.003472222222222 + 0 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.000000,0.224000,0,1, 0.932800,0.000000,0,1) + + + 0.1770833333333333 + 0 + + + 0 + 0.1388888888888889 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.067200,0.000000,0,1, 0.000000,0.224000,0,1) + + + 0.1770833333333333 + 0.2777777777777778 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.000000,0.776000,0,1, 0.067200,1.000000,0,1) + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + foo: "bar" + + + + -0 + 0.75 + 7.791666666666667 + 0.02777777777777778 + 0.1666666666666667 + 0.01388888888888889 + 0.08333333333333333 + + + 0.02777777777777778 + 0.1666666666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.1666666666666667 + + + 0.02777777777777778 + 0.1666666666666667 + + + 0.02777777777777778 + 0 + + + 0 + 0 + + + 0 + 0.1666666666666667 + + + + 0 + + + + + -0 + 4.895833333333333 + 2.576388888888889 + 9.208333333333334 + 0.01388888888888889 + 4.604166666666667 + 0.006944444444444444 + + + 0.291666666666667 + 2.57291666666667 + 9.5 + 2.58333333333333 + + + 4 + 0 + 0 + 2 + 2 + + + 9.208333333333334 + 0.01388888888888889 + -0 + + + 2 + + + 1 + 0.0277778 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.003472222222222222 + + + 9.208333333333334 + 0.01388888888888889 + + + + 0 + + + + + -0 + 1.055555555555556 + 2.826388888888889 + 1.055555555555556 + 0.25 + 0.5277777777777778 + 0.125 + + + 1.055555555555556 + 0.1111111111111111 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #fff82f + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.25 + + + 1.055555555555556 + 0.25 + + + 1.055555555555556 + 0 + + + 0 + 0 + + + 0 + 0.25 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.194444 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Template + + + + -0 + 2.111111111111111 + 7.229166666666667 + 1.111111111111111 + 0.1944444444444444 + 0.5555555555555556 + 0.09722222222222222 + + + 1.111111111111111 + 0.05555555555555555 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.1944444444444444 + + + 1.111111111111111 + 0.1944444444444444 + + + 1.111111111111111 + 0 + + + 0 + 0 + + + 0 + 0.1944444444444444 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + ng:autobind + + + + -0 + 0.6597222222222222 + 3.604166666666667 + 0.7638888888888888 + 0.3472222222222222 + 0.3819444444444444 + 0.1736111111111111 + + + 0.7638888888888888 + 0.2083333333333333 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #fff82f + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3472222222222222 + + + 0.7638888888888888 + 0.3472222222222222 + + + 0.7638888888888888 + 0 + + + 0 + 0 + + + 0 + 0.3472222222222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + </html> + + + + -0 + 3.007060580317007 + 5.193099248282845 + 2.472636612330005 + 0.4044104881154137 + 1.236318306165002 + 0.2022052440577069 + + + 1.770742274152 + 4.99089400422514 + 4.24337888648201 + 5.39530449234055 + + + 4 + 0 + 2 + 0 + 1 + + + 2.472636612330005 + 0.4044104881154137 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + -1.973729821555834e-16 + 0 + + + 2.472636612330004 + 0.4044104881154137 + + + + 0 + + + + + -0 + 3 + 4.871541666666666 + 2.25 + 0.2777777777777778 + 1.125 + 0.1388888888888889 + + + 2.25 + 0.1388888888888889 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2777777777777778 + + + 2.25 + 0.2777777777777778 + + + 2.25 + 0 + + + 0 + 0 + + + 0 + 0.2777777777777778 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + AngularJS creates model as property on scope object. + + + + -0 + 7.930555555555555 + 2.826388888888889 + 1.111111111111111 + 0.25 + 0.5555555555555556 + 0.125 + + + 1.111111111111111 + 0.1111111111111111 + -0 + + + 1 + + + 1 + 0.0138889 + #ff3636 + 0 + 0 + 0 + + + 1 + #fdfffc + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.25 + + + 1.111111111111111 + 0.25 + + + 1.111111111111111 + 0 + + + 0 + 0 + + + 0 + 0.25 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.194444 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Controller + + + + -0 + 7.927083333333333 + 6.875 + 2.270833333333333 + 1.055555555555556 + 1.135416666666667 + 0.5277777777777778 + + + 4 + 0 + 2 + 2 + 1 + + + 2.270833333333333 + 1.055555555555556 + -0 + + + 1 + + + 0 + + + + + -0 + 1.118055555555556 + 0.5277777777777778 + 2.236111111111111 + 1.055555555555556 + 1.118055555555556 + 0.5277777777777778 + + + 2.236111111111111 + 0.9166666666666666 + -0 + + + 1 + + + 1 + 0.0138889 + #ff0c1b + 0 + 0 + 0 + + + 1 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 1.055555555555556 + + + 2.236111111111111 + 1.055555555555556 + + + 2.236111111111111 + 0 + + + 0 + 0 + + + 0 + 1.055555555555556 + + + + 0 + + + + + -0 + 1.180555555555556 + 0.5208333333333334 + 2.180555555555555 + 0.9166666666666666 + 1.090277777777778 + 0.4583333333333333 + + + 2.180555555555555 + 0.9166666666666666 + -0 + + + 1 + + + 0 + 0.0138889 + #ff0c1b + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.9166666666666666 + + + 2.180555555555555 + 0.9166666666666666 + + + 2.180555555555555 + 0 + + + 0 + 0 + + + 0 + 0.9166666666666666 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + function MyController(){ + this.foo = 'bar'; + this.save = function(){ + //do something nice + } +} + + + + + + -0 + 1.145833333333333 + 5.7430625 + 1.486111111111111 + 0.5972361111111111 + 0.7430555555555556 + 0.2986180555555555 + + + 1.486111111111111 + 0.4583472222222222 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #f5ff36 + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.597236111111111 + + + 1.486111111111111 + 0.597236111111111 + + + 1.486111111111111 + 0 + + + 0 + 0 + + + 0 + 0.597236111111111 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + <body + ng:controller= + "MyController"> + + + + -0 + 2.840277532987951 + 5.736116566435122 + 1.888888399309262 + 0.01388888888888889 + 0.9444441996546308 + 0.006944444444444444 + + + 1.89583333333332 + 5.74306101087957 + 3.78472173264258 + 5.74305726050315 + + + 4 + 0 + 2 + 0 + 1 + + + 1.888888399309262 + 0.01388888888888889 + -0 + + + 2 + + + 9 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.01388888888888889 + + + 1.888888399309262 + 0.01388513851247137 + + + + 0 + + + + + -0 + 4.777118890462012 + 6.562507026284124 + 0.01388888888888889 + 0.3611246482691095 + 0.006944444444444444 + 0.1805623241345548 + + + 4.77041238318541 + 6.38194470214957 + 4.77017444601757 + 6.74306935041868 + + + 4 + 0 + 2 + 0 + 1 + + + 0.01388888888888889 + 0.3611246482691095 + -0 + + + 2 + + + 1 + 0.0138889 + #65ff5a + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0.0002379371678442352 + 0 + + + 0 + 0.3611246482691095 + + + + 0 + + + + + -0 + 0.7847222222222222 + 4.159722222222222 + 0.7638888888888888 + 0.3472222222222222 + 0.3819444444444444 + 0.1736111111111111 + + + 0.7638888888888888 + 0.2083333333333333 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #f5ff36 + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3472222222222222 + + + 0.7638888888888888 + 0.3472222222222222 + + + 0.7638888888888888 + 0 + + + 0 + 0 + + + 0 + 0.3472222222222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + </body> + + + + -0 + 2.819444444444445 + 5.833347222222222 + 1.277777777777778 + 0.1944444444444444 + 0.6388888888888888 + 0.09722222222222222 + + + 1.277777777777778 + 0.05555555555555555 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.1944444444444444 + + + 1.277777777777778 + 0.1944444444444444 + + + 1.277777777777778 + 0 + + + 0 + 0 + + + 0 + 0.1944444444444444 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + ng:controller + + + + -0 + 7.940972222222222 + 6.868055555555555 + 0.0625 + 0.01388888888888889 + 0.03125 + 0.006944444444444444 + + + 7.97222222222222 + 6.86805555555556 + 7.90972222222222 + 6.875 + + + 4 + 0 + 2 + 0 + 1 + + + 0.0625 + 0.01388888888888889 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0.0625 + 0.006944444444444444 + + + 0 + 0.01388888888888889 + + + + 0 + + + + + -0 + 6.209440733299902 + 6.260272553706687 + 1.151390427476509 + 0.4162788936894306 + 0.5756952137382546 + 0.2081394468447153 + + + 6.78513594703816 + 6.4684120005514 + 5.63374551956165 + 6.05213310686197 + + + 4 + 0 + 2 + 0 + 1 + + + 1.151390427476509 + 0.4162788936894306 + -0 + + + 2 + + + 3 + 0.0138889 + 0 + 0 + 0 + 0 + 16 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 1.151390427476509 + 0.4162788936894306 + + + 0 + 0 + + + + 0 + + + + + -0 + 7.090277777777778 + 5.968763888888889 + 2.319444444444445 + 0.2777777777777778 + 1.159722222222222 + 0.1388888888888889 + + + 2.319444444444445 + 0.1388888888888889 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2777777777777778 + + + 2.319444444444445 + 0.2777777777777778 + + + 2.319444444444445 + 0 + + + 0 + 0 + + + 0 + 0.2777777777777778 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + AngularJS applies controller function to scope object. + + + + -0 + 4.861111111111111 + 1.701388888888889 + 6.222222222222222 + 1.402777777777778 + 3.111111111111111 + 0.7013888888888888 + + + 4 + 0 + 2 + 2 + 1 + + + 6.222222222222222 + 1.402777777777778 + -0 + + + 1 + + + 0 + + + + + -0 + 3.111111111111111 + 0.7013888888888888 + 6.222222222222222 + 1.402777777777778 + 3.111111111111111 + 0.7013888888888888 + + + 6.222222222222222 + 1.263888888888889 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 1.402777777777778 + + + 6.222222222222222 + 1.402777777777778 + + + 6.222222222222222 + 0 + + + 0 + 0 + + + 0 + 1.402777777777778 + + + + 0 + + + + + -0 + 0.3125 + 1.222222222222222 + 0.625 + 0.1944444444444444 + 0.3125 + 0.09722222222222222 + + + 0.625 + 0.1944444444444444 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.1944444444444444 + + + 0.625 + 0.1944444444444444 + + + 0.625 + 0 + + + 0 + 0 + + + 0 + 0.1944444444444444 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Key: + + + + -0 + 1.770833333333333 + 0.7222222222222222 + 2.041666666666667 + 0.2777777777777778 + 1.020833333333333 + 0.1388888888888889 + + + 4 + 0 + 2 + 2 + 1 + + + 2.041666666666667 + 0.2777777777777778 + -0 + + + 1 + + + 0 + + + + + -0 + 0.2777777777777778 + 0.1388888888888889 + 0.5555555555555556 + 0.2777777777777778 + 0.2777777777777778 + 0.1388888888888889 + + + 0.4444444444444444 + 0.05555555555555555 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #ffffff + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0.4741961111111112 + 0.2370980555555554 + + + 0.4741961111111112 + 0.04067972222222238 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.08135944444444437 + 0.04067972222222238 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.08135944444444437 + 0.2370980555555554 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 0.4741961111111112 + 0.2370980555555554 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + + + -0 + 1.4375 + 0.1388888888888889 + 1.208333333333333 + 0.1944444444444444 + 0.6041666666666666 + 0.09722222222222222 + + + 1.208333333333333 + 0.1944444444444444 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.1944444444444444 + + + 1.208333333333333 + 0.1944444444444444 + + + 1.208333333333333 + 0 + + + 0 + 0 + + + 0 + 0.1944444444444444 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + AngularJS Scope + + + + + + -0 + 1.694444444444444 + 1.180555555555556 + 1.888888888888889 + 0.2777777777777778 + 0.9444444444444444 + 0.1388888888888889 + + + 4 + 0 + 2 + 2 + 1 + + + 1.888888888888889 + 0.2777777777777778 + -0 + + + 1 + + + 0 + + + + + -0 + 0.2777777777777778 + 0.1388888888888889 + 0.5555555555555556 + 0.2777777777777778 + 0.2777777777777778 + 0.1388888888888889 + + + 0.5555555555555556 + 0.1388888888888889 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #fff82f + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2777777777777778 + + + 0.5555555555555556 + 0.2777777777777778 + + + 0.5555555555555556 + 0 + + + 0 + 0 + + + 0 + 0.2777777777777778 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + <...> + + + + -0 + 1.361111111111111 + 0.1388888888888889 + 1.055555555555556 + 0.1944444444444444 + 0.5277777777777778 + 0.09722222222222222 + + + 1.055555555555556 + 0.1944444444444444 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.1944444444444444 + + + 1.055555555555556 + 0.1944444444444444 + + + 1.055555555555556 + 0 + + + 0 + 0 + + + 0 + 0.1944444444444444 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + DOM Node + + + + + + -0 + 1.736111111111111 + 0.2638888888888889 + 2.111111111111111 + 0.2777777777777778 + 1.055555555555556 + 0.1388888888888889 + + + 4 + 0 + 2 + 2 + 1 + + + 2.111111111111111 + 0.2777777777777778 + -0 + + + 1 + + + 0 + + + + + -0 + 1.506944444444444 + 0.1388888888888889 + 1.208333333333333 + 0.1944444444444444 + 0.6041666666666666 + 0.09722222222222222 + + + 1.208333333333333 + 0.1944444444444444 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.1944444444444444 + + + 1.208333333333333 + 0.1944444444444444 + + + 1.208333333333333 + 0 + + + 0 + 0 + + + 0 + 0.1944444444444444 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Scope Property + + + + -0 + 0.3611111111111111 + 0.1388888888888889 + 0.7222222222222222 + 0.2777777777777778 + 0.3611111111111111 + 0.1388888888888889 + + + 0.5777777777777778 + 0.1388888888888889 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0.1083333333333335 + 0.2777777777777778 + + + 0.6138888888888887 + 0.2777777777777778 + + + 0.7222222222222222 + 0.1388888888888889 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.932800,1.000000,0,1, 1.000000,0.776000,0,1) + + + 0.6138888888888887 + 0 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.000000,0.224000,0,1, 0.932800,0.000000,0,1) + + + 0.1083333333333335 + 0 + + + 0 + 0.1388888888888889 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.067200,0.000000,0,1, 0.000000,0.224000,0,1) + + + 0.1083333333333335 + 0.2777777777777778 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.000000,0.776000,0,1, 0.067200,1.000000,0,1) + + + + 0 + + + + + + + -0 + 4.763888888888889 + 0.7204604166666668 + 2.916666666666667 + 0.239634722222222 + 1.458333333333333 + 0.119817361111111 + + + 4 + 0 + 2 + 2 + 1 + + + 2.916666666666667 + 0.239634722222222 + -0 + + + 1 + + + 0 + + + + + -0 + 0.3191944444444441 + 0.1076902777777775 + 0.6383888888888889 + 0.01388888888888889 + 0.3191944444444444 + 0.006944444444444444 + + + 0 + 0.114634722222222 + 0.638388888888889 + 0.114634722222222 + + + 4 + 0 + 2 + 2 + 1 + + + 0.6383888888888889 + 0.01388888888888889 + -0 + + + 2 + + + 9 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.01388888888888889 + + + 0.6383888888888889 + 0.01388888888888889 + + + + 0 + + + + + -0 + 1.823777777777778 + 0.119817361111111 + 2.185777777777778 + 0.2396347222222222 + 1.092888888888889 + 0.1198173611111111 + + + 2.185777777777778 + 0.1007458333333333 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.239634722222222 + + + 2.185777777777778 + 0.239634722222222 + + + 2.185777777777778 + 0 + + + 0 + 0 + + + 0 + 0.239634722222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Implicit Scope Declaration + + + + + + -0 + 4.4375 + 1.180555555555556 + 2.263888888888889 + 0.2777777777777778 + 1.131944444444444 + 0.1388888888888889 + + + 4 + 0 + 2 + 2 + 1 + + + 2.263888888888889 + 0.2777777777777778 + -0 + + + 1 + + + 0 + + + + + -0 + 1.583333333333333 + 0.1388888888888889 + 1.361111111111111 + 0.1944444444444444 + 0.6805555555555556 + 0.09722222222222222 + + + 1.361111111111111 + 0.1944444444444444 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.1944444444444444 + + + 1.361111111111111 + 0.1944444444444444 + + + 1.361111111111111 + 0 + + + 0 + 0 + + + 0 + 0.1944444444444444 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Controller function + + + + -0 + 0.3611111111111111 + 0.1388888888888889 + 0.7222222222222222 + 0.2777777777777778 + 0.3611111111111111 + 0.1388888888888889 + + + 0.7222222222222222 + 0.1388888888888889 + -0 + + + 1 + + + 1 + 0.0138889 + #ff1c22 + 0 + 0 + 0 + + + 1 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2777777777777778 + + + 0.7222222222222222 + 0.2777777777777778 + + + 0.7222222222222222 + 0 + + + 0 + 0 + + + 0 + 0.2777777777777778 + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + 0 + 1 + 0 + 12 + 52 + 0.5 + + + diff --git a/images/docs/guide/about_model.graffle b/images/docs/guide/about_model.graffle index aae3ede892a0..891de2942834 100644 --- a/images/docs/guide/about_model.graffle +++ b/images/docs/guide/about_model.graffle @@ -88,7 +88,7 @@ {\colortbl;\red255\green255\blue255;} \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural -\f0\b\fs20 \cf0 Angular creates model as property on scope object.} +\f0\b\fs20 \cf0 AngularJS creates model as property on scope object.} @@ -660,7 +660,7 @@ {\colortbl;\red255\green255\blue255;} \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural -\f0\fs24 \cf0 Angular Scope} +\f0\fs24 \cf0 AngularJS Scope} VerticalPad 0 @@ -837,7 +837,7 @@ {\colortbl;\red255\green255\blue255;} \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural -\f0\fs24 \cf0 Angular Scope Object} +\f0\fs24 \cf0 AngularJS Scope Object} TextPlacement 0 diff --git a/images/docs/guide/about_model.svg b/images/docs/guide/about_model.svg new file mode 100644 index 000000000000..57fa191603c6 --- /dev/null +++ b/images/docs/guide/about_model.svg @@ -0,0 +1,3 @@ + + + Produced by OmniGraffle 6.5.2 2011-05-12 18:22:24 +0000Canvas 1Layer 1Data Model<html>AngularJS Scope ObjectKey:AngularJS Scope<...>DOM Node<input name="foo" value="bar" >foo: "bar"Scope PropertyTemplateng:autobind Implicit Scope Declaration</html>AngularJS creates model as property on scope object. diff --git a/images/docs/guide/about_model.vdx b/images/docs/guide/about_model.vdx new file mode 100644 index 000000000000..224c3253051e --- /dev/null +++ b/images/docs/guide/about_model.vdx @@ -0,0 +1,2141 @@ + + + + 12 + 52 + + + 8 + 10.1806 + 0 + 0.25 + 0.25 + 0.25 + 0.569444 + 1 + 1 + + + + + + + + + + + + + + 0.111111 + 0.111111 + + + 1 + 1 + 8 + 10.1806 + 3 + 0 + -0.0277778 + + + Layer 1 + 1 + 1 + 0 + + + + + + -0 + 5.826388888888889 + 6.826388888888889 + 1.263888888888889 + 0.25 + 0.6319444444444444 + 0.125 + + + 1.263888888888889 + 0.1111111111111111 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #fdfffc + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.25 + + + 1.263888888888889 + 0.25 + + + 1.263888888888889 + 0 + + + 0 + 0 + + + 0 + 0.25 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.194444 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Data Model + + + + -0 + 0.6388888888888888 + 9.215277777777779 + 0.6944444444444444 + 0.3472222222222222 + 0.3472222222222222 + 0.1736111111111111 + + + 0.6944444444444444 + 0.2083333333333333 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #fff82f + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3472222222222222 + + + 0.6944444444444444 + 0.3472222222222222 + + + 0.6944444444444444 + 0 + + + 0 + 0 + + + 0 + 0.3472222222222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + <html> + + + + -0 + 5.777777777777778 + 9.201388888888889 + 1.888888888888889 + 1.430555555555556 + 0.9444444444444444 + 0.7152777777777778 + + + 1.511111111111111 + 0.8624999999999999 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #ffffff + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 1.612266777777778 + 1.221054986111111 + + + 1.612266777777778 + 0.2095005694444444 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.2766221111111109 + 0.2095005694444444 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.2766221111111109 + 1.221054986111111 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 1.612266777777778 + 1.221054986111111 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + AngularJS Scope Object + + + + -0 + 2.90972498196501 + 9.207376402066966 + 3.833338903515798 + 0.01388888888888889 + 1.916669451757899 + 0.006944444444444444 + + + 0.993055530207111 + 9.21432084651141 + 4.82639443372291 + 9.20396345701335 + + + 4 + 0 + 2 + 0 + 2 + + + 3.833338903515798 + 0.01388888888888889 + -0 + + + 2 + + + 9 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.01388888888888889 + + + 3.833338903515798 + 0.003531499390823435 + + + + 0 + + + + + -0 + 3.493055555555555 + 5.517361111111111 + 3.652777777777778 + 1.784722222222222 + 1.826388888888889 + 0.8923611111111112 + + + 3.652777777777778 + 1.645833333333333 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 1.784722222222222 + + + 3.652777777777778 + 1.784722222222222 + + + 3.652777777777778 + 0 + + + 0 + 0 + + + 0 + 1.784722222222222 + + + + 0 + + + + + -0 + 1.979166666666667 + 6.229166666666667 + 0.625 + 0.1944444444444444 + 0.3125 + 0.09722222222222222 + + + 0.625 + 0.1944444444444444 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.1944444444444444 + + + 0.625 + 0.1944444444444444 + + + 0.625 + 0 + + + 0 + 0 + + + 0 + 0.1944444444444444 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Key: + + + + -0 + 3.4375 + 5.729166666666667 + 2.041666666666667 + 0.2777777777777778 + 1.020833333333333 + 0.1388888888888889 + + + 4 + 0 + 2 + 2 + 1 + + + 2.041666666666667 + 0.2777777777777778 + -0 + + + 1 + + + 0 + + + + + -0 + 0.2777777777777778 + 0.1388888888888889 + 0.5555555555555556 + 0.2777777777777778 + 0.2777777777777778 + 0.1388888888888889 + + + 0.4444444444444444 + 0.05555555555555555 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #ffffff + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0.4741961111111112 + 0.2370980555555554 + + + 0.4741961111111112 + 0.04067972222222238 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.08135944444444437 + 0.04067972222222238 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.08135944444444437 + 0.2370980555555554 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 0.4741961111111112 + 0.2370980555555554 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + + + -0 + 1.4375 + 0.1388888888888889 + 1.208333333333333 + 0.1944444444444444 + 0.6041666666666666 + 0.09722222222222222 + + + 1.208333333333333 + 0.1944444444444444 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.1944444444444444 + + + 1.208333333333333 + 0.1944444444444444 + + + 1.208333333333333 + 0 + + + 0 + 0 + + + 0 + 0.1944444444444444 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + AngularJS Scope + + + + + + -0 + 3.361111111111111 + 6.1875 + 1.888888888888889 + 0.2777777777777778 + 0.9444444444444444 + 0.1388888888888889 + + + 4 + 0 + 2 + 2 + 1 + + + 1.888888888888889 + 0.2777777777777778 + -0 + + + 1 + + + 0 + + + + + -0 + 0.2777777777777778 + 0.1388888888888889 + 0.5555555555555556 + 0.2777777777777778 + 0.2777777777777778 + 0.1388888888888889 + + + 0.5555555555555556 + 0.1388888888888889 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #fff82f + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2777777777777778 + + + 0.5555555555555556 + 0.2777777777777778 + + + 0.5555555555555556 + 0 + + + 0 + 0 + + + 0 + 0.2777777777777778 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + <...> + + + + -0 + 1.361111111111111 + 0.1388888888888889 + 1.055555555555556 + 0.1944444444444444 + 0.5277777777777778 + 0.09722222222222222 + + + 1.055555555555556 + 0.1944444444444444 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.1944444444444444 + + + 1.055555555555556 + 0.1944444444444444 + + + 1.055555555555556 + 0 + + + 0 + 0 + + + 0 + 0.1944444444444444 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + DOM Node + + + + + + -0 + 1.097222222222222 + 8.527770833333333 + 1.361111111111111 + 0.7777638888888889 + 0.6805555555555556 + 0.3888819444444445 + + + 1.361111111111111 + 0.6388750000000001 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #f5ff36 + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.7777638888888888 + + + 1.361111111111111 + 0.7777638888888888 + + + 1.361111111111111 + 0 + + + 0 + 0 + + + 0 + 0.7777638888888888 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + <input + name="foo" + value="bar" > + + + + -0 + 5.881944444444445 + 8.850694444444445 + 1.180555555555556 + 0.2777777777777778 + 0.5902777777777778 + 0.1388888888888889 + + + 0.9444444444444444 + 0.1388888888888889 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0.1770833333333333 + 0.2777777777777778 + + + 1.003472222222222 + 0.2777777777777778 + + + 1.180555555555556 + 0.1388888888888889 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.932800,1.000000,0,1, 1.000000,0.776000,0,1) + + + 1.003472222222222 + 0 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.000000,0.224000,0,1, 0.932800,0.000000,0,1) + + + 0.1770833333333333 + 0 + + + 0 + 0.1388888888888889 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.067200,0.000000,0,1, 0.000000,0.224000,0,1) + + + 0.1770833333333333 + 0.2777777777777778 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.000000,0.776000,0,1, 0.067200,1.000000,0,1) + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + foo: "bar" + + + + -0 + 0.75 + 10.09722222222222 + 0.02777777777777778 + 0.1666666666666667 + 0.01388888888888889 + 0.08333333333333333 + + + 0.02777777777777778 + 0.1666666666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.1666666666666667 + + + 0.02777777777777778 + 0.1666666666666667 + + + 0.02777777777777778 + 0 + + + 0 + 0 + + + 0 + 0.1666666666666667 + + + + 0 + + + + + -0 + 3.402777777777778 + 5.270833333333333 + 2.111111111111111 + 0.2777777777777778 + 1.055555555555556 + 0.1388888888888889 + + + 4 + 0 + 2 + 2 + 1 + + + 2.111111111111111 + 0.2777777777777778 + -0 + + + 1 + + + 0 + + + + + -0 + 1.506944444444444 + 0.1388888888888889 + 1.208333333333333 + 0.1944444444444444 + 0.6041666666666666 + 0.09722222222222222 + + + 1.208333333333333 + 0.1944444444444444 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.1944444444444444 + + + 1.208333333333333 + 0.1944444444444444 + + + 1.208333333333333 + 0 + + + 0 + 0 + + + 0 + 0.1944444444444444 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Scope Property + + + + -0 + 0.3611111111111111 + 0.1388888888888889 + 0.7222222222222222 + 0.2777777777777778 + 0.3611111111111111 + 0.1388888888888889 + + + 0.5777777777777778 + 0.1388888888888889 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0.1083333333333335 + 0.2777777777777778 + + + 0.6138888888888887 + 0.2777777777777778 + + + 0.7222222222222222 + 0.1388888888888889 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.932800,1.000000,0,1, 1.000000,0.776000,0,1) + + + 0.6138888888888887 + 0 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.000000,0.224000,0,1, 0.932800,0.000000,0,1) + + + 0.1083333333333335 + 0 + + + 0 + 0.1388888888888889 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.067200,0.000000,0,1, 0.000000,0.224000,0,1) + + + 0.1083333333333335 + 0.2777777777777778 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.000000,0.776000,0,1, 0.067200,1.000000,0,1) + + + + 0 + + + + + + + -0 + 3.506944444444445 + 6.592013888888889 + 6.430555555555555 + 0.03819444444444445 + 3.215277777777778 + 0.01909722222222222 + + + 0.291666666666667 + 6.57291666666667 + 6.72222222222222 + 6.61111111111111 + + + 4 + 0 + 0 + 2 + 2 + + + 6.430555555555555 + 0.03819444444444445 + -0 + + + 2 + + + 1 + 0.0277778 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0 + + + 6.430555555555555 + 0.03819444444444445 + + + + 0 + + + + + -0 + 1.083333333333333 + 6.826388888888889 + 1.055555555555556 + 0.25 + 0.5277777777777778 + 0.125 + + + 1.055555555555556 + 0.1111111111111111 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #fff82f + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.25 + + + 1.055555555555556 + 0.25 + + + 1.055555555555556 + 0 + + + 0 + 0 + + + 0 + 0.25 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.194444 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Template + + + + -0 + 2.111111111111111 + 9.298611111111111 + 1.111111111111111 + 0.1944444444444444 + 0.5555555555555556 + 0.09722222222222222 + + + 1.111111111111111 + 0.05555555555555555 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.1944444444444444 + + + 1.111111111111111 + 0.1944444444444444 + + + 1.111111111111111 + 0 + + + 0 + 0 + + + 0 + 0.1944444444444444 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + ng:autobind + + + + -0 + 3.861111111111111 + 4.838515972222222 + 2.916666666666667 + 0.239634722222222 + 1.458333333333333 + 0.119817361111111 + + + 4 + 0 + 2 + 2 + 1 + + + 2.916666666666667 + 0.239634722222222 + -0 + + + 1 + + + 0 + + + + + -0 + 0.3191944444444444 + 0.1076902777777775 + 0.6383888888888889 + 0.01388888888888889 + 0.3191944444444444 + 0.006944444444444444 + + + 0 + 0.114634722222222 + 0.638388888888889 + 0.114634722222222 + + + 4 + 0 + 2 + 2 + 1 + + + 0.6383888888888889 + 0.01388888888888889 + -0 + + + 2 + + + 9 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.01388888888888889 + + + 0.6383888888888889 + 0.01388888888888889 + + + + 0 + + + + + -0 + 1.823777777777778 + 0.119817361111111 + 2.185777777777778 + 0.2396347222222222 + 1.092888888888889 + 0.1198173611111111 + + + 2.185777777777778 + 0.1007458333333333 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.239634722222222 + + + 2.185777777777778 + 0.239634722222222 + + + 2.185777777777778 + 0 + + + 0 + 0 + + + 0 + 0.239634722222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Implicit Scope Declaration + + + + + + -0 + 0.6736111111111112 + 7.770833333333333 + 0.7638888888888888 + 0.3472222222222222 + 0.3819444444444444 + 0.1736111111111111 + + + 0.7638888888888888 + 0.2083333333333333 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #fff82f + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3472222222222222 + + + 0.7638888888888888 + 0.3472222222222222 + + + 0.7638888888888888 + 0 + + + 0 + 0 + + + 0 + 0.3472222222222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + </html> + + + + -0 + 3.538329638758999 + 8.692526593225228 + 3.507246358742144 + 0.2367118444064326 + 1.753623179371072 + 0.1183559222032163 + + + 1.78470645938793 + 8.57417067102201 + 5.29195281813007 + 8.81088251542844 + + + 4 + 0 + 2 + 0 + 1 + + + 3.507246358742144 + 0.2367118444064326 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 3.947459643111667e-16 + 0 + + + 3.507246358742145 + 0.2367118444064326 + + + + 0 + + + + + -0 + 3.208333333333333 + 8.423611111111111 + 2.25 + 0.2777777777777778 + 1.125 + 0.1388888888888889 + + + 2.25 + 0.1388888888888889 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2777777777777778 + + + 2.25 + 0.2777777777777778 + + + 2.25 + 0 + + + 0 + 0 + + + 0 + 0.2777777777777778 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + AngularJS creates model as property on scope object. + + + + + + + + + + + + + 1 + 0 + 1 + 0 + 12 + 52 + 0.5 + + + diff --git a/images/docs/guide/concepts.graffle/data.plist b/images/docs/guide/concepts.graffle/data.plist index d159209f298f..c85cef543fb3 100644 --- a/images/docs/guide/concepts.graffle/data.plist +++ b/images/docs/guide/concepts.graffle/data.plist @@ -5,14 +5,14 @@ ApplicationVersion com.omnigroup.OmniGraffle6 - 156.2.0.196174 + 169.10.0.256984 CreationDate 2012-05-29 17:45:34 +0000 Creator Miško Hevery GraphDocumentVersion - 11 + 12 GuidesLocked NO GuidesVisible @@ -38,9 +38,9 @@ MasterSheets ModificationDate - 2013-11-06 19:46:59 +0000 + 2016-04-12 13:16:07 +0000 Modifier - tbosch + Peter Bacon Darwin NotesVisible NO OriginVisible @@ -72,12 +72,12 @@ NSPaperName string - na-letter + Letter NSPaperSize size - {792, 611.99999046325684} + {792, 612} NSPrintReverseOrientation @@ -107,7 +107,7 @@ BackgroundGraphic Bounds - {{0, 0}, {756, 552.99999046325684}} + {{0, 0}, {756, 553}} Class SolidGraphic ID @@ -144,11 +144,6 @@ Resize FontInfo - Color - - w - 0 - Font Helvetica Size @@ -165,8 +160,6 @@ RotationType 0 - Shape - Rectangle Style shadow @@ -183,10 +176,10 @@ Text Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fmodern\fcharset0 Courier;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs24 \cf0 $compile\ (dom)\ @@ -220,6 +213,11 @@ Style + shadow + + Draws + NO + stroke Bezier @@ -265,6 +263,11 @@ Style + shadow + + Draws + NO + stroke Bezier @@ -302,6 +305,11 @@ Style + shadow + + Draws + NO + stroke HeadArrow @@ -325,8 +333,6 @@ ShapedGraphic ID 23 - Shape - Rectangle Style shadow @@ -343,10 +349,10 @@ Text Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs24 \cf0 Dynamic DOM\ (view)} @@ -364,11 +370,16 @@ 22 Points - {358.07609198080814, 200.71230420668829} - {366.25710514668998, 213.9685220956386} + {358.07606909128458, 200.71230438097462} + {366.25705807206185, 213.96852245407561} Style + shadow + + Draws + NO + stroke HeadArrow @@ -397,11 +408,16 @@ 21 Points - {332.06295260075927, 200.64052413254052} - {312.43709715522851, 214.04030264872884} + {332.06296289857096, 200.64052418715318} + {312.43711851484517, 214.04030276200604} Style + shadow + + Draws + NO + stroke HeadArrow @@ -425,8 +441,6 @@ ShapedGraphic ID 20 - Shape - Rectangle Style shadow @@ -443,10 +457,10 @@ Text Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs24 \cf0 $compile} @@ -458,8 +472,6 @@ ShapedGraphic ID 19 - Shape - Rectangle Style shadow @@ -476,10 +488,10 @@ Text Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs24 \cf0 $rootScope} @@ -501,6 +513,11 @@ Style + shadow + + Draws + NO + stroke HeadArrow @@ -524,8 +541,6 @@ ShapedGraphic ID 17 - Shape - Rectangle Style shadow @@ -542,10 +557,10 @@ Text Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs24 \cf0 $injector} @@ -557,8 +572,6 @@ ShapedGraphic ID 16 - Shape - Rectangle Style shadow @@ -575,10 +588,10 @@ Text Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fmodern\fcharset0 CourierNewPS-BoldMT;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\b\fs24 \cf0 ng-app="module"} @@ -594,11 +607,6 @@ Resize FontInfo - Color - - w - 0 - Font Helvetica Size @@ -615,8 +623,6 @@ RotationType 0 - Shape - Rectangle Style fill @@ -624,13 +630,13 @@ Color a - 0.76 + 0.76000000000000001 b - 1 + 1 g - 1 + 1 r - 1 + 1 shadow @@ -647,10 +653,10 @@ Text Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs24 \cf0 DOM \ Content\ @@ -677,6 +683,11 @@ Event} Style + shadow + + Draws + NO + stroke HeadArrow @@ -710,6 +721,11 @@ Event} Style + shadow + + Draws + NO + stroke HeadArrow @@ -733,8 +749,6 @@ Event} ShapedGraphic ID 11 - Shape - Rectangle Style shadow @@ -751,10 +765,10 @@ Event} Text Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs24 \cf0 Static\ DOM} @@ -767,8 +781,6 @@ DOM} ShapedGraphic ID 10 - Shape - Rectangle Style shadow @@ -785,10 +797,10 @@ DOM} Text Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs24 \cf0 HTML} @@ -800,8 +812,6 @@ DOM} ShapedGraphic ID 12 - Shape - Rectangle Style fill @@ -809,11 +819,11 @@ DOM} Color b - 0.776995 + 0.77699499999999999 g - 0.949519 + 0.949519 r - 0.95338 + 0.95338000000000001 shadow @@ -836,10 +846,10 @@ DOM} Align 0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 ArialMT;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\b\fs24 \cf0 AngularJS} @@ -862,8 +872,6 @@ DOM} RotationType 0 - Shape - Rectangle Style fill @@ -871,11 +879,11 @@ DOM} Color b - 0.939956 + 0.93995600000000001 g - 0.885521 + 0.885521 r - 0.800826 + 0.80082600000000004 shadow @@ -898,10 +906,10 @@ DOM} Align 0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 ArialMT;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\b\fs24 \cf0 Browser} @@ -968,7 +976,7 @@ DOM} BackgroundGraphic Bounds - {{0, 0}, {756, 552.99999046325684}} + {{0, 0}, {756, 553}} Class SolidGraphic ID @@ -1011,6 +1019,11 @@ DOM} Style + shadow + + Draws + NO + stroke HeadArrow @@ -1052,6 +1065,11 @@ DOM} Style + shadow + + Draws + NO + stroke HeadArrow @@ -1089,6 +1107,11 @@ DOM} Style + shadow + + Draws + NO + stroke HeadArrow @@ -1120,8 +1143,6 @@ DOM} Resize ID 77 - Shape - Rectangle Style fill @@ -1129,13 +1150,13 @@ DOM} Color a - 0.58 + 0.57999999999999996 b - 1 + 1 g - 1 + 1 r - 1 + 1 shadow @@ -1154,17 +1175,17 @@ DOM} Text Pad - 10 + 10 Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs36 \cf0 Event\ Loop} VerticalPad - 10 + 10 Wrap NO @@ -1181,11 +1202,16 @@ Loop} 76 Points - {328.4427, 171.00005228857842} - {365.88547, 170.99999308651033} + {328.4427, 171.00005223162631} + {365.88547, 170.9999929711351} Style + shadow + + Draws + NO + stroke HeadArrow @@ -1223,6 +1249,11 @@ Loop} Style + shadow + + Draws + NO + stroke HeadArrow @@ -1254,8 +1285,6 @@ Loop} Resize ID 74 - Shape - Rectangle Style fill @@ -1279,16 +1308,16 @@ Loop} Align 3 Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fmodern\fcharset0 Courier-Bold;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qj +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qj\partightenfactor0 \f0\b\fs24 \cf0 $apply(fn)} VerticalPad - 0 + 0.0 Wrap NO @@ -1304,8 +1333,6 @@ Loop} Resize ID 73 - Shape - Rectangle Style fill @@ -1329,16 +1356,16 @@ Loop} Align 3 Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fmodern\fcharset0 Courier-Bold;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qj +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qj\partightenfactor0 \f0\b\fs24 \cf0 fn()} VerticalPad - 0 + 0.0 Wrap NO @@ -1354,8 +1381,6 @@ Loop} Resize ID 70 - Shape - Rectangle Style fill @@ -1377,18 +1402,18 @@ Loop} Text Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fmodern\fcharset0 Courier;\f1\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs24 \cf0 $digest \f1 \ loop} VerticalPad - 0 + 0.0 Wrap NO @@ -1420,6 +1445,11 @@ loop} Style + shadow + + Draws + NO + stroke Bezier @@ -1471,6 +1501,11 @@ loop} Style + shadow + + Draws + NO + stroke Bezier @@ -1507,8 +1542,6 @@ loop} ShapedGraphic ID 66 - Shape - Rectangle Style fill @@ -1530,18 +1563,18 @@ loop} Text Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fmodern\fcharset0 Courier;\f1\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs22 \cf0 $watch \f1 \ list} VerticalPad - 0 + 0.0 Wrap NO @@ -1572,6 +1605,11 @@ list} Style + shadow + + Draws + NO + stroke Bezier @@ -1603,8 +1641,6 @@ list} ShapedGraphic ID 63 - Shape - Rectangle Style fill @@ -1626,19 +1662,19 @@ list} Text Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fmodern\fcharset0 Courier;\f1\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs20 \cf0 $eval\ Async \f1 \ queue} VerticalPad - 0 + 0.0 Wrap NO @@ -1669,6 +1705,11 @@ queue} Style + shadow + + Draws + NO + stroke Bezier @@ -1695,8 +1736,6 @@ queue} ShapedGraphic ID 49 - Shape - Rectangle Style fill @@ -1704,13 +1743,13 @@ queue} Color a - 0.6 + 0.59999999999999998 b - 0.357967 + 0.35796699999999998 g - 0.912217 + 0.91221699999999994 r - 0.971191 + 0.97119100000000003 shadow @@ -1733,10 +1772,10 @@ queue} Align 0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 ArialMT;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\b\fs24 \cf0 DOM Render} @@ -1750,8 +1789,6 @@ queue} ShapedGraphic ID 12 - Shape - Rectangle Style fill @@ -1759,13 +1796,13 @@ queue} Color a - 0.6 + 0.59999999999999998 b - 0.357967 + 0.35796699999999998 g - 0.912217 + 0.91221699999999994 r - 0.971191 + 0.97119100000000003 shadow @@ -1788,10 +1825,10 @@ queue} Align 3 Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 ArialMT;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qj +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qj\partightenfactor0 \f0\b\fs24 \cf0 AngularJS\ } @@ -1821,8 +1858,6 @@ queue} {1, 0} {-1, 0} - Shape - Rectangle Style fill @@ -1830,13 +1865,13 @@ queue} Color a - 0.6 + 0.59999999999999998 b - 0.357967 + 0.35796699999999998 g - 0.912217 + 0.91221699999999994 r - 0.971191 + 0.97119100000000003 shadow @@ -1859,13 +1894,13 @@ queue} Align 0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 ArialMT;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\b\fs24 \cf0 Event Queue\ -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \cf0 \ (wait)} @@ -1879,8 +1914,6 @@ queue} ShapedGraphic ID 26 - Shape - Rectangle Style fill @@ -1888,11 +1921,11 @@ queue} Color b - 0.924687 + 0.92468700000000004 g - 0.924896 + 0.92489600000000005 r - 0.924755 + 0.92475499999999999 shadow @@ -1915,10 +1948,10 @@ queue} Align 0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 ArialMT;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\b\fs24 \cf0 Native} @@ -1932,8 +1965,6 @@ queue} ShapedGraphic ID 72 - Shape - Rectangle Style fill @@ -1941,11 +1972,11 @@ queue} Color b - 0.939956 + 0.93995600000000001 g - 0.885521 + 0.885521 r - 0.800826 + 0.80082600000000004 shadow @@ -1968,10 +1999,10 @@ queue} Align 0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 ArialMT;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\b\fs24 \cf0 JavaScript} @@ -2038,7 +2069,7 @@ queue} BackgroundGraphic Bounds - {{0, 0}, {756, 552.99999046325684}} + {{0, 0}, {756, 553}} Class SolidGraphic ID @@ -2089,8 +2120,6 @@ queue} 15 Layer 0 - Shape - Rectangle Style fill @@ -2098,13 +2127,13 @@ queue} Color a - 0.1 + 0.10000000000000001 b - 0 + 0.0 g - 0 + 0.0 r - 0.501961 + 0.50196099999999999 shadow @@ -2123,11 +2152,11 @@ queue} Color b - 0 + 0.0 g - 0 + 0.0 r - 1 + 1 @@ -2136,15 +2165,15 @@ queue} Align 2 Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fmodern\fcharset0 Courier;} {\colortbl;\red255\green255\blue255;\red255\green0\blue0;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qr +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qr\partightenfactor0 \f0\fs22 \cf2 $scope\ -name='Wold'} +name='World'} VerticalPad - 0 + 0.0 TextPlacement 0 @@ -2174,8 +2203,6 @@ name='Wold'} 12 Layer 0 - Shape - Rectangle Style fill @@ -2183,13 +2210,13 @@ name='Wold'} Color a - 0.1 + 0.10000000000000001 b - 0 + 0.0 g - 0 + 0.0 r - 0.501961 + 0.50196099999999999 shadow @@ -2208,11 +2235,11 @@ name='Wold'} Color b - 0 + 0.0 g - 0 + 0.0 r - 1 + 1 @@ -2221,15 +2248,15 @@ name='Wold'} Align 2 Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fmodern\fcharset0 Courier;} {\colortbl;\red255\green255\blue255;\red255\green0\blue0;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qr +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qr\partightenfactor0 \f0\fs22 \cf2 $scope\ name='Misko'} VerticalPad - 0 + 0.0 TextPlacement 0 @@ -2259,8 +2286,6 @@ name='Misko'} 11 Layer 0 - Shape - Rectangle Style fill @@ -2268,13 +2293,13 @@ name='Misko'} Color a - 0.1 + 0.10000000000000001 b - 0 + 0.0 g - 0 + 0.0 r - 0.501961 + 0.50196099999999999 shadow @@ -2293,11 +2318,11 @@ name='Misko'} Color b - 0 + 0.0 g - 0 + 0.0 r - 1 + 1 @@ -2306,15 +2331,15 @@ name='Misko'} Align 2 Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fmodern\fcharset0 Courier;} {\colortbl;\red255\green255\blue255;\red255\green0\blue0;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qr +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qr\partightenfactor0 \f0\fs22 \cf2 $scope\ name='Igor'} VerticalPad - 0 + 0.0 TextPlacement 0 @@ -2344,8 +2369,6 @@ name='Igor'} 10 Layer 0 - Shape - Rectangle Style fill @@ -2353,13 +2376,13 @@ name='Igor'} Color a - 0.1 + 0.10000000000000001 b - 0 + 0.0 g - 0 + 0.0 r - 0.501961 + 0.50196099999999999 shadow @@ -2378,11 +2401,11 @@ name='Igor'} Color b - 0 + 0.0 g - 0 + 0.0 r - 1 + 1 @@ -2391,15 +2414,15 @@ name='Igor'} Align 2 Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fmodern\fcharset0 Courier;} {\colortbl;\red255\green255\blue255;\red255\green0\blue0;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qr +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qr\partightenfactor0 \f0\fs22 \cf2 $scope\ name='Vojta'} VerticalPad - 0 + 0.0 TextPlacement 0 @@ -2429,8 +2452,6 @@ name='Vojta'} 13 Layer 0 - Shape - Rectangle Style fill @@ -2438,13 +2459,13 @@ name='Vojta'} Color a - 0.1 + 0.10000000000000001 b - 0 + 0.0 g - 0 + 0.0 r - 0.501961 + 0.50196099999999999 shadow @@ -2463,11 +2484,11 @@ name='Vojta'} Color b - 0 + 0.0 g - 0 + 0.0 r - 1 + 1 @@ -2476,15 +2497,15 @@ name='Vojta'} Align 2 Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fmodern\fcharset0 Courier;} {\colortbl;\red255\green255\blue255;\red255\green0\blue0;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qr +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qr\partightenfactor0 \f0\fs22 \cf2 $scope\ names=[...]} VerticalPad - 0 + 0.0 TextPlacement 0 @@ -2514,8 +2535,6 @@ names=[...]} 16 Layer 0 - Shape - Rectangle Style fill @@ -2523,13 +2542,13 @@ names=[...]} Color a - 0.1 + 0.10000000000000001 b - 0 + 0.0 g - 0 + 0.0 r - 0.501961 + 0.50196099999999999 shadow @@ -2548,11 +2567,11 @@ names=[...]} Color b - 0 + 0.0 g - 0 + 0.0 r - 1 + 1 @@ -2561,14 +2580,14 @@ names=[...]} Align 2 Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fmodern\fcharset0 Courier;} {\colortbl;\red255\green255\blue255;\red255\green0\blue0;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qr +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qr\partightenfactor0 \f0\fs22 \cf2 $scope} VerticalPad - 0 + 0.0 TextPlacement 0 @@ -2584,8 +2603,6 @@ names=[...]} 4 Layer 0 - Shape - Rectangle Style fill @@ -2630,8 +2647,6 @@ names=[...]} 8 Layer 1 - Shape - Rectangle Style fill @@ -2649,11 +2664,11 @@ names=[...]} Color b - 0 + 0.0 g - 0 + 0.0 r - 1 + 1 @@ -2662,14 +2677,14 @@ names=[...]} Align 2 Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fmodern\fcharset0 Courier;} {\colortbl;\red255\green255\blue255;\red255\green0\blue0;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qr +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qr\partightenfactor0 \f0\fs22 \cf2 $scope} VerticalPad - 0 + 0.0 TextPlacement 0 @@ -2699,8 +2714,6 @@ names=[...]} 7 Layer 1 - Shape - Rectangle Style fill @@ -2718,11 +2731,11 @@ names=[...]} Color b - 0 + 0.0 g - 0 + 0.0 r - 1 + 1 @@ -2731,14 +2744,14 @@ names=[...]} Align 2 Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fmodern\fcharset0 Courier;} {\colortbl;\red255\green255\blue255;\red255\green0\blue0;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qr +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qr\partightenfactor0 \f0\fs22 \cf2 $scope} VerticalPad - 0 + 0.0 TextPlacement 0 @@ -2768,8 +2781,6 @@ names=[...]} 6 Layer 1 - Shape - Rectangle Style fill @@ -2787,11 +2798,11 @@ names=[...]} Color b - 0 + 0.0 g - 0 + 0.0 r - 1 + 1 @@ -2800,14 +2811,14 @@ names=[...]} Align 2 Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fmodern\fcharset0 Courier;} {\colortbl;\red255\green255\blue255;\red255\green0\blue0;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qr +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qr\partightenfactor0 \f0\fs22 \cf2 $scope} VerticalPad - 0 + 0.0 TextPlacement 0 @@ -2837,8 +2848,6 @@ names=[...]} 5 Layer 1 - Shape - Rectangle Style fill @@ -2856,11 +2865,11 @@ names=[...]} Color b - 0 + 0.0 g - 0 + 0.0 r - 1 + 1 @@ -2869,14 +2878,14 @@ names=[...]} Align 2 Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fmodern\fcharset0 Courier;} {\colortbl;\red255\green255\blue255;\red255\green0\blue0;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qr +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qr\partightenfactor0 \f0\fs22 \cf2 $rootScope} VerticalPad - 0 + 0.0 TextPlacement 0 @@ -2908,8 +2917,6 @@ names=[...]} 1 Layer 1 - Shape - Rectangle Style fill @@ -2933,7 +2940,7 @@ names=[...]} Align 2 VerticalPad - 0 + 0.0 TextPlacement 0 @@ -3008,7 +3015,7 @@ names=[...]} BackgroundGraphic Bounds - {{0, 0}, {756, 552.99999046325684}} + {{0, 0}, {756, 553}} Class SolidGraphic ID @@ -3050,26 +3057,26 @@ names=[...]} Color b - 0.566522 + 0.56652199999999997 g - 0.917039 + 0.91703900000000005 r - 0.952309 + 0.95230899999999996 Text Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs24 \cf0 Declarative\ view} VerticalPad - 0 + 0.0 TextPlacement 0 @@ -3087,11 +3094,6 @@ view} LineGraphic FontInfo - Color - - w - 0 - Font Helvetica Size @@ -3106,6 +3108,11 @@ view} Style + shadow + + Draws + NO + stroke HeadArrow @@ -3130,11 +3137,6 @@ view} LineGraphic FontInfo - Color - - w - 0 - Font Helvetica Size @@ -3149,6 +3151,11 @@ view} Style + shadow + + Draws + NO + stroke HeadArrow @@ -3174,11 +3181,6 @@ view} FontInfo - Color - - w - 0 - Font Helvetica Size @@ -3194,6 +3196,11 @@ view} Style + shadow + + Draws + NO + stroke Bezier @@ -3201,11 +3208,11 @@ view} Color b - 0.501961 + 0.50196099999999999 g - 0 + 0.0 r - 0 + 0.0 HeadArrow FilledArrow @@ -3238,25 +3245,25 @@ view} Color b - 0.566522 + 0.56652199999999997 g - 0.917039 + 0.91703900000000005 r - 0.952309 + 0.95230899999999996 Text Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs24 \cf0 scope is the glue} VerticalPad - 0 + 0.0 TextPlacement 0 @@ -3275,11 +3282,6 @@ view} FontInfo - Color - - w - 0 - Font Helvetica Size @@ -3295,6 +3297,11 @@ view} Style + shadow + + Draws + NO + stroke Bezier @@ -3302,11 +3309,11 @@ view} Color b - 0.501961 + 0.50196099999999999 g - 0 + 0.0 r - 0 + 0.0 HeadArrow FilledArrow @@ -3341,26 +3348,26 @@ view} Color b - 0.566522 + 0.56652199999999997 g - 0.917039 + 0.91703900000000005 r - 0.952309 + 0.95230899999999996 Text Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs24 \cf0 Imperative\ behavior} VerticalPad - 0 + 0.0 TextPlacement 2 @@ -3381,11 +3388,6 @@ behavior} FontInfo - Color - - w - 0 - Font Helvetica Size @@ -3401,6 +3403,11 @@ behavior} Style + shadow + + Draws + NO + stroke Bezier @@ -3408,11 +3415,11 @@ behavior} Color b - 0.501961 + 0.50196099999999999 g - 0 + 0.0 r - 0 + 0.0 HeadArrow FilledArrow @@ -3441,11 +3448,6 @@ behavior} FontInfo - Color - - w - 0 - Font Helvetica Size @@ -3461,6 +3463,11 @@ behavior} Style + shadow + + Draws + NO + stroke Bezier @@ -3468,11 +3475,11 @@ behavior} Color b - 0.501961 + 0.50196099999999999 g - 0 + 0.0 r - 0 + 0.0 HeadArrow FilledArrow @@ -3501,11 +3508,6 @@ behavior} FontInfo - Color - - w - 0 - Font Helvetica Size @@ -3521,6 +3523,11 @@ behavior} Style + shadow + + Draws + NO + stroke Bezier @@ -3528,11 +3535,11 @@ behavior} Color b - 0.501961 + 0.50196099999999999 g - 0 + 0.0 r - 0 + 0.0 HeadArrow FilledArrow @@ -3561,11 +3568,6 @@ behavior} FontInfo - Color - - w - 0 - Font Helvetica Size @@ -3581,6 +3583,11 @@ behavior} Style + shadow + + Draws + NO + stroke Bezier @@ -3588,11 +3595,11 @@ behavior} Color b - 0.501961 + 0.50196099999999999 g - 0 + 0.0 r - 0 + 0.0 HeadArrow FilledArrow @@ -3620,11 +3627,6 @@ behavior} LineGraphic FontInfo - Color - - w - 0 - Font Helvetica Size @@ -3639,6 +3641,11 @@ behavior} Style + shadow + + Draws + NO + stroke HeadArrow @@ -3661,8 +3668,6 @@ behavior} ShapedGraphic ID 30 - Shape - Rectangle Style fill @@ -3670,13 +3675,13 @@ behavior} Color a - 0.75 + 0.75 b - 0.633471 + 0.63347100000000001 g - 0.837918 + 0.83791800000000005 r - 0.691869 + 0.69186899999999996 shadow @@ -3699,14 +3704,14 @@ behavior} Align 0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 ArialMT;\f1\fmodern\fcharset0 Courier;\f2\fmodern\fcharset0 Courier-Bold; } {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\b\fs24 \cf0 View (DOM)\ -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f1\b0 \cf0 \ <div ng-controller=" @@ -3734,8 +3739,6 @@ behavior} ShapedGraphic ID 29 - Shape - Rectangle Style fill @@ -3743,13 +3746,13 @@ behavior} Color a - 0.75 + 0.75 b - 0.645653 + 0.64565300000000003 g - 0.647534 + 0.64753400000000005 r - 0.842549 + 0.84254899999999999 shadow @@ -3772,13 +3775,13 @@ behavior} Align 0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 ArialMT;\f1\fmodern\fcharset0 Courier;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\b\fs24 \cf0 Scope\ -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f1\b0 \cf0 \{\ name: 'world',\ @@ -3797,8 +3800,6 @@ behavior} ShapedGraphic ID 26 - Shape - Rectangle Style fill @@ -3806,13 +3807,13 @@ behavior} Color a - 0.75 + 0.75 b - 0.999729 + 0.99972899999999998 g - 0.880029 + 0.88002899999999995 r - 0.693677 + 0.69367699999999999 shadow @@ -3835,14 +3836,14 @@ behavior} Align 0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 ArialMT;\f1\fmodern\fcharset0 Courier;\f2\fmodern\fcharset0 Courier-Bold; } {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\b\fs24 \cf0 Controller\ -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f1\b0 \cf0 function \f2\b MyCtrl @@ -3869,11 +3870,6 @@ behavior} LineGraphic FontInfo - Color - - w - 0 - Font Helvetica Size @@ -3888,6 +3884,11 @@ behavior} Style + shadow + + Draws + NO + stroke HeadArrow @@ -3961,7 +3962,7 @@ behavior} BackgroundGraphic Bounds - {{0, 0}, {756, 552.99999046325684}} + {{0, 0}, {756, 553}} Class SolidGraphic ID @@ -3998,11 +3999,6 @@ behavior} Resize FontInfo - Color - - w - 0 - Font Helvetica Size @@ -4010,8 +4006,6 @@ behavior} ID 41 - Shape - Rectangle Style fill @@ -4019,13 +4013,13 @@ behavior} Color a - 0.51 + 0.51000000000000001 b - 1 + 1 g - 1 + 1 r - 1 + 1 Draws NO @@ -4044,10 +4038,10 @@ behavior} Text Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs24 \cf0 set up\ $watches} @@ -4075,6 +4069,11 @@ $watches} Style + shadow + + Draws + NO + stroke Bezier @@ -4106,11 +4105,6 @@ $watches} Resize FontInfo - Color - - w - 0 - Font Helvetica Size @@ -4129,8 +4123,6 @@ $watches} RotationType 0 - Shape - Rectangle Style fill @@ -4138,13 +4130,13 @@ $watches} Color a - 0.51 + 0.51000000000000001 b - 1 + 1 g - 1 + 1 r - 1 + 1 Draws NO @@ -4163,10 +4155,10 @@ $watches} Text Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;\red0\green79\blue177;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs24 \cf2 continuous\ update loop} @@ -4194,18 +4186,23 @@ update loop} Style - stroke + shadow + + Draws + NO + + stroke Bezier Color b - 0.501961 + 0.50196099999999999 g - 0.25098 + 0.25097999999999998 r - 0 + 0.0 HeadArrow 0 @@ -4235,11 +4232,6 @@ update loop} Resize FontInfo - Color - - w - 0 - Font Helvetica Size @@ -4258,8 +4250,6 @@ update loop} RotationType 0 - Shape - Rectangle Style fill @@ -4267,13 +4257,13 @@ update loop} Color a - 0.51 + 0.51000000000000001 b - 1 + 1 g - 1 + 1 r - 1 + 1 Draws NO @@ -4292,16 +4282,16 @@ update loop} Text Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fmodern\fcharset0 Courier;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs20 \cf0 extract} VerticalPad - 0 + 0.0 @@ -4321,6 +4311,11 @@ update loop} Style + shadow + + Draws + NO + stroke HeadArrow @@ -4353,8 +4348,6 @@ update loop} {1, 0} {-1, 0} - Shape - Rectangle Style fill @@ -4362,13 +4355,13 @@ update loop} Color a - 0.75 + 0.75 b - 0.633471 + 0.63347100000000001 g - 0.837918 + 0.83791800000000005 r - 0.691869 + 0.69186899999999996 shadow @@ -4387,10 +4380,10 @@ update loop} Text Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs24 \cf0 directives} @@ -4406,11 +4399,6 @@ update loop} Resize FontInfo - Color - - w - 0 - Font Helvetica Size @@ -4429,8 +4417,6 @@ update loop} RotationType 0 - Shape - Rectangle Style fill @@ -4438,13 +4424,13 @@ update loop} Color a - 0.51 + 0.51000000000000001 b - 1 + 1 g - 1 + 1 r - 1 + 1 Draws NO @@ -4463,10 +4449,10 @@ update loop} Text Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;\red0\green79\blue177;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs24 \cf2 update\ Loop} @@ -4494,6 +4480,11 @@ Loop} Style + shadow + + Draws + NO + stroke Bezier @@ -4501,11 +4492,11 @@ Loop} Color b - 0.503272 + 0.50327200000000005 g - 0.249429 + 0.24942900000000001 r - 0 + 0.0 HeadArrow FilledArrow @@ -4534,11 +4525,16 @@ Loop} 27 Points - {461.37420944095385, 201.15045615681521} - {442.62579450269919, 230.15180583861661} + {461.3742094567462, 201.15045615809555} + {442.62579454324924, 230.15180584190409} Style + shadow + + Draws + NO + stroke HeadArrow @@ -4568,11 +4564,6 @@ Loop} Resize FontInfo - Color - - w - 0 - Font Helvetica Size @@ -4591,8 +4582,6 @@ Loop} RotationType 0 - Shape - Rectangle Style fill @@ -4600,13 +4589,13 @@ Loop} Color a - 0.51 + 0.51000000000000001 b - 1 + 1 g - 1 + 1 r - 1 + 1 Draws NO @@ -4625,17 +4614,17 @@ Loop} Text Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fmodern\fcharset0 Courier;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs20 \cf0 Browser\ parse} VerticalPad - 0 + 0.0 @@ -4655,6 +4644,11 @@ parse} Style + shadow + + Draws + NO + stroke HeadArrow @@ -4684,11 +4678,6 @@ parse} Resize FontInfo - Color - - w - 0 - Font Helvetica Size @@ -4696,8 +4685,6 @@ parse} ID 24 - Shape - Rectangle Style fill @@ -4705,13 +4692,13 @@ parse} Color a - 0.51 + 0.51000000000000001 b - 1 + 1 g - 1 + 1 r - 1 + 1 Draws NO @@ -4730,16 +4717,16 @@ parse} Text Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fmodern\fcharset0 Courier;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs20 \cf0 .innerHTML} VerticalPad - 0 + 0.0 Wrap NO @@ -4757,10 +4744,15 @@ parse} Points {430.6665627279653, 323.90126199999997} - {430.6665627279653, 360.06784000000016} + {430.6665627279653, 360.06783999999999} Style + shadow + + Draws + NO + stroke HeadArrow @@ -4796,6 +4788,11 @@ parse} Style + shadow + + Draws + NO + stroke HeadArrow @@ -4826,11 +4823,16 @@ parse} 20 Points - {416.17475143101268, 201.22353980585518} - {424.99165024837845, 230.07872219529952} + {416.17475152122444, 201.22353980553029} + {424.9916504787484, 230.07872219446983} Style + shadow + + Draws + NO + stroke HeadArrow @@ -4863,8 +4865,6 @@ parse} {1, 0} {-1, 0} - Shape - Rectangle Style fill @@ -4872,13 +4872,13 @@ parse} Color a - 0.75 + 0.75 b - 0.633471 + 0.63347100000000001 g - 0.837918 + 0.83791800000000005 r - 0.691869 + 0.69186899999999996 shadow @@ -4897,10 +4897,10 @@ parse} Text Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs24 \cf0 DOM} @@ -4919,8 +4919,6 @@ parse} {1, 0} {-1, 0} - Shape - Rectangle Style fill @@ -4928,13 +4926,13 @@ parse} Color a - 0.75 + 0.75 b - 0.999729 + 0.99972899999999998 g - 0.880029 + 0.88002899999999995 r - 0.693677 + 0.69367699999999999 shadow @@ -4953,10 +4951,10 @@ parse} Text Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs24 \cf0 Model} @@ -4975,8 +4973,6 @@ parse} {1, 0} {-1, 0} - Shape - Rectangle Style fill @@ -4984,13 +4980,13 @@ parse} Color a - 0.75 + 0.75 b - 0.633471 + 0.63347100000000001 g - 0.837918 + 0.83791800000000005 r - 0.691869 + 0.69186899999999996 shadow @@ -5009,10 +5005,10 @@ parse} Text Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs24 \cf0 HTML\ (string)} @@ -5025,8 +5021,6 @@ parse} ShapedGraphic ID 14 - Shape - Rectangle Style fill @@ -5034,13 +5028,13 @@ parse} Color a - 0.75 + 0.75 b - 0.633471 + 0.63347100000000001 g - 0.837918 + 0.83791800000000005 r - 0.691869 + 0.69186899999999996 shadow @@ -5059,10 +5053,10 @@ parse} Text Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs24 \cf0 DOM} @@ -5074,8 +5068,6 @@ parse} ShapedGraphic ID 13 - Shape - Rectangle Style fill @@ -5083,13 +5075,13 @@ parse} Color a - 0.75 + 0.75 b - 0.633471 + 0.63347100000000001 g - 0.837918 + 0.83791800000000005 r - 0.691869 + 0.69186899999999996 shadow @@ -5108,10 +5100,10 @@ parse} Text Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs24 \cf0 HTML\ (string)} @@ -5124,8 +5116,6 @@ parse} ShapedGraphic ID 12 - Shape - Rectangle Style fill @@ -5133,13 +5123,13 @@ parse} Color a - 0.19 + 0.19 b - 0 + 0.0 g - 1 + 1 r - 1 + 1 shadow @@ -5158,10 +5148,10 @@ parse} Text Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs24 \cf0 merge} @@ -5173,8 +5163,6 @@ parse} ShapedGraphic ID 11 - Shape - Rectangle Style fill @@ -5182,13 +5170,13 @@ parse} Color a - 0.75 + 0.75 b - 0.999729 + 0.99972899999999998 g - 0.880029 + 0.88002899999999995 r - 0.693677 + 0.69367699999999999 shadow @@ -5207,10 +5195,10 @@ parse} Text Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs24 \cf0 Model} @@ -5222,8 +5210,6 @@ parse} ShapedGraphic ID 10 - Shape - Rectangle Style fill @@ -5231,13 +5217,13 @@ parse} Color a - 0.75 + 0.75 b - 0.633471 + 0.63347100000000001 g - 0.837918 + 0.83791800000000005 r - 0.691869 + 0.69186899999999996 shadow @@ -5256,10 +5242,10 @@ parse} Text Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs24 \cf0 template\ (string)} @@ -5279,8 +5265,6 @@ parse} {1, 0} {-1, 0} - Shape - Rectangle Style fill @@ -5288,13 +5272,13 @@ parse} Color a - 0.75 + 0.75 b - 0.645653 + 0.64565300000000003 g - 0.647534 + 0.64753400000000005 r - 0.842549 + 0.84254899999999999 shadow @@ -5313,14 +5297,14 @@ parse} Text Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs24 \cf0 scope} VerticalPad - 2 + 2 TextPlacement 0 @@ -5350,8 +5334,6 @@ parse} {1, 0} {-1, 0} - Shape - Rectangle Style fill @@ -5359,13 +5341,13 @@ parse} Color a - 0.19 + 0.19 b - 0 + 0.0 g - 1 + 1 r - 1 + 1 shadow @@ -5386,10 +5368,10 @@ parse} Align 0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\fs24 \cf0 $compile} @@ -5403,8 +5385,6 @@ parse} ShapedGraphic ID 43 - Shape - Rectangle Style fill @@ -5412,11 +5392,11 @@ parse} Color b - 0.924687 + 0.92468700000000004 g - 0.924896 + 0.92489600000000005 r - 0.924755 + 0.92475499999999999 shadow @@ -5439,10 +5419,10 @@ parse} Align 0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 ArialMT;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\b\fs24 \cf0 Others} @@ -5456,8 +5436,6 @@ parse} ShapedGraphic ID 42 - Shape - Rectangle Style fill @@ -5465,11 +5443,11 @@ parse} Color b - 0.924687 + 0.92468700000000004 g - 0.924896 + 0.92489600000000005 r - 0.924755 + 0.92475499999999999 shadow @@ -5492,10 +5470,10 @@ parse} Align 0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 ArialMT;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\b\fs24 \cf0 AngularJS} @@ -5562,7 +5540,7 @@ parse} BackgroundGraphic Bounds - {{0, 0}, {756, 552.99999046325684}} + {{0, 0}, {756, 553}} Class SolidGraphic ID @@ -5606,27 +5584,27 @@ parse} Color b - 0.566522 + 0.56652199999999997 g - 0.917039 + 0.91703900000000005 r - 0.952309 + 0.95230899999999996 Text Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs24 \cf0 I change visibility based on model} VerticalPad - 0 + 0.0 TextPlacement 0 @@ -5642,8 +5620,6 @@ parse} ShapedGraphic ID 43 - Shape - Rectangle Style fill @@ -5651,13 +5627,13 @@ parse} Color a - 0.26 + 0.26000000000000001 b - 0.633471 + 0.63347100000000001 g - 0.837918 + 0.83791800000000005 r - 0.691869 + 0.69186899999999996 shadow @@ -5697,27 +5673,27 @@ parse} Color b - 0.566522 + 0.56652199999999997 g - 0.917039 + 0.91703900000000005 r - 0.952309 + 0.95230899999999996 Text Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs24 \cf0 I bind checkbox state to a model} VerticalPad - 0 + 0.0 TextPlacement 0 @@ -5733,8 +5709,6 @@ parse} ShapedGraphic ID 32 - Shape - Rectangle Style fill @@ -5742,13 +5716,13 @@ parse} Color a - 0.26 + 0.26000000000000001 b - 0.633471 + 0.63347100000000001 g - 0.837918 + 0.83791800000000005 r - 0.691869 + 0.69186899999999996 shadow @@ -5781,8 +5755,6 @@ parse} 3 ImageID 5 - Shape - Rectangle Style fill @@ -5862,7 +5834,7 @@ parse} BackgroundGraphic Bounds - {{0, 0}, {756, 552.99999046325684}} + {{0, 0}, {756, 553}} Class SolidGraphic ID @@ -5947,7 +5919,7 @@ parse} BackgroundGraphic Bounds - {{0, 0}, {756, 552.99999046325684}} + {{0, 0}, {756, 553}} Class SolidGraphic ID @@ -5993,6 +5965,11 @@ parse} Style + shadow + + Draws + NO + stroke Bezier @@ -6021,11 +5998,6 @@ parse} Resize FontInfo - Color - - w - 0 - Font Helvetica Size @@ -6044,8 +6016,6 @@ parse} RotationType 0 - Shape - Rectangle Style fill @@ -6067,10 +6037,10 @@ parse} Text Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs24 \cf0 configure} @@ -6089,6 +6059,11 @@ parse} Style + shadow + + Draws + NO + stroke HeadArrow @@ -6111,8 +6086,6 @@ parse} ShapedGraphic ID 29 - Shape - Rectangle Style fill @@ -6120,13 +6093,13 @@ parse} Color a - 0.75 + 0.75 b - 0.645653 + 0.64565300000000003 g - 0.647534 + 0.64753400000000005 r - 0.842549 + 0.84254899999999999 shadow @@ -6147,13 +6120,13 @@ parse} Align 0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 ArialMT;\f1\fmodern\fcharset0 Courier;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\b\fs24 \cf0 myModule\ -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f1\b0 \cf0 $provide.\ factory('objA', \'85)} @@ -6174,11 +6147,6 @@ parse} Resize FontInfo - Color - - w - 0 - Font Helvetica Size @@ -6197,8 +6165,6 @@ parse} RotationType 0 - Shape - Rectangle Style fill @@ -6220,10 +6186,10 @@ parse} Text Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs24 \cf0 if no cache\ create new} @@ -6243,6 +6209,11 @@ create new} Style + shadow + + Draws + NO + stroke HeadArrow @@ -6269,11 +6240,6 @@ create new} Resize FontInfo - Color - - w - 0 - Font Helvetica Size @@ -6292,8 +6258,6 @@ create new} RotationType 0 - Shape - Rectangle Style fill @@ -6315,10 +6279,10 @@ create new} Text Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs24 \cf0 check\ cache} @@ -6338,6 +6302,11 @@ cache} Style + shadow + + Draws + NO + stroke HeadArrow @@ -6364,11 +6333,6 @@ cache} Resize FontInfo - Color - - w - 0 - Font Helvetica Size @@ -6387,8 +6351,6 @@ cache} RotationType 0 - Shape - Rectangle Style fill @@ -6410,10 +6372,10 @@ cache} Text Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs24 \cf0 $injector.get('a')} @@ -6432,6 +6394,11 @@ cache} Style + shadow + + Draws + NO + stroke HeadArrow @@ -6463,6 +6430,11 @@ cache} Style + shadow + + Draws + NO + stroke HeadArrow @@ -6492,6 +6464,11 @@ cache} Style + shadow + + Draws + NO + stroke HeadArrow @@ -6521,6 +6498,11 @@ cache} Style + shadow + + Draws + NO + stroke HeadArrow @@ -6541,8 +6523,6 @@ cache} ShapedGraphic ID 11 - Shape - Rectangle Style fill @@ -6550,13 +6530,13 @@ cache} Color a - 0.75 + 0.75 b - 0.999729 + 0.99972899999999998 g - 0.880029 + 0.88002899999999995 r - 0.693677 + 0.69367699999999999 shadow @@ -6575,10 +6555,10 @@ cache} Text Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs24 \cf0 Instance\ Cache} @@ -6593,8 +6573,6 @@ Cache} ShapedGraphic ID 10 - Shape - Rectangle Style fill @@ -6602,13 +6580,13 @@ Cache} Color a - 0.75 + 0.75 b - 0.633471 + 0.63347100000000001 g - 0.837918 + 0.83791800000000005 r - 0.691869 + 0.69186899999999996 shadow @@ -6627,10 +6605,10 @@ Cache} Text Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs24 \cf0 Instance\ Factory} @@ -6645,8 +6623,6 @@ Factory} ShapedGraphic ID 12 - Shape - Rectangle Style fill @@ -6654,13 +6630,13 @@ Factory} Color a - 0.19 + 0.19 b - 0 + 0.0 g - 1 + 1 r - 1 + 1 shadow @@ -6681,10 +6657,10 @@ Factory} Align 0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\fs24 \cf0 $injector} @@ -6698,8 +6674,6 @@ Factory} ShapedGraphic ID 42 - Shape - Rectangle Style fill @@ -6707,11 +6681,11 @@ Factory} Color b - 0.924687 + 0.92468700000000004 g - 0.924896 + 0.92489600000000005 r - 0.924755 + 0.92475499999999999 shadow @@ -6734,10 +6708,10 @@ Factory} Align 0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fmodern\fcharset0 Courier;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\fs24 \cf0 ng-app="myModule"} @@ -6804,7 +6778,7 @@ Factory} BackgroundGraphic Bounds - {{0, 0}, {756, 552.99999046325684}} + {{0, 0}, {756, 553}} Class SolidGraphic ID @@ -6837,11 +6811,6 @@ Factory} ShapedGraphic FontInfo - Color - - w - 0 - Font Courier NSKern @@ -6862,28 +6831,28 @@ Factory} Color b - 0.566522 + 0.56652199999999997 g - 0.917039 + 0.91703900000000005 r - 0.952309 + 0.95230899999999996 Text Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs24 \cf0 \ Data binding} VerticalPad - 0 + 0.0 TextPlacement 0 @@ -6902,11 +6871,6 @@ Data binding} FontInfo - Color - - w - 0 - Font Helvetica Size @@ -6928,6 +6892,11 @@ Data binding} Style + shadow + + Draws + NO + stroke Bezier @@ -6935,11 +6904,11 @@ Data binding} Color b - 0.501961 + 0.50196099999999999 g - 0 + 0.0 r - 0 + 0.0 HeadArrow FilledArrow @@ -6968,11 +6937,6 @@ Data binding} FontInfo - Color - - w - 0 - Font Helvetica Size @@ -6987,6 +6951,11 @@ Data binding} Style + shadow + + Draws + NO + stroke Bezier @@ -6994,11 +6963,11 @@ Data binding} Color b - 0.501961 + 0.50196099999999999 g - 0 + 0.0 r - 0 + 0.0 HeadArrow FilledArrow @@ -7024,11 +6993,6 @@ Data binding} ShapedGraphic FontInfo - Color - - w - 0 - Font Courier NSKern @@ -7047,27 +7011,27 @@ Data binding} Color b - 0.566522 + 0.56652199999999997 g - 0.917039 + 0.91703900000000005 r - 0.952309 + 0.95230899999999996 Text Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs24 \cf0 Model} VerticalPad - 0 + 0.0 TextPlacement 0 @@ -7084,11 +7048,6 @@ Data binding} FontInfo - Color - - w - 0 - Font Helvetica Size @@ -7103,6 +7062,11 @@ Data binding} Style + shadow + + Draws + NO + stroke Bezier @@ -7110,11 +7074,11 @@ Data binding} Color b - 0.501961 + 0.50196099999999999 g - 0 + 0.0 r - 0 + 0.0 HeadArrow FilledArrow @@ -7141,11 +7105,6 @@ Data binding} FontInfo - Color - - w - 0 - Font Helvetica Size @@ -7160,6 +7119,11 @@ Data binding} Style + shadow + + Draws + NO + stroke Bezier @@ -7167,11 +7131,11 @@ Data binding} Color b - 0.501961 + 0.50196099999999999 g - 0 + 0.0 r - 0 + 0.0 HeadArrow FilledArrow @@ -7202,8 +7166,6 @@ Data binding} ID 30 - Shape - Rectangle Style fill @@ -7211,13 +7173,13 @@ Data binding} Color a - 0.75 + 0.75 b - 0.633471 + 0.63347100000000001 g - 0.837918 + 0.83791800000000005 r - 0.691869 + 0.69186899999999996 shadow @@ -7240,13 +7202,13 @@ Data binding} Align 0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 ArialMT;\f1\fmodern\fcharset0 Courier;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\b\fs22 \cf0 View (DOM)\ -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f1\b0 \cf0 \ <div>\ @@ -7265,11 +7227,6 @@ Data binding} ShapedGraphic FontInfo - Color - - w - 0 - Font Helvetica Size @@ -7277,8 +7234,6 @@ Data binding} ID 63 - Shape - Rectangle Style fill @@ -7296,13 +7251,13 @@ Data binding} Color a - 0.87 + 0.87 b - 0.564706 + 0.56470600000000004 g - 0.917647 + 0.91764699999999999 r - 0.952941 + 0.95294100000000004 CornerRadius 10 @@ -7322,11 +7277,6 @@ Data binding} ShapedGraphic FontInfo - Color - - w - 0 - Font Courier NSKern @@ -7336,8 +7286,6 @@ Data binding} ID 53 - Shape - Rectangle Style fill @@ -7345,13 +7293,13 @@ Data binding} Color a - 0.75 + 0.75 b - 0.645653 + 0.64565300000000003 g - 0.647534 + 0.64753400000000005 r - 0.842549 + 0.84254899999999999 shadow @@ -7374,16 +7322,17 @@ Data binding} Align 0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 ArialMT;\f1\fmodern\fcharset0 Courier;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\b\fs22 \cf0 Scope\ +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 -\f1\b0 \ -\cf0 cost:1\ -\cf0 qty:2.5\ +\f1\b0 \cf0 \ + cost:1\ + qty:2.5\ } TextPlacement @@ -7449,7 +7398,7 @@ Data binding} BackgroundGraphic Bounds - {{0, 0}, {756, 552.99999046325684}} + {{0, 0}, {756, 553}} Class SolidGraphic ID @@ -7485,11 +7434,6 @@ Data binding} FontInfo - Color - - w - 0 - Font Helvetica Size @@ -7504,6 +7448,11 @@ Data binding} Style + shadow + + Draws + NO + stroke Bezier @@ -7511,11 +7460,11 @@ Data binding} Color b - 0.501961 + 0.50196099999999999 g - 0 + 0.0 r - 0 + 0.0 HeadArrow 0 @@ -7544,11 +7493,6 @@ Data binding} FontInfo - Color - - w - 0 - Font Helvetica Size @@ -7563,6 +7507,11 @@ Data binding} Style + shadow + + Draws + NO + stroke Bezier @@ -7570,11 +7519,11 @@ Data binding} Color b - 0.501961 + 0.50196099999999999 g - 0 + 0.0 r - 0 + 0.0 HeadArrow 0 @@ -7603,11 +7552,6 @@ Data binding} FontInfo - Color - - w - 0 - Font Helvetica Size @@ -7622,6 +7566,11 @@ Data binding} Style + shadow + + Draws + NO + stroke Bezier @@ -7629,11 +7578,11 @@ Data binding} Color b - 0.501961 + 0.50196099999999999 g - 0 + 0.0 r - 0 + 0.0 HeadArrow FilledArrow @@ -7660,11 +7609,6 @@ Data binding} FontInfo - Color - - w - 0 - Font Helvetica Size @@ -7679,6 +7623,11 @@ Data binding} Style + shadow + + Draws + NO + stroke Bezier @@ -7686,11 +7635,11 @@ Data binding} Color b - 0.501961 + 0.50196099999999999 g - 0 + 0.0 r - 0 + 0.0 HeadArrow 0 @@ -7719,11 +7668,6 @@ Data binding} FontInfo - Color - - w - 0 - Font Helvetica Size @@ -7738,6 +7682,11 @@ Data binding} Style + shadow + + Draws + NO + stroke Bezier @@ -7745,11 +7694,11 @@ Data binding} Color b - 0.501961 + 0.50196099999999999 g - 0 + 0.0 r - 0 + 0.0 HeadArrow FilledArrow @@ -7776,11 +7725,6 @@ Data binding} FontInfo - Color - - w - 0 - Font Helvetica Size @@ -7795,6 +7739,11 @@ Data binding} Style + shadow + + Draws + NO + stroke Bezier @@ -7802,11 +7751,11 @@ Data binding} Color b - 0.501961 + 0.50196099999999999 g - 0 + 0.0 r - 0 + 0.0 HeadArrow FilledArrow @@ -7837,8 +7786,6 @@ Data binding} ID 30 - Shape - Rectangle Style fill @@ -7846,13 +7793,13 @@ Data binding} Color a - 0.75 + 0.75 b - 0.633471 + 0.63347100000000001 g - 0.837918 + 0.83791800000000005 r - 0.691869 + 0.69186899999999996 shadow @@ -7875,13 +7822,13 @@ Data binding} Align 0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 ArialMT;\f1\fmodern\fcharset0 Courier;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\b\fs22 \cf0 View (DOM)\ -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f1\b0 \cf0 \ <div ng-controller=\ @@ -7910,8 +7857,6 @@ Data binding} ID 53 - Shape - Rectangle Style fill @@ -7919,13 +7864,13 @@ Data binding} Color a - 0.75 + 0.75 b - 0.645653 + 0.64565300000000003 g - 0.647534 + 0.64753400000000005 r - 0.842549 + 0.84254899999999999 shadow @@ -7948,13 +7893,13 @@ Data binding} Align 0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 ArialMT;\f1\fmodern\fcharset0 Courier;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\b\fs22 \cf0 Scope\ -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f1\b0 \cf0 \ invoice: \ @@ -7973,8 +7918,6 @@ invoice: \ ShapedGraphic ID 52 - Shape - Rectangle Style fill @@ -7982,13 +7925,13 @@ invoice: \ Color a - 0.75 + 0.75 b - 0.999729 + 0.99972899999999998 g - 0.880029 + 0.88002899999999995 r - 0.693677 + 0.69367699999999999 shadow @@ -8011,14 +7954,14 @@ invoice: \ Align 0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 ArialMT;\f1\fmodern\fcharset0 Courier;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\b\fs24 \cf0 Controller\ \ -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f1\b0\fs22 \cf0 \expnd0\expndtw0\kerning0 function InvoiceController \{\ @@ -8091,7 +8034,7 @@ function InvoiceController \{\ BackgroundGraphic Bounds - {{0, 0}, {756, 552.99999046325684}} + {{0, 0}, {756, 553}} Class SolidGraphic ID @@ -8127,11 +8070,6 @@ function InvoiceController \{\ FontInfo - Color - - w - 0 - Font Helvetica Size @@ -8146,6 +8084,11 @@ function InvoiceController \{\ Style + shadow + + Draws + NO + stroke Bezier @@ -8153,11 +8096,11 @@ function InvoiceController \{\ Color b - 0.501961 + 0.50196099999999999 g - 0 + 0.0 r - 0 + 0.0 HeadArrow FilledArrow @@ -8188,11 +8131,6 @@ function InvoiceController \{\ FontInfo - Color - - w - 0 - Font Helvetica Size @@ -8207,6 +8145,11 @@ function InvoiceController \{\ Style + shadow + + Draws + NO + stroke Bezier @@ -8214,11 +8157,11 @@ function InvoiceController \{\ Color b - 0.501961 + 0.50196099999999999 g - 0 + 0.0 r - 0 + 0.0 HeadArrow 0 @@ -8246,11 +8189,6 @@ function InvoiceController \{\ ShapedGraphic FontInfo - Color - - w - 0 - Font Courier NSKern @@ -8269,27 +8207,27 @@ function InvoiceController \{\ Color b - 0.566522 + 0.56652199999999997 g - 0.917039 + 0.91703900000000005 r - 0.952309 + 0.95230899999999996 Text Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs24 \cf0 Service} VerticalPad - 0 + 0.0 TextPlacement 0 @@ -8303,11 +8241,6 @@ function InvoiceController \{\ ShapedGraphic FontInfo - Color - - w - 0 - Font Courier NSKern @@ -8326,27 +8259,27 @@ function InvoiceController \{\ Color b - 0.566522 + 0.56652199999999997 g - 0.917039 + 0.91703900000000005 r - 0.952309 + 0.95230899999999996 Text Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs24 \cf0 Controller} VerticalPad - 0 + 0.0 TextPlacement 0 @@ -8360,11 +8293,6 @@ function InvoiceController \{\ ShapedGraphic FontInfo - Color - - w - 0 - Font Courier NSKern @@ -8383,27 +8311,27 @@ function InvoiceController \{\ Color b - 0.566522 + 0.56652199999999997 g - 0.917039 + 0.91703900000000005 r - 0.952309 + 0.95230899999999996 Text Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs24 \cf0 Template} VerticalPad - 0 + 0.0 TextPlacement 0 @@ -8419,11 +8347,6 @@ function InvoiceController \{\ ShapedGraphic FontInfo - Color - - w - 0 - Font Courier NSKern @@ -8433,8 +8356,6 @@ function InvoiceController \{\ ID 68 - Shape - Rectangle Style fill @@ -8442,11 +8363,11 @@ function InvoiceController \{\ Color b - 0.701961 + 0.70196099999999995 g - 0.701961 + 0.70196099999999995 r - 0.701961 + 0.70196099999999995 shadow @@ -8469,16 +8390,17 @@ function InvoiceController \{\ Align 0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 ArialMT;\f1\fmodern\fcharset0 Courier;\f2\fmodern\fcharset0 Courier-Bold; } {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\b\fs22 \cf0 finance.js\ \ +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 -\f1\b0 angular.module(\'93 +\f1\b0 \cf0 angular.module(\'93 \f2\b finance \f1\b0 \'94, [])\ .factory(\'93 @@ -8501,11 +8423,6 @@ function InvoiceController \{\ FontInfo - Color - - w - 0 - Font Helvetica Size @@ -8520,6 +8437,11 @@ function InvoiceController \{\ Style + shadow + + Draws + NO + stroke Bezier @@ -8527,11 +8449,11 @@ function InvoiceController \{\ Color b - 0.501961 + 0.50196099999999999 g - 0 + 0.0 r - 0 + 0.0 HeadArrow FilledArrow @@ -8562,11 +8484,6 @@ function InvoiceController \{\ FontInfo - Color - - w - 0 - Font Helvetica Size @@ -8581,6 +8498,11 @@ function InvoiceController \{\ Style + shadow + + Draws + NO + stroke Bezier @@ -8588,11 +8510,11 @@ function InvoiceController \{\ Color b - 0.501961 + 0.50196099999999999 g - 0 + 0.0 r - 0 + 0.0 HeadArrow FilledArrow @@ -8627,8 +8549,6 @@ function InvoiceController \{\ ID 30 - Shape - Rectangle Style fill @@ -8636,13 +8556,13 @@ function InvoiceController \{\ Color a - 0.75 + 0.75 b - 0.633471 + 0.63347100000000001 g - 0.837918 + 0.83791800000000005 r - 0.691869 + 0.69186899999999996 shadow @@ -8665,15 +8585,15 @@ function InvoiceController \{\ Align 0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 ArialMT;\f1\fmodern\fcharset0 Courier;\f2\fmodern\fcharset0 Courier-Bold; } {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\b\fs22 \cf0 index.html\ \ -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f1\b0 \cf0 <html ng=app=" \f2\b invoice @@ -8700,8 +8620,6 @@ function InvoiceController \{\ ID 69 - Shape - Rectangle Style fill @@ -8709,13 +8627,13 @@ function InvoiceController \{\ Color a - 0.75 + 0.75 b - 1 + 1 g - 0.878431 + 0.87843099999999996 r - 0.694118 + 0.69411800000000001 shadow @@ -8738,15 +8656,15 @@ function InvoiceController \{\ Align 0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf400 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 ArialMT;\f1\fmodern\fcharset0 Courier;\f2\fmodern\fcharset0 Courier-Bold; } {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\b\fs22 \cf0 invoice.js\ \ -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f1\b0 \cf0 angular.module(\'93 \f2\b invoice @@ -8828,14 +8746,12 @@ function InvoiceController \{\ WindowInfo - BottomSlabHeight - 334 CurrentSheet 10 Expanded_Canvases Frame - {{-441, 900}, {1663, 1081}} + {{0, 0}, {1436, 877}} ShowInfo ShowRuler @@ -8844,8 +8760,10 @@ function InvoiceController \{\ SidebarWidth 230 + TopSlabHeight + 637 VisibleRegion - {{-14, -54}, {785.91551670974286, 661.26762561868156}} + {{0, 0}, {628.16903306907773, 506.33804347159958}} Zoom 1.4199999570846558 ZoomValues diff --git a/images/docs/guide/concepts.graffle/image1.png b/images/docs/guide/concepts.graffle/image1.png index ae8d209e64f6..bac2e74264ce 100644 Binary files a/images/docs/guide/concepts.graffle/image1.png and b/images/docs/guide/concepts.graffle/image1.png differ diff --git a/images/docs/guide/concepts.graffle/image4.png b/images/docs/guide/concepts.graffle/image4.png index 83cebe66cd58..cbee9a0b9194 100644 Binary files a/images/docs/guide/concepts.graffle/image4.png and b/images/docs/guide/concepts.graffle/image4.png differ diff --git a/images/docs/guide/concepts.graffle/image5.png b/images/docs/guide/concepts.graffle/image5.png index 696cb3de2a89..7d461d73926a 100644 Binary files a/images/docs/guide/concepts.graffle/image5.png and b/images/docs/guide/concepts.graffle/image5.png differ diff --git a/images/docs/guide/concepts.svg/Canvas_11.svg b/images/docs/guide/concepts.svg/Canvas_11.svg new file mode 100644 index 000000000000..775a5c0e53e8 --- /dev/null +++ b/images/docs/guide/concepts.svg/Canvas_11.svg @@ -0,0 +1,3 @@ + + + Produced by OmniGraffle 6.5.2 2013-11-06 19:46:59 +0000module-serviceLayer 1invoice.jsangular.module(“invoice”, ["finance”]) .controller("InvoiceController”, [“currencyConverter”, function(currencyConverter) {} ] );index.html<html ng=app="invoice”> <div ng-controller= "InvoiceController as invoice">finance.jsangular.module(“finance”, []) .factory(“currencyConverter”, function() {} );TemplateControllerService diff --git a/images/docs/guide/concepts.svg/controller.svg b/images/docs/guide/concepts.svg/controller.svg new file mode 100644 index 000000000000..ffd60c2ae555 --- /dev/null +++ b/images/docs/guide/concepts.svg/controller.svg @@ -0,0 +1,3 @@ + + + Produced by OmniGraffle 6.5.2 2013-11-06 19:46:59 +0000controllerLayer 1Controllerfunction MyCtrl($scope) { $scope.action = function() { // do something; }; $scope.name = 'world';}Scope{ name: 'world', action: function}View (DOM)<div ng-controller="MyCtrl"> Hello {{name}}! <button ng-click="action()"> OK <button></div>Imperativebehaviorscope is the glueDeclarativeview diff --git a/images/docs/guide/concepts.svg/databinding1.svg b/images/docs/guide/concepts.svg/databinding1.svg new file mode 100644 index 000000000000..87a76b3b7353 --- /dev/null +++ b/images/docs/guide/concepts.svg/databinding1.svg @@ -0,0 +1,3 @@ + + + Produced by OmniGraffle 6.5.2 2013-11-06 19:46:59 +0000databinding1Layer 1Scope cost:1 qty:2.5View (DOM)<div> <input ng-model="qty"> <input ng-model="cost"> Total: {{qty * cost}} </div>ModelData binding diff --git a/images/docs/guide/concepts.svg/databinding2.svg b/images/docs/guide/concepts.svg/databinding2.svg new file mode 100644 index 000000000000..617398507043 --- /dev/null +++ b/images/docs/guide/concepts.svg/databinding2.svg @@ -0,0 +1,3 @@ + + + Produced by OmniGraffle 6.5.2 2013-11-06 19:46:59 +0000databinding2Layer 1Controllerfunction InvoiceController { this.pay = function… this.total = function… this.cost=2.5; this.qty=1;}Scopeinvoice: new InvoiceControllerView (DOM)<div ng-controller= "InvoiceController as invoice"> <input ng-model=“invoice.qty"> <input ng-model=“invoice.cost"> {{invoice.total('USD')}} <button ng-click= "invoice.pay()"></div> diff --git a/images/docs/guide/concepts.svg/directive.svg b/images/docs/guide/concepts.svg/directive.svg new file mode 100644 index 000000000000..373074994bc9 --- /dev/null +++ b/images/docs/guide/concepts.svg/directive.svg @@ -0,0 +1,3 @@ + + + Produced by OmniGraffle 6.5.2 2013-11-06 19:46:59 +0000directiveLayer 1I bind checkbox state to a modelI change visibility based on model diff --git a/images/docs/guide/concepts.svg/filter.svg b/images/docs/guide/concepts.svg/filter.svg new file mode 100644 index 000000000000..498febedc2a8 --- /dev/null +++ b/images/docs/guide/concepts.svg/filter.svg @@ -0,0 +1,3 @@ + + + Produced by OmniGraffle 6.5.2 2013-11-06 19:46:59 +0000filter diff --git a/images/docs/guide/concepts.svg/image4.png b/images/docs/guide/concepts.svg/image4.png new file mode 100644 index 000000000000..cbee9a0b9194 Binary files /dev/null and b/images/docs/guide/concepts.svg/image4.png differ diff --git a/images/docs/guide/concepts.svg/image5.png b/images/docs/guide/concepts.svg/image5.png new file mode 100644 index 000000000000..7d461d73926a Binary files /dev/null and b/images/docs/guide/concepts.svg/image5.png differ diff --git a/images/docs/guide/concepts.svg/injector-module.svg b/images/docs/guide/concepts.svg/injector-module.svg new file mode 100644 index 000000000000..c3c058d7d7cf --- /dev/null +++ b/images/docs/guide/concepts.svg/injector-module.svg @@ -0,0 +1,3 @@ + + + Produced by OmniGraffle 6.5.2 2013-11-06 19:46:59 +0000injector-moduleLayer 1ng-app="myModule"$injectorInstanceFactoryInstanceCache$injector.get('a')checkcacheif no cachecreate newmyModule$provide. factory('objA', …)configure diff --git a/images/docs/guide/concepts.svg/runtime.svg b/images/docs/guide/concepts.svg/runtime.svg new file mode 100644 index 000000000000..c6099391a53e --- /dev/null +++ b/images/docs/guide/concepts.svg/runtime.svg @@ -0,0 +1,3 @@ + + + Produced by OmniGraffle 6.5.2 2013-11-06 19:46:59 +0000runtimeLayer 1JavaScriptNativeEvent Queue(wait)AngularJSDOM Render$evalAsyncqueue$watchlist$digestloopfn()$apply(fn)EventLoop diff --git a/images/docs/guide/concepts.svg/scope.svg b/images/docs/guide/concepts.svg/scope.svg new file mode 100644 index 000000000000..6ac987806d8d --- /dev/null +++ b/images/docs/guide/concepts.svg/scope.svg @@ -0,0 +1,3 @@ + + + Produced by OmniGraffle 6.5.2 2013-11-06 19:46:59 +0000scopeRuntime$scope$scopenames=[...]$scopename='Vojta'$scopename='Igor'$scopename='Misko'$scopename='World' diff --git a/images/docs/guide/concepts.svg/startup.svg b/images/docs/guide/concepts.svg/startup.svg new file mode 100644 index 000000000000..76e49bdf5e33 --- /dev/null +++ b/images/docs/guide/concepts.svg/startup.svg @@ -0,0 +1,3 @@ + + + Produced by OmniGraffle 6.5.2 2013-11-06 19:46:59 +0000startupLayer 1BrowserAngularJSHTMLStaticDOMDOM ContentLoadedEventng-app="module"$injector$rootScope$compileDynamic DOM(view)$compile(dom)($rootScope) diff --git a/images/docs/guide/concepts.svg/view.svg b/images/docs/guide/concepts.svg/view.svg new file mode 100644 index 000000000000..7550bb64e95b --- /dev/null +++ b/images/docs/guide/concepts.svg/view.svg @@ -0,0 +1,3 @@ + + + Produced by OmniGraffle 6.5.2 2013-11-06 19:46:59 +0000viewLayer 1AngularJSOthers$compilescopetemplate(string)ModelmergeHTML(string)DOMHTML(string)ModelDOM.innerHTMLBrowserparseupdateLoopdirectivesextractcontinuousupdate loopset up$watches diff --git a/images/docs/guide/concepts.vdx b/images/docs/guide/concepts.vdx new file mode 100644 index 000000000000..926af8c10e91 --- /dev/null +++ b/images/docs/guide/concepts.vdx @@ -0,0 +1,13153 @@ + + + + 12 + 52 + + + 7.68056 + 10.5 + 1 + 0.25 + 0.25 + 0.25 + 0.569444 + 1 + 1 + + + + + + + + + + + + + + + + + + 0.111111 + 0.111111 + + + 1 + 1 + 10.5 + 7.68056 + 3 + 0 + 0 + + + Layer 1 + 1 + 1 + 0 + + + + + + -0 + 2.136573642858397 + 4.833242533291772 + 1.490740833333333 + 3.21820875 + 0.7453704166666667 + 1.609104375 + + + 1.490740833333333 + 3.079319861111111 + -0 + + + 1 + + + 9 + 0.00694444 + 0 + 0 + 0.208333 + 0 + + + 1 + #cce2f0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 3.218208750000001 + + + 1.490740833333334 + 3.218208750000001 + + + 1.490740833333334 + 0 + + + 0 + 0 + + + 0 + 3.218208750000001 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + #cce2f0 + 0 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Browser + + + + -0 + 4.662036388888889 + 4.858341416666667 + 2.435184444444444 + 3.21820875 + 1.217592222222222 + 1.609104375 + + + 2.435184444444444 + 3.079319861111111 + -0 + + + 1 + + + 9 + 0.00694444 + 0 + 0 + 0.208333 + 0 + + + 1 + #f3f2c6 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 3.218208750000001 + + + 2.435184444444445 + 3.218208750000001 + + + 2.435184444444445 + 0 + + + 0 + 0 + + + 0 + 3.218208750000001 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + AngularJS + + + + -0 + 2.136573777777778 + 6.861111645833334 + 0.6574075555555555 + 0.342592875 + 0.3287037777777778 + 0.1712964375 + + + 0.6574075555555555 + 0.2037039861111111 + -0 + + + 1 + + + 1 + 0.00694444 + 0 + 0 + 0 + 0 + + + 1 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.342592875 + + + 0.6574075555555557 + 0.342592875 + + + 0.6574075555555557 + 0 + + + 0 + 0 + + + 0 + 0.342592875 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + HTML + + + + -0 + 2.136573756944444 + 5.699074201388889 + 0.9675958472222221 + 0.5370374305555555 + 0.4837979236111111 + 0.2685187152777778 + + + 0.9675958472222221 + 0.3981485416666666 + -0 + + + 1 + + + 1 + 0.00694444 + 0 + 0 + 0 + 0 + + + 1 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.5370374305555556 + + + 0.9675958472222221 + 0.5370374305555556 + + + 0.9675958472222221 + 0 + + + 0 + 0 + + + 0 + 0.5370374305555556 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Static +DOM + + + + -0 + 2.143518205625755 + 6.3287040625 + 0.01388888888888889 + 0.7152778472222222 + 0.006944444444444444 + 0.3576389236111111 + + + 2.13657376118131 + 6.68634298611111 + 2.13657376118131 + 5.97106513888889 + + + 4 + 0 + 2 + 0 + 1 + + + 0.01388888888888889 + 0.7152778472222222 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.7152778472222221 + + + 0 + -1.973729821555834e-16 + + + + 0 + + + + + -0 + 3.310185840277778 + 5.692129787433544 + 1.372683875 + 0.01388888888888889 + 0.6863419374999999 + 0.006944444444444444 + + + 2.62384390277778 + 5.69907423187799 + 3.99652777777778 + 5.69907423187799 + + + 4 + 0 + 2 + 0 + 1 + + + 1.372683875 + 0.01388888888888889 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.01388888888888889 + + + 1.372683875 + 0.01388888888888889 + + + + 0 + + + + + -0 + 3.141292518461137 + 5.699074231877988 + 0.7361111111111112 + 0.9166666666666666 + 0.3680555555555556 + 0.4583333333333333 + + + 0.7361111111111112 + 0.9166666666666666 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0.277778 + 0 + + + 1 + #ffffff + 0.24 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.9166666666666666 + + + 0.7361111111111112 + 0.9166666666666666 + + + 0.7361111111111112 + 0 + + + 0 + 0 + + + 0 + 0.9166666666666666 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + #ffffff + 0.24 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + DOM +Content +Loaded +Event + + + + -0 + 4.865740486111111 + 5.699074256944444 + 1.731480972222222 + 0.342592875 + 0.8657404861111111 + 0.1712964375 + + + 1.731480972222222 + 0.2037039861111111 + -0 + + + 1 + + + 1 + 0.00694444 + 0 + 0 + 0 + 0 + + + 1 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3425928750000004 + + + 1.731480972222221 + 0.3425928750000004 + + + 1.731480972222221 + 0 + + + 0 + 0 + + + 0 + 0.3425928750000004 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 2 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + ng-app="module" + + + + -0 + 4.865740701388889 + 5.067135923611111 + 0.9675958472222221 + 0.342592875 + 0.4837979236111111 + 0.1712964375 + + + 0.9675958472222221 + 0.2037039861111111 + -0 + + + 1 + + + 1 + 0.00694444 + 0 + 0 + 0 + 0 + + + 1 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3425928750000004 + + + 0.9675958472222229 + 0.3425928750000004 + + + 0.9675958472222229 + 0 + + + 0 + 0 + + + 0 + 0.3425928750000004 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + $injector + + + + -0 + 4.872685053387393 + 5.383105090277777 + 0.01388888888888889 + 0.2824010138888886 + 0.006944444444444444 + 0.1412005069444443 + + + 4.86574060894295 + 5.52430559722222 + 4.86574060894295 + 5.24190458333333 + + + 4 + 0 + 2 + 0 + 1 + + + 0.01388888888888889 + 0.2824010138888886 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.2824010138888886 + + + 0 + 0 + + + + 0 + + + + + -0 + 5.194441319444445 + 4.534519256944445 + 1.074079305555556 + 0.342592875 + 0.5370396527777778 + 0.1712964375 + + + 1.074079305555556 + 0.2037039861111111 + -0 + + + 1 + + + 1 + 0.00694444 + 0 + 0 + 0 + 0 + + + 1 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3425928750000004 + + + 1.074079305555556 + 0.3425928750000004 + + + 1.074079305555556 + 0 + + + 0 + 0 + + + 0 + 0.3425928750000004 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + $rootScope + + + + -0 + 4.085649451388889 + 4.534519256944445 + 0.9675958472222221 + 0.342592875 + 0.4837979236111111 + 0.1712964375 + + + 0.9675958472222221 + 0.2037039861111111 + -0 + + + 1 + + + 1 + 0.00694444 + 0 + 0 + 0 + 0 + + + 1 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3425928750000004 + + + 0.9675958472222229 + 0.3425928750000004 + + + 0.9675958472222229 + 0 + + + 0 + 0 + + + 0 + 0.3425928750000004 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + $compile + + + + -0 + 4.47569500981539 + 4.800827590630839 + 0.2725811719961915 + 0.1861080357618453 + 0.1362905859980958 + 0.09305401788092264 + + + 4.61198559581349 + 4.89388160851176 + 4.33940442381729 + 4.70777357274992 + + + 4 + 0 + 2 + 0 + 1 + + + 0.2725811719961915 + 0.1861080357618453 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0.2725811719961908 + 0.1861080357618453 + + + -7.894919286223335e-16 + 0 + + + + 0 + + + + + -0 + 5.030091160856573 + 4.800827591423262 + 0.1136248469552399 + 0.1841141399041805 + 0.05681242347761994 + 0.09205706995209025 + + + 4.97327873737895 + 4.89288466137535 + 5.08690358433419 + 4.70877052147117 + + + 4 + 0 + 2 + 0 + 1 + + + 0.1136248469552399 + 0.1841141399041805 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.1841141399041801 + + + 0.1136248469552399 + -3.947459643111667e-16 + + + + 0 + + + + + -0 + 2.136573618055555 + 3.754554305555555 + 0.9675958472222221 + 0.7222222222222222 + 0.4837979236111111 + 0.3611111111111111 + + + 0.9675958472222221 + 0.5833333333333334 + -0 + + + 1 + + + 1 + 0.00694444 + 0 + 0 + 0 + 0 + + + 1 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.7222222222222222 + + + 0.9675958472222221 + 0.7222222222222222 + + + 0.9675958472222221 + 0 + + + 0 + 0 + + + 0 + 0.7222222222222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Dynamic DOM +(view) + + + + -0 + 2.143518087302841 + 4.773110451388889 + 0.01388888888888889 + 1.307945625000001 + 0.006944444444444444 + 0.6539728125000005 + + + 2.1365736428584 + 5.42708326388889 + 2.1365736428584 + 4.11913763888889 + + + 4 + 0 + 2 + 0 + 1 + + + 0.01388888888888889 + 1.307945625000001 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 1.307945625000001 + + + 0 + 0 + + + + 0 + + + + + -0 + 3.316467816741945 + 4.064203262303538 + 1.38526631980655 + 0.5916797940156869 + 0.6926331599032748 + 0.2958398970078435 + + + 4.00910097664522 + 4.36004315931138 + 2.62383465683867 + 3.78991472551442 + + + 4 + 0 + 0 + 0 + 2 + + + 1.38526631980655 + 0.5916797940156869 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 1.38526631980655 + 0.5916797940156869 + + + 1.172461732050219 + 0.1066366347043055 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.953683,0.876275,0,1, 0.986746,0.508858,0,1) + + + 0 + 0.02155136021872374 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.706014,-0.148403,0,1, 0.555059,0.082058,0,1) + + + + 0 + + + + + -0 + 3.843431760951066 + 4.071888259842097 + 2.439190286740749 + 0.577126791882249 + 1.219595143370375 + 0.2885633959411245 + + + 5.06302690432144 + 4.36045165578322 + 2.62383661758069 + 3.78586456967565 + + + 4 + 0 + 0 + 0 + 2 + + + 2.439190286740749 + 0.577126791882249 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 2.439190286740749 + 0.577126791882249 + + + 2.107644771308197 + 0.1379715249879167 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.973695,0.873155,0,1, 0.951385,0.608072,0,1) + + + -3.947459643111667e-16 + 0.002539705774674575 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.776767,-0.129940,0,1, 0.315230,0.051185,0,1) + + + + 0 + + + + + -0 + 3.752715768390603 + 3.783336058693147 + 1.347222222222222 + 0.7222222222222222 + 0.6736111111111112 + 0.3611111111111111 + + + 1.347222222222222 + 0.7222222222222222 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0.291667 + 0 + + + 1 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.7222222222222222 + + + 1.347222222222222 + 0.7222222222222222 + + + 1.347222222222222 + 0 + + + 0 + 0 + + + 0 + 0.7222222222222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + #ffffff + 0 + 0 + + + 3 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + $compile +(dom) +($rootScope) + + + + + + + + + + + + + + + + + + + + + + + + + 0.111111 + 0.111111 + + + 1 + 1 + 10.5 + 7.68056 + 3 + 0 + 0 + + + Layer 1 + 1 + 1 + 0 + + + + + + -0 + 4.773149444444444 + 4.495804666666667 + 3.064812777777778 + 3.649016527777778 + 1.532406388888889 + 1.824508263888889 + + + 3.064812777777778 + 3.510127638888889 + -0 + + + 1 + + + 9 + 0.00694444 + 0 + 0 + 0.208333 + 0 + + + 1 + #cce2f0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 3.649016527777778 + + + 3.064812777777778 + 3.649016527777778 + + + 3.064812777777778 + 0 + + + 0 + 0 + + + 0 + 3.649016527777778 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + JavaScript + + + + -0 + 2.282407361111111 + 4.495804666666667 + 1.564814722222222 + 3.649016527777778 + 0.7824073611111111 + 1.824508263888889 + + + 1.564814722222222 + 3.510127638888889 + -0 + + + 1 + + + 9 + 0.00694444 + 0 + 0 + 0.208333 + 0 + + + 1 + #ececec + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 3.649016527777778 + + + 1.564814722222222 + 3.649016527777778 + + + 1.564814722222222 + 0 + + + 0 + 0 + + + 0 + 3.649016527777778 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Native + + + + -0 + 2.273148006944444 + 5.305555909722222 + 1.212962680555556 + 1.046297069444444 + 0.6064813402777778 + 0.5231485347222222 + + + 1.212962680555556 + 0.9074081805555555 + -0 + + + 1 + + + 9 + 0.00694444 + 0 + 0 + 0.208333 + 0 + + + 1 + #f8e95b + 0.4 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 1.046297069444445 + + + 1.212962680555555 + 1.046297069444445 + + + 1.212962680555555 + 0 + + + 0 + 0 + + + 0 + 1.046297069444445 + + + + 0 + + + 1.147368276250105 + 0.05658148770522212 + 0 + + + 1.147368298143752 + 0.9897156006246008 + 0 + + + 0.06559440430545077 + 0.9897155817392225 + 0 + + + 0.06559438241180339 + 0.05658146881984373 + 0 + + + 0.6064813402777778 + 0 + 0 + + + 0.6064813402777778 + 1.046297069444445 + 0 + + + 1.212962680555555 + 0.5231485347222223 + 0 + + + 1.973729821555834e-16 + 0.5231485347222223 + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Event Queue + +(wait) + + + + -0 + 5.138888194444444 + 4.319444930555556 + 2.092592222222222 + 3.018519027777778 + 1.046296111111111 + 1.509259513888889 + + + 2.092592222222222 + 2.879630138888889 + -0 + + + 1 + + + 9 + 0.00694444 + 0 + 0 + 0.208333 + 0 + + + 1 + #f8e95b + 0.4 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 3.018519027777778 + + + 2.092592222222223 + 3.018519027777778 + + + 2.092592222222223 + 0 + + + 0 + 0 + + + 0 + 3.018519027777778 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 3 + + AngularJS + + + + + -0 + 2.273148006944444 + 3.351843409722222 + 1.212962680555556 + 1.046297069444444 + 0.6064813402777778 + 0.5231485347222222 + + + 1.212962680555556 + 0.9074081805555555 + -0 + + + 1 + + + 9 + 0.00694444 + 0 + 0 + 0.208333 + 0 + + + 1 + #f8e95b + 0.4 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 1.046297069444445 + + + 1.212962680555555 + 1.046297069444445 + + + 1.212962680555555 + 0 + + + 0 + 0 + + + 0 + 1.046297069444445 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + DOM Render + + + + -0 + 5.234414708380807 + 4.544231681746839 + 0.8114219721272767 + 0.7088328370315469 + 0.4057109860636384 + 0.3544164185157734 + + + 4 + 0 + 2 + 2 + 1 + + + 0.8114219721272767 + 0.7088328370315469 + -0 + + + 1 + + + 0 + + + + + -0 + 0.4238224582383875 + 0.3544164257891297 + 0.7139884722222223 + 0.7088328224848348 + 0.3569942361111111 + 0.3544164112424174 + + + 0.460573222127277 + 0.698238486768935 + 0.360823222127277 + 0.708738625657823 + + + 4 + 0 + 0 + 2 + 2 + + + 0.7139884722222223 + 0.7088328224848348 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0.3937450000000003 + 0.6982384722222226 + + + 0.7139884722222223 + 0.3412445833333335 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.838236,0.985054,0,1, 1.000000,0.762862,0,1) + + + 0.3464944444444448 + 0 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.000000,0.199978,0,1, 0.735295,0.000000,0,1) + + + 0 + 0.3359947222222222 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.235294,0.000000,0,1, 0.000000,0.244411,0,1) + + + 0.2939950000000001 + 0.708738611111111 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.000000,0.703610,0,1, 0.169117,1.007273,0,1) + + + + 0 + + + + + -0 + 0.4057109860636388 + 0.3543693128289114 + 0.8114219721272767 + 0.7087386256578232 + 0.4057109860636384 + 0.3543693128289116 + + + 0.8114219721272767 + 0.7087386256578232 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.7087386256578235 + + + 0.8114219721272775 + 0.7087386256578235 + + + 0.8114219721272775 + 0 + + + 0 + 0 + + + 0 + 0.7087386256578235 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 3 + 0 + + 0.138889 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + $eval +Async +queue + + + + + + -0 + 5.283131458333333 + 3.354820711013021 + 0.7139884722222223 + 0.7088328336979985 + 0.3569942361111111 + 0.3544164168489993 + + + 4 + 0 + 2 + 2 + 1 + + + 0.7139884722222223 + 0.7088328336979985 + -0 + + + 1 + + + 0 + + + + + -0 + 0.3569942361111108 + 0.3544168392114331 + 0.7139884722222223 + 0.7088319889731309 + 0.3569942361111111 + 0.3544159944865655 + + + 0.393745555555556 + 0.698238900280423 + 0.293995416666667 + 0.708738622502645 + + + 4 + 0 + 0 + 2 + 2 + + + 0.7139884722222223 + 0.7088319889731309 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0.393745555555556 + 0.698238055555555 + + + 0.7139884722222223 + 0.3412416666666663 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.838236,0.985054,0,1, 1.000000,0.762858,0,1) + + + 0.3464950000000005 + 0 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.000000,0.199974,0,1, 0.735295,0.000000,0,1) + + + 0 + 0.3359934722222222 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.235295,0.000000,0,1, 0.000000,0.244410,0,1) + + + 0.2939954166666673 + 0.7087377777777775 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.000000,0.703609,0,1, 0.169118,1.007273,0,1) + + + + 0 + + + + + -0 + 0.3569942361111108 + 0.3543693128289118 + 0.7139884722222223 + 0.7087386256578232 + 0.3569942361111111 + 0.3543693128289116 + + + 0.7139884722222223 + 0.7087386256578232 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.7087386256578235 + + + 0.7139884722222215 + 0.7087386256578235 + + + 0.7139884722222215 + 0 + + + 0 + 0 + + + 0 + 0.7087386256578235 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 3 + 0 + + 0.152778 + 0 + + + 1 + 0 + + 0.152778 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + $watch +list + + + + + + -0 + 5.790871319444444 + 3.936353333333333 + 0.3627018055555556 + 1.189413055555556 + 0.1813509027777778 + 0.5947065277777779 + + + 5.60952041666667 + 4.53105986111111 + 5.64012569444444 + 3.34164680555556 + + + 4 + 0 + 0 + 2 + 2 + + + 0.3627018055555556 + 1.189413055555556 + -0 + + + 2 + + + 1 + 0.0416667 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 7.894919286223335e-16 + 1.189413055555556 + + + 0.3627018055555564 + 0.6722420833333334 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.617071,0.915501,0,1, 1.000000,0.759806,0,1) + + + 0.0306052777777784 + 0 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.000000,0.370570,0,1, 0.897886,0.121458,0,1) + + + + 0 + + + + + -0 + 4.71398650347802 + 3.931104305555555 + 0.424301437488405 + 1.189411388888888 + 0.2121507187442025 + 0.5947056944444442 + + + 4.92613722222222 + 3.33639861111111 + 4.89553194444444 + 4.52581 + + + 4 + 0 + 0 + 2 + 2 + + + 0.424301437488405 + 1.189411388888888 + -0 + + + 2 + + + 1 + 0.0416667 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0.424301437488405 + 0 + + + 0.0005844930439609345 + 0.5848977777777777 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.366654,0.086947,0,1, 0.023203,0.195934,0,1) + + + 0.3936961597106274 + 1.189411388888888 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.020445,0.787574,0,1, 0.213897,0.896560,0,1) + + + + 0 + + + + + -0 + 5.252526111111111 + 3.99537125 + 0.7083333333333334 + 0.3888888888888889 + 0.3541666666666667 + 0.1944444444444444 + + + 0.7083333333333334 + 0.3888888888888889 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3888888888888889 + + + 0.7083333333333334 + 0.3888888888888889 + + + 0.7083333333333334 + 0 + + + 0 + 0 + + + 0 + 0.3888888888888889 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 3 + 0 + + 0.166667 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + $digest +loop + + + + -0 + 5.283131527777778 + 5.305555972222223 + 0.4027777777777778 + 0.1944444444444444 + 0.2013888888888889 + 0.09722222222222222 + + + 0.4027777777777778 + 0.1944444444444444 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.1944444444444444 + + + 0.4027777777777778 + 0.1944444444444444 + + + 0.4027777777777778 + 0 + + + 0 + 0 + + + 0 + 0.1944444444444444 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 3 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 3 + + fn() + + + + -0 + 4.054759722222222 + 5.305554027777777 + 1.013888888888889 + 0.1944444444444444 + 0.5069444444444444 + 0.09722222222222222 + + + 1.013888888888889 + 0.1944444444444444 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.1944444444444444 + + + 1.013888888888889 + 0.1944444444444444 + + + 1.013888888888889 + 0 + + + 0 + 0 + + + 0 + 0.1944444444444444 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 3 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 3 + + $apply(fn) + + + + -0 + 5.291507033023851 + 5.04819375 + 0.01388888888888889 + 0.32028 + 0.006944444444444444 + 0.16014 + + + 5.28456258857941 + 5.20833375 + 5.28927694444444 + 4.88805375 + + + 4 + 0 + 2 + 0 + 1 + + + 0.01388888888888889 + 0.32028 + -0 + + + 2 + + + 1 + 0.0694444 + 0 + 0 + 0 + 0 + 4 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.32028 + + + 0.004714355865038853 + 0 + + + + 0 + + + + + -0 + 4.821723402777778 + 5.298611208734235 + 0.5200384722222222 + 0.01388888888888889 + 0.2600192361111111 + 0.006944444444444444 + + + 4.56170416666667 + 5.3055548301163 + 5.08174263888889 + 5.30555565317868 + + + 4 + 0 + 2 + 0 + 1 + + + 0.5200384722222222 + 0.01388888888888889 + -0 + + + 2 + + + 1 + 0.0694444 + 0 + 0 + 0 + 0 + 4 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.01388806582651093 + + + 0.5200384722222222 + 0.01388888888888889 + + + + 0 + + + + + -0 + 3.142901805555555 + 4.560185138888889 + 0.3055555555555556 + 0.4444444444444444 + 0.1527777777777778 + 0.2222222222222222 + + + 0.3055555555555556 + 0.4444444444444444 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0.486111 + 0 + + + 1 + #ffffff + 0.42 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.4444444444444444 + + + 0.3055555555555556 + 0.4444444444444444 + + + 0.3055555555555556 + 0 + + + 0 + 0 + + + 0 + 0.4444444444444444 + + + + 0 + + + + + -0 + 3.142901805555555 + 4.199074027777778 + 0.9305555555555556 + 0.8888888888888888 + 0.4652777777777778 + 0.4444444444444444 + + + 4 + 0 + 2 + 2 + 1 + + + 0.9305555555555556 + 0.8888888888888888 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + + + 0.138889 + 0.138889 + 1 + 0 + + + 1 + 0 + + 0.25 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Event +Loop + + + + -0 + 3.215458423611109 + 5.298611459717093 + 0.6647137083333376 + 0.01388888888888889 + 0.3323568541666688 + 0.006944444444444444 + + + 2.88310156944444 + 5.30555590416154 + 3.54781527777778 + 5.30555483963772 + + + 4 + 0 + 2 + 0 + 1 + + + 0.6647137083333376 + 0.01388888888888889 + -0 + + + 2 + + + 1 + 0.0694444 + 0 + 0 + 0 + 0 + 4 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.01388888888888889 + + + 0.6647137083333376 + 0.01388782436507322 + + + + 0 + + + + + -0 + 2.280092451388889 + 4.328699659722222 + 0.01388888888888889 + 0.9004709861111108 + 0.006944444444444444 + 0.4502354930555554 + + + 2.27314800694444 + 3.87846416666667 + 2.27314800694444 + 4.77893515277778 + + + 4 + 0 + 2 + 0 + 1 + + + 0.01388888888888889 + 0.9004709861111108 + -0 + + + 2 + + + 1 + 0.0694444 + 0 + 0 + 0 + 0 + 4 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0 + + + 0 + 0.9004709861111108 + + + + 0 + + + + + -0 + 3.90461936641419 + 3.34134802395772 + 2.043035711616064 + 0.01388888888888889 + 1.021517855808032 + 0.006944444444444444 + + + 4.92613722222222 + 3.33639861111111 + 2.88310151060616 + 3.34829246840216 + + + 4 + 0 + 2 + 0 + 1 + + + 2.043035711616064 + 0.01388888888888889 + -0 + + + 2 + + + 1 + 0.0694444 + 0 + 0 + 0 + 0 + 4 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 2.043035711616063 + 0.001995031597835527 + + + -3.947459643111667e-16 + 0.01388888888888889 + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + 0.111111 + 0.111111 + + + 1 + 1 + 10.5 + 7.68056 + 3 + 0 + 0 + + + Runtime + 1 + 1 + 0 + + + Template + 0 + 1 + 0 + + + + + + -0 + 3.999999541666666 + 5.349536555555556 + 6.458755 + 3.032408333333334 + 3.2293775 + 1.516204166666667 + + + 6.458755 + 3.032408333333334 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 3.032408333333333 + + + 6.458755 + 3.032408333333333 + + + 6.458755 + 0 + + + 0 + 0 + + + 0 + 3.032408333333333 + + + + 0 + 0 + 6.45876 + 3.03241 + + Qk0AAAAAAAAAADYAAAAoAAAAwQIAAEsBAAABABgAAAAAAOyvCgAAAAAAAAAAAAAAAAAAAAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A//////////////////7+8+/v7+jo6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh6eHh7+jo8+/v//7+////////////AP///////////////+vk5PHt7fn39/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Xy8vfz8/j29vn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/f19fLs7Ovk5P///////////wD////////////z8PDy7Oz8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v28/P18vL59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fy7Ozz8PD///////8A////////////6+Tk+/j4/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78e3t+Pb2+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff39vX17ufn////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff39PDu9e7s+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+jd2oo3L/bw7vn39/n39/n39/n39/n39/7+/vr4+Pn39/n39/////r4+Pn39/n39/n39/38/P/+/v/+/vn39/v6+v38/Pn39/7+/vn4+Pv5+f38/Pn39/n39/n39/r4+P79/f////z7+/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vl4uLGvr7Gvr7Gvr7Gvr7l4uL8+/v8+/vOx8fn4+P8+/v8+/v8+/v8+/v8+/vVz8/Gvr7p5ub8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f6+fn9/Pz59/X59/erb2fHn5j59/f59/f59/f59/f59/eTRz7hysj59/f59/eKOTDn2NX59/f59/f28/GvdWuQQDiRQTn17+3PsKqwfHT59/eUSD/p3tvTta+udGr59/f59/f59/fo19akZFqJNDC/k4v49fP+/f37+vr59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pr63NfX3NbW/Pr6/Pv7/Pv7/Pv74t7e0s3N/Pv7/Pv7/Pv7/Pv7/Pv71c/Pxr6+6ebm/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+/r6/v7+4crIrXFoqGtj+ff34MvJkEE5+Pb0+ff3+ff3+ff3+ff3k0c+4crI+ff3+ff3ijkw59jV+ff3+ff33MO/mlNK9fHv+ff3+ff3z7CqsHx0+ff3lEg/6d7b07WvrnRq+ff3+ff3+ff3tYJ6vI6G+ff3+ff3wZWPoF5W1Lex/Pv5/Pv7+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+9zX19zW1vz7+/z7+/z7+/z7+/b19ca/v/X09Pz7+/z7+/z7+/z7++rn5+Pg4PPx8fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/v6+vj08sqkn5ZNQpdORceemvHo5vn39/n396BdVdGyrPn39/n39/n39/n395NHPuDLyfn39/n394o5MOfY1fn39/n398OZk7J+dvn39/n39/n398+wqrB8dPn395RIP+ne29O1r650avn39/n39/n395ZNRN/Hxfn39/n39/Xx79CyrKJgWI4+Nr6QiPHo5fz7+/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vc19fc1tb8+/v8+/v8+/v8+/v8+/vVz8/h3t78+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fStK6KOTCzgHjizsz59/f59/f59/f59/f59/fWuraZUUj6+fn59/f59/f59/eTRz7gy8n59/f59/eKOTDn19T59/f59/fCl5GzgHb59/f59/f59/fPsKqwfHT59/eUSD/q3dvTta+udGr59/f59/f59/eSRzzizMr59/f59/f59/f59/f59/fr3Nu+kYmNPTW7jYX59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv73NfX3NbW/Pv7/Pv7/Pv7/Pv7/Pv76+bmzsfH/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff33MTAl05Fm1RLzaek+PTy/fz8+vj4+ff3+ff3+Pb2lkxD3cTA+ff3+ff3+ff3k0c+zq6n+fj4+Pb0hCwn7+Xj+ff3+ff3wpeRs4B2+ff3+ff3+ff3z7Cqr3hu+ff3kUM76drX0bKssHtx+ff3+ff3+ff3kkc84szK+ff3+ff3+ff3/Pv7/fz62Ly2pmdfkEA4yqSh+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+9zX19zW1vz7+/z7+/z7+/z7+/z7+/v6+srCwvDu7vz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n3997Hxa1xaIo3L7B8dOXS0Pn39/n39/n398uooqRkWvr4+Pn39/n395NHPqFeVuzg3s6up5NFPfn39/n29vn29MCWjbF9c/n29Pn29Pn398+vqZxXTfLq6IUuKdS2sL+SirqLg/n39/n39/n395JHPOLMyvn39/n39+3j4byPh409NaJfV9K0rPf08vn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v6+fn8+/vc19fc1tb8+/v8+/v8+/v8+/v8+/v8+/ve2Njc19f8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fv5ePBlpCzf3f59/f59/f59/f18e+NPTXn1NL59/f59/eTRz7Hn5uWTkOVS0LUtrD59/fjz82VTEOMOzOJNjCVTEOVTEP17+3WubWnamCOPjatc2mpbGSYUEfl1NT59/f59/f59/eSRzzizMr59/f59/fHoZq1hHzn19T59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7087O3NfX1tLS3NbW/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78e/vysLC+/r6/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3wZaQr3hu+fj4+ff3k0c+4crI+ff3+ff3+ff3+ff3+ff3+ff3wpaQsn91+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+vn5/Pr6kkc84szK+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/f19d7a2snCwtzX1/z7+/z7+/Lv78a+vsa+vsa+vsa+vsa+vu3q6vz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/Hp54k2MOvh3vn395NFPeDJx/n39/n39/n39/n39/n39/n399O1rsiln/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n399zDv8eemoo5MODLyfn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fXu7Xw6Ob59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/ffycfMqqbMqqbw5+X59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/z7+/v6+vn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fFnJXSs6z7+fn59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff39PDu9e7s+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3y6iinFZPuoqC+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/f19fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+jd2oo3L/bw7vn39/n39/n39/n39/n39//+/v38/Pjy8Pfz8fz7+/n39/n39/r5+f79/fDk4vz6+Pv6+vn39/n39/v5+fz6+PTs6f39/f////n39/n39/n39+vh3ocwK/Tt6/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vl4uLGvr7Gvr7Gvr7Gvr7l4uL8+/v08fHOx8fMxMTOx8fl4uL8+/v8+/v8+/vVz8/Gvr7p5ub8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f6+fn9/Pz59/X59/erb2fHn5j59/f59/f59/f59/f59/eSRD2scWiNPTWDKiXAlo359/f59/fizMqMPDSPPzeELCfNqqb59/f59/fZvrqGLimPPzeqbmWDKiXs4d/59/f59/f28O6GLinKp6H59/f59/f49fP+/f37+vr59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pr63NfX3NbW/Pr6/Pv7/Pv71c/P3tnZ/Pv78vDwyMDA+vn5/Pv7/Pv71c/Pxr6+6ebm/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+/r6/v7+4crIrXFoqGtj+ff34MvJkEE5+Pb0+ff3+ff3+ff3+ff3kkQ9p2lh9PDu5dTUhjAq9PDu+Pb2lUtCv5KK+Pb22b+7hCwn7+Xj+ff3nVhOzaml+Pb2vpKKgSUj7OHf+ff3+ff3z62pjT01nlhR+vj4+ff3wZWPoF5W1Lex/Pv5/Pv7+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+9zX19zW1vz7+/z7+/r5+ca+vvHv7/z7+/z7+8/Jyevo6Pz7+/z7++rn5+Pg4PPx8fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/v6+vj08sqkn5ZNQpdORceemvHo5vn39/n396BdVdGyrPn39/n39/n39/n395JEPcuoovn39/n395pTTNvBve/l44ElI+jb2fn39/n394w7M9W4svTt64QrJvTt6/n39+fX1IElI+zh3/n39/n4+KFeVtGyrIs6Murd2vn39/Xx79CyrKJgWI4+Nr6QiPHo5fz7+/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vc19fc1tb8+/v8+/v08vLGvr7u7e38+/v8+/vNxsbu6+v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fStK6KOTCzgHjizsz59/f59/f59/f59/f59/fWuraZUUj6+fn59/f59/f59/eSRD3dw7/59/f59/escGfEnZbl1NSCKST49fX59/f59/eeWlLLqKLgy8mMPDT59/f59/f28vCBJSPs4d/59/fr39yKNy/18e+0gXm+kor59/f59/f59/f59/fr3Nu+kYmNPTW7jYX59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv73NfX3NbW/Pv7/Pv78e7uxr+/19LS9/X16ebmycHB+/r6/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff33MTAl05Fm1RLzaek+PTy/fz8+vj4+ff3+ff3+Pb2lkxD3cTA+ff3+ff3+ff3kkQ9yKKd+vj4+/r6lUtC3sfF8enngSUj59XT+ff3+/n5hzIs2Ly29vDwhS0o8+vp+ff35NHPgSUj7OHf+ff3v5OLsX52+ff34MnHkEE5+fj4+ff3/Pv7/fz62Ly2pmdfkEA4yqSh+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+9zX19zW1vz7+/z7+/X09MnBweLf38rDw8zFxejk5Pz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n3997Hxa1xaIo3L7B8dOXS0Pn39/n39/n398uooqRkWvr4+Pn39/n395JEPZtTTO3f3NS1rocyLPbz8fn396BeVq93bfPr6cWdloo3L/Tt6/n396JgWLqLg/Lq6K92bIElI+zi4Pn395BBOd7Hxfn39/n395NFPd7Fwe3j4byPh409NaJfV9K0rPf08vn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v6+fn8+/vc19fc1tb8+/v8+/v7+vrIwMD18/P8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fv5ePBlpCzf3f59/f59/f59/f18e+NPTXn1NL59/f59/eSRD29j4eRQjqQQDjQsar59/f59/fp3tuiYFiHMiyXT0bdxcP59/f59/fk0M6YUUiLODK/koqELCfs4uDjz82hXlb49vb59/f59/fFnZa9kYnHoZq1hHzn19T59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7087O3NfX1tLS3NbW/Pv7/Pv7/Pv73NbW2dPT+/r6/Pv79/b2/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3wZaQr3hu+fj4+ff3kkQ94szK+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3hCwn7OLg+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/f19d7a2snCwtzX1/z7+/z7+/z7+/n4+NbR0cnBwczFxdPOzvz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/Hp54k2MOvh3vn395JEPeDLyfn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n394QsJ+zi4Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v6+fn29PT8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fWurbx6Ob59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fSs6308O759/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff39PDu9e7s+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/v6+vXz8/b09Pz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+jd2oo3L/bw7vn39/n39/n39/n39/n39/v5+fz6+PTs6f39/f////n39/n39/z7+/7+/v////////7+/v38/Pn39/n39/r5+f////z7+/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vl4uLGvr7Gvr7Gvr7Gvr7l4uL18/PIwcHLw8PIwMDMxcXu6+v8+/v8+/v8+/vVz8/Gvr7p5ub8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f6+fn9/Pz59/X59/erb2fHn5j59/f59/f59/f59/f59/fZvrqGLimPPzeqbmWDKiXs4d/59/e7joaTRz6KOTCIMy2TRz6udWv59/f59/ffyMSBJSPDmJL59/f59/f49fP+/f37+vr59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pr63NfX3NbW/Pr6/Pv7+Pf38vDw/Pv7+vj43tnZy8PD+vn5/Pv7/Pv71c/Pxr6+6ebm/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+/r6/v7+4crIrXFoqGtj+ff34MvJkEE5+Pb0+ff3+ff3+ff3+ff3nVhOzaml+Pb2vpKKgSUj7OHf+ff3+ff3+ff3w5uUsXx0+ff3+ff3+ff3+ff3tIF3pGRamFBH+vj4+ff3wZWPoF5W1Lex/Pv5/Pv7+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+9zX19zW1vz7+/z7+/z7+/z7+/z7+/z7+/f29sa+vvHv7/z7+/z7++rn5+Pg4PPx8fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/v6+vj08sqkn5ZNQpdORceemvHo5vn39/n396BdVdGyrPn39/n39/n39/Tt64QrJvTt6/n39+fX1IElI+zh3/n39/n39/n398OblLF8dPn39/n39/n39/j29Is6MufX1ow8NOna1/n39/Xx79CyrKJgWI4+Nr6QiPHo5fz7+/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vc19fc1tb8+/v8+/v8+/v8+/v8+/v8+/v08vLHv7/49vb8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fStK6KOTCzgHjizsz59/f59/f59/f59/f59/fWuraZUUj6+fn59/f59/fgy8mMPDT59/f59/f28vCBJSPs4d/59/f59/f59/fDm5SxfHT59/f59/f59/fcw7+aU0r59/ezgHjAlo359/f59/f59/f59/fr3Nu+kYmNPTW7jYX59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv73NfX3NbW/Pv7/Pv7/Pv77uzs9/b28e7u1tHR1tDQ/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff33MTAl05Fm1RLzaek+PTy/fz8+vj4+ff3+ff3+Pb2lkxD3cTA+ff3+ff39vDwhS0o8+vp+ff35NHPgSUj7OHf+ff3+ff3+ff3w5uUsXx0+ff3+ff3+ff3sXx0wZWP+ff328O/lUtC+vj4+ff3/Pv7/fz62Ly2pmdfkEA4yqSh+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+9zX19zW1vz7+/z7+/z7+9LKysjBwce/v9TMzPPx8fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n3997Hxa1xaIo3L7B8dOXS0Pn39/n39/n398uooqRkWvr4+Pn39/n396JgWLqLg/Lq6K92bIElI+zi4Pn39/j29vfx78CWjbF8dPn39/n39/f08ok2MOjY2Pn39/f09Iw7M+XU0u3j4byPh409NaJfV9K0rPf08vn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v6+fn8+/vc19fc1tb8+/v8+/v8+/vSysrs6en8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fv5ePBlpCzf3f59/f59/f59/f18e+NPTXn1NL59/f59/fk0M6YUUiLODK/koqELCfs4uD59/fq392YUUiYUUi/kor59/f59/ffycelZ1/59/f59/f59/e7jobIo53HoZq1hHzn19T59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7087O3NfX1tLS3NbW/Pv7/Pv7/Pv70srK7Onp/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3wZaQr3hu+fj4+ff3+ff3+ff3+ff3+ff3hCwn7OLg+ff3+ff3+ff3+/r6/Pv7+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/f19d7a2snCwtzX1/z7+/z7+/z7+9LKysa+vsa+vsa+vtrU1Pz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/Hp54k2MOvh3vn39/n39/n39/n39/n394QsJ+zi4Pn39/n39/n398KYkrB6cvn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fSs6308O759/f59/f59/fo2Njjz8359/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff39PDu9e7s+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+jd2oo3L/bw7vn39/n39/n39/n39/n39/r5+f79/fDk4vz6+Pv6+vn39/n39/n39/n39/r4+P79/f////z7+/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vl4uLGvr7Gvr7Gvr7Gvr7l4uL8+/v8+/v8+/v8+/vV0dHh3t78+/v8+/v8+/vVz8/Gvr7p5ub8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f6+fn9/Pz59/X59/erb2fHn5j59/f59/f59/f59/f59/fizMqMPDSPPzeELCfNqqb59/f59/f59/f59/fo19akZFqJNDC/k4v49fP+/f37+vr59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pr63NfX3NbW/Pr6/Pv7/Pv7/Pv7/Pv7/Pv71dHR4d7e/Pv7/Pv7/Pv71c/Pxr6+6ebm/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+/r6/v7+4crIrXFoqGtj+ff34MvJkEE5+Pb0+ff3+ff3+ff3+Pb2lUtCv5KK+Pb22b+7hCwn7+Xj+ff3+ff3+ff3tYJ6vI6G+ff3+ff3wZWPoF5W1Lex/Pv5/Pv7+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+9zX19zW1vz7+/z7++nm5s/IyM/IyM/IyMjBwcrDw97Z2fz7+/z7++rn5+Pg4PPx8fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/v6+vj08sqkn5ZNQpdORceemvHo5vn39/n396BdVdGyrPn39/n39/n39+/l44ElI+jb2fn39/n394w7M9W4svn39/n39/n395ZNRN/Hxfn39/n39/Xx79CyrKJgWI4+Nr6QiPHo5fz7+/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vc19fc1tb8+/v8+/vu6+vPycnz8fHz8fHSzc3e2Nj29fX8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fStK6KOTCzgHjizsz59/f59/f59/f59/f59/fWuraZUUj6+fn59/f59/fl1NSCKST49fX59/f59/eeWlLLqKL59/f59/f59/eSRzzizMr59/f59/f59/f59/f59/fr3Nu+kYmNPTW7jYX59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv73NfX3NbW/Pv7/Pv7/Pv719LS6ufn/Pv71dHR4d7e/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff33MTAl05Fm1RLzaek+PTy/fz8+vj4+ff3+ff3+Pb2lkxD3cTA+ff3+ff38enngSUj59XT+ff3+/n5hzIs2Ly2+ff3+ff3+ff3kkc84szK+ff3+ff3+ff3/Pv7/fz62Ly2pmdfkEA4yqSh+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+9zX19zW1vz7+/z7+/z7+/b09M/Jyfv5+dXR0eHe3vz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n3997Hxa1xaIo3L7B8dOXS0Pn39/n39/n398uooqRkWvr4+Pn39/n396BeVq93bfPr6cWdloo3L/Tt6/n39/n39/n395JHPOLMyvn39/n39+3j4byPh409NaJfV9K0rPf08vn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v6+fn8+/vc19fc1tb8+/v8+/v8+/v8+/vk4eHh3t7V0dHh3t78+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fv5ePBlpCzf3f59/f59/f59/f18e+NPTXn1NL59/f59/fp3tuiYFiHMiyXT0bdxcP59/f59/f59/f59/eSRzzizMr59/f59/fHoZq1hHzn19T59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7087O3NfX1tLS3NbW/Pv7/Pv7/Pv7/Pv7/Pr61MzM0crK4d3d/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3wZaQr3hu+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+vn5/Pr6kkc84szK+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/f19d7a2snCwtzX1/z7+/z7+/z7+/z7+/z7+/Dv78a+vuHd3fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/Hp54k2MOvh3vn39/n39/n39/n39/n39/n39/n39/n399zDv8eemoo5MODLyfn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/ffycfMqqbMqqbw5+X59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f5+Pj59/f59/f59/f59/f59/f59/f5+Pj59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+/r6+fn56Ofn+Pb2+ff3+ff3+ff3+/r6+fn56Ofn+Pb2+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36+rq9PPz/fz8+ff3+ff3+ff3+ff36+rq9PPz/fz8+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff39PDu9e7s+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/f19ff29vz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/r4+P79/f////z7+/n39/z7+/7+/v////////7+/v38/Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39768vFhTVXh0dPPx8fn39/n39/n39768vFhTVXh0dPPx8fn39/7+/vr4+Pn39/n39/////r4+Pn39/z7+/f39/Tz8/38/P/+/vr4+Pv6+v38/Pn39/7+/vn4+Pv5+f38/Pn39/r4+P7+/u/v7+rq6v7+/vr4+Pn396CdnV5aWomGhvn39/n39/n39/n396CdnV5aWomGhvn39/n39/n39/n39/n39/n39/n39/n39/n39/n39+jd2oo3L/bw7vn39/n39/n39/n39/n39/n39/n39/r4+P79/f////z7+/n39/z7+/7+/v////////7+/v38/Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vl4uLGvr7Gvr7Gvr7Gvr7l4uL08fHLw8PKwsLJwsLSysro5OT8+/v8+/v8+/vVz8/Gvr7p5ub8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f6+fn9/Pz59/X59/f59/f59/fo19akZFqJNDC/k4v59/e7joaTRz6KOTCIMy2TRz6udWv49fP+/f37+vr59/f59/f59/f59/f59/f59/f59/d+e3utq6v59/f59/f59/f59/f59/d+e3utq6v59/f59/f59/dlYGLT0dH59/f59/dZVVXe3Nz59/ejoaFcV1lhXV2Qjo5fW13W09O7urqPjY359/dmYWPi4eHAvr6Jhob59/fe3d1qZ2daVVdnZGReW1vZ1tb59/f59/fk4+NMR0fx7+/59/f59/f59/f59/fk4+NMR0fx7+/59/f59/f59/f59/f59/f59/f6+fn9/Pz59/X59/erb2fHn5j59/f59/f59/f59/f59/f59/f59/fo19akZFqJNDC/k4v59/e7joaTRz6KOTCIMy2TRz6udWv49fP+/f37+vr59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pr63NfX3NbW/Pr6/Pv79/b28e7u/Pv7+/r65uPjxr6+9fT0/Pv7/Pv71c/Pxr6+6ebm/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+/r6/v7+4crIrXFoqGtj+ff3+ff3+ff3tYJ6vI6G+ff3+ff3+ff3+ff3+ff3w5uUsXx0+ff3+ff3wZWPoF5W1Lex/Pv5/Pv7+fj4+ff3+ff3+ff3+ff3dHBwwsHB+ff3+ff3+ff3+ff3+ff3dHBwwsHB+ff3+ff3+ff3ZWBi09HR+ff3+ff3WVVV3tzc7evrVFBQ6ebm9/X1pKGhTEdH1tPTu7q6j42N+ff3ZmFj4uHhwL6+iYaG+Pb2amdnoZ+f9fLy+ff34uHh5+Tk+ff3+ff3+ff3TUhK5+Tk+ff3+ff3+ff3+ff3+ff3TUhK5+Tk+ff3+ff3+ff3+ff3+/r6/v7+4crIrXFoqGtj+ff34MvJkEE5+Pb0+ff3+ff3+ff3+ff3+ff3+ff3tYJ6vI6G+ff3+ff3+ff3+ff3+ff3w5uUsXx0+ff3+ff3wZWPoF5W1Lex/Pv5/Pv7+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+9zX19zW1vz7+/z7+/z7+/z7+/z7+/z7+/z7+8nBwe7r6/z7+/z7++rn5+Pg4PPx8fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/v6+vj08sqkn5ZNQpdORceemvHo5vn39/n39/n395ZNRN/Hxfn39/n39/n39/n39/n398OblLF8dPn39/n39/Xx79CyrKJgWI4+Nr6QiPHo5fz7+/n39/n39/z7+2RhYczKyvn39/n39/n39/n39/z7+2RhYczKyvn39/n39/n392VgYtPS0vn39/n391lVVd7c3PDt7VpVV+3t7f38/O7t7U1IStbT07u6uo+Njfn392ZhY+Lh4cC+vomGht/e3kxHR+jm5v38/P38/P38/Pv5+fn39/n39/n391hTVdva2vr4+Pn39/n39/n39/n391hTVdva2vr4+Pn39/v6+vj08sqkn5ZNQpdORceemvHo5vn39/n396BdVdGyrPn39/n39/n39/n39/n39/n395ZNRN/Hxfn39/n39/n39/n39/n398OblLF8dPn39/n39/Xx79CyrKJgWI4+Nr6QiPHo5fz7+/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vc19fc1tb8+/v8+/v8+/v8+/v8+/v8+/vv7e3Hv7/6+Pj8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fStK6KOTCzgHjizsz59/f59/f59/f59/f59/f59/eSRzzizMr59/f59/f59/f59/f59/fDm5SxfHT59/f59/f59/f59/f59/fr3Nu+kYmNPTW7jYX59/fr6emtq6tdWFr08vL59/f59/f59/fr6emtq6tdWFr08vL59/f59/f59/dlYGLU0tL59/f59/dZVVXe29v59/eloqJlYWOJhoaVk5NUUFDW09O7urqPjY359/dmYWPj4eHAvr6JhobPzc1QTEyVkpKVkpKVkpKXk5PBv7/59/f59/f59/eRjo6Df3/g39/19PT59/f59/f59/eRjo6Df3/g39/19PTStK6KOTCzgHjizsz59/f59/f59/f59/f59/fWuraZUUj6+fn59/f59/f59/f59/f59/eSRzzizMr59/f59/f59/f59/f59/fDm5SxfHT59/f59/f59/f59/f59/fr3Nu+kYmNPTW7jYX59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv73NfX3NbW/Pv7/Pv7/Pv7/Pv74+Dg0s3NzcbG7uvr/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff33MTAl05Fm1RLzaek+PTy/fz8+vj4+ff3+ff3+ff3kkc84szK+ff3+ff3+ff3+ff3+ff3w5uUsXx0+ff3+ff3+ff3/Pv7/fz62Ly2pmdfkEA4yqSh+ff3dXFxaWZmzczM+ff3+ff3+ff3+ff3dXFxaWZmzczM+ff3+ff3+ff3+ff3ZWBiube3+fj49/b2UE1N6efn+ff3+/n59fPzzszMxMLCU09P3drau7q6jIqK+ff3Yl9f397evru7j4yM5OLiTEdHvLq6xsPDxcTEdnNzuLa2+ff3+ff3+ff35uTkh4KEZ2Rk0M7O+ff3+ff3+ff35uTkh4KEZ2Rk0M7O3MTAl05Fm1RLzaek+PTy/fz8+vj4+ff3+ff3+Pb2lkxD3cTA+ff3+ff3+ff3+ff3+ff3kkc84szK+ff3+ff3+ff3+ff3+ff3w5uUsXx0+ff3+ff3+ff3/Pv7/fz62Ly2pmdfkEA4yqSh+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+9zX19zW1vz7+/z7+/z7+/z7++7r6+Lf39HKyuHd3fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n3997Hxa1xaIo3L7B8dOXS0Pn39/n39/n395JHPOLMyvn39/n39/n39/j29vfx78CWjbF8dPn39/n39+3j4byPh409NaJfV9K0rPf08vn39/n39/n39+nn51BNTero6Pn39/n39/n39/n39+nn51BNTero6Pn39/n39/n392VgYnd0dOTk5Lm3t2VgYPn39/n398LAwOro6Pv7+768vFVQUvHv77u5uXFubu3s7FJOTsG/v6OhoZ2amvn393x4eI6MjO7u7tDOzltXV/Dt7fn39/n39/n393Zzc7Szs/n39/n39/n39/n39/n393Zzc7Szs/n39/n39/n39/n3997Hxa1xaIo3L7B8dOXS0Pn39/n39/n398uooqRkWvr4+Pn39/n39/n39/n395JHPOLMyvn39/n39/n39/j29vfx78CWjbF8dPn39/n39+3j4byPh409NaJfV9K0rPf08vn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v6+fn8+/vc19fc1tb8+/v8+/v8+/v8+/v8+/v8+/vx7u7HwMD6+fn8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fv5ePBlpCzf3f59/f59/f59/eSRzzizMr59/f59/f59/fq392YUUiYUUi/kor59/f59/fHoZq1hHzn19T59/f59/f59/f59/f59/f59/f59/dvbGzGw8P59/f59/f59/f59/f59/dvbGzGw8P59/f59/f59/d9eXm0sbFpZmZnZGTCv7/59/f59/enpaViXV9UUFBtamrNy8v59/fFwcGAfn5eWlqJhYWCgIBsZ2nc2tr59/fr6OiGgoJYU1VkYGC/vLz59/f59/f59/f59/dQTEzi4eH59/f59/f59/f59/f59/dQTEzi4eH59/f59/f59/f59/f59/f59/fv5ePBlpCzf3f59/f59/f59/f18e+NPTXn1NL59/f59/f59/f59/eSRzzizMr59/f59/f59/fq392YUUiYUUi/kor59/f59/fHoZq1hHzn19T59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7087O3NfX1tLS3NbW/Pv7/Pv7/Pv79PLy/Pv7/Pv75uLi0crK/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+vn5/Pr6kkc84szK+ff3+ff3+ff3+ff3+ff3+/r6/Pv7+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3dHBwxMLC+ff3+ff3+ff3+ff3+ff3dHBwxMLC+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+fj4TUhK5uPj+ff3+ff3+ff3+ff3+fj4TUhK5uPj+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3wZaQr3hu+fj4+ff3+vn5/Pr6kkc84szK+ff3+ff3+ff3+ff3+ff3+/r6/Pv7+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/f19d7a2snCwtzX1/z7+/z7+/z7+8/JycrCwsvExNLLy+7r6/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n399zDv8eemoo5MODLyfn39/n39/n39/n39/n398KYkrB6cvn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39397e6yqqv7+/vn39/n39/n39/n39397e6yqqv7+/vn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/z8/Ojn50xHR/Lw8Pn39/n39/n39/z8/Ojn50xHR/Lw8Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/Hp54k2MOvh3vn399zDv8eemoo5MODLyfn39/n39/n39/n39/n398KYkrB6cvn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v49/f49vb8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/ffycfMqqbMqqbw5+X59/f59/f59/f59/f59/fo2Njjz8359/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fHxMRkYGBtamry8PD59/f59/f59/fHxMRkYGBtamry8PD59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/eXlJRhXV2Zlpb59/f59/f59/f59/eXlJRhXV2Zlpb59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/ffycfMqqbMqqbw5+X59/f59/f59/f59/f59/fo2Njjz8359/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/r4+Pz7+/z7+/r4+Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/z6+vn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fm5srBwG/Av2vs7NL8+/v59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fJyX7v7dz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3zMuKxsN7zs2PoKAAxcV3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3kZEA4+HB+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/r5+f79/fDk4vz6+Pv6+vn39/n39/n39/n39/r4+P79/f////z7+/n39/n39/n39/n39/n39/n39/n39/n39/7+/vr4+Pn39/n39/////r4+Pn39/r4+P/+/v7+/OfmypqaAPn39/n39/n39/n39/n39/n39/n39/n39/n39/n39//+/vr4+Pn39/n39/n39/n39/r4+P7+/vT15/Hx4P///fr4+Pn395GRAOXkxPf47Pj57/z7+/n39/n39/r4+P7+/vT15/Hx4P///fr4+Pn39/z7+/r68/j47v38/P/+/vr4+Pn39/n39/n39/38/P/+/v/+/vn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/7+/vr4+Pn39/n39/////r4+Pn39/z7+/fz//Tv/v38/P/+/vr4+Pv6+v38/Pn39/7+/vn4+Pv5+f38/Pn39/r4+P7+/u7p/+ni//7+//r4+Pn39/n39/n39/n39/n39/n39/n39/n39/z7+/7+/v////////7+/v38/Pn39/7+/vr4+Pn39/n39/////r4+Pn39/n39/n39/n39/n39/n39/n39/n39/7+/vr4+Pn39/n39/////r4+Pn39/z7+/fz//Tv/v38/P/+/vr4+Pv6+v38/Pn39/7+/vn4+Pv5+f38/Pn39/r4+P7+/u7p/+ni//7+//r4+Pn39/38/PHu/+ni//7+/vv5+fn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vl4uLGvr7Gvr7Gvr7Gvr7l4uL29PTGvr7Gvr7Gvr7Gvr7Gvr7w7+/8+/v8+/vVz8/Gvr7p5ub8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f6+fn9/Pz59/X59/fizMqMPDSPPzeELCfNqqb59/f59/f59/f59/fo19akZFqJNDC/k4v59/f59/f59/f59/f59/f59/f59/f59/eVlQDg3rr59/f59/eMjADn5c759/fj4r6UlACMjAC/vmSFhQDv7uD59/f59/f59/f59/f59/f59/f59/f59/f59/eSkgDi4MD59/f59/f59/f59/fp6c2ZmQCNjQCWlgCQkADk4sT59/eRkQCsrC2PjwCFhQDDw2/59/f59/fp6c2ZmQCNjQCWlgCQkADk4sT59/fAwGmOjgCSkQCzskWRkQDi4MD59/f59/f39vGvrzeSkQCSkQD08u359/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/dSAPTRwPv59/f59/dCAPHc0fr59/ecePxFAPJNAPOGXPlLAPPUxPq1n/yFWvr59/dTAPXh2Pq7pft+Ufn59/fc0f9ZAPVDAPFWAPNJAPPWyfn59/f59/f59/f59/f59/f59/f59/f59/eYcvhSAPRCAPE+APBSAPR/T/j59/dSAPTRwPv59/f59/dCAPHc0fr59/f59/f59/f59/f59/f59/f59/f59/dSAPTRwPv59/f59/dCAPHc0fr59/ecePxFAPJNAPOGXPlLAPPUxPq1n/yFWvr59/dTAPXh2Pq7pft+Ufn59/fc0f9ZAPVDAPFWAPNJAPPWyfn59/d+UfdIAPJdCfVWAPPBrv/59/f59/f59/f59/f59/f59/f59/f59/f49fP+/f37+vr59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pr63NfX3NbW/Pr6/Pv7/Pv719LS2dXV+/r6+/r6+/r6/Pv7/Pv7/Pv71c/Pxr6+6ebm/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+/r6/v7+4crIrXFoqGtj+Pb2lUtCv5KK+Pb22b+7hCwn7+Xj+ff3+ff3+ff3tYJ6vI6G+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3lZUA4N66+ff3+ff3jIwA5+XO+ff3oqIAv75q9PLtuLZVg4MA7eva+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3kpIA4uDA+ff3+ff3+ff3+ff1mZkAvr5n9vTw+ff36unU7eva+ff3kZEAqakg9fPu5eLHiIgA9vXw+ff1mZkAvr5n9vTw+ff36unU7eva8fDkiYkA7+3e+Pb0wL9rg4MA4uDA+ff3+ff33duvm5sA9vTv+ff3+ff3/Pv7/////////////////////f39+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3UgD00cD7+ff3+ff3QgDx3NH67OX5OwDw6N/49/T4nXv5LwDw1MT6tZ/8hVr6+ff3UwD14dj6u6X7flH5+Pb4WQD1mXf79PD4+ff34dj45tz4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3ooP8hlz5+ff3+ff3+ff3UgD00cD7+ff3+ff3QgDx3NH6+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3UgD00cD7+ff3+ff3QgDx3NH67OX5OwDw6N/49/T4nXv5LwDw1MT6tZ/8hVr6+ff3UwD14dj6u6X7flH5+Pb4WQD1mXf79PD4+ff34dj45tz4+ff32Mv6+Pb4+ff3zbz+WAD0+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3wZWPoF5W1Lex/Pv5/Pv7+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+9zX19zW1vz7+/z7+/z7+/v5+dLNzeDb2/z7+/z7+/z7+/z7+/z7++rn5+Pg4PPx8fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/v6+vj08sqkn5ZNQpdORceemvHo5u/l44ElI+jb2fn39/n394w7M9W4svn39/n39/n395ZNRN/Hxfn39/n39/n39/n39/n39/n39/n39/n39/n39/n395WVAODfu/n39/n394yMAOflzvXz7IaGAPHw5Pn39+bjyIODAO3r2vr5+f38/P38/P38/P38/P38/Pz7+/n39/n395KSAOLhwfn39/n39/n39+jn0IODAO/u2/38/P38/P38/Pv5+fn395GRAM7NjPn39/n395qaAN3br+jn0IODAO/u2/38/P38/P38/Pv5+fPx6I2NAPPz4/38/PTz5YSEAOLgwPn39/n398PDdbSzRvn39/n39/n3987NxqKij6Kij6Kij6Kij6Kij7q7rfn39/n39/n39/n39/n39/n39/n39/n391IA9NHB/Pn39/n390IA8dzR+vDp+EMA8ezl//38/O3m/TEA79TE+rWf/IVa+vn391MA9eHY+rul+35R+d7U+y8A8Ofd/f38/P38/P38/Pv5+fn39/n39/n39/n39/n39/n39/n39/n39/n39/n396KD/IZc+fn39/n39/n391IA9NHB/Pn39/n390IA8dzR+vn39/n39/n39/n39/n39/n39/n39/n391IA9NHB/Pn39/n390IA8dzR+vDp+EMA8ezl//38/O3m/TEA79TE+rWf/IVa+vn391MA9eHY+rul+35R+d7U+y8A8Ofd/f38/P38/P38/Pv5+fn39/n4+P38/PPw/5l1+1MA9Pn39/n39/n39/n39/n39/n39/n39/n39/Xx79CyrKJgWI4+Nr6QiPHo5fz7+/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vc19fc1tb8+/v8+/v8+/v8+/v59/fPycnl4uL8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fStK6KOTCzgHjizsz59/f59/f59/fl1NSCKST49fX59/f59/eeWlLLqKL59/f59/f59/eSRzzizMr59/f59/f59/f59/f59/f59/f59/f59/f59/f59/eVlQDh4Lz59/f59/eMjADn5M3g3ryOjgD59/f59/f39fCDgwDt69rc27OysD+ysD+ysD+ysD+ysD+/vmf59/f59/eSkgDe3bP59/f59/f59/fd3LSGhgC2tVC2tVC2tVC4tlHV1J/59/eRkQDd3LT59/f59/eqqiPIyH/d3LSGhgC2tVC2tVC2tVC4tlHV1J/59/fAv26VlQCurjW3tlGJiQDi4MD59/f59/fCwnG1tEz59/f59/f59/f49vT18/P18/P18/P18/P18/P39fP59/f59/f59/f59/f59/f59/f59/f59/dSAPTRwf359/f59/dCAPHc0Pn59/eefPhSAPR+UfeNZPk7APDUxPq1n/yFWvr59/dTAPXi2Pq7pft+UfnMvPo1AO+LZPmLZPmLZPmNY/q9p/v59/f59/f59/f59/f59/f59/f59/f59/f59/f59/eig/yGXPn59/f59/f59/dSAPTRwf359/f59/dCAPHc0Pn59/f59/f59/f59/f59/f59/f59/f59/dSAPTRwf359/f59/dCAPHc0Pn59/eefPhSAPR+UfeNZPk7APDUxPq1n/yFWvr59/dTAPXi2Pq7pft+UfnMvPo1AO+LZPmLZPmLZPmNY/q9p/v59/fm3f18TPg3APFmJvXNvfn59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fr3Nu+kYmNPTW7jYX59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv73NfX3NbW/Pv7/Pv7/Pv7/Pv7/Pv79fT0ysPD7+7u/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff33MTAl05Fm1RLzaek+PTy/fz8+vj48enngSUj59XT+ff3+/n5hzIs2Ly2+ff3+ff3+ff3kkc84szK+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3lZUAz8+O+fj4+fj0hoYA7+3f9fPuh4cA8vPl+ff35+bIg4MA7eva5uPKycmCycmCycmCycmCycmC09Gc+ff3+ff3kpIAwMBp+/r6+ff3+vn56+rXg4MA0tGT2Nal19emoaEAzs2P+ff3kZEAysuC+vj4+/r6lZUA4d+/6+rXg4MA0tGT2Nal19emoaEAzs2P+ff3+/n59vXx3Nuz19ajiIgA5+TL+ff3+ff3wsJxtbRM+ff3+ff3+ff39/b29fXz9fXz9fXz9fXz9fXz9vXz+ff3+vn5+fj4+ff3+vn5+vj4+ff3+ff3UgD0tJr++fj49/T8NwDv6eD5+ff3+/n59PH5y7r6wKz9OwDw3M75tZ/8gVP7+ff3TgD03tP8uqH8hVn649v5LwDwt5/9wq36wa/7Zyn3spr6+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3ooP8hlz5+ff3+ff3+ff3UgD0tJr++fj49/T8NwDv6eD5+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3UgD0tJr++fj49/T8NwDv6eD5+ff3+/n59PH5y7r6wKz9OwDw3M75tZ/8gVP7+ff3TgD03tP8uqH8hVn649v5LwDwt5/9wq36wa/7Zyn3spr6+ff3j2X5fU/57+j3+ff3+vn5+ff3+ff3+vn5+fj4+ff3+vn5+vj4+ff3+ff3/Pv7/fz62Ly2pmdfkEA4yqSh+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+9zX19zW1vz7+/z7+/z7+/z7+/z7+/z7++bj48/Jyfz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n3997Hxa1xaIo3L7B8dOXS0Pn396BeVq93bfPr6cWdloo3L/Tt6/n39/n39/n395JHPOLMyvn39/n39/n39/n39/n39/n39/n39/n39/n39/n395WVAKGhAO3t1s/PjpWUAPn39/n396OiALu6WvT047GxP4ODAO3r2vn39/n39/n39/n39/n39/n39/n39/n39/n395KSAJubANDQkvT049zbr/n396WkALKyQPT05N/etI6OAPPx6Pn395GRAJ2cAO7u1NPSlouLAPj29Pn396WkALKyQPT05N/etI6OAPPx6Pn399bVnvHw3f39+dPTl4mJAPTy6/n39fn59MHBbbS0Q/n59Pn59Pn399LRyqmpl6mpl6mpl6mpl6mpl7+/s/n398u6/+Tb+/n399HB/d7T/Pn39/n391IA9Gkq9uPa/rSa/lIA8/n39/n3976o/enh//v6/7ii/zwA8PLr+Lee+2AZ9+zk/zgA8bym/Zx4/JVx+vn392429oRX+u3m/826/0UA8vDp+Pn39/n39/n39/n39/n39/n39/n39/n39/f2+PHu/557/oZc+fn39/n39/n391IA9Gkq9uPa/rSa/lIA8/n39/n39/n39/n39/n39/n39/n39/n39/n391IA9Gkq9uPa/rSa/lIA8/n39/n3976o/enh//v6/7ii/zwA8PLr+Lee+2AZ9+zk/zgA8bym/Zx4/JVx+vn392429oRX+u3m/826/0UA8vDp+Pn395x5+YZc+fj1//Pw/829/fn39/n398u6/+Tb+/n399HB/d7T/Pn39+3j4byPh409NaJfV9K0rPf08vn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v6+fn8+/vc19fc1tb8+/v8+/v8+/v8+/v8+/v8+/v08vLGvr749/f8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fv5ePBlpCzf3f59/fp3tuiYFiHMiyXT0bdxcP59/f59/f59/f59/eSRzzizMr59/f59/f59/f59/f59/f59/f59/f59/f59/f59/empQrLyoeYmACWlgDV05759/f59/fk4caZmQCNjQDBwG+dnQDv7uD59/f59/f59/f59/f59/f59/f59/f59/f59/ekowDY1aeioQCJiQC2tE/59/fv7uCsqyuMjACUkwDT0Zn59/f59/ejogDBwG+SkQCSkQDT0Zz59/f59/fv7uCsqyuMjACUkwDT0Zn59/f59/fCwnGTkgCJiQCamgDb2rL59/fj4cGXlwCOjgCLiwCXlwCXlwD08u359/f59/f59/f59/f59/f59/f59/f59/dJAPOukfv59/dkIvaVcPv59/f59/dwOPavkvtYAPRWAPO9p/j59/f59/ehgfpPAPM7APBcDPTKuPr59/fArPl0QPZJAPN+T/h2RfhbAPTbzfr59/fq4vl7SvZCAPFRAPO7o/n59/f59/f59/f59/f59/f59/f59/f59/f59/fj2/lcBfRcBfScefn59/f59/f59/dwOPavkvtYAPRWAPO9p/j59/f59/f59/f59/f59/f59/f59/f59/f59/dwOPavkvtYAPRWAPO9p/j59/f59/ehgfpPAPM7APBcDPTKuPr59/fArPl0QPZJAPN+T/h2RfhbAPTbzfr59/fq4vl7SvZCAPFRAPO7o/n59/f59/fp4Pl/T/hIAPJFAPKcefn59/f59/dJAPOukfv59/dkIvaVcPv59/fHoZq1hHzn19T59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7087O3NfX1tLS3NbW/Pv7/Pv7+/r66ebm/Pr6/Pv74t/f0crK/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+vn5/Pr6kkc84szK+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3wsFytLNK+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3SQDzrpH7+ff3ZCL2lXD7+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+/r8/Pv9+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3SQDzrpH7+ff3ZCL2lXD7+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/f19d7a2snCwtzX1/z7+/z7+/v6+tPLy8jAwMvExNTMzO7s7Pz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n399zDv8eemoo5MODLyfn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n399TSmsrJhvn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n390kA86yQ+vn392Mg9ZRv+vn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n396GB+oVa9/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n390kA86yQ+vn392Mg9ZRv+vn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v5+Pj49/f8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/ffycfMqqbMqqbw5+X59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fItfri2fn59/fOvvrc0Pn59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/ff0/jVx/n59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fItfri2fn59/fOvvrc0Pn59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/r4+Pz7+/z7+/r4+Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fm5srBwG/Av2vs7NL8+/v59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3zMuKxsN7zs2PoKAAxcV3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+fj4+ff3+ff3+ff3+ff3+ff3+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/v5+fz6+PTs6f39/f////n39/n39/z7+/7+/v////////7+/v38/Pn39/n39/r5+f////z7+/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/7+/vr4+Pn39/n39/////r4+Pn39/r4+P/+/v7+/OfmypqaAPn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/38/Pv79u/v2vz79/r4+Pn39/r5+f7+/PHw2/z8+Pv6+vn39/n39/7+/vr4+Pn39/n39/////r4+Pn39/n39/n39/38/P/+/v/+/vn39/n39/n39//+/vr4+Pn39/n39/n39/n39/r5+f7+/PHw2/z8+Pv6+vn39/n39/n39/n39/r4+P79/f////z7+/n39/n39/n39/r4+P79/f////z7+/n39/r4+P7+/vT15/Hx4P///fr4+Pn39/n39//+/vr4+Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/79/f////////////////39/fn39/z7+/7+/v////////7+/v38/Pn39/38/PHu/+ni//7+/vv5+fn39/n39/n39/n39/38/P/+/v/+/vn39/n39/n39/z8/Pr4/+fd//r3//r4+Pn39/n39/n39/38/P/+/v/+/vn39/n39/n39//+/vr4+Pn39/n39/n39/n39/n39/n39/r4+P79/f////z7+/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vl4uLGvr7Gvr7Gvr7Gvr7l4uL8+/vl4uLGvr7Gvr7Gvr7Gvr7l4uL8+/v8+/vVz8/Gvr7p5ub8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f6+fn9/Pz59/X59/fZvrqGLimPPzeqbmWDKiXs4d/59/e7joaTRz6KOTCIMy2TRz6udWv59/f59/ffyMSBJSPDmJL59/f59/f59/f59/f59/f59/f59/f59/f59/f59/eVlQDg3rr59/f59/eMjADn5c759/fj4r6UlACMjAC/vmSFhQDv7uD59/f59/f59/f59/f59/f59/f59/f59/f5+Pa4t0+FhQCYmACRkADo5c759/fh4buOjgCRkACGhgDOzov59/f59/eVlQDg3rr59/f59/eMjADn5c759/f59/f39vGvrzeSkQCSkQD08u359/f59/eSkgDi4MD59/f59/f59/f59/fh4buOjgCRkACGhgDOzov59/f59/f59/f59/fp6MylpQCLiwDAv2v59/f59/f59/fp6MylpQCLiwDAv2v59/fp6c2ZmQCNjQCWlgCQkADk4sT59/f59/eSkgDi4MD59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/dsMfgvAPAvAPAvAPAvAPB3Rvj59/eYcvhSAPRCAPE+APBSAPR/T/j59/d+UfdIAPJdCfVWAPPBrv/59/f59/f59/f18fl/UvpNAPNNAPPx7Pj59/f59/yQaPw+APBRAPM/APHRwvn59/f59/f18fl/UvpNAPNNAPPx7Pj59/f59/dNAPTUxPr59/f59/f59/f59/f59/f59/fd0P1uN/c/APGde/n59/f59/f59/f59/f59/f59/f59/f49fP+/f37+vr59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pr63NfX3NbW/Pr6/Pv7/Pv7/Pv7/Pr63NfX3NbW/Pr6/Pv7/Pv7/Pv71c/Pxr6+6ebm/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+/r6/v7+4crIrXFoqGtj+ff3nVhOzaml+Pb2vpKKgSUj7OHf+ff3+ff3+ff3w5uUsXx0+ff3+ff3+ff3+ff3tIF3pGRamFBH+vj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3lZUA4N66+ff3+ff3jIwA5+XO+ff3oqIAv75q9PLtuLZVg4MA7eva+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3y8yGlZUA6OXO+ff37+3e7+3e+ff1l5cAv75q+ff12NerhoYA8O7d+ff3lZUA4N66+ff3+ff3jIwA5+XO+ff3+ff33duvm5sA9vTv+ff3+ff3+ff3+ff3kpIA4uDA+ff3+ff3+ff3+ff1l5cAv75q+ff12NerhoYA8O7d+ff3+ff3+ff3t7ZOvbxi+ff3+ff3+ff3+ff3+ff3t7ZOvbxi+ff3+ff3+ff1mZkAvr5n9vTw+ff36unU7eva+ff3+ff3kpIA4uDA+ff3+ff3+ff3/Pv7/////////////////////f39+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3bDH4pIX79vL49vL49vL49/T4+ff3+ff3+ff3ooP8hlz5+ff3+ff3+ff32Mv6+Pb4+ff3zbz+WAD0+ff3+ff3+ff3ybb8XQ/19O/3+ff3+ff3+ff3pIX+WwD07eT4+ff34tn539X5+ff3+ff3ybb8XQ/19O/3+ff3+ff3+ff3+ff3TQD01MT6+ff3+ff3+ff3+ff3+ff3+ff3jGX7l3L6+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3wZWPoF5W1Lex/Pv5/Pv7+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+9zX19zW1vz7+/z7+/z7+/z7+/z7+9zX19zW1vz7+/z7+/z7+/z7++rn5+Pg4PPx8fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/v6+vj08sqkn5ZNQpdORceemvHo5vTt64QrJvTt6/n39+fX1IElI+zh3/n39/n39/n398OblLF8dPn39/n39/n39/j29Is6MufX1ow8NOna1/n39/n39/n39/n39/n39/n39/n39/n39/n395WVAODfu/n39/n394yMAOflzvXz7IaGAPHw5Pn39+bjyIODAO3r2vr5+f38/P38/P38/P38/P38/Pz7+/n396WlALu7Yfn39/n39/n39/n39/Du3oODAOnn0vn39/n3946OANbVoPn395WVAODfu/n39/n394yMAOflzvn39/n398PDdbSzRvn39/n39/n39/n39/n395KSAOLhwfn39/n39/n39/Du3oODAOnn0vn39/n3946OANbVoPn39/n39/n395iYAN7ctvn39/n39/n39/n39/n395iYAN7ctvn39/n39+jn0IODAO/u2/38/P38/P38/Pv5+fn39/n395KSAOLhwfn39/n39/n3987NxqKij6Kij6Kij6Kij6Kij7q7rfn39/n39/n39/n39/n39/n39/n39/n392wx+KaJ/fn39/n39/n39/n39/n39/n39/n396KD/IZc+fn39/n39/n39/n4+P38/PPw/5l1+1MA9Pn39/n39/n396KD/Ihe+vn39/n39/n39/n390kA87qi+fn39/n39/n39/n39/n39/n396KD/Ihe+vn39/n39/n39/n39/n3900A9NTF+/n39/n39/n39/n39/n39/n391cA9M69+fn39/n39/n39/n39/n39/n39/n39/n39/n39/Xx79CyrKJgWI4+Nr6QiPHo5fz7+/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vc19fc1tb8+/v8+/v8+/v8+/v8+/vc19fc1tb8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fStK6KOTCzgHjizsz59/f59/f59/fgy8mMPDT59/f59/f28vCBJSPs4d/59/f59/f59/fDm5SxfHT59/f59/f59/fcw7+aU0r59/ezgHjAlo359/f59/f59/f59/f59/f59/f59/f59/f59/eVlQDh4Lz59/f59/eMjADn5M3g3ryOjgD59/f59/f39fCDgwDt69rc27OysD+ysD+ysD+ysD+ysD+/vmf59/eamgDU05n59/f59/f59/f59/fm48qEhAD59/X59/f59/efnwDMy4r59/eVlQDh4Lz59/f59/eMjADn5M359/f59/fCwnG1tEz59/f59/f59/f59/f59/eSkgDe3bP59/f59/f59/fm48qEhAD59/X59/f59/efnwDMy4r59/f59/f59/eUlADh37359/f59/f59/f59/f59/eUlADh37359/f59/fd3LSGhgC2tVC2tVC2tVC4tlHV1J/59/f59/eSkgDe3bP59/f59/f59/f49vT18/P18/P18/P18/P18/P39fP59/f59/f59/f59/f59/f59/f59/f59/dsMfimif359/f59/f59/f59/f59/f59/f59/eig/yGXPn59/f59/f59/fm3f18TPg3APFmJvXNvfn59/f59/f59/eggPyJYfv59/f59/f59/fv6PkvAPDe1Pn59/f59/f59/f59/f59/f59/eggPyJYfv59/f59/f59/f59/f59/dNAPTMuvz59/f59/f59/f59/f59/f59/dQAPTSwvn59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fr3Nu+kYmNPTW7jYX59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv73NfX3NbW/Pv7/Pv7/Pv7/Pv7/Pv73NfX3NbW/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff33MTAl05Fm1RLzaek+PTy/fz8+vj49vDwhS0o8+vp+ff35NHPgSUj7OHf+ff3+ff3+ff3w5uUsXx0+ff3+ff3+ff3sXx0wZWP+ff328O/lUtC+vj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3lZUAz8+O+fj4+fj0hoYA7+3f9fPuh4cA8vPl+ff35+bIg4MA7eva5uPKycmCycmCycmCycmCycmC09Gc+ff3qKcbuLdP+/r6+ff3+vn5+fj48fDkg4MA5+bK+ff3+/r4iYkA2NWn+ff3lZUAz8+O+fj4+fj0hoYA7+3f+ff3+ff3wsJxtbRM+ff3+ff3+ff3+ff3+ff3kpIAwMBp+/r6+ff3+vn58fDkg4MA5+bK+ff3+/r4iYkA2NWn+ff3+ff3+ff3lJQA4d+9+ff3+ff3+ff3+ff3+ff3lJQA4d+9+ff3+ff36+rXg4MA0tGT2Nal19emoaEAzs2P+ff3+ff3kpIAwMBp+/r6+ff3+vn59/b29fXz9fXz9fXz9fXz9fXz9vXz+ff3+vn5+fj4+ff3+vn5+vj4+ff3+ff3bDH4pon9+ff3+ff3+ff3+ff3+ff3+ff3+ff3ooP8hlz5+ff3+ff3+ff3j2X5fU/57+j3+ff3+vn5+ff3+ff3+ff3oID8iWH7+ff3+ff3+ff33dH6LwDw7OX5+ff3+ff3+ff3+ff3+ff3+ff3oID8iWH7+ff3+ff3+ff3+ff3+ff3TQD0nHj8+/r6+ff3+vn5+ff3+ff3+ff3UAD00sL5+ff3+ff3+ff3+vn5+fj4+ff3+vn5+vj4+ff3+ff3/Pv7/fz62Ly2pmdfkEA4yqSh+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+9zX19zW1vz7+/z7+/z7+/z7+/z7+9zX19zW1vz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n3997Hxa1xaIo3L7B8dOXS0Pn396JgWLqLg/Lq6K92bIElI+zi4Pn39/j29vfx78CWjbF8dPn39/n39/f08ok2MOjY2Pn39/f09Iw7M+XU0vn39/n39/n39/n39/n39/n39/n39/n395WVAKGhAO3t1s/PjpWUAPn39/n396OiALu6WvT047GxP4ODAO3r2vn39/n39/n39/n39/n39/n39/n39/n399bUoY6OANXVm/z8997ds+nn0vn396GhALGwOfT048XFeYyMAPPx6vn395WVAKGhAO3t1s/PjpWUAPn39/n39fn59MHBbbS0Q/n59Pn59Pn39/n39/n395KSAJubANDQkvT049zbr/n396GhALGwOfT048XFeYyMAPPx6vn39/n39/n395SUAOHfvfn39/n39/n39/n39/n395SUAOHfvfn39/n39/n396WkALKyQPT05N/etI6OAPPx6Pn39/n395KSAJubANDQkvT049zbr9LRyqmpl6mpl6mpl6mpl6mpl7+/s/n398u6/+Tb+/n399HB/d7T/Pn39/n392wx+KaJ/fn39/n39/n39/n39/n39/f2+PHu/557/oZc+fn39/n39/n395x5+YZc+fj1//Pw/829/fn39/j2+Pbz/557/oZb+/bz//bz//n39+3k+C8A8OLX+/n39/n39/n39/n39/j2+Pbz/557/oZb+/bz//bz//n39/n39/n3900A9F4P9bSd/uzl/8e2/vn39/n39/n391AA9NLC+fn39/n39/n398u6/+Tb+/n399HB/d7T/Pn39+3j4byPh409NaJfV9K0rPf08vn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v6+fn8+/vc19fc1tb8+/v8+/v8+/v6+fn8+/vc19fc1tb8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fv5ePBlpCzf3f59/fk0M6YUUiLODK/koqELCfs4uD59/fq392YUUiYUUi/kor59/f59/ffycelZ1/59/f59/f59/e7jobIo5359/f59/f59/f59/f59/f59/f59/f59/empQrLyoeYmACWlgDV05759/f59/fk4caZmQCNjQDBwG+dnQDv7uD59/f59/f59/f59/f59/f59/f59/f59/f59/fLyomVlQCJiQCenQDs6tn59/fq6dSjogCJiQCZmQDc27P59/f59/empQrLyoeYmACWlgDV05759/fj4cGXlwCOjgCLiwCXlwCXlwD08u359/f59/ekowDY1aeioQCJiQC2tE/59/fq6dSjogCJiQCZmQDc27P59/f59/f59/f59/eUlADh37359/f59/f59/f59/f59/eUlADh37359/f59/f59/fv7uCsqyuMjACUkwDT0Zn59/f59/f59/ekowDY1aeioQCJiQC2tE/59/f59/f59/f59/f59/f59/f59/f59/dJAPOukfv59/dkIvaVcPv59/f59/dsMfimif359/f59/f59/f59/f59/fj2/lcBfRcBfScefn59/f59/f59/fp4Pl/T/hIAPJFAPKcefn59/fVx/lWAPNFAPJAAPFWAPNWAPPx7Pj59/dFAPLArf759/f59/f59/f5+PjVx/lWAPNFAPJAAPFWAPNWAPPx7Pj59/f59/dsMvbCrfpqKvQ7APCLYfj59/f59/f59/dQAPTSwvn59/f59/f59/dJAPOukfv59/dkIvaVcPv59/fHoZq1hHzn19T59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7087O3NfX1tLS3NbW/Pv7/Pv7/Pv7087O3NfX1tLS3NbW/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3hCwn7OLg+ff3+ff3+ff3+/r6/Pv7+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3wsFytLNK+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+vn5/Pr6lJQA4d+9+ff3+ff3+ff3+vn5/Pr6lJQA4d+9+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3SQDzrpH7+ff3ZCL2lXD7+ff3+ff3bDH4pon9+ff3+ff3+ff3+ff3+ff3+ff3+ff3+/r8/Pv9+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3oH/7iGD6+ff3+ff3+ff3+ff3n376YBb28/D//v7+6+P/49n5+ff3+ff3oH/7iGD6+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+vn5/Pr6UAD00sL5+ff3+ff3+ff3SQDzrpH7+ff3ZCL2lXD7+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/f19d7a2snCwtzX1/z7+/z7+/z7+/f19d7a2snCwtzX1/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n394QsJ+zi4Pn39/n39/n398KYkrB6cvn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n399TSmsrJhvn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n399vasMfHe4yMAODevPn39/n39/n399vasMfHe4yMAODevPn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n390kA86yQ+vn392Mg9ZRv+vn39/n392st96WH+vn39/n39/n39/n39/n39/n39/n396GB+oVa9/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n397yl+a2Q+fn39/n39/n39/n39/by+I9o+EIA8VIA9EIA8dLC+fn39/n397yl+a2Q+fn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n398m3+qmK+0IA8dHB+Pn39/n39/n390kA86yQ+vn392Mg9ZRv+vn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fSs6308O759/f59/f59/fo2Njjz8359/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/ff3rrNzI7NzI7v7uD59/f59/f59/ff3rrNzI7NzI7v7uD59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fItfri2fn59/fOvvrc0Pn59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/ff0/jVx/n59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f39Pjk2fn18ff59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fPv/uymPqymPrq4vn59/f59/f59/fItfri2fn59/fOvvrc0Pn59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff39PDu9e7s+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/b09Pz6+vz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+jd2oo3L/bw7vn39/n39/n39/n39/n39/v5+fz6+PTs6f39/f////n39/n39/z7+/7+/v////////7+/v38/Pn39/n39/r5+f////z7+/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vl4uLGvr7Gvr7Gvr7Gvr7l4uL8+/v18/POx8fNxsbKwsLu6+v8+/v8+/v8+/vVz8/Gvr7p5ub8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f6+fn9/Pz59/X59/erb2fHn5j59/f59/f59/f59/f59/fZvrqGLimPPzeqbmWDKiXs4d/59/e7joaTRz6KOTCIMy2TRz6udWv59/f59/ffyMSBJSPDmJL59/f59/f49fP+/f37+vr59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pr63NfX3NbW/Pr6/Pv7/Pv71tHR3NfX/Pv76ufny8TE/Pr6/Pv7/Pv71c/Pxr6+6ebm/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+/r6/v7+4crIrXFoqGtj+ff34MvJkEE5+Pb0+ff3+ff3+ff3+ff3nVhOzaml+Pb2vpKKgSUj7OHf+ff3+ff3+ff3w5uUsXx0+ff3+ff3+ff3+ff3tIF3pGRamFBH+vj4+ff3wZWPoF5W1Lex/Pv5/Pv7+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+9zX19zW1vz7+/z7+/r5+ce/v9PLy/z7+/z7+8nCwu7t7fz7+/z7++rn5+Pg4PPx8fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/v6+vj08sqkn5ZNQpdORceemvHo5vn39/n396BdVdGyrPn39/n39/n39/Tt64QrJvTt6/n39+fX1IElI+zh3/n39/n39/n398OblLF8dPn39/n39/n39/j29Is6MufX1ow8NOna1/n39/Xx79CyrKJgWI4+Nr6QiPHo5fz7+/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vc19fc1tb8+/v8+/v18/PGvr7b19fm4uL8+/vRysro5eX8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fStK6KOTCzgHjizsz59/f59/f59/f59/f59/fWuraZUUj6+fn59/f59/fgy8mMPDT59/f59/f28vCBJSPs4d/59/f59/f59/fDm5SxfHT59/f59/f59/fcw7+aU0r59/ezgHjAlo359/f59/f59/f59/fr3Nu+kYmNPTW7jYX59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv73NfX3NbW/Pv7/Pv78e7uxr6++fj4z8nJ+Pb21MzM5OHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff33MTAl05Fm1RLzaek+PTy/fz8+vj4+ff3+ff3+Pb2lkxD3cTA+ff3+ff39vDwhS0o8+vp+ff35NHPgSUj7OHf+ff3+ff3+ff3w5uUsXx0+ff3+ff3+ff3sXx0wZWP+ff328O/lUtC+vj4+ff3/Pv7/fz62Ly2pmdfkEA4yqSh+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+9zX19zW1vz7+/z7+/Ty8sa+vvv5+ejl5drW1tHKyujl5fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n3997Hxa1xaIo3L7B8dOXS0Pn39/n39/n398uooqRkWvr4+Pn39/n396JgWLqLg/Lq6K92bIElI+zi4Pn39/j29vfx78CWjbF8dPn39/n39/f08ok2MOjY2Pn39/f09Iw7M+XU0u3j4byPh409NaJfV9K0rPf08vn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v6+fn8+/vc19fc1tb8+/v8+/v6+fnGv7/z8fH8+/vSzc3IwMDu7Oz8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fv5ePBlpCzf3f59/f59/f59/f18e+NPTXn1NL59/f59/fk0M6YUUiLODK/koqELCfs4uD59/fq392YUUiYUUi/kor59/f59/ffycelZ1/59/f59/f59/e7jobIo53HoZq1hHzn19T59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7087O3NfX1tLS3NbW/Pv7/Pv7/Pv71dHR3tra/Pv74N3dy8TE/Pr6/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3wZaQr3hu+fj4+ff3+ff3+ff3+ff3+ff3hCwn7OLg+ff3+ff3+ff3+/r6/Pv7+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/f19d7a2snCwtzX1/z7+/z7+/z7+/X09M/KysvExMvExO7s7Pz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/Hp54k2MOvh3vn39/n39/n39/n39/n394QsJ+zi4Pn39/n39/n398KYkrB6cvn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v59/f8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fSs6308O759/f59/f59/fo2Njjz8359/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f5+Pj59/f59/f59/f59/f59/f59/f5+Pj59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+/r6+fn56Ofn+Pb2+ff3+ff3+ff3+/r6+fn56Ofn+Pb2+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36+rq9PPz/fz8+ff3+ff3+ff3+ff36+rq9PPz/fz8+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/b19ff29vz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/r4+P////n39/n39/n39/79/fv6+vn39/r4+P7+/u/v7+rq6v7+/vr4+Pn39/n39/n39/r4+P79/f////z7+/n39/n39/n39/r4+P79/f////z7+/n39/r5+f39/eno6Pv6+vv6+vn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39768vFhTVXh0dPPx8fn39/n39/n39768vFhTVXh0dPPx8fn39/7+/vr4+Pn39/n39/////r4+Pn39/z7+/f39/Tz8/38/P/+/vr4+Pv6+v38/Pn39/7+/vn4+Pv5+f38/Pn39/r4+P7+/u/v7+rq6v7+/vr4+Pn396CdnV5aWomGhvn39/n39/n39/n396CdnV5aWomGhvn39/n39/n39/n39/n39/n39/////z8/Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/ve2NjKw8PJwsLRysr18/P8+/v8+/v8+/vVz8/Gvr7p5ub8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fY1dVNSEr59/f59/f59/d1cnKyr6/59/fe3d1qZ2daVVdnZGReW1vZ1tb59/f59/f59/ff3d18eXlXU1OkoaH59/f59/f59/ff3d18eXlXU1OkoaH59/fU09NcV1lfW1tQTU23tbX59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/d+e3utq6v59/f59/f59/f59/f59/d+e3utq6v59/f59/f59/dlYGLT0dH59/f59/dZVVXe3Nz59/ejoaFcV1lhXV2Qjo5fW13W09O7urqPjY359/dmYWPi4eHAvr6Jhob59/fe3d1qZ2daVVdnZGReW1vZ1tb59/f59/fk4+NMR0fx7+/59/f59/f59/f59/fk4+NMR0fx7+/59/f59/f59/f59/f59/dQTEyYlJT59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv79vX1/Pv7/Pv739ra08zM/Pv7/Pv7/Pv71c/Pxr6+6ebm/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff32NXVTUhK+ff3+ff3+ff3dXJysq+v+Pb2amdnoZ+f9fLy+ff34uHh5+Tk+ff3+ff3+ff3lZOTn5yc+ff3+ff3+ff3+ff3+ff3lZOTn5yc+ff3+ff3+Pb2aGRko6Cg+Pb2ycbGUE1N6efn+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3dHBwwsHB+ff3+ff3+ff3+ff3+ff3dHBwwsHB+ff3+ff3+ff3ZWBi09HR+ff3+ff3WVVV3tzc7evrVFBQ6ebm9/X1pKGhTEdH1tPTu7q6j42N+ff3ZmFj4uHhwL6+iYaG+Pb2amdnoZ+f9fLy+ff34uHh5+Tk+ff3+ff3+ff3TUhK5+Tk+ff3+ff3+ff3+ff3+ff3TUhK5+Tk+ff3+ff3+ff3+ff3+ff3npubxcHB+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/v5+cnCwvPx8fz7+/z7++rn5+Pg4PPx8fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n399jV1U1ISvn39/n39/n393VycrKvr9/e3kxHR+jm5v38/P38/P38/Pv5+fn39/n39/n392lmZtHOzvn39/n39/n39/n39/n392lmZtHOzvn39/n39+rn50xHR+Df3/n39/n391tXV8PBwfn39/n39/n39/n39/n39/n39/n39/n39/n39/z7+2RhYczKyvn39/n39/n39/n39/z7+2RhYczKyvn39/n39/n392VgYtPS0vn39/n391lVVd7c3PDt7VpVV+3t7f38/O7t7U1IStbT07u6uo+Njfn392ZhY+Lh4cC+vomGht/e3kxHR+jm5v38/P38/P38/Pv5+fn39/n39/n391hTVdva2vr4+Pn39/n39/n39/n391hTVdva2vr4+Pn39/n39/n39/n39/z7+/r5+fn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vx7+/Tzc3Nxsbg29vTzMzs6Oj8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fY1dVNSEr7+vr7+vr7+vp1cnKyr6/Pzc1QTEyVkpKVkpKVkpKXk5PBv7/59/f59/f59/djYGDV0tL59/f59/f59/f59/f59/djYGDV0tL59/f59/fc2tpOSUv49vb59/f59/d0cHC1s7P59/f59/f59/f59/f59/f59/f59/f59/fr6emtq6tdWFr08vL59/f59/f59/fr6emtq6tdWFr08vL59/f59/f59/dlYGLU0tL59/f59/dZVVXe29v59/eloqJlYWOJhoaVk5NUUFDW09O7urqPjY359/dmYWPj4eHAvr6JhobPzc1QTEyVkpKVkpKVkpKXk5PBv7/59/f59/f59/eRjo6Df3/g39/19PT59/f59/f59/eRjo6Df3/g39/19PT59/f59/f59/eem5vU0tL59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv70s3N3tjY9PLy3NbWyMDA5+Pj/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff32NXVTEdHsq+vsq+vsq+vY2Bgsq+v5OLiTEdHvLq6xsPDxcTEdnNzuLa2+ff3+ff3+ff3Y2Bg1dLS+ff3+ff3+ff3+ff3+ff3Y2Bg1dLS+ff3+ff37evrTEdH3Nvb+ff3+vn5VVBSx8TE+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3dXFxaWZmzczM+ff3+ff3+ff3+ff3dXFxaWZmzczM+ff3+ff3+ff3+ff3ZWBiube3+fj49/b2UE1N6efn+ff3+/n59fPzzszMxMLCU09P3drau7q6jIqK+ff3Yl9f397evru7j4yM5OLiTEdHvLq6xsPDxcTEdnNzuLa2+ff3+ff3+ff35uTkh4KEZ2Rk0M7O+ff3+ff3+ff35uTkh4KEZ2Rk0M7O+ff3+ff3+ff3dnNzvby8+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/j398e/v/j29vz7+/j29sa+vurn5/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n399jV1UxHR46Li46Li46Li1tXV7Kvr/n393x4eI6MjO7u7tDOzltXV/Dt7fn39/n39/n392NgYNXS0vn39/n39/n39/n39/n392NgYNXS0vn39/n39/n393d0dIyJie3t7aupqVhTVfDu7vn39/n39/n39/n39/n39/n39/n39/n39/n39+nn51BNTero6Pn39/n39/n39/n39+nn51BNTero6Pn39/n39/n392VgYnd0dOTk5Lm3t2VgYPn39/n398LAwOro6Pv7+768vFVQUvHv77u5uXFubu3s7FJOTsG/v6OhoZ2amvn393x4eI6MjO7u7tDOzltXV/Dt7fn39/n39/n393Zzc7Szs/n39/n39/n39/n39/n393Zzc7Szs/n39/n39/n39/n39/n3929sbLa1tfn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v08vLHv7/7+fn8+/v7+vrIwMDv7e38+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fY1dVNSEr59/f59/f59/d1cnKyr6/59/fr6OiGgoJYU1VkYGC/vLz59/f59/f59/f59/djYGDV0tL59/f59/f59/f59/f59/djYGDV0tL59/f59/f59/fi4eF6dnZVUFJraGjOzMz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/dvbGzGw8P59/f59/f59/f59/f59/dvbGzGw8P59/f59/f59/d9eXm0sbFpZmZnZGTCv7/59/f59/enpaViXV9UUFBtamrNy8v59/fFwcGAfn5eWlqJhYWCgIBsZ2nc2tr59/fr6OiGgoJYU1VkYGC/vLz59/f59/f59/f59/dQTEzi4eH59/f59/f59/f59/f59/dQTEzi4eH59/f59/f59/f59/f59/dvbGy2tbX59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7z8nJ6ufn/Pv76eXly8TE/Pr6/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff32NXVTUhK+ff3+ff3+ff3dXJysq+v+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+vn5/Pr6Y2Bg1dLS+ff3+ff3+ff3+vn5/Pr6Y2Bg1dLS+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3dHBwxMLC+ff3+ff3+ff3+ff3+ff3dHBwxMLC+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+fj4TUhK5uPj+ff3+ff3+ff3+ff3+fj4TUhK5uPj+ff3+ff3+ff3+ff3+ff3b2xstrW1+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7++zp6dLLy83GxsrDw+7r6/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n399fU1E1ISvn39/n39/n393RwcLCtrfn39/n39/n39/n39/n39/n39/n39/n398zKyq6rq1lVVdTR0fn39/n39/n398zKyq6rq1lVVdTR0fn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39397e6yqqv7+/vn39/n39/n39/n39397e6yqqv7+/vn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/z8/Ojn50xHR/Lw8Pn39/n39/n39/z8/Ojn50xHR/Lw8Pn39/n39/n39/n39/n3925ra7Wzs/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v49vb8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fS0NC3tbW3tbXr6Oj59/f59/f59/fS0NC3tbW3tbXr6Oj59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fHxMRkYGBtamry8PD59/f59/f59/fHxMRkYGBtamry8PD59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/eXlJRhXV2Zlpb59/f59/f59/f59/eXlJRhXV2Zlpb59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/r4+Pz7+/z7+/r4+Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fm5srBwG/Av2vs7NL8+/v59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3zMuKxsN7zs2PoKAAxcV3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+fj4+ff3+ff3+ff3+ff3+ff3+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/f29vz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/v5+fz6+PTs6f39/f////n39/n39/z7+/7+/v////////7+/v38/Pn39/n39/r5+f////z7+/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/7+/vr4+Pn39/n39/////r4+Pn39/r4+P/+/v7+/OfmypqaAPn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/38/Pv79u/v2vz79/r4+Pn39/r5+f7+/PHw2/z8+Pv6+vn39/n39/7+/vr4+Pn39/n39/////r4+Pn39/n39/n39/38/P/+/v/+/vn39/n39/n39//+/vr4+Pn39/n39/n39/n39/r5+f7+/PHw2/z8+Pv6+vn39/n39/n39/n39/r4+P79/f////z7+/n39/n39/n39/r4+P79/f////z7+/n39/r4+P7+/vT15/Hx4P///fr4+Pn39/n39//+/vr4+Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/39/fTx/+zk//7+/vr4+Pn39/n39//+/vr4+Pn39/n39/n39/n39/r4+P7+/u7p/+ni//7+//r4+Pn39/r4+P7+/u7p/+ni//7+//r4+Pn39/n39/n39/38/P/+/v/+/vn39/n39/n39/z8/Pr4/+fd//r3//r4+Pn39/n39/n39/38/P/+/v/+/vn39/n39/n39//+/vr4+Pn39/n39/n39/n39/n39/n39/r4+P79/f////z7+/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vq5+fPysrNxsbNxsbh3t78+/v8+/v8+/vVz8/Gvr7p5ub8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f6+fn9/Pz59/X59/fZvrqGLimPPzeqbmWDKiXs4d/59/e7joaTRz6KOTCIMy2TRz6udWv59/f59/ffyMSBJSPDmJL59/f59/f59/f59/f59/f59/f59/f59/f59/f59/eVlQDg3rr59/f59/eMjADn5c759/fj4r6UlACMjAC/vmSFhQDv7uD59/f59/f59/f59/f59/f59/f59/f59/f5+Pa4t0+FhQCYmACRkADo5c759/fh4buOjgCRkACGhgDOzov59/f59/eVlQDg3rr59/f59/eMjADn5c759/f59/f39vGvrzeSkQCSkQD08u359/f59/eSkgDi4MD59/f59/f59/f59/fh4buOjgCRkACGhgDOzov59/f59/f59/f59/fp6MylpQCLiwDAv2v59/f59/f59/fp6MylpQCLiwDAv2v59/fp6c2ZmQCNjQCWlgCQkADk4sT59/f59/eSkgDi4MD59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fv6/5yO/dCAPFQAPNWAPXWyfz59/f59/dNAPTUxPr59/f59/f59/f59/fc0f9ZAPVDAPFWAPNJAPPWyfn59/fc0f9ZAPVDAPFWAPNJAPPWyfn59/f59/f18fl/UvpNAPNNAPPx7Pj59/f59/yQaPw+APBRAPM/APHRwvn59/f59/f18fl/UvpNAPNNAPPx7Pj59/f59/dNAPTUxPr59/f59/f59/f59/f59/f59/fd0P1uN/c/APGde/n59/f59/f59/f59/f59/f59/f59/f49fP+/f37+vr59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7zcbG6OTk/Pv79PHxx7+/9vT0/Pv7/Pv71c/Pxr6+6ebm/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+/r6/v7+4crIrXFoqGtj+ff3nVhOzaml+Pb2vpKKgSUj7OHf+ff3+ff3+ff3w5uUsXx0+ff3+ff3+ff3+ff3tIF3pGRamFBH+vj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3lZUA4N66+ff3+ff3jIwA5+XO+ff3oqIAv75q9PLtuLZVg4MA7eva+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3y8yGlZUA6OXO+ff37+3e7+3e+ff1l5cAv75q+ff12NerhoYA8O7d+ff3lZUA4N66+ff3+ff3jIwA5+XO+ff3+ff33duvm5sA9vTv+ff3+ff3+ff3+ff3kpIA4uDA+ff3+ff3+ff3+ff1l5cAv75q+ff12NerhoYA8O7d+ff3+ff3+ff3t7ZOvbxi+ff3+ff3+ff3+ff3+ff3t7ZOvbxi+ff3+ff3+ff1mZkAvr5n9vTw+ff36unU7eva+ff3+ff3kpIA4uDA+ff3+ff3+ff3/Pv7/////////////////////f39+ff3+ff3+ff3+ff3+ff3+ff3+ff3+fj4d0T5f1L49/X3+ff3dUD3ooP8+ff3+ff3TQD01MT6+ff3+ff3+ff3+Pb4WQD1mXf79PD4+ff34dj45tz4+Pb4WQD1mXf79PD4+ff34dj45tz4+ff3+ff3ybb8XQ/19O/3+ff3+ff3+ff3pIX+WwD07eT4+ff34tn539X5+ff3+ff3ybb8XQ/19O/3+ff3+ff3+ff3+ff3TQD01MT6+ff3+ff3+ff3+ff3+ff3+ff3jGX7l3L6+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3wZWPoF5W1Lex/Pv5/Pv7+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Tx8ca+vvr4+Pz7+/z7+8/Kyufk5Pz7+/z7++rn5+Pg4PPx8fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/v6+vj08sqkn5ZNQpdORceemvHo5vTt64QrJvTt6/n39+fX1IElI+zh3/n39/n39/n398OblLF8dPn39/n39/n39/j29Is6MufX1ow8NOna1/n39/n39/n39/n39/n39/n39/n39/n39/n395WVAODfu/n39/n394yMAOflzvXz7IaGAPHw5Pn39+bjyIODAO3r2vr5+f38/P38/P38/P38/P38/Pz7+/n396WlALu7Yfn39/n39/n39/n39/Du3oODAOnn0vn39/n3946OANbVoPn395WVAODfu/n39/n394yMAOflzvn39/n398PDdbSzRvn39/n39/n39/n39/n395KSAOLhwfn39/n39/n39/Du3oODAOnn0vn39/n3946OANbVoPn39/n39/n395iYAN7ctvn39/n39/n39/n39/n395iYAN7ctvn39/n39+jn0IODAO/u2/38/P38/P38/Pv5+fn39/n395KSAOLhwfn39/n39/n3987NxqKij6Kij6Kij6Kij6Kij7q7rfn39/n39/n39/n39/n39/n39/n39+Pa+jEA7+Pb+fn39/v5+X1M+KKD/Pn39/n3900A9NTF+/n39/n39/n3997U+y8A8Ofd/f38/P38/P38/Pv5+d7U+y8A8Ofd/f38/P38/P38/Pv5+fn39/n396KD/Ihe+vn39/n39/n39/n390kA87qi+fn39/n39/n39/n39/n39/n396KD/Ihe+vn39/n39/n39/n39/n3900A9NTF+/n39/n39/n39/n39/n39/n391cA9M69+fn39/n39/n39/n39/n39/n39/n39/n39/n39/Xx79CyrKJgWI4+Nr6QiPHo5fz7+/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vLw8Ps6en8+/v39fXHv7/08vL8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fStK6KOTCzgHjizsz59/f59/f59/fgy8mMPDT59/f59/f28vCBJSPs4d/59/f59/f59/fDm5SxfHT59/f59/f59/fcw7+aU0r59/ezgHjAlo359/f59/f59/f59/f59/f59/f59/f59/f59/eVlQDh4Lz59/f59/eMjADn5M3g3ryOjgD59/f59/f39fCDgwDt69rc27OysD+ysD+ysD+ysD+ysD+/vmf59/eamgDU05n59/f59/f59/f59/fm48qEhAD59/X59/f59/efnwDMy4r59/eVlQDh4Lz59/f59/eMjADn5M359/f59/fCwnG1tEz59/f59/f59/f59/f59/eSkgDe3bP59/f59/f59/fm48qEhAD59/X59/f59/efnwDMy4r59/f59/f59/eUlADh37359/f59/f59/f59/f59/eUlADh37359/f59/fd3LSGhgC2tVC2tVC2tVC4tlHV1J/59/f59/eSkgDe3bP59/f59/f59/f49vT18/P18/P18/P18/P18/P39fP59/f59/f59/f59/f59/f59/f59/fFsf1DAPH59/f59/e+qf5kH/eigvv59/f59/dNAPTMuvz59/f59/f59/fMvPo1AO+LZPmLZPmLZPmNY/q9p/vMvPo1AO+LZPmLZPmLZPmNY/q9p/v59/f59/eggPyJYfv59/f59/f59/fv6PkvAPDe1Pn59/f59/f59/f59/f59/f59/eggPyJYfv59/f59/f59/f59/f59/dNAPTMuvz59/f59/f59/f59/f59/f59/dQAPTSwvn59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fr3Nu+kYmNPTW7jYX59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78e/vz8rK0svLzMXF6+jo/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff33MTAl05Fm1RLzaek+PTy/fz8+vj49vDwhS0o8+vp+ff35NHPgSUj7OHf+ff3+ff3+ff3w5uUsXx0+ff3+ff3+ff3sXx0wZWP+ff328O/lUtC+vj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3lZUAz8+O+fj4+fj0hoYA7+3f9fPuh4cA8vPl+ff35+bIg4MA7eva5uPKycmCycmCycmCycmCycmC09Gc+ff3qKcbuLdP+/r6+ff3+vn5+fj48fDkg4MA5+bK+ff3+/r4iYkA2NWn+ff3lZUAz8+O+fj4+fj0hoYA7+3f+ff3+ff3wsJxtbRM+ff3+ff3+ff3+ff3+ff3kpIAwMBp+/r6+ff3+vn58fDkg4MA5+bK+ff3+/r4iYkA2NWn+ff3+ff3+ff3lJQA4d+9+ff3+ff3+ff3+ff3+ff3lJQA4d+9+ff3+ff36+rXg4MA0tGT2Nal19emoaEAzs2P+ff3+ff3kpIAwMBp+/r6+ff3+vn59/b29fXz9fXz9fXz9fXz9fXz9vXz+ff3+vn5+fj4+ff3+vn5+vj4+ff3tJv7UgD0+ff3+ff3g1X4ekj2vqj6+ff3+ff3TQD0nHj8+/r6+ff3+vn549v5LwDwt5/9wq36wa/7Zyn3spr649v5LwDwt5/9wq36wa/7Zyn3spr6+ff3+ff3oID8iWH7+ff3+ff3+ff33dH6LwDw7OX5+ff3+ff3+ff3+ff3+ff3+ff3oID8iWH7+ff3+ff3+ff3+ff3+ff3TQD0nHj8+/r6+ff3+vn5+ff3+ff3+ff3UAD00sL5+ff3+ff3+ff3+vn5+fj4+ff3+vn5+vj4+ff3+ff3/Pv7/fz62Ly2pmdfkEA4yqSh+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7++bi4tTMzOfj49fS0tzX1/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n3997Hxa1xaIo3L7B8dOXS0Pn396JgWLqLg/Lq6K92bIElI+zi4Pn39/j29vfx78CWjbF8dPn39/n39/f08ok2MOjY2Pn39/f09Iw7M+XU0vn39/n39/n39/n39/n39/n39/n39/n395WVAKGhAO3t1s/PjpWUAPn39/n396OiALu6WvT047GxP4ODAO3r2vn39/n39/n39/n39/n39/n39/n39/n399bUoY6OANXVm/z8997ds+nn0vn396GhALGwOfT048XFeYyMAPPx6vn395WVAKGhAO3t1s/PjpWUAPn39/n39fn59MHBbbS0Q/n59Pn59Pn39/n39/n395KSAJubANDQkvT049zbr/n396GhALGwOfT048XFeYyMAPPx6vn39/n39/n395SUAOHfvfn39/n39/n39/n39/n395SUAOHfvfn39/n39/n396WkALKyQPT05N/etI6OAPPx6Pn39/n395KSAJubANDQkvT049zbr9LRyqmpl6mpl6mpl6mpl6mpl7+/s/n398u6/+Tb+/n399HB/d7T/Pn398Kv+0MA8fn39/n39/n39/n39/n39/n39/n3900A9F4P9bSd/uzl/8e2/vn392429oRX+u3m/826/0UA8vDp+Pn392429oRX+u3m/826/0UA8vDp+Pj2+Pbz/557/oZb+/bz//bz//n39+3k+C8A8OLX+/n39/n39/n39/n39/j2+Pbz/557/oZb+/bz//bz//n39/n39/n3900A9F4P9bSd/uzl/8e2/vn39/n39/n391AA9NLC+fn39/n39/n398u6/+Tb+/n399HB/d7T/Pn39+3j4byPh409NaJfV9K0rPf08vn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vMxcXu6+v8+/v5+PjGv7/19PT8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fv5ePBlpCzf3f59/fk0M6YUUiLODK/koqELCfs4uD59/fq392YUUiYUUi/kor59/f59/ffycelZ1/59/f59/f59/e7jobIo5359/f59/f59/f59/f59/f59/f59/f59/empQrLyoeYmACWlgDV05759/f59/fk4caZmQCNjQDBwG+dnQDv7uD59/f59/f59/f59/f59/f59/f59/f59/f59/fLyomVlQCJiQCenQDs6tn59/fq6dSjogCJiQCZmQDc27P59/f59/empQrLyoeYmACWlgDV05759/fj4cGXlwCOjgCLiwCXlwCXlwD08u359/f59/ekowDY1aeioQCJiQC2tE/59/fq6dSjogCJiQCZmQDc27P59/f59/f59/f59/eUlADh37359/f59/f59/f59/f59/eUlADh37359/f59/f59/fv7uCsqyuMjACUkwDT0Zn59/f59/f59/ekowDY1aeioQCJiQC2tE/59/f59/f59/f59/f59/f59/f59/f59/dJAPOukfv59/dkIvaVcPv59/fh1/kxAO/o3v759/f59/f6+Pj59/f59/f59/dsMvbCrfpqKvQ7APCLYfj59/fq4vl7SvZCAPFRAPO7o/n59/f59/fq4vl7SvZCAPFRAPO7o/n59/fVx/lWAPNFAPJAAPFWAPNWAPPx7Pj59/dFAPLArf759/f59/f59/f5+PjVx/lWAPNFAPJAAPFWAPNWAPPx7Pj59/f59/dsMvbCrfpqKvQ7APCLYfj59/f59/f59/dQAPTSwvn59/f59/f59/dJAPOukfv59/dkIvaVcPv59/fHoZq1hHzn19T59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv708vL5eLi/Pv78e/vycHB+fj4/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3hCwn7OLg+ff3+ff3+ff3+/r6/Pv7+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3wsFytLNK+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+vn5/Pr6lJQA4d+9+ff3+ff3+ff3+vn5/Pr6lJQA4d+9+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3SQDzrpH7+ff3ZCL2lXD7+ff3+ff3dED2glX5/f3///7+1MX/5tz4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3oH/7iGD6+ff3+ff3+ff3+ff3n376YBb28/D//v7+6+P/49n5+ff3+ff3oH/7iGD6+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+vn5/Pr6UAD00sL5+ff3+ff3+ff3SQDzrpH7+ff3ZCL2lXD7+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7++7r69HKys/IyM7Hx+Xi4vz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n394QsJ+zi4Pn39/n39/n398KYkrB6cvn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n399TSmsrJhvn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n399vasMfHe4yMAODevPn39/n39/n399vasMfHe4yMAODevPn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n390kA86yQ+vn392Mg9ZRv+vn39/n39+3k+HM/9kQA8k8A81UA8+fe+Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n397yl+a2Q+fn39/n39/n39/n39/by+I9o+EIA8VIA9EIA8dLC+fn39/n397yl+a2Q+fn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n398m3+qmK+0IA8dHB+Pn39/n39/n390kA86yQ+vn392Mg9ZRv+vn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v49/f8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fSs6308O759/f59/f59/fo2Njjz8359/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/ff3rrNzI7NzI7v7uD59/f59/f59/ff3rrNzI7NzI7v7uD59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fItfri2fn59/fOvvrc0Pn59/f59/f59/f59/fy7fnn3vj59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f39Pjk2fn18ff59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fPv/uymPqymPrq4vn59/f59/f59/fItfri2fn59/fOvvrc0Pn59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/z7+/v6+vn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fFnJXSs6z7+fn59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3y6iinFZPuoqC+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39//+/v38/Pjy8Pfz8fz7+/n39/n39/r5+f79/fDk4vz6+Pv6+vn39/n39/v5+fz6+PTs6f39/f////n39/n39/n39+vh3ocwK/Tt6/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vOx8fn4+P8+/v8+/v8+/v8+/v8+/vVz8/Gvr7p5ub8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f6+fn9/Pz59/X59/eSRD2scWiNPTWDKiXAlo359/f59/fizMqMPDSPPzeELCfNqqb59/f59/fZvrqGLimPPzeqbmWDKiXs4d/59/f59/f28O6GLinKp6H59/f59/f49fP+/f37+vr59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv74t7e0s3N/Pv7/Pv7/Pv7/Pv7/Pv71c/Pxr6+6ebm/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+/r6/v7+4crIrXFoqGtj+ff3kkQ9p2lh9PDu5dTUhjAq9PDu+Pb2lUtCv5KK+Pb22b+7hCwn7+Xj+ff3nVhOzaml+Pb2vpKKgSUj7OHf+ff3+ff3z62pjT01nlhR+vj4+ff3wZWPoF5W1Lex/Pv5/Pv7+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/b19ca/v/X09Pz7+/z7+/z7+/z7++rn5+Pg4PPx8fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/v6+vj08sqkn5ZNQpdORceemvHo5vn395JEPcuoovn39/n395pTTNvBve/l44ElI+jb2fn39/n394w7M9W4svTt64QrJvTt6/n39+fX1IElI+zh3/n39/n4+KFeVtGyrIs6Murd2vn39/Xx79CyrKJgWI4+Nr6QiPHo5fz7+/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vVz8/h3t78+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fStK6KOTCzgHjizsz59/f59/f59/f59/eSRD3dw7/59/f59/escGfEnZbl1NSCKST49fX59/f59/eeWlLLqKLgy8mMPDT59/f59/f28vCBJSPs4d/59/fr39yKNy/18e+0gXm+kor59/f59/f59/f59/fr3Nu+kYmNPTW7jYX59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv76+bmzsfH/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff33MTAl05Fm1RLzaek+PTy/fz8+vj4+ff3kkQ9yKKd+vj4+/r6lUtC3sfF8enngSUj59XT+ff3+/n5hzIs2Ly29vDwhS0o8+vp+ff35NHPgSUj7OHf+ff3v5OLsX52+ff34MnHkEE5+fj4+ff3/Pv7/fz62Ly2pmdfkEA4yqSh+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/v6+srCwvDu7vz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n3997Hxa1xaIo3L7B8dOXS0Pn395JEPZtTTO3f3NS1rocyLPbz8fn396BeVq93bfPr6cWdloo3L/Tt6/n396JgWLqLg/Lq6K92bIElI+zi4Pn395BBOd7Hxfn39/n395NFPd7Fwe3j4byPh409NaJfV9K0rPf08vn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/ve2Njc19f8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fv5ePBlpCzf3f59/eSRD29j4eRQjqQQDjQsar59/f59/fp3tuiYFiHMiyXT0bdxcP59/f59/fk0M6YUUiLODK/koqELCfs4uDjz82hXlb49vb59/f59/fFnZa9kYnHoZq1hHzn19T59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78e/vysLC+/r6/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3kkQ94szK+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3hCwn7OLg+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Lv78a+vsa+vsa+vsa+vsa+vu3q6vz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n395JEPeDLyfn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n394QsJ+zi4Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fWurbx6Ob59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fSs6308O759/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff39PDu9e7s+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/f19fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+jd2oo3L/bw7vn39/n39/n39/n39/n39/7+/vr4+Pn39/n39/////r4+Pn39/r4+P7+/vXt6/Dn5f7+/vr4+Pn39/z7+/n29Pjy8P38/P/+/vr4+Pn39/v5+fz6+PTs6f39/f////n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v08fHOx8fMxMTOx8fl4uL8+/v8+/v8+/vVz8/Gvr7p5ub8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f6+fn9/Pz59/X59/erb2fHn5j59/f59/f59/f59/f59/eTRz7hysj59/f59/eKOTDn2NX59/fp2daXT0SLODKVS0KPPzfk0M759/e/koqMPDSRQTmxfHSPQDjizcv59/fZvrqGLimPPzeqbmWDKiXs4d/49fP+/f37+vr59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv71c/P3tnZ/Pv78vDwyMDA+vn5/Pv7/Pv71c/Pxr6+6ebm/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+/r6/v7+4crIrXFoqGtj+ff34MvJkEE5+Pb0+ff3+ff3+ff3+ff3k0c+4crI+ff3+ff3ijkw59jV+fb2l09EvZGJ9vLw+ff36d7b7OLg8ennhzAr7uTi9/T0v5OLgSUj4s3L+ff3nVhOzaml+Pb2vpKKgSUj7OHfwZWPoF5W1Lex/Pv5/Pv7+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/r5+ca+vvHv7/z7+/z7+8/Jyevo6Pz7+/z7++rn5+Pg4PPx8fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/v6+vj08sqkn5ZNQpdORceemvHo5vn39/n396BdVdGyrPn39/n39/n39/n395NHPuDLyfn39/n394o5MOfY1efb2IElI+7k4f38/P38/P38/Pv5+fPs6os4MvPr6P38/PPr6YImJOLNy/Tt64QrJvTt6/n39+fX1IElI+zh3/Xx79CyrKJgWI4+Nr6QiPHo5fz7+/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v08vLGvr7u7e38+/v8+/vNxsbu6+v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fStK6KOTCzgHjizsz59/f59/f59/f59/f59/fWuraZUUj6+fn59/f59/f59/eTRz7gy8n59/f59/eKOTDn19TdxsSEKya0gnq0gnq0gnq2g3vUt7H59/fAlIyTST6sdGq1g3uHMCvizcvgy8mMPDT59/f59/f28vCBJSPs4d/59/f59/f59/fr3Nu+kYmNPTW7jYX59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78e7uxr+/19LS9/X16ebmycHB+/r6/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff33MTAl05Fm1RLzaek+PTy/fz8+vj4+ff3+ff3+Pb2lkxD3cTA+ff3+ff3+ff3k0c+zq6n+fj4+Pb0hCwn7+Xj6t/dgSUj0bCq17u11ry4oF1Vzaym+ff3+/n59vPx3cXD1rq0hjAq59XT9vDwhS0o8+vp+ff35NHPgSUj7OHf+ff3/Pv7/fz62Ly2pmdfkEA4yqSh+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/X09MnBweLf38rDw8zFxejk5Pz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n3997Hxa1xaIo3L7B8dOXS0Pn39/n39/n398uooqRkWvr4+Pn39/n395NHPqFeVuzg3s6up5NFPfn39/n396RiWq96cPTs6d/Gwow7M/Ps6vn399W4svDm4/z7+dKzrIcyLPTu7Pn396JgWLqLg/Lq6K92bIElI+zi4O3j4byPh409NaJfV9K0rPf08vn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v7+vrIwMD18/P8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fv5ePBlpCzf3f59/f59/f59/f18e+NPTXn1NL59/f59/eTRz7Hn5uWTkOVS0LUtrD59/f59/fw5+Wrb2eKNy+TRD3Ss6359/f59/fCl5GRQjqHMCuZUkncxMD59/f59/fk0M6YUUiLODK/koqELCfs4uDHoZq1hHzn19T59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv73NbW2dPT+/r6/Pv79/b2/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3wZaQr3hu+fj4+ff3k0c+4crI+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3hCwn7OLg+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/n4+NbR0cnBwczFxdPOzvz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/Hp54k2MOvh3vn395NFPeDJx/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n394QsJ+zi4Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v6+fn29PT8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fXu7Xw6Ob59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fSs6308O759/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/z6+vn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/z6+vn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/z7+/z7+/n4+Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/z6+vn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fJoJzu5OL59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/erjP3n3vr59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/elh/qkhfvo4P/6+Pj59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fJoJzu5OL59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3kEE548/N+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3TADz1cf6+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3spf5nnz4RADy2s79+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff39PDu9e7s+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3kEE548/N+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/v6+vXz8/b09Pz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/38/Pfx7/Dn5f7+/vv5+fn39/n39/n39/38/Pv4+O7j4Pz59/r4+Pn39/n39//+/vr4+Pn39/n39/n39/n39/z7+/7+/v////////7+/v38/Pn395BBOeXS0Pfx7/j08vz7+/n39/n39/n39/n39/38/P/+/v/+/vn39/n39/n39/n39/n39/n39/n39/n39/n39/38/Pf47PHx4P7+/vv5+fn39/n39/n39//+/vr4+Pn39/n39/n39/n39/n39/38/Pv79u/v2vz79/r4+Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/38/PHu/+ni//7+/vv5+fn39/n39/n39/38/Pn2/+bd//r3//r4+Pn39/n39//+/vr4+Pn39/n39/n39/n39/z7+/7+/v////////7+/v38/Pn390wA89fK/fHu//Pw//z7+/n39/n39/n39/n39/38/P/+/v/+/vn39/n39/n39/79/f////v6+vn39/n39/n39/n39/n3945k+aGA/Pn39/n39/n39/38/PHu/+ni//7+/vv5+fn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+jd2oo3L/bw7vn39/n39/n39/n39/n39/38/Pfx7/Dn5f7+/vv5+fn39/n39/n39/38/Pv4+O7j4Pz59/r4+Pn39/n39//+/vr4+Pn39/n39/n39/n39/z7+/7+/v////////7+/v38/Pn395BBOeXS0Pfx7/j08vz7+/n39/n39/n39/n39/38/P/+/v/+/vn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v18/PIwcHLw8PIwMDMxcXu6+v8+/v8+/v8+/vVz8/Gvr7p5ub8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f6+fn9/Pz59/X59/esdGqNPTWZUkuVSELXvLb59/f59/f59/W2g3uDKiWXTkWPPzfo2NX59/f59/eRQjrizcv59/f59/f59/f59/e7joaTRz6KOTCIMy2TRz6udWv59/eQQTmscGeNPTWDKiXCmI/59/f59/f59/f28/GvdWuQQDiRQTn17+359/f59/f59/f59/f59/f59/f59/f59/eurjWPjwCbmwCXlgDY2KX59/f59/f59/eSkgDi4MD59/f59/f59/f59/f5+Pa4t0+FhQCYmACRkADo5c759/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/d+UfdIAPJdCfVWAPPBrv/59/f59/f49vuMZfsyAO9aAPRLAPLd0fr59/f59/dNAPTUxPr59/f59/f59/f59/eYcvhSAPRCAPE+APBSAPR/T/j59/dMAPN7S/hIAPI0AO+gf/359/f59/f59/f18fl/UvpNAPNNAPPx7Pj59/f59/dwOfgvAPC6pPv59/f59/f59/f59/f59/eff/uKYvv59/f59/f59/d+UfdIAPJdCfVWAPPBrv/59/f59/f59/f59/f59/f59/f59/f59/f49fP+/f37+vr59/f59/f59/f59/f59/f59/f59/f59/f6+fn9/Pz59/X59/erb2fHn5j59/f59/f59/f59/f59/esdGqNPTWZUkuVSELXvLb59/f59/f59/W2g3uDKiWXTkWPPzfo2NX59/f59/eRQjrizcv59/f59/f59/f59/e7joaTRz6KOTCIMy2TRz6udWv59/eQQTmscGeNPTWDKiXCmI/59/f59/f59/f28/GvdWuQQDiRQTn17+349fP+/f37+vr59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7+Pf38vDw/Pv7+vj43tnZy8PD+vn5/Pv7/Pv71c/Pxr6+6ebm/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+/r6/v7+4crIrXFoqGtj+ff35dPR+Pb2+ff33sjEl05D+ff3+ff3y6aglEg/6NjV+ff37uTi7uTi+ff3+ff3kUI64s3L+ff3+ff3+ff3+ff3+ff3+ff3w5uUsXx0+ff3+ff3+ff3kEE5qGth9PDu5dPRhjAq9fLw+ff3+ff33MO/mlNK9fHv+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff35eLH+ff1+ff33t62mJgA+ff3+ff3+ff3kpIA4uDA+ff3+ff3+ff3+ff3y8yGlZUA6OXO+ff37+3e7+3e/Pv7/////////////////////f39+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff32Mv6+Pb4+ff3zbz+WAD0+ff3+ff3rpL+UwD13dH6+ff36N/46N/4+ff3+ff3TQD01MT6+ff3+ff3+ff3+ff3+ff3+ff3ooP8hlz5+ff3+ff3+ff3TADzdUL38u352Mv6OwDw8+/7+ff3+ff3ybb8XQ/19O/3+ff3+ff3+ff3+ff3cDf3LwDwu6L5+ff3+ff3+ff3+ff3+ff3n3/7imL7+ff3+ff3+ff32Mv6+Pb4+ff3zbz+WAD0+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3wZWPoF5W1Lex/Pv5/Pv7+fj4+ff3+ff3+ff3+/r6/v7+4crIrXFoqGtj+ff34MvJkEE5+Pb0+ff3+ff3+ff3+ff35dPR+Pb2+ff33sjEl05D+ff3+ff3y6aglEg/6NjV+ff37uTi7uTi+ff3+ff3kUI64s3L+ff3+ff3+ff3+ff3+ff3+ff3w5uUsXx0+ff3+ff3+ff3kEE5qGth9PDu5dPRhjAq9fLw+ff3+ff33MO/mlNK9fHv+ff3+ff3wZWPoF5W1Lex/Pv5/Pv7+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/f29sa+vvHv7/z7+/z7++rn5+Pg4PPx8fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/v6+vj08sqkn5ZNQpdORceemvHo5vn39/n4+P38/Pj08r6QiJRGPvn39/n396RkWrqMhPn39/n39/n39/n39/n39/n395FCOuLOzPn39/n39/n39/n39/n39/n398OblLF8dPn39/n39/n395BBOc2qpvn39/n395hQR9zDv/n39/n398OZk7J+dvn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n4+P38/Pj577++ZJWUAPn39/n39/n395KSAOLhwfn39/n39/n39/n396WlALu7Yfn39/n39/n39/n3987NxqKij6Kij6Kij6Kij6Kij7q7rfn39/n39/n39/n39/n39/n39/n39/n39/n4+P38/PPw/5l1+1MA9Pn39/n39243+JVy+/n39/n39/n39/n39/n39/n3900A9NTF+/n39/n39/n39/n39/n39/n396KD/IZc+fn39/n39/n390wA87OY+vn39/n391sA9cq3/Pn39/n396KD/Ihe+vn39/n39/n39/n39/n397yl+aSG+d3R+vn39/n39/n39/n39/n3959/+4pi+/n39/n39/n39/n4+P38/PPw/5l1+1MA9Pn39/n39/n39/n39/n39/n39/n39/n39/Xx79CyrKJgWI4+Nr6QiPHo5fz7+/v6+vj08sqkn5ZNQpdORceemvHo5vn39/n396BdVdGyrPn39/n39/n39/n39/n4+P38/Pj08r6QiJRGPvn39/n396RkWrqMhPn39/n39/n39/n39/n39/n395FCOuLOzPn39/n39/n39/n39/n39/n398OblLF8dPn39/n39/n395BBOc2qpvn39/n395hQR9zDv/n39/n398OZk7J+dvn39/n39/n39/Xx79CyrKJgWI4+Nr6QiPHo5fz7+/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v08vLHv7/49vb8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fStK6KOTCzgHjizsz59/f59/f59/f59/ft5OGscWiFLSifWVLex8X59/f59/eYUEfTtKz59/f59/f59/f59/f59/f59/eRQjrexsL59/f59/f59/f59/f59/f59/fDm5SxfHT59/f59/f59/eQQTnexsL59/f59/eqbGTIopv59/f59/fCl5GzgHb59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fu7tutrS+HhwCgnwDd3Lb59/f59/f59/eSkgDe3bP59/f59/f59/f59/eamgDU05n59/f59/f59/f59/f49vT18/P18/P18/P18/P18/P39fP59/f59/f59/f59/f59/f59/f59/f59/fm3f18TPg3APFmJvXNvfn59/f59/dbAPW7ov359/f59/f59/f59/f59/f59/dNAPTMuvz59/f59/f59/f59/f59/f59/eig/yGXPn59/f59/f59/dMAPPMuvz59/f59/d3Rfiqjvv59/f59/eggPyJYfv59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/eff/uKYvv59/f59/f59/fm3f18TPg3APFmJvXNvfn59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fr3Nu+kYmNPTW7jYXStK6KOTCzgHjizsz59/f59/f59/f59/f59/fWuraZUUj6+fn59/f59/f59/ft5OGscWiFLSifWVLex8X59/f59/eYUEfTtKz59/f59/f59/f59/f59/f59/eRQjrexsL59/f59/f59/f59/f59/f59/fDm5SxfHT59/f59/f59/eQQTnexsL59/f59/eqbGTIopv59/f59/fCl5GzgHb59/f59/f59/f59/f59/f59/fr3Nu+kYmNPTW7jYX59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv77uzs9/b28e7u1tHR1tDQ/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff33MTAl05Fm1RLzaek+PTy/fz8+vj4+ff3toN9rHRq8uvp+ff3+vn5+ff3+ff3qGlftoN7+/r6+ff3+vn5+fj4+ff3+ff3kUI6v5KK+/r6+ff3+vn5+ff3+ff3+ff3w5uUsXx0+ff3+ff3+ff3kEE5yqWe+vj4+/r6k0c+4szK+ff3+ff3wpeRs4B2+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3uLZRrq4w8vDn+ff3+vn5+ff3+ff3+ff3kpIAwMBp+/r6+ff3+vn5+ff3qKcbuLdP+/r6+ff3+vn5+fj49/b29fXz9fXz9fXz9fXz9fXz9vXz+ff3+vn5+fj4+ff3+vn5+vj4+ff3+ff3j2X5fU/57+j3+ff3+vn5+ff3+ff3dD72jGX7+/r6+ff3+vn5+fj4+ff3+ff3TQD0nHj8+/r6+ff3+vn5+ff3+ff3+ff3ooP8hlz5+ff3+ff3+ff3TADzrJH++vj4+/r6UgD008P5+ff3+ff3oID8iWH7+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3n3/7imL7+ff3+ff3+ff3j2X5fU/57+j3+ff3+vn5+ff3+ff3+vn5+fj4+ff3+vn5+vj4+ff3+ff3/Pv7/fz62Ly2pmdfkEA4yqSh3MTAl05Fm1RLzaek+PTy/fz8+vj4+ff3+ff3+Pb2lkxD3cTA+ff3+ff3+ff3toN9rHRq8uvp+ff3+vn5+ff3+ff3qGlftoN7+/r6+ff3+vn5+fj4+ff3+ff3kUI6v5KK+/r6+ff3+vn5+ff3+ff3+ff3w5uUsXx0+ff3+ff3+ff3kEE5yqWe+vj4+/r6k0c+4szK+ff3+ff3wpeRs4B2+ff3+ff3+ff3+ff3/Pv7/fz62Ly2pmdfkEA4yqSh+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+9LKysjBwce/v9TMzPPx8fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n3997Hxa1xaIo3L7B8dOXS0Pn397+SirF8dPr49vj08t/Ixvn39/n399W5s4w7M9S2sPv599/Gwujb2fn39/n395FCOppTTM+vqfPr6dzDv/n39/j29vfx78CWjbF8dPn39/n39/n395BBOZxVTO3e3dKyrIk0MPf09Pn29vn29MCWjbF9c/n29Pn29Pn39/n39/n39/n39/n39/n39/n39/n39/n397++arOyRfv79vj5797etvn39/n39/n395KSAJubANDQkvT049zbr/n399bUoY6OANXVm/z8997ds+nn0tLRyqmpl6mpl6mpl6mpl6mpl7+/s/n398u6/+Tb+/n399HB/d7T/Pn39/n395x5+YZc+fj1//Pw/829/fn39/n397+r+kUA8rym/fr3/8y6/d/V+fn39/n3900A9F4P9bSd/uzl/8e2/vn39/f2+PHu/557/oZc+fn39/n39/n390wA82AW9uTZ/rqh/j8A8ff0+Pj2+Pbz/557/oZb+/bz//bz//n39/n39/n39/n39/n39/n39/n39/n39/n39/j2+vbz/516/Ypg+vn39/n39/n395x5+YZc+fj1//Pw/829/fn39/n398u6/+Tb+/n399HB/d7T/Pn39+3j4byPh409NaJfV9K0rPf08vn39/n39/n3997Hxa1xaIo3L7B8dOXS0Pn39/n39/n398uooqRkWvr4+Pn39/n397+SirF8dPr49vj08t/Ixvn39/n399W5s4w7M9S2sPv599/Gwujb2fn39/n395FCOppTTM+vqfPr6dzDv/n39/j29vfx78CWjbF8dPn39/n39/n395BBOZxVTO3e3dKyrIk0MPf09Pn29vn29MCWjbF9c/n29Pn29Pn39+3j4byPh409NaJfV9K0rPf08vn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vSysrs6en8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fv5ePBlpCzf3f59/fv5eOudWuNPTWMOzO/kor59/f59/f59/fKp6GUSj+HMCudV1Dr3t/59/f59/ejYVnYvLahXlaHMCu0gXn59/fq392YUUiYUUi/kor59/f59/f59/eiX1fBlY+QQDiRQTnStKz59/fjz82VTEOMOzOJNjCVTEOVTEP17+359/f59/f59/f59/f59/f59/f59/f59/fv7d+vrjaPjwCOjgC/vmr59/f59/f59/ekowDY1aeioQCJiQC2tE/59/f59/fLyomVlQCJiQCenQDs6tn59/f59/f59/f59/f59/f59/f59/f59/dJAPOukfv59/dkIvaVcPv59/f59/fp4Pl/T/hIAPJFAPKcefn59/f59/f59/evlPpTAPQ7APBjHvTk2fn59/f59/dsMvbCrfpqKvQ7APCLYfj59/fj2/lcBfRcBfScefn59/f59/f59/drLfeffvpNAPNNAPO8pPr59/fVx/lWAPNFAPJAAPFWAPNWAPPx7Pj59/f59/f59/f59/f59/f59/f59/f59/fCrvpWAPNWAPOcefn59/f59/f59/fp4Pl/T/hIAPJFAPKcefn59/f59/dJAPOukfv59/dkIvaVcPv59/fHoZq1hHzn19T59/f59/f59/f59/f59/f59/f59/f59/fv5ePBlpCzf3f59/f59/f59/f18e+NPTXn1NL59/f59/fv5eOudWuNPTWMOzO/kor59/f59/f59/fKp6GUSj+HMCudV1Dr3t/59/f59/ejYVnYvLahXlaHMCu0gXn59/fq392YUUiYUUi/kor59/f59/f59/eiX1fBlY+QQDiRQTnStKz59/fjz82VTEOMOzOJNjCVTEOVTEP17+3HoZq1hHzn19T59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv70srK7Onp/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+/r6/Pv7+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3wpaQsn91+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3SQDzrpH7+ff3ZCL2lXD7+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+/r8/Pv9+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3oH/7iGD6+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3/Pv7/fz8+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3SQDzrpH7+ff3ZCL2lXD7+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3wZaQr3hu+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+/r6/Pv7+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3wpaQsn91+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+9LKysa+vsa+vsa+vtrU1Pz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n398KYkrB6cvn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n399O1rsiln/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n390kA86yQ+vn392Mg9ZRv+vn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n396GB+oVa9/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n397yl+a2Q+fn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n3959++opg+Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n390kA86yQ+vn392Mg9ZRv+vn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/Hp54k2MOvh3vn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n398KYkrB6cvn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n399O1rsiln/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fo2Njjz8359/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fItfri2fn59/fOvvrc0Pn59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/ff0/jVx/n59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fbzfrTw/n59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fItfri2fn59/fOvvrc0Pn59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fo2Njjz8359/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/z6+vn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/z6+vn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/r4+Pz7+/z7+/r4+Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/z7+/z7+/n4+Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/r4+Pz7+/z7+/r4+Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/r4+Pz7+/z7+/r4+Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/z7+/z7+/n4+Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/z6+vn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fJoJzu5OL59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/erjP3n3vr59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fZzv2fffmde/rh1v/8+/v59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/elh/qkhfvo4P/6+Pj59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fZzv2fffmde/rh1v/8+/v59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fZzv2fffmde/rh1v/8+/v59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/elh/qkhfvo4P/6+Pj59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fJoJzu5OL59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3kEE548/N+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3TADz1cf6+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff38e357un/+ff3+ff3+ff3+ff3+ff38e357un/+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+fj4+ff3+ff3+ff3+ff3+ff3+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3sZb6qIj5tJv7Zif2o4T9+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3spf5nnz4RADy2s79+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3sZb6qIj5tJv7Zif2o4T9+ff38e357un/+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3sZb6qIj5tJv7Zif2o4T9+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3spf5nnz4RADy2s79+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff39PDu9e7s+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3kEE548/N+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/38/Pfx7/Dn5f7+/vv5+fn39/n39/n39/38/Pv4+O7j4Pz59/r4+Pn39/n39//+/vr4+Pn39/n39/n39/n39/z7+/7+/v////////7+/v38/Pn395BBOeXS0Pfx7/j08vz7+/n39/n39/n39/n39/38/P/+/v/+/vn39/n39/n39/n39/n39/n39/n39/n39/n39/38/Pf47PHx4P7+/vv5+fn39/n39/n39//+/vr4+Pn39/n39/n39/n39/n39/38/Pv79u/v2vz79/r4+Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/7+/vr4+Pn39/n39/////r4+Pn39/n39/n39/38/P/+/v/+/vn39/n39/n39/n39/38/P/+/v/+/vn39/n390wA89fK/fHu//Pw//z7+/n39/n39/n39/z7+/////v6+vn39/n39+DW+kIA8fHs+/n39/n39/n39/n39+DW+kIA8fHs+/n39/n39/n39/n39/n39/n39/38/Pn2/+bd//r3//r4+Pn39/r5+f39/+jf//r4//v6+vn39/n39/v5+fr4/+3m//39/f////n39/n39/r4+P7+/u7p/+ni//7+//r4+Pn39/n39/79/f////v6+vn39/n39/n39/z7+/fz//Tv/v38/P/+/vr4+Pn39/7+/vr4+Pn39/n39/////r4+Pn39/r4+P/+/v39/9rO/VsA9fn39/n39/r5+f37//Dr//38/P////r4+Pn39/n39/n39/r4+P79/f////z7+/n39/z7+/fz//Tv/v38/P/+/vr4+Pn39/n39//+/vr4+Pn39/n39/n39/n39/n39/n3945k+aGA/Pn39/n39/n39/38/PHu/+ni//7+/vv5+fn39/n39/n39/79/f////v6+vn39/n39/n39/r5+f39/+jf//r4//v6+vn39/n39/n39//+/vr4+Pn39/n39/n39/n39/r4+P/+/v39/9rO/VsA9fn39+DW+kIA8fHs+/n39/n39/n39/n39/n39/z7+/fz//Tv/v38/P/+/vr4+Pn39/7+/vr4+Pn39/n39/////r4+Pn39/r4+P/+/v39/9rO/VsA9fn39/n39/r5+f37//Dr//38/P////r4+Pn39/n39/n39/r4+P79/f////z7+/n39/z7+/fz//Tv/v38/P/+/vr4+Pn39/n39//+/vr4+Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/v6+v////////////////v6+vn39/n39/79/f////v6+vn39/n39/n39/n4+P7+/uvj//38//r5+fn39/n39/n39/79/f////v6+vn39/n39/n39/n4+P7+/uvj//38//r5+fn39/n39/n39//+/vr4+Pn39/n39/n39/n39/n39/38/Pn2/+bd//r3//r4+Pn39/v6+v////////////////v6+vn39/n4+P7+/uvj//38//r5+fn39/n39/n39/79/f////v6+vn39/n39/v6+v38/Pn39/7+/vn4+Pv5+f38/Pn39/z7+/7+/v////////7+/v38/Pn39/7+/vr4+Pn39/n39/////r4+Pn39/n39/79/f////v6+vn39/n39/n39/n39/n3945k+aGA/Pn39/n39/n39/38/PHu/+ni//7+/vv5+fn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+jd2oo3L/bw7vn39/n39/n39/n39/n39/38/Pfx7/Dn5f7+/vv5+fn39/n39/n39/38/Pv4+O7j4Pz59/r4+Pn39/n39//+/vr4+Pn39/n39/n39/n39/z7+/7+/v////////7+/v38/Pn395BBOeXS0Pfx7/j08vz7+/n39/n39/n39/n39/38/P/+/v/+/vn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vV0dHh3t78+/v8+/v8+/vVz8/Gvr7p5ub8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f6+fn9/Pz59/X59/esdGqNPTWZUkuVSELXvLb59/f59/f59/W2g3uDKiWXTkWPPzfo2NX59/f59/eRQjrizcv59/f59/f59/f59/e7joaTRz6KOTCIMy2TRz6udWv59/eQQTmscGeNPTWDKiXCmI/59/f59/f59/f28/GvdWuQQDiRQTn17+359/f59/f59/f59/f59/f59/f59/f59/eurjWPjwCbmwCXlgDY2KX59/f59/f59/eSkgDi4MD59/f59/f59/f59/f5+Pa4t0+FhQCYmACRkADo5c759/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/dSAPTRwPv59/f59/dCAPHc0fr59/f59/f18fl/UvpNAPNNAPPx7Pj59/f59/f18fl/UvpNAPNNAPPx7Pj59/dMAPN7S/hIAPI0AO+gf/359/f59/f59/effvovAPC6pPv59/f59/f59/d6Svenif359/f59/f59/f59/f59/d6Svenif359/f59/f59/f59/f59/f49vuMZfsyAO9aAPRLAPLd0fr59/fRwv5FAPJLAPI3AO+ylv/59/f59/fDsf85APBJAPN4Rvk0AO/l3Pj59/fc0f9ZAPVDAPFWAPNJAPPWyfn59/f59/dwOfgvAPC6pPv59/f59/f59/ecePxFAPJNAPOGXPlLAPPUxPr59/dSAPTRwPv59/f59/dCAPHc0fr59/fUxP9QAPRCAPGYdfs0AO/q4vn59/fOvP5NAPRJAPOIXflCAPHc0fr59/f59/f59/fd0P1uN/c/APGde/n59/ecePxFAPJNAPOGXPlLAPPUxPr59/f59/dNAPTUxPr59/f59/f59/f59/f59/f59/eff/uKYvv59/f59/f59/d+UfdIAPJdCfVWAPPBrv/59/f59/f59/dwOfgvAPC6pPv59/f59/f59/fRwv5FAPJLAPI3AO+ylv/59/f59/f59/dNAPTUxPr59/f59/f59/f59/fUxP9QAPRCAPGYdfs0AO/q4vn59/d6Svenif359/f59/f59/f59/f59/ecePxFAPJNAPOGXPlLAPPUxPr59/dSAPTRwPv59/f59/dCAPHc0fr59/fUxP9QAPRCAPGYdfs0AO/q4vn59/fOvP5NAPRJAPOIXflCAPHc0fr59/f59/f59/fd0P1uN/c/APGde/n59/ecePxFAPJNAPOGXPlLAPPUxPr59/f59/dNAPTUxPr59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/erj/kvAPAvAPAvAPAvAPCsj/n59/f59/dwOfgvAPC6pPv59/f59/f59/fk3v1TAPVQAPNCAPHNu//59/f59/f59/dwOfgvAPC6pPv59/f59/f59/fk3v1TAPVQAPNCAPHNu//59/f59/f59/dNAPTUxPr59/f59/f59/f59/f49vuMZfsyAO9aAPRLAPLd0fr59/erj/kvAPAvAPAvAPAvAPCsj/n59/fk3v1TAPVQAPNCAPHNu//59/f59/f59/dwOfgvAPC6pPv59/f59/e1n/yFWvr59/dTAPXh2Pq7pft+Ufn59/eYcvhSAPRCAPE+APBSAPR/T/j59/dSAPTRwPv59/f59/dCAPHc0fr59/f59/dwOfgvAPC6pPv59/f59/f59/f59/f59/eff/uKYvv59/f59/f59/d+UfdIAPJdCfVWAPPBrv/59/f59/f59/f59/f59/f59/f59/f59/f49fP+/f37+vr59/f59/f59/f59/f59/f59/f59/f59/f6+fn9/Pz59/X59/erb2fHn5j59/f59/f59/f59/f59/esdGqNPTWZUkuVSELXvLb59/f59/f59/W2g3uDKiWXTkWPPzfo2NX59/f59/eRQjrizcv59/f59/f59/f59/e7joaTRz6KOTCIMy2TRz6udWv59/eQQTmscGeNPTWDKiXCmI/59/f59/f59/f28/GvdWuQQDiRQTn17+349fP+/f37+vr59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv71dHR4d7e/Pv7/Pv7/Pv71c/Pxr6+6ebm/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+/r6/v7+4crIrXFoqGtj+ff35dPR+Pb2+ff33sjEl05D+ff3+ff3y6aglEg/6NjV+ff37uTi7uTi+ff3+ff3kUI64s3L+ff3+ff3+ff3+ff3+ff3+ff3w5uUsXx0+ff3+ff3+ff3kEE5qGth9PDu5dPRhjAq9fLw+ff3+ff33MO/mlNK9fHv+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff35eLH+ff1+ff33t62mJgA+ff3+ff3+ff3kpIA4uDA+ff3+ff3+ff3+ff3y8yGlZUA6OXO+ff37+3e7+3e/Pv7/////////////////////f39+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3UgD00cD7+ff3+ff3QgDx3NH6+ff3+ff3ybb8XQ/19O/3+ff3+ff3+ff3+ff3ybb8XQ/19O/3+ff3+ff3+ff3TADzdUL38u352Mv6OwDw8+/7+ff3+ff3nnz4LwDwuqL5+ff3+ff3+ff30cH4TADz9/T8+ff3+ff3+ff3+ff30cH4TADz9/T8+ff3+ff3+ff3+ff3rpL+UwD13dH6+ff36N/46N/4+Pb4VgD1nHn5+Pb4xLH6NwDv6N/7+ff3YRz3spf5+Pb4nHj7LwDw5dz4+Pb4WQD1mXf79PD4+ff34dj45tz4+ff3+ff3cDf3LwDwu6L5+ff3+ff37OX5OwDw6N/49/T4nXv5LwDw1MT6+ff3UgD00cD7+ff3+ff3QgDx3NH6+ff3aSv3nHn58ez4j2b6LwDw5dz4+ff3iV/7mnT5+ff3r5L7LwDw3NH6+ff3+ff3+ff3jGX7l3L6+ff3+ff37OX5OwDw6N/49/T4nXv5LwDw1MT6+ff3+ff3TQD01MT6+ff3+ff3+ff3+ff3+ff3+ff3n3/7imL7+ff3+ff3+ff32Mv6+Pb4+ff3zbz+WAD0+ff3+ff3+ff3cDf3LwDwu6L5+ff3+ff3+Pb4VgD1nHn5+Pb4xLH6NwDv6N/7+ff3+ff3TQD01MT6+ff3+ff3+ff3+ff3aSv3nHn58ez4j2b6LwDw5dz4+ff30cH4TADz9/T8+ff3+ff3+ff37OX5OwDw6N/49/T4nXv5LwDw1MT6+ff3UgD00cD7+ff3+ff3QgDx3NH6+ff3aSv3nHn58ez4j2b6LwDw5dz4+ff3iV/7mnT5+ff3r5L7LwDw3NH6+ff3+ff3+ff3jGX7l3L6+ff3+ff37OX5OwDw6N/49/T4nXv5LwDw1MT6+ff3+ff3TQD01MT6+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+Pb49/T4i2T6iGD69/T4+Pb4+ff3+ff3cDf3LwDwu6L5+ff3+ff3+ff3d0X4jGT6+ff3vqb5SADy+Pb6+ff3+ff3cDf3LwDwu6L5+ff3+ff3+ff3d0X4jGT6+ff3vqb5SADy+Pb6+ff3+ff3TQD01MT6+ff3+ff3+ff3+ff3rpL+UwD13dH6+ff36N/46N/4+ff3+Pb49/T4i2T6iGD69/T4+Pb4+ff3d0X4jGT6+ff3vqb5SADy+Pb6+ff3+ff3cDf3LwDwu6L5+ff3+ff3tZ/8hVr6+ff3UwD14dj6u6X7flH5+ff3+ff3+ff3ooP8hlz5+ff3+ff3+ff3UgD00cD7+ff3+ff3QgDx3NH6+ff3+ff3cDf3LwDwu6L5+ff3+ff3+ff3+ff3+ff3n3/7imL7+ff3+ff3+ff32Mv6+Pb4+ff3zbz+WAD0+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3wZWPoF5W1Lex/Pv5/Pv7+fj4+ff3+ff3+ff3+/r6/v7+4crIrXFoqGtj+ff34MvJkEE5+Pb0+ff3+ff3+ff3+ff35dPR+Pb2+ff33sjEl05D+ff3+ff3y6aglEg/6NjV+ff37uTi7uTi+ff3+ff3kUI64s3L+ff3+ff3+ff3+ff3+ff3+ff3w5uUsXx0+ff3+ff3+ff3kEE5qGth9PDu5dPRhjAq9fLw+ff3+ff33MO/mlNK9fHv+ff3+ff3wZWPoF5W1Lex/Pv5/Pv7+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7++nm5s/IyM/IyM/IyMjBwcrDw97Z2fz7+/z7++rn5+Pg4PPx8fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/v6+vj08sqkn5ZNQpdORceemvHo5vn39/n4+P38/Pj08r6QiJRGPvn39/n396RkWrqMhPn39/n39/n39/n39/n39/n395FCOuLOzPn39/n39/n39/n39/n39/n398OblLF8dPn39/n39/n395BBOc2qpvn39/n395hQR9zDv/n39/n398OZk7J+dvn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n4+P38/Pj577++ZJWUAPn39/n39/n395KSAOLhwfn39/n39/n39/n396WlALu7Yfn39/n39/n39/n3987NxqKij6Kij6Kij6Kij6Kij7q7rfn39/n39/n39/n39/n39/n39/n39/n391IA9NHB/Pn39/n390IA8dzR+vn39/n396KD/Ihe+vn39/n39/n39/n39/n396KD/Ihe+vn39/n39/n39/n390wA87OY+vn39/n391sA9cq3/Pn39/n39+bd+dPD+e3k+Pn39/n39/n39/n392gq9reh/vn39/n39/n39/n39/n392gq9reh/vn39/n39/n39/n39243+JVy+/n39/n39/n39/n39+ng+S8A8N/V+fn39/n390UA8r6q+vDp+DUA7/Dq+fn399zQ+S8A8OXc+N7U+y8A8Ofd/f38/P38/P38/Pv5+fn39/n397yl+aSG+d3R+vn39/n39/Dp+EMA8ezl//38/O3m/TEA79TE+vn391IA9NHB/Pn39/n390IA8dzR+vLs+TUA7+zl+fn399rM+S8A8OXc+Pn391sA9cm3+vn39/Dp+DIA79zR+vn39/n39/n391cA9M69+fn39/n39/Dp+EMA8ezl//38/O3m/TEA79TE+vn39/n3900A9NTF+/n39/n39/n39/n39/n39/n3959/+4pi+/n39/n39/n39/n4+P38/PPw/5l1+1MA9Pn39/n39/n397yl+aSG+d3R+vn39/n39+ng+S8A8N/V+fn39/n390UA8r6q+vn39/n3900A9NTF+/n39/n39/n39/Ls+TUA7+zl+fn399rM+S8A8OXc+Pn39/n392gq9reh/vn39/n39/n39/Dp+EMA8ezl//38/O3m/TEA79TE+vn391IA9NHB/Pn39/n390IA8dzR+vLs+TUA7+zl+fn399rM+S8A8OXc+Pn391sA9cm3+vn39/Dp+DIA79zR+vn39/n39/n391cA9M69+fn39/n39/Dp+EMA8ezl//38/O3m/TEA79TE+vn39/n3900A9NTF+/n39/n39/n39/r5+f38/P38/P38/P38/P38/Pz7+/n39/n39/n3945l+opi+/n39/n39/n39/n397yl+aSG+d3R+vn39/n39/Lu+jQA72Qi9vr5+/f19z8A8c+/+/n39/n397yl+aSG+d3R+vn39/n39/Lu+jQA72Qi9vr5+/f19z8A8c+/+/n39/n3900A9NTF+/n39/n39/n39/n39243+JVy+/n39/n39/n39/n39/n39/n39/n3945l+opi+/n39/n39/Lu+jQA72Qi9vr5+/f19z8A8c+/+/n39/n397yl+aSG+d3R+vn39/n397Wf/IVa+vn391MA9eHY+rul+35R+fn39/n39/n396KD/IZc+fn39/n39/n391IA9NHB/Pn39/n390IA8dzR+vn39/n397yl+aSG+d3R+vn39/n39/n39/n39/n3959/+4pi+/n39/n39/n39/n4+P38/PPw/5l1+1MA9Pn39/n39/n39/n39/n39/n39/n39/n39/Xx79CyrKJgWI4+Nr6QiPHo5fz7+/v6+vj08sqkn5ZNQpdORceemvHo5vn39/n396BdVdGyrPn39/n39/n39/n39/n4+P38/Pj08r6QiJRGPvn39/n396RkWrqMhPn39/n39/n39/n39/n39/n395FCOuLOzPn39/n39/n39/n39/n39/n398OblLF8dPn39/n39/n395BBOc2qpvn39/n395hQR9zDv/n39/n398OZk7J+dvn39/n39/n39/Xx79CyrKJgWI4+Nr6QiPHo5fz7+/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vu6+vPycnz8fHz8fHSzc3e2Nj29fX8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fStK6KOTCzgHjizsz59/f59/f59/f59/ft5OGscWiFLSifWVLex8X59/f59/eYUEfTtKz59/f59/f59/f59/f59/f59/eRQjrexsL59/f59/f59/f59/f59/f59/fDm5SxfHT59/f59/f59/eQQTnexsL59/f59/eqbGTIopv59/f59/fCl5GzgHb59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fu7tutrS+HhwCgnwDd3Lb59/f59/f59/eSkgDe3bP59/f59/f59/f59/eamgDU05n59/f59/f59/f59/f49vT18/P18/P18/P18/P18/P39fP59/f59/f59/f59/f59/f59/f59/f59/dSAPTRwf359/f59/dCAPHc0Pn59/f59/eggPyJYfv59/f59/f59/f59/f59/eggPyJYfv59/f59/f59/f59/dMAPPMuvz59/f59/d3Rfiqjvv59/f59/f6+Pj7+vr5+Pj59/f59/f59/f59/fBrPpcAvX6+fn59/f59/f59/f59/fBrPpcAvX6+fn59/f59/f59/dbAPW7ov359/f59/f59/f59/fbzfoyAO/49fn59/f59/dkIvawlfvRwfhFAPL59/f59/f18PgvAPDl3PjMvPo1AO+LZPmLZPmLZPmNY/q9p/v59/f59/f59/f59/f59/f59/f59/f59/eefPhSAPR+UfeNZPk7APDUxPr59/dSAPTRwf359/f59/dCAPHc0PnRwfhFAPL59/f59/f18PgvAPDl3Pj59/dSAPTRwPv59/f59/dCAPHc0fr59/f59/f59/dQAPTSwvn59/f59/f59/eefPhSAPR+UfeNZPk7APDUxPr59/f59/dNAPTMuvz59/f59/f59/f59/f59/f59/eff/uKYvv59/f59/f59/fm3f18TPg3APFmJvXNvfn59/f59/f59/f59/f59/f59/f59/f59/fbzfoyAO/49fn59/f59/dkIvawlfv59/f59/dNAPTMuvz59/f59/f59/fRwfhFAPL59/f59/f18PgvAPDl3Pj59/f59/fBrPpcAvX6+fn59/f59/f59/eefPhSAPR+UfeNZPk7APDUxPr59/dSAPTRwf359/f59/dCAPHc0PnRwfhFAPL59/f59/f18PgvAPDl3Pj59/dSAPTRwPv59/f59/dCAPHc0fr59/f59/f59/dQAPTSwvn59/f59/f59/eefPhSAPR+UfeNZPk7APDUxPr59/f59/dNAPTMuvz59/f59/f59/fLufuEVvmEVvmEVvmEVvmEVvmbd/v59/f59/f59/eOZfqKYvv59/f59/f59/f59/f59/f59/f59/f59/f59/fi2PovAPCHXPiylv/59/ddD/W3oPv59/f59/f59/f59/f59/f59/f59/fi2PovAPCHXPiylv/59/ddD/W3oPv59/f59/dNAPTMuvz59/f59/f59/f59/dbAPW7ov359/f59/f59/f59/f59/f59/f59/eOZfqKYvv59/f59/fi2PovAPCHXPiylv/59/ddD/W3oPv59/f59/f59/f59/f59/f59/f59/e1n/yFWvr59/dTAPXi2Pq7pft+Ufn59/f59/f59/eig/yGXPn59/f59/f59/dSAPTRwf359/f59/dCAPHc0Pn59/f59/f59/f59/f59/f59/f59/f59/f59/f59/eff/uKYvv59/f59/f59/fm3f18TPg3APFmJvXNvfn59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fr3Nu+kYmNPTW7jYXStK6KOTCzgHjizsz59/f59/f59/f59/f59/fWuraZUUj6+fn59/f59/f59/ft5OGscWiFLSifWVLex8X59/f59/eYUEfTtKz59/f59/f59/f59/f59/f59/eRQjrexsL59/f59/f59/f59/f59/f59/fDm5SxfHT59/f59/f59/eQQTnexsL59/f59/eqbGTIopv59/f59/fCl5GzgHb59/f59/f59/f59/f59/f59/fr3Nu+kYmNPTW7jYX59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv719LS6ufn/Pv71dHR4d7e/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff33MTAl05Fm1RLzaek+PTy/fz8+vj4+ff3toN9rHRq8uvp+ff3+vn5+ff3+ff3qGlftoN7+/r6+ff3+vn5+fj4+ff3+ff3kUI6v5KK+/r6+ff3+vn5+ff3+ff3+ff3w5uUsXx0+ff3+ff3+ff3kEE5yqWe+vj4+/r6k0c+4szK+ff3+ff3wpeRs4B2+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3uLZRrq4w8vDn+ff3+vn5+ff3+ff3+ff3kpIAwMBp+/r6+ff3+vn5+ff3qKcbuLdP+/r6+ff3+vn5+fj49/b29fXz9fXz9fXz9fXz9fXz9vXz+ff3+vn5+fj4+ff3+vn5+vj4+ff3+ff3UgD0tJr++fj49/T8NwDv6eD5+ff3+ff3oID8iWH7+ff3+ff3+ff3+ff3+ff3oID8iWH7+ff3+ff3+ff3+ff3TADzrJH++vj4+/r6UgD008P5+ff3+ff32Mz8tpz+49n7+ff3+ff3+ff3+ff3+Pb4VwD0yrf++ff3+ff3+ff3+ff3+Pb4VwD0yrf++ff3+ff3+ff3dD72jGX7+/r6+ff3+vn5+fj47OX5LwDw2s79+ff3+vn7PADwwq368+74NwDx7eb9+ff31sn8LwDw5dz449v5LwDwt5/9wq36wa/7Zyn3spr6+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+/n59PH5y7r6wKz9OwDw3M75+ff3UgD0tJr++fj49/T8NwDv6eD58+74NwDx6+b9+ff32c39LwDw5dz4+ff3UgD00cD7+ff3+ff3QgDx3NH6+ff3+ff3+ff3UAD00sL5+ff3+ff3+ff3+/n59PH5y7r6wKz9OwDw3M75+ff3+ff3TQD0nHj8+/r6+ff3+vn5+ff3+ff3+ff3n3/7imL7+ff3+ff3+ff3j2X5fU/57+j3+ff3+vn5+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff37OX5LwDw2s79+ff3+vn7PADwwq36+ff3+ff3TQD0nHj8+/r6+ff3+vn58+74NwDx6+b9+ff32c39LwDw5dz4+ff3+ff3+Pb4VwD0yrf++ff3+ff3+ff3+/n59PH5y7r6wKz9OwDw3M75+ff3UgD0tJr++fj49/T8NwDv6eD58+74NwDx6+b9+ff32c39LwDw5dz4+ff3UgD00cD7+ff3+ff3QgDx3NH6+ff3+ff3+ff3UAD00sL5+ff3+ff3+ff3+/n59PH5y7r6wKz9OwDw3M75+ff3+ff3TQD0nHj8+/r6+ff3+vn52836rI/5rI/5rI/5rI/5rI/5vKT6+ff3+ff3+ff3jmX6imL7+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff31Mf6MgDv7+j3WADz7uf+Zyn3q4/8+ff3+ff3+ff3+ff3+ff3+ff3+ff31Mf6MgDv7+j3WADz7uf+Zyn3q4/8+ff3+ff3TQD0nHj8+/r6+ff3+vn5+ff3dD72jGX7+/r6+ff3+vn5+fj4+ff3+ff3+ff3jmX6imL7+ff3+ff31Mf6MgDv7+j3WADz7uf+Zyn3q4/8+ff3+ff3+ff3+ff3+ff3+ff3+ff3tZ/8gVP7+ff3TgD03tP8uqH8hVn6+ff3+ff3+ff3ooP8hlz5+ff3+ff3+ff3UgD0tJr++fj49/T8NwDv6eD5+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3n3/7imL7+ff3+ff3+ff3j2X5fU/57+j3+ff3+vn5+ff3+ff3+vn5+fj4+ff3+vn5+vj4+ff3+ff3/Pv7/fz62Ly2pmdfkEA4yqSh3MTAl05Fm1RLzaek+PTy/fz8+vj4+ff3+ff3+Pb2lkxD3cTA+ff3+ff3+ff3toN9rHRq8uvp+ff3+vn5+ff3+ff3qGlftoN7+/r6+ff3+vn5+fj4+ff3+ff3kUI6v5KK+/r6+ff3+vn5+ff3+ff3+ff3w5uUsXx0+ff3+ff3+ff3kEE5yqWe+vj4+/r6k0c+4szK+ff3+ff3wpeRs4B2+ff3+ff3+ff3+ff3/Pv7/fz62Ly2pmdfkEA4yqSh+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/b09M/Jyfv5+dXR0eHe3vz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n3997Hxa1xaIo3L7B8dOXS0Pn397+SirF8dPr49vj08t/Ixvn39/n399W5s4w7M9S2sPv599/Gwujb2fn39/n395FCOppTTM+vqfPr6dzDv/n39/j29vfx78CWjbF8dPn39/n39/n395BBOZxVTO3e3dKyrIk0MPf09Pn29vn29MCWjbF9c/n29Pn29Pn39/n39/n39/n39/n39/n39/n39/n39/n397++arOyRfv79vj5797etvn39/n39/n395KSAJubANDQkvT049zbr/n399bUoY6OANXVm/z8997ds+nn0tLRyqmpl6mpl6mpl6mpl6mpl7+/s/n398u6/+Tb+/n399HB/d7T/Pn39/n391IA9Goq9uPa/rSa/lIA8/n39/j2+Pbz/557/oZb+/bz//bz//n39/j2+Pbz/557/oZb+/bz//bz//n39/n390wA82AW9uTZ/rqh/j8A8ff0+Pn39/n39599+S8A8Luj+vn39/n39/n39/n39/n397CV+m43+Pr4+Pn39/n39/n39/n397CV+m43+Pr4+Pn39/n397+r+kUA8rym/fr3/8y6/d/V+fn392kq9oFT+uzl/6SF/EIA8fDq+fn392ww95Rv/Ozk/39S+C8A8Obc+Pn392429oRX+u3m/826/0UA8vDp+Pn39/n39/n39/n39/n39/n39/n39/n3976o/enh//v6/7ii/zwA8PLr+Pn391IA9Gkq9uPa/rSa/lIA8/n39/n392ww95Jr/ezl/4NW+S8A8Obc+Pn391IA9NHA+/n39/n390IA8dzR+vn39/n39/n391AA9NLC+fn39/n39/n3976o/enh//v6/7ii/zwA8PLr+Pn39/n3900A9F4P9bSd/uzl/8e2/vn39/j2+vbz/516/Ypg+vn39/n39/n395x5+YZc+fj1//Pw/829/fn39/n39/n39/n39/n39/n39/n39/n39/n392kq9oFT+uzl/6SF/EIA8fDq+fn39/n3900A9F4P9bSd/uzl/8e2/vn392ww95Jr/ezl/4NW+S8A8Obc+Pn39/n39/n397CV+m43+Pr4+Pn39/n3976o/enh//v6/7ii/zwA8PLr+Pn391IA9Gkq9uPa/rSa/lIA8/n39/n392ww95Jr/ezl/4NW+S8A8Obc+Pn391IA9NHA+/n39/n390IA8dzR+vn39/n39/n391AA9NLC+fn39/n39/n3976o/enh//v6/7ii/zwA8PLr+Pn39/n3900A9F4P9bSd/uzl/8e2/vn39/n39/n39/n39/n39/n39/n39/n39/n39/n3945l+opi+/n39/n39/n39/n39/n39/n39/n39/n39/n39+DW+i8A8PXw+Lee+4ZZ+l0P9bee+/n39/n39/n39/n39/n39/n39/n39+DW+i8A8PXw+Lee+4ZZ+l0P9bee+/n39/n3900A9F4P9bSd/uzl/8e2/vn397+r+kUA8rym/fr3/8y6/d/V+fn39/n39/n3945l+opi+/n39/n39+DW+i8A8PXw+Lee+4ZZ+l0P9bee+/n39/n39/n39/n39/n39/n39/n397ee+2AZ9+zk/zgA8bym/Zx4/JVx+vn39/f2+PHu/557/oZc+fn39/n39/n391IA9Gkq9uPa/rSa/lIA8/n39/n39/n39/n39/n39/n39/n39/n39/n39/j2+vbz/516/Ypg+vn39/n39/n395x5+YZc+fj1//Pw/829/fn39/n398u6/+Tb+/n399HB/d7T/Pn39+3j4byPh409NaJfV9K0rPf08vn39/n39/n3997Hxa1xaIo3L7B8dOXS0Pn39/n39/n398uooqRkWvr4+Pn39/n397+SirF8dPr49vj08t/Ixvn39/n399W5s4w7M9S2sPv599/Gwujb2fn39/n395FCOppTTM+vqfPr6dzDv/n39/j29vfx78CWjbF8dPn39/n39/n395BBOZxVTO3e3dKyrIk0MPf09Pn29vn29MCWjbF9c/n29Pn29Pn39+3j4byPh409NaJfV9K0rPf08vn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vk4eHh3t7V0dHh3t78+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fv5ePBlpCzf3f59/fv5eOudWuNPTWMOzO/kor59/f59/f59/fKp6GUSj+HMCudV1Dr3t/59/f59/ejYVnYvLahXlaHMCu0gXn59/fq392YUUiYUUi/kor59/f59/f59/eiX1fBlY+QQDiRQTnStKz59/fjz82VTEOMOzOJNjCVTEOVTEP17+359/f59/f59/f59/f59/f59/f59/f59/fv7d+vrjaPjwCOjgC/vmr59/f59/f59/ekowDY1aeioQCJiQC2tE/59/f59/fLyomVlQCJiQCenQDs6tn59/f59/f59/f59/f59/f59/f59/f59/dJAPOukfv59/dkIvaVcPv59/f59/dSAPSpjPlYAPRWAPO9p/j59/fVx/lWAPNFAPJAAPFWAPNWAPPx7PjVx/lWAPNFAPJAAPFWAPNWAPPx7Pj59/drLfeffvpNAPNNAPO8pPr59/f59/f59/etkPlXAPPDr/v59/f59/f59/f59/f59/f07/dIAPLZzf359/f59/f59/f59/f07/dIAPLZzf359/f59/f59/evlPpTAPQ7APBjHvTk2fn59/fh2PhsMPc8APBaAPTLuvr59/f59/fWyflcBfRDAPGcefk3AO/m3Pj59/fq4vl7SvZCAPFRAPO7o/n59/f59/f59/f59/f59/f59/f59/f59/f59/ehgfpPAPM7APBcDPTKuPr59/f59/dwOPavkvtYAPRWAPO9p/j59/f59/fYyvlbAPRDAPGefflgGvbp4fj59/dyPfbYyvn59/f59/dmJvXh1/n59/f59/f59/dQAPTSwvn59/f59/f59/ehgfpPAPM7APBcDPTKuPr59/f59/f59/dsMvbCrfpqKvQ7APCLYfj59/fCrvpWAPNWAPOcefn59/f59/f59/fp4Pl/T/hIAPJFAPKcefn59/f59/f59/f59/f59/f59/f59/f59/f59/fh2PhsMPc8APBaAPTLuvr59/f59/f59/dsMvbCrfpqKvQ7APCLYfj59/fYyvlbAPRDAPGefflgGvbp4fj59/f59/f59/f07/dIAPLZzf359/f59/ehgfpPAPM7APBcDPTKuPr59/f59/dwOPavkvtYAPRWAPO9p/j59/f59/fYyvlbAPRDAPGefflgGvbp4fj59/dyPfbYyvn59/f59/dmJvXh1/n59/f59/f59/dQAPTSwvn59/f59/f59/ehgfpPAPM7APBcDPTKuPr59/f59/f59/dsMvbCrfpqKvQ7APCLYfj59/f59/f59/f59/f59/f59/f59/f59/f38//9/PyOZfqKYvv59/f59/f59/f59/f59/f59/f59/f59/f59/fx7PgyAO/e0/z59/dqLvc4APHLuvr59/f59/f59/f59/f59/f59/f59/fx7PgyAO/e0/z59/dqLvc4APHLuvr59/f59/dsMvbCrfpqKvQ7APCLYfj59/f59/evlPpTAPQ7APBjHvTk2fn59/f38//9/PyOZfqKYvv59/f59/fx7PgyAO/e0/z59/dqLvc4APHLuvr59/f59/f59/f59/f59/f59/f59/fArPl0QPZJAPN+T/h2RfhbAPTbzfr59/fj2/lcBfRcBfScefn59/f59/f59/dwOPavkvtYAPRWAPO9p/j59/f59/f59/f59/f59/f59/f59/f59/f59/fCrvpWAPNWAPOcefn59/f59/f59/fp4Pl/T/hIAPJFAPKcefn59/f59/dJAPOukfv59/dkIvaVcPv59/fHoZq1hHzn19T59/f59/f59/f59/f59/f59/f59/f59/fv5ePBlpCzf3f59/f59/f59/f18e+NPTXn1NL59/f59/fv5eOudWuNPTWMOzO/kor59/f59/f59/fKp6GUSj+HMCudV1Dr3t/59/f59/ejYVnYvLahXlaHMCu0gXn59/fq392YUUiYUUi/kor59/f59/f59/eiX1fBlY+QQDiRQTnStKz59/fjz82VTEOMOzOJNjCVTEOVTEP17+3HoZq1hHzn19T59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pr61MzM0crK4d3d/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+/r6/Pv7+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3wpaQsn91+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3SQDzrpH7+ff3ZCL2lXD7+ff3+ff3UgD00cD7+ff3+ff3+ff3+ff3+ff3+ff3oH/7iGD6+ff3+ff3+ff3+ff3+ff3oH/7iGD6+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3oH/6gVP7+fj4+ff3+ff3+ff3+ff3oH/6gVP7+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3NwDv5tz4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+vn5/Pr6UAD00sL5+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3/Pv7/fz8+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3oH/6gVP7+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+vn5/Pr6UAD00sL5+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3ay33jmT5eUf6iWH7+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3dED2lXH8////n3z9SADy9/T4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3dED2lXH8////n3z9SADy9/T4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3ay33jmT5eUf6iWH7+ff3+ff3+ff3dED2lXH8////n3z9SADy9/T4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+/r8/Pv9+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3/Pv7/fz8+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3SQDzrpH7+ff3ZCL2lXD7+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3wZaQr3hu+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+/r6/Pv7+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3wpaQsn91+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Dv78a+vuHd3fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n398KYkrB6cvn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n399O1rsiln/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n390kA86yQ+vn392Mg9ZRv+vn39/n391IA89C/+vn39/n39/n39/n39/n39/n397yl+a2Q+fn39/n39/n39/n39/n397yl+a2Q+fn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+zl+UAA8ePb+fn39/n39/n39/n39+zl+UAA8ePb+fn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39zcA7+bc+Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n398m3+qmK+0IA8dHB+Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n3959++opg+Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+zl+UAA8ePb+fn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n398m3+qmK+0IA8dHB+Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+bd+ZJt+EAA8Y1j+Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39+Pb+VsA9EcA8kcA8su5+/n39/n39/n39/n39/n39/n39/n39/n39/n39+Pb+VsA9EcA8kcA8su5+/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+bd+ZJt+EAA8Y1j+Pn39/n39/n39+Pb+VsA9EcA8kcA8su5+/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n396GB+oVa9/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n3959++opg+Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n390kA86yQ+vn392Mg9ZRv+vn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/Hp54k2MOvh3vn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n398KYkrB6cvn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n399O1rsiln/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fo2Njjz8359/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fItfri2fn59/fOvvrc0Pn59/f59/fCrfrr4/j59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/e7o/ny7fn59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fPv/uymPqymPrq4vn59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fbzfrTw/n59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fPv/uymPqymPrq4vn59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fv6Pf59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fv6Pf59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fv6Pf59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/ff0/jVx/n59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fbzfrTw/n59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fItfri2fn59/fOvvrc0Pn59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fo2Njjz8359/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/f19ff29vz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/7+/vr4+Pn39/n39/////r4+Pn39/r4+P7+/vXt6/Dn5f7+/vr4+Pn39/z7+/n29Pjy8P38/P/+/vr4+Pn39/v5+fz6+PTs6f39/f////n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v08fHLw8PKwsLJwsLSysro5OT8+/v8+/v8+/vVz8/Gvr7p5ub8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f6+fn9/Pz59/X59/eTRz7hysj59/f59/eKOTDn2NX59/fp2daXT0SLODKVS0KPPzfk0M759/e/koqMPDSRQTmxfHSPQDjizcv59/fZvrqGLimPPzeqbmWDKiXs4d/49fP+/f37+vr59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv79/b28e7u/Pv7+/r65uPjxr6+9fT0/Pv7/Pv71c/Pxr6+6ebm/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+/r6/v7+4crIrXFoqGtj+ff3k0c+4crI+ff3+ff3ijkw59jV+fb2l09EvZGJ9vLw+ff36d7b7OLg8ennhzAr7uTi9/T0v5OLgSUj4s3L+ff3nVhOzaml+Pb2vpKKgSUj7OHfwZWPoF5W1Lex/Pv5/Pv7+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+8nBwe7r6/z7+/z7++rn5+Pg4PPx8fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/v6+vj08sqkn5ZNQpdORceemvHo5vn395NHPuDLyfn39/n394o5MOfY1efb2IElI+7k4f38/P38/P38/Pv5+fPs6os4MvPr6P38/PPr6YImJOLNy/Tt64QrJvTt6/n39+fX1IElI+zh3/Xx79CyrKJgWI4+Nr6QiPHo5fz7+/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vv7e3Hv7/6+Pj8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fStK6KOTCzgHjizsz59/f59/f59/f59/eTRz7gy8n59/f59/eKOTDn19TdxsSEKya0gnq0gnq0gnq2g3vUt7H59/fAlIyTST6sdGq1g3uHMCvizcvgy8mMPDT59/f59/f28vCBJSPs4d/59/f59/f59/fr3Nu+kYmNPTW7jYX59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv74+Dg0s3NzcbG7uvr/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff33MTAl05Fm1RLzaek+PTy/fz8+vj4+ff3k0c+zq6n+fj4+Pb0hCwn7+Xj6t/dgSUj0bCq17u11ry4oF1Vzaym+ff3+/n59vPx3cXD1rq0hjAq59XT9vDwhS0o8+vp+ff35NHPgSUj7OHf+ff3/Pv7/fz62Ly2pmdfkEA4yqSh+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7++7r6+Lf39HKyuHd3fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n3997Hxa1xaIo3L7B8dOXS0Pn395NHPqFeVuzg3s6up5NFPfn39/n396RiWq96cPTs6d/Gwow7M/Ps6vn399W4svDm4/z7+dKzrIcyLPTu7Pn396JgWLqLg/Lq6K92bIElI+zi4O3j4byPh409NaJfV9K0rPf08vn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vx7u7HwMD6+fn8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fv5ePBlpCzf3f59/eTRz7Hn5uWTkOVS0LUtrD59/f59/fw5+Wrb2eKNy+TRD3Ss6359/f59/fCl5GRQjqHMCuZUkncxMD59/f59/fk0M6YUUiLODK/koqELCfs4uDHoZq1hHzn19T59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv79PLy/Pv7/Pv75uLi0crK/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3k0c+4crI+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3hCwn7OLg+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+8/JycrCwsvExNLLy+7r6/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n395NFPeDJx/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n394QsJ+zi4Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v49/f49vb8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fXu7Xw6Ob59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fSs6308O759/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/r4+Pz7+/z7+/r4+Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/z6+vn39/n39/n39/n39/n39/n39/z6+vn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fm5srBwG/Av2vs7NL8+/v59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fJyX7v7dz59/f59/f59/f59/f59/fJyX7v7dz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3zMuKxsN7zs2PoKAAxcV3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3kZEA4+HB+ff3+ff3+ff3+ff3+ff3kZEA4+HB+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/7+/vr4+Pn39/n39/////r4+Pn39/n39/n39/38/P/+/v/+/vn39/v6+v38/Pn39/7+/vn4+Pv5+f38/Pn39/n39/n39/r4+P79/f////z7+/n39/n39/n39/n39/n39/n39/n39/n39/7+/vr4+Pn39/n39/////r4+Pn39/r4+P/+/v7+/OfmypqaAPn39/n39/n39/n39/n39/n39/n39/n39/n39/z7+/r68/j47v38/P/+/vr4+Pn395GRAOXkxPf47Pj57/z7+/n39/n395GRAOXkxPf47Pj57/z7+/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v29PTGvr7Gvr7Gvr7Gvr7Gvr7w7+/8+/v8+/vVz8/Gvr7p5ub8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f6+fn9/Pz59/X59/eTRz7hysj59/f59/eKOTDn2NX59/f59/f28/GvdWuQQDiRQTn17+3PsKqwfHT59/eUSD/p3tvTta+udGr59/f59/f59/fo19akZFqJNDC/k4v59/f59/f59/f59/f59/f59/f59/f59/eVlQDg3rr59/f59/eMjADn5c759/fj4r6UlACMjAC/vmSFhQDv7uD59/f59/f59/f59/f59/f59/f59/f59/fAwGmOjgCSkQCzskWRkQDi4MD59/eRkQCsrC2PjwCFhQDDw2/59/f59/eRkQCsrC2PjwCFhQDDw2/59/f49fP+/f37+vr59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv719LS2dXV+/r6+/r6+/r6/Pv7/Pv7/Pv71c/Pxr6+6ebm/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+/r6/v7+4crIrXFoqGtj+ff3k0c+4crI+ff3+ff3ijkw59jV+ff3+ff33MO/mlNK9fHv+ff3+ff3z7CqsHx0+ff3lEg/6d7b07WvrnRq+ff3+ff3+ff3tYJ6vI6G+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3lZUA4N66+ff3+ff3jIwA5+XO+ff3oqIAv75q9PLtuLZVg4MA7eva+ff3+ff3+ff3+ff3+ff3+ff3+ff38fDkiYkA7+3e+Pb0wL9rg4MA4uDA+ff3kZEAqakg9fPu5eLHiIgA9vXw+ff3kZEAqakg9fPu5eLHiIgA9vXwwZWPoF5W1Lex/Pv5/Pv7+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/v5+dLNzeDb2/z7+/z7+/z7+/z7+/z7++rn5+Pg4PPx8fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/v6+vj08sqkn5ZNQpdORceemvHo5vn395NHPuDLyfn39/n394o5MOfY1fn39/n398OZk7J+dvn39/n39/n398+wqrB8dPn395RIP+ne29O1r650avn39/n39/n395ZNRN/Hxfn39/n39/n39/n39/n39/n39/n39/n39/n39/n395WVAODfu/n39/n394yMAOflzvXz7IaGAPHw5Pn39+bjyIODAO3r2vr5+f38/P38/P38/P38/P38/Pz7+/Px6I2NAPPz4/38/PTz5YSEAOLgwPn395GRAM7NjPn39/n395qaAN3br/n395GRAM7NjPn39/n395qaAN3br/Xx79CyrKJgWI4+Nr6QiPHo5fz7+/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v59/fPycnl4uL8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fStK6KOTCzgHjizsz59/f59/f59/f59/eTRz7gy8n59/f59/eKOTDn19T59/f59/fCl5GzgHb59/f59/f59/fPsKqwfHT59/eUSD/q3dvTta+udGr59/f59/f59/eSRzzizMr59/f59/f59/f59/f59/f59/f59/f59/f59/f59/eVlQDh4Lz59/f59/eMjADn5M3g3ryOjgD59/f59/f39fCDgwDt69rc27OysD+ysD+ysD+ysD+ysD+/vmf59/fAv26VlQCurjW3tlGJiQDi4MD59/eRkQDd3LT59/f59/eqqiPIyH/59/eRkQDd3LT59/f59/eqqiPIyH/59/f59/f59/fr3Nu+kYmNPTW7jYX59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv79fT0ysPD7+7u/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff33MTAl05Fm1RLzaek+PTy/fz8+vj4+ff3k0c+zq6n+fj4+Pb0hCwn7+Xj+ff3+ff3wpeRs4B2+ff3+ff3+ff3z7Cqr3hu+ff3kUM76drX0bKssHtx+ff3+ff3+ff3kkc84szK+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3lZUAz8+O+fj4+fj0hoYA7+3f9fPuh4cA8vPl+ff35+bIg4MA7eva5uPKycmCycmCycmCycmCycmC09Gc+ff3+/n59vXx3Nuz19ajiIgA5+TL+ff3kZEAysuC+vj4+/r6lZUA4d+/+ff3kZEAysuC+vj4+/r6lZUA4d+/+ff3/Pv7/fz62Ly2pmdfkEA4yqSh+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7++bj48/Jyfz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n3997Hxa1xaIo3L7B8dOXS0Pn395NHPqFeVuzg3s6up5NFPfn39/n29vn29MCWjbF9c/n29Pn29Pn398+vqZxXTfLq6IUuKdS2sL+SirqLg/n39/n39/n395JHPOLMyvn39/n39/n39/n39/n39/n39/n39/n39/n39/n395WVAKGhAO3t1s/PjpWUAPn39/n396OiALu6WvT047GxP4ODAO3r2vn39/n39/n39/n39/n39/n39/n39/n399bVnvHw3f39+dPTl4mJAPTy6/n395GRAJ2cAO7u1NPSlouLAPj29Pn395GRAJ2cAO7u1NPSlouLAPj29O3j4byPh409NaJfV9K0rPf08vn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v08vLGvr749/f8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fv5ePBlpCzf3f59/eTRz7Hn5uWTkOVS0LUtrD59/fjz82VTEOMOzOJNjCVTEOVTEP17+3WubWnamCOPjatc2mpbGSYUEfl1NT59/f59/f59/eSRzzizMr59/f59/f59/f59/f59/f59/f59/f59/f59/f59/empQrLyoeYmACWlgDV05759/f59/fk4caZmQCNjQDBwG+dnQDv7uD59/f59/f59/f59/f59/f59/f59/f59/fCwnGTkgCJiQCamgDb2rL59/f59/ejogDBwG+SkQCSkQDT0Zz59/f59/ejogDBwG+SkQCSkQDT0Zz59/fHoZq1hHzn19T59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7+/r66ebm/Pr6/Pv74t/f0crK/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3k0c+4crI+ff3+ff3+ff3+ff3+ff3+ff3wpaQsn91+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+vn5/Pr6kkc84szK+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/v6+tPLy8jAwMvExNTMzO7s7Pz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n395NFPeDJx/n39/n39/n39/n39/n39/n399O1rsiln/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n399zDv8eemoo5MODLyfn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v5+Pj49/f8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fXu7Xw6Ob59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/ffycfMqqbMqqbw5+X59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/z7+/v6+vn39/n39/n39/n39/n39/z6+vn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fFxHjT05f7+vj59/f59/f59/f59/fJyX7v7dz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3zMuKnZ0AvLtb+ff3+ff3+ff3+ff3kZEA4+HB+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/////z8/Pn39/n39/n39/v5+fz8+PT05P39/f////n39/n39/r5+f7+/PHw2/z8+Pv6+vn39/n39/n39/38/Pv79u/v2vz79/r4+Pn39/n39/n39/38/P/+/v/+/vn39/n39/n39+zr2ImJAPPz6fn39/n39/n395GRAOXkxPf47Pj57/z7+/n39/n39/r4+P7+/vT15/Hx4P///fr4+Pn39/n39/n39/n39/n39/n39/n39/n39/7+/vr4+Pn39/n39/////r4+Pn39/n39/n39/38/P/+/v/+/vn39/v6+v38/Pn39/7+/vn4+Pv5+f38/Pn39/n39/n39/r4+P79/f////z7+/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vl4uLGvr7Gvr7Gvr7Gvr7l4uL8+/v8+/vVz8/Gvr7p5ub8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f6+fn9/Pz6+vX59/f59/f59/eGhgC4tlX59/f59/f59/fa2qeIiACQkACrqyWFhQDt69r59/fh4buOjgCRkACGhgDOzov59/f59/f5+Pa4t0+FhQCYmACRkADo5c759/f59/f39vGvrzeSkQCSkQD08u359/f59/f19O2IiADMzYf59/f59/f59/eRkQCsrC2PjwCFhQDDw2/59/f59/fp6c2ZmQCNjQCWlgCQkADk4sT59/f59/f59/f59/f59/f59/f59/f59/eVlQDg3rr59/f59/eMjADn5c759/f59/f39vGvrzeSkQCSkQD08u3Q0JSzs0H59/eVlQDq6tXU05yurjX59/f59/f59/fp6MylpQCLiwDAv2v5+PP+/f37+vr59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pr63NfX3NbW/Pr6/Pv7/Pv7/Pv71c/Pxr6+6ebm/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+/r6/v7+4OC4rawyqakg+ff3+ff3+ff3vbth19Wi+ff3+ff3+ff3np4AzcyL+ff1v75qg4MA7eva+ff1l5cAv75q+ff12NerhoYA8O7d+ff3y8yGlZUA6OXO+ff37+3e7+3e+ff3+ff33duvm5sA9vTv+ff3+ff3+ff3+ff30NCPj48An58A+vj4+ff3+ff3kZEAqakg9fPu5eLHiIgA9vXw+ff1mZkAvr5n9vTw+ff36unU7eva+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3lZUA4N66+ff3+ff3jIwA5+XO+ff3+ff33duvm5sA9vTv+ff3+ff30NCUs7NB+ff3lZUA6urV1NOcrq41+ff3+ff3+ff3t7ZOvbxi+ff3+ff3wcBvoaEA1dWe/f35/Pv7+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+9zX19zW1vz7+/z7+/z7+/z7++rn5+Pg4PPx8fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/v6+vj578vLgpeXAJiYAMfEfvDv4/n39/n39/n39/z7+/r5+fn39/n39/Px6IaGAPPx6vn39+fkzYODAO3r2vDu3oODAOnn0vn39/n3946OANbVoPn396WlALu7Yfn39/n39/n39/n39/n39/n398PDdbSzRvn39/n39/n39/n39/n4+KKiANLRl42NAOvp0vn39/n395GRAM7NjPn39/n395qaAN3br+jn0IODAO/u2/38/P38/P38/Pv5+fn39/n39/n39/n39/n39/n39/n39/n395WVAODfu/n39/n394yMAOflzvn39/n398PDdbSzRvn39/n39/n399DQlLOzQfn395WVAOrq1dTTnK6uNfn39/n39/n395iYAN7ctvn39/n39/b079HQlqOiAJCQAL++Z/Ly3/z7+/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vc19fc1tb8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fT0pqMjAC2tUni4b/59/f59/f59/f59/f59/f59/e9u17h4Lz59/f59/fg3ryOjgD59/f59/f39fCDgwDt69rm48qEhAD59/X59/f59/efnwDMy4r59/eamgDU05n59/f59/f59/f59/f59/f59/fCwnG1tEz59/f59/f59/f59/fs69SMjAD29O+2tE+/v2j59/f59/eRkQDd3LT59/f59/eqqiPIyH/d3LSGhgC2tVC2tVC2tVC4tlHV1J/59/f59/f59/f59/f59/f59/f59/f59/eVlQDh4Lz59/f59/eMjADn5M359/f59/fCwnG1tEz59/f59/f59/fQ0JSzs0H59/eVlQDr6dbU05yurjX59/f59/f59/eUlADh37359/f59/f59/f59/f59/fs6da/v2iPjwC8vGL59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv73NfX3NbW/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff329qymJgAnJwAzcyJ+frw/fz8+vj4+ff3+ff3+ff3oaEA0tKY+ff3+ff39fPuh4cA8/Lk+ff35eTEg4MA7eva8fDkg4MA5+bK+ff3+/r4iYkA2NWn+ff3qKcbuLdP+/r6+ff3+vn5+fj4+ff3+ff3wsJxtbRM+ff3+ff3+ff3+ff3wMBptLNG+ff33925kpIA+vn3+ff3kZEAysuC+vj4+/r6lZUA4d+/6+rXg4MA0tGT2Nal19emoaEAzs2P+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3lZUAz8+O+fj4+fj0hoYA7+3f+ff3+ff3wsJxtbRM+ff3+ff3+ff30NCUsbE6+ff3k5MA6efQ0tGXsrJA+ff3+ff3+ff3lJQA4d+9+ff3+ff3+ff3/Pv7/f372dilp6YNkZAAysmG+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+9zX19zW1vz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n3993ctq2sMoyMALOzQeXkxPn39/n39/n395ycAM3NjPn39/n39/n396OiALy7XvPz4q+vN4ODAO3r2vn396GhALGwOfT048XFeYyMAPPx6vn399bUoY6OANXVm/z8997ds+nn0vn39fn59MHBbbS0Q/n59Pn59Pn39/r49pKSAN3ctvn39/n395SUAN3csvn395GRAJ2cAO7u1NPSlouLAPj29Pn396WkALKyQPT05N/etI6OAPPx6Pn39/n39/n39/n39/n39/n39/n39/n395WVAKKhAO3t1s/PjpWUAPn39/n39fn59MHBbbS0Q/n59Pn59Pn399DPk52dAPPz4oeHANXVm8DAabu6YPn39/n39/n395SUAOHfvfn39/n39+7t3L29Y4+PAKOiANPRnPf18/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v6+fn8+/vc19fc1tb8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fv7d/CwXK1s0r59/f59/f59/ecnADNzYz59/f59/f59/fk4sSamgCNjQC/vmqGhgDt69r59/fq6dSjogCJiQCZmQDc27P59/f59/f59/fLyomVlQCJiQCenQDs6tnj4cGXlwCOjgCLiwCXlwCXlwD08u3j4cGioQD59/X59/f59/fFxHu+vWn59/ejogDBwG+SkQCSkQDT0Zz59/f59/fv7uCsqyuMjACUkwDT0Zn59/f59/f59/f59/f59/f59/f59/f59/f59/eVlQDHx36YmACWlgDV05759/fj4cGXlwCOjgCLiwCXlwCXlwD08u3X1aKoqB6QkACurTSpqSCZmQDm48r59/f59/f59/eUlADh37359/f59/fHx363tlHn5M359/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7087O3NfX1tLS3NbW/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3nJwAzc2M+ff3+ff3+ff3+ff3+ff3+ff3+ff3hoYA7eva+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3wsFytLNK+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3lZUA4N66+ff3+ff3+ff3+ff3+ff3+ff3wsFytLNK+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+vn5/Pr6lJQA4d+9+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/f19d7a2snCwtzX1/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n395ubAMzLivn39/n39/n39/n39/n39/n39/n394aGAO3r2vn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n399TSmsrJhvn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n395WUAN/dufn39/n39/n39/n39/n39/n399TSmsrJhvn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n399vasMfHe4yMAODevPn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fT0Zn18+759/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fY1qXx7+H59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/ff3rrNzI7NzI7v7uD59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////p4eH8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vw7Oz59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/fp4eH///////8A////////////6eHh/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv78Ozs+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36eHh////////AP///////////+nh4fz7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/Ds7Pn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39+nh4f///////wD////////////r5eX6+Pj8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/v8+/vx7e349vb59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f59/f29fXu6Oj///////8A////////////8/Dw8Onp/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv7/Pv79/X19PDw+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff38Onp8/Dw////////AP///////////////+3l5fHt7fn39/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z7+/z6+vfz8/fz8/j29vn39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/n39/f19fLs7Ovl5f///////////wD//////////////////v7z7+/u5+fp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHp4eHu5+fz7+///v7///////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AA== + + 1 + + + + + -0 + 4.162036875 + 5.249998902777778 + 5.824074166666667 + 2.657408888888889 + 2.912037083333333 + 1.328704444444444 + + + 5.824074166666667 + 2.657408888888889 + -0 + + + 1 + + + 1 + 0.0138889 + #ff0000 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 2.657408888888888 + + + 5.824074166666667 + 2.657408888888888 + + + 5.824074166666667 + 0 + + + 0 + 0 + + + 0 + 2.657408888888888 + + + + 1 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 3 + #ff0000 + + 0.152778 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 2 + + $rootScope + + + + -0 + 3.532407708333333 + 5.350693833333334 + 4.046295138888889 + 0.4884270555555555 + 2.023147569444445 + 0.2442135277777778 + + + 4.046295138888889 + 0.4884270555555555 + -0 + + + 1 + + + 1 + 0.0138889 + #ff0000 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.4884270555555553 + + + 4.046295138888889 + 0.4884270555555553 + + + 4.046295138888889 + 0 + + + 0 + 0 + + + 0 + 0.4884270555555553 + + + + 1 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 3 + #ff0000 + + 0.152778 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 2 + + $scope + + + + -0 + 3.532407569444445 + 4.675923694444445 + 4.046295138888889 + 0.8055542777777778 + 2.023147569444445 + 0.4027771388888889 + + + 4.046295138888889 + 0.8055542777777778 + -0 + + + 1 + + + 1 + 0.0138889 + #ff0000 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.8055542777777779 + + + 4.046295138888889 + 0.8055542777777779 + + + 4.046295138888889 + 0 + + + 0 + 0 + + + 0 + 0.8055542777777779 + + + + 1 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 3 + #ff0000 + + 0.152778 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 2 + + $scope + + + + -0 + 3.282409236111111 + 4.677071611111111 + 3.249995694444444 + 0.4884270555555555 + 1.624997847222222 + 0.2442135277777778 + + + 3.249995694444444 + 0.4884270555555555 + -0 + + + 1 + + + 1 + 0.0138889 + #ff0000 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.4884270555555553 + + + 3.249995694444444 + 0.4884270555555553 + + + 3.249995694444444 + 0 + + + 0 + 0 + + + 0 + 0.4884270555555553 + + + + 1 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 3 + #ff0000 + + 0.152778 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 2 + + $scope + + + + -0 + 3.817130472222222 + 4.751473319444445 + 7.263888888888889 + 4.763888888888889 + 3.631944444444445 + 2.381944444444445 + + + 7.263888888888889 + 4.625 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 4.763888888888889 + + + 7.263888888888889 + 4.763888888888889 + + + 7.263888888888889 + 0 + + + 0 + 0 + + + 0 + 4.763888888888889 + + + + 0 + 0 + 7.26389 + 4.76389 + + Qk0AAAAAAAAAADYAAAAoAAAACwIAAFcBAAABABgAAAAAADw6CAAAAAAAAAAAAAAAAAAAAAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v3//vz/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////5Mj4lADI////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////+fL++/b+////ni7P2rT0////////////////////gwC2+/X/////0aTvqk/a////////////58/5nSrPlxXKx4/r////yJLrwH/n8OL7mBfL////lQXI8ub9////////////y5ntkwDGlQXI////9er+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////4cP2rVjcjQDB8OP8////3Lj1nCnO////////////////////gwC2+/X/////0aTvqk/a////////////tmvgx4/r////////////yJLrwH/n8OL7mBfL////lQXI8ub9/////////vz/igC+9+/+////////yJDskQDFwYPo8eT9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////8+j9woXplADIp0rX2LDz/fr/////////////lgjJ4sb3////////////////gwC2+/X/////0aTvqk/a////////////pEHV2LHy////////////yJLrwH/n8OL7mBfL////lQXI8ub9////////79/8jgDB////////////////9Of8xYvrmBfLoz3T1azy/vz/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////wYHnhQC5z5/v/fr/////////////////////06jxpEHV////////////////gwC28uX8////z5/vrFbb////////////pEHV2LHy////////////yJLrv33m79/8lxDK////lADI9en9////////7t77jgDC////////////////////////9Of8r1vcgAC079/8////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////5s34tGXfkADDtGXf5Mj4/////////////v3/kADD6tT7////////////gwC2xInp//7/r1zdx4/r////////////pEHV2LHy////////////yJLrtGXf5cv4jADA/vz/jQDB/Pf/////////7t77jgDC////////////+/X/0aXxoTjTlg7Jxo3q9uv9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA/////////////////////////////////////////////////////////////////////////////////////////////////////Pf/0aXxnzPR7Nr7////////////y5ftrFbb////////////gwC2v37nkADDojrT8eP8////4sb3nSrPhwC7kwDHnSrPypXt////0KLvnjDQjQDBs2LekgDFtmrh////////////7t77jgDC////////////woXps2Le5cv4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Pf/jADA8OL7////////gwC2+/X/////////////////////////pEHV2LHy////////////////////////////////////////////////7t77jgDC////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////w4botmrh////////gwC2+/X/////////////////////////v37n5Mj4////////////////////////////////////////////2rT0wIDojgDC////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////1Krz/vz/////////////////////////////////////////////////////////////////////////////3br2zp3v1Krz////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2rbz8eT9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v3//vz///////////////////////////////////////////////////////////////////////////////////////////////////////////7/s2bgjADA5cv4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////5Mj4lADI////////////////////////////////9Of8/vz//////////////////Pj+8eT9////////////////////+PH9+fL+////////////////////z5/vpkfW////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+fL++/b+////ni7P2rT0////////////////////gQC1ojrTlQXIiQC96NL5////////z5/vhAC5lADHkQDE8OL7////////w4fphQC4kQDEnzLQsF7e////////////2rbzfwCz8+j9////////9er+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4cP2rVjcjQDB8OP8////3Lj1nCnO////////////////////gQC1y5nt////x47rs2bg////////kADD6dX5////uG3iwYHn/////v3/iAC89en9/vz/nSrPsF7e////////////pUTVlgjJw4fp////////yJDskQDFwYPo8eT9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8+j9woXplADIp0rX2LDz/fr/////////////lgjJ4sb3////////////////gQC17+H8////6tT7kADE////7dv8iwC/////////3bv1myXN////48f4lxDK////////v33msF7e////////8eT9iwC/6tT7kADE////////////9Of8xYvrmBfLoz3T1azy/vz/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wYHnhQC5z5/v/fr/////////////////////06jxpEHV////////////////gQC169j6////5s34lADH////8eT9iAC8////////2bPzoDfS////58/5kwDG////////u3bksF7e////////v33munPj////myXN3r32////////////////9Of8r1vcgAC079/8////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////5s34tGXfkADDtGXf5Mj4/////////////v3/kADD6tT7////////////gQC1v33m/v3/unPjuG/i////////lQDI3Lj1/Pj+rFbbxo3q////////igC+6NH59+/+lg7JsF7e/////v3/jADA7dv8////zZzvqU7Y////+/X/0aXxoTjTlg7Jxo3q9uv9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Pf/0aXxnzPR7Nr7////////////y5ftrFbb////////////gQC1s2bgjQDBmRzM79/8////////5Mj4p0rXlADIvHjl9+/+////////0aXxiwC/kwDGqk/asF7e////4cT3p0rX////////+vP/lgjJ+vP/woXps2Le5cv4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Pf/jADA8OL7////////gQC1/Pj+////////////////////////////////////////////////////////////y5ntsF7e////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////w4botmrh////////gQC1/Pj+////////////////////////////////////////////////////////////y5ntsF7e////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////1Kny/v3/////////////////////////////////////////////////////////////7dz75cv4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v3//vz/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////5Mj4lADI////////////////////////////+PH9+fL+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+fL++/b+////ni7P2rT0////////////////////w4fphQC4kQDEnzLQsF7e////////t2zhmyXNhAC3lADImyXN7Nr7////////vHjlfQCx7dz7////////9er+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4cP2rVjcjQDB8OP8////3Lj1nCnO/////////////////v3/iAC89en9/vz/nSrPsF7e////////////////myXN4cT3//////////////7/jgDCrlrbvnzm////////yJDskQDFwYPo8eT9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8+j9woXplADIp0rX2LDz/fr/////////////lgjJ4sb3////////////48f4lxDK////////v33msF7e////////////////myXN4cT3////////////4ML2myXN7Nr7jwDD////////////9Of8xYvrmBfLoz3T1azy/vz/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wYHnhQC5z5/v/fr/////////////////////06jxpEHV////////////58/5kwDG////////u3bksF7e////////////////myXN4cT3////////////r1zdypbs////mBrK4sX2////////////////9Of8r1vcgAC079/8////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////5s34tGXfkADDtGXf5Mj4/////////////v3/kADD6tT7////////////igC+6NH59+/+lg7JsF7e////////////////myXN4cT3/////////Pf/iAC89uz+////x47rsWHf////+/X/0aXxoTjTlg7Jxo3q9uv9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Pf/0aXxnzPR7Nr7////////////y5ftrFbb////////////0aXxiwC/kwDGqk/asF7e////////4sX2nSrPlADI5s75////////3br2rlrb////////8+j9mBrK/v3/woXps2Le5cv4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Pf/jADA8OL7////////////////////y5ntsF7e////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////w4botmrh////////////////////y5ntsF7e////////////////nSrP4sX2////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7dz75cv4////////////////4MH19uz+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v3//vz/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////5Mj4lADI////////////////////////////+PH9+fL+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+fL++/b+////ni7P2rT0////////////////////w4fphQC4kQDEnzLQsF7e////////t2zhmyXNhAC3lADImyXN7Nr7////////vHjlfQCx7dz7////////9er+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4cP2rVjcjQDB8OP8////3Lj1nCnO/////////////////v3/iAC89en9/vz/nSrPsF7e////////////////myXN4cT3//////////////7/jgDCrlrbvnzm////////yJDskQDFwYPo8eT9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8+j9woXplADIp0rX2LDz/fr/////////////lgjJ4sb3////////////48f4lxDK////////v33msF7e////////////////myXN4cT3////////////4ML2myXN7Nr7jwDD////////////9Of8xYvrmBfLoz3T1azy/vz/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wYHnhQC5z5/v/fr/////////////////////06jxpEHV////////////58/5kwDG////////u3bksF7e////////////////myXN4cT3////////////r1zdypbs////mBrK4sX2////////////////9Of8r1vcgAC079/8////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////5s34tGXfkADDtGXf5Mj4/////////////v3/kADD6tT7////////////igC+6NH59+/+lg7JsF7e////////////////myXN4cT3/////////Pf/iAC89uz+////x47rsWHf////+/X/0aXxoTjTlg7Jxo3q9uv9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Pf/0aXxnzPR7Nr7////////////y5ftrFbb////////////0aXxiwC/kwDGqk/asF7e////////4sX2nSrPlADI5s75////////3br2rlrb////////8+j9mBrK/v3/woXps2Le5cv4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Pf/jADA8OL7////////////////////y5ntsF7e////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////w4botmrh////////////////////y5ntsF7e////////////////nSrP4sX2////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7dz75cv4////////////////4MH19uz+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v3//vz/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////5Mj4lADI/////////////////////////////Pj+8eT9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+fL++/b+////ni7P2rT0////////////////////z5/vhAC5lADHkQDE8OL7////////////////y5ntkwDGlQXI////9er+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4cP2rVjcjQDB8OP8////3Lj1nCnO////////////////////kADD6dX5////uG3iwYHn/////////////vz/igC+9+/+////////yJDskQDFwYPo8eT9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8+j9woXplADIp0rX2LDz/fr/////////////lgjJ4sb3////////////7dv8iwC/////////3bv1myXN////////////79/8jgDB////////////////9Of8xYvrmBfLoz3T1azy/vz/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wYHnhQC5z5/v/fr/////////////////////06jxpEHV////////////8eT9iAC8////////2bPzoDfS////////////7t77jgDC////////////////////////9Of8r1vcgAC079/8////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////5s34tGXfkADDtGXf5Mj4/////////////v3/kADD6tT7////////////lQDI3Lj1/Pj+rFbbxo3q////////////7t77jgDC////////////+/X/0aXxoTjTlg7Jxo3q9uv9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Pf/0aXxnzPR7Nr7////////////y5ftrFbb////////////5Mj4p0rXlADIvHjl9+/+////////////7t77jgDC////////////woXps2Le5cv4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Pf/jADA8OL7////////////////////////////////////////7t77jgDC////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////w4botmrh////////////////////////////////////2rT0wIDojgDC////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////3br2zp3v1Krz////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v3//vz/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////5Mj4lADI////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+fL++/b+////ni7P2rT0////////////////////////////y5ntkwDGlQXI////////t2zhmyXNhAC3lADImyXN7Nr79er+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4cP2rVjcjQDB8OP8////3Lj1nCnO/////////////////////////vz/igC+9+/+////////////////////myXN4cT3////////yJDskQDFwYPo8eT9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8+j9woXplADIp0rX2LDz/fr/////////////lgjJ4sb3////////////////////79/8jgDB////////////////////////myXN4cT3////////////9Of8xYvrmBfLoz3T1azy/vz/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wYHnhQC5z5/v/fr/////////////////////06jxpEHV////////////////////7t77jgDC////////////////////////myXN4cT3////////////////////9Of8r1vcgAC079/8////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////5s34tGXfkADDtGXf5Mj4/////////////v3/kADD6tT7////////////////7t77jgDC////////////////////////myXN4cT3////////+/X/0aXxoTjTlg7Jxo3q9uv9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Pf/0aXxnzPR7Nr7////////////y5ftrFbb////////////////7t77jgDC////////////////4sX2nSrPlADI5s75////////woXps2Le5cv4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Pf/jADA8OL7////////////7t77jgDC////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////w4botmrh////////2rT0wIDojgDC////////////////////////nSrP4sX2////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////3br2zp3v1Krz////////////////////////4MH19uz+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////tra2y8vL////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////c3NzUlJSSUlJ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+fn55eXl////////////////////////ISEh5+fn////////////////////////////////////////////7u7u+vr6////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////gYGBAQEB4eHh////////////oqKiDw8PLi4uKCgo4uLi////////////////OTk5ysrK////////////////0NDQQEBANTU1k5OT////////WVlZNDQ0JiYmX19fT09P////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////NjY2UVFRl5eX////////////JiYm1dXV////dHR0hoaG////////////////OTk5ysrK////////////////cXFxk5OT////////////1tbWKioq////+/v7R0dHT09P////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////6enpHx8fu7u7TExM////////3NzcHR0d////////vb29PT09////////////////OTk5ysrK////////////////T09Ps7Oz////////////+fn5IiIiuLi47e3tk5OTT09P////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////oKCgYWFh9/f3EhIS9/f3////5eXlFxcX////////tbW1R0dH////////////////OTk5ysrK////////////////T09Ps7Oz////////////////0tLShISEUFBQMzMzU1NT////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////VVVVpaWl////Q0NDtbW1////////MDAwurq6+fn5X19fkZGR////////////////OTk5ysrK////////////////T09Ps7Oz////////////////1tbW////////b29vcnJy////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+vr6EBAQ5+fn////h4eHampq////////ysrKVVVVLy8vfX197+/v////////pKSkQEBAKioq0dHR////////x8fHQEBAFBQULS0tQEBAmJiY////////ZWVlKioqJiYmTk5O6enp////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+/LCws////////y8vLICAg////////////////////////////////////////////////////////////////////T09Ps7Oz////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////dHR0cHBw/////////f39ERER1NTU////////////////////////////////////////QUFBzMzM////////////////g4ODysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////vLy87e3t////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////5ez7rsPyydf2////////////////////////////////////////////////////////////////////////////////////////////////////tMjy/v7/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9ufo5be67s/R////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////57y///7+////////////////////////////////////////////////////////////////////////////////////////////////////////9ufo5be67s/R////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9ufo5be67s/R////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////c5nlc5nlYozgIWPS9Pf+////////////////////////////////////////////////////////////////////////////////////////////ADXB/P3/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////0oKJ0oKJzXN7u0BP+/X1////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////qQAm/vz8////////////////////////////////////////////////////////////////////////////////////////////////////////0oKJ0oKJzXN7u0BP+/X1////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////0oKJ0oKJzXN7u0BP+/X1////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7/////YYvgqsDw/////////////////////////////////////////////////////////////////////v7/4en68vT+////////////ADXB/P3/5+38/P3//////////////////v7/4en68vT+////////////////7fH9+vv/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+e/v/fr6//////////////////////////////////////////////////7+9eTl+/Pz////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+e/v/fr6//////////////////////////////////////////////////7+9eTl+/Pz////////////////9+rr+u/w////////////////////////////////////////////////////////////////////////////////7fH96O77////////////////////////////////////////////7fH9+vv/////////////////////6O777vL+////////////////////6O777vL+//////////////////////////////////////////////////////////////////////////////////////////////////////////7+////zHJ647O2////////////////////////////////////////9+rr+u/w////////////////////////+e/v9+rr/////////////////fn59ubn////////////////qQAm/vz89+nq/vz8//////////////////7+9eTl+/Pz//////////////////////////////////////////////////////////////////////////7+////zHJ647O2////////////////////////////////////////////9+nq/vz8////////////////////////////////////////////////////////////////////////+vLy+/T0//////////////////////////////////////////////////////////////////////////////7+////zHJ647O2////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+fL++/b+////////////y5ntkwDGlQXI////////t2zhmyXNhAC3lADImyXN7Nr7////////////////////////////////ADzC9vj9////orvuT3/c////////nbftAEXGClnPT3/cZY7h////////////////////////////////////8fX8AD7F////////////////////scbyAEbHKmfTE13PXYng////////ADXBO3LXFl3PAEnI1N/4////////scbyAEbHKmfTE13PXYng////////Tn/bHF/QAFTMVYPeQnbY////////////ztr3L2rUHmDRjqzr////////////////////////////////////////////////////////////////rAAr/Pf3////4aywx2Ns////////x2JrujxMtS1AyWhxw1hj////25yg1oyR9eTluj9O////uTpK9+jp////5rm8sBg0vUZTuDlJy293////////////////////////////////////0HyDvUZTrAUtuDdIvUZT893e////rAAr/Pf3////4aywx2Ns////////////////////////////////////rAAr/Pf3////4aywx2Ns////////x2JrujxMtS1AyWhxw1hj////25yg1oyR9eTluj9O////uTpK9+jp////5rm8sBg0vUZTuDlJy293////////vklWvURSvkpXv0xY+/X1////////////////////////////////////////////////////////////////6u/8LWrUAE7KLGnTZI3h////////////////l7PtCVrOFl3P////////Tn/bHF/QAFTMVYPeQnbY////////L2rUKWbUMGvVMWzV9Pf+////////L2rUKWbUMGvVMWzV9Pf+////////////////////////////////////////////////////////////////rAAr/Pf3////4aywx2Ns////////36errxQytzVGx2NsznV9////////////////////////////////////vklWvURSvkpXv0xY+/X1////////+O3tvkhVsiM6vUdUzXV9////////36isrQcuuDZHti5B9eTl////////qQAmwVJeuTpKsBs18djZ////////5rm8sBg0vUZTuDlJy293////////////////////////////////////rAAr/Pf3////4aywx2Ns////////36errxQytzVGx2NsznV9////////////////////////////////////qwApwlNfuTpKsBk08dbX////////0HyDvUZTrAUtuDdIvUZT893e////rAAr/Pf3////4aywx2Ns////////2JKXrQ4vti5Bv05azHB4////////0HyDvUZTrAUtuDdIvUZT893e////rAAr/Pf3////4aywx2Ns////////36errxQytzVGx2NsznV9////////////////////////////////9er+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4cP2rVjcjQDB8OP8/////////vz/igC+9+/+////////////////////myXN4cT3////////////////////////////////////////ADzC9vj9////orvuT3/c/////v7/AEnI1+H49vj9JmXSXorf////////////////////////////////////8fX8AD7F////////////////////AFbN0t75////////6O77////////ADXBmrXt////iajqaZHi////////AFbN0t75////////6O77////1eD5AlfN////+/z+OG/WQnbY////////////aZHijqzr////////////7dv83bv13bv13bv13bv13bv1+/X/////////////////////////////////rAAr/Pf3////4aywx2Ns////8tnatjFD/////vv7wFBcw1hj////25yg1oyR9eTluj9O////uTpK9+jp////tjBC8dfY////////9+rr////////////////////////////////////////////vUZT7MjL////////////rAAr/Pf3////4aywx2Ns////////////////////////////////////rAAr/Pf3////4aywx2Ns////8tnatjFD/////vv7wFBcw1hj////25yg1oyR9eTluj9O////uTpK9+jp////tjBC8dfY////////9+rr////////+vHx////////y2113KCk////////////////////////////////////////////////////////////////hqboYozg/f3/////6/D8/////////////P3/AEjI7vL+////////1eD5AlfN////+/z+OG/WQnbY////////7/T9////////W4jflbDs////////7/T9////////W4jflbDs////7dv83bv13bv13bv13bv13bv1+/X/////////////////////////////////rAAr/Pf3////4aywx2Ns//////7+sBs18tvc/Pf3vENRzHB4////////////////////////////////////+vHx////////y2113KCk////////2JKXzXN7/v39////+O7u////////tS1A8djZ////0H2E146T////////qQAm3qSo////2JWaz3qB////////tjBC8dfY////////9+rr////////////////////////////////////rAAr/Pf3////4aywx2Ns//////7+sBs18tvc/Pf3vENRzHB4////////////////////////////////////qwAp3aKm////2pmeznV9////////////////vUZT7MjL////////////rAAr/Pf3////4aywx2Ns/////v39sBg0+Ovs/vz8vklWzHB4////////////////vUZT7MjL////////////rAAr/Pf3////4aywx2Ns//////7+sBs18tvc/Pf3vENRzHB4////////////////////////////////yJDskQDFwYPo8eT9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8+j9woXplADIp0rX2LDz/fr/////////////79/8jgDB////////////////////////myXN4cT3////////////////////////////////////////ADzC9vj9////orvuT3/c////ytj3EVzO////////ep3mXorf////9ff+5+385+385+385+385+38+vv/////8fX8AD7F////////////////ztr3AFDK8vT+8vT+8vT+8vT+////////ADXB4un7////0N34AlfN////ztr3AFDK8vT+8vT+8vT+8vT+////+fr/AFDKtcnz7PH9jqzrQnbY////////////QnbYsMTz////////////06jyrVfcrVfcrVfcrVfcrVfc9Of8////////////////////////////////rAAr/Pf3////4aywx2Ns/////fn5syg9573A+e3u2pufw1hj////25yg1oyR9eTluj9O////uTpK9+jp8NPUsyg9+/Pz+/Pz+/Pz+/Pz////////////////////////////////////////////vUZT7MjL////////////rAAr/Pf3////4aywx2Ns////////////////////////////////////rAAr/Pf3////4aywx2Ns/////fn5syg9573A+e3u2pufw1hj////25yg1oyR9eTluj9O////uTpK9+jp8NPUsyg9+/Pz+/Pz+/Pz+/Pz////////////7s7Q0X+GsBg07MjL////////////////////////////////////////////////////////////////Gl/QxdT2////////////////////////3+f7AFDK////////////+fr/AFDKtcnz7PH9jqzrQnbY////////////yNb3b5bjAEbHw9L2////////////yNb3b5bjAEbHw9L2////06jyrVfcrVfcrVfcrVfcrVfc9Of8////////////////////////////////rAAr/Pf3////4aywx2Ns////7tDRuDdI////////1YmPzHB4/////Pb29+nq9+nq9+nq9+nq9+nq/fr6////////7s7Q0X+GsBg07MjL////////uTtL7MrN////////////////9N7fsiI5////////6cHEvUZT////////qQAm9eTl////8NXWtjFD////8NPUsyg9+/Pz+/Pz+/Pz+/Pz////////////////////////////////////rAAr/Pf3////4aywx2Ns////7tDRuDdI////////1YmPzHB4/////Pb29+nq9+nq9+nq9+nq9+nq/fr6////qwAp9ePk////8tnatS5B////////////////vUZT7MjL////////////rAAr/Pf3////4aywx2Ns////7czPujxM////////1YqPzHB4////////////////vUZT7MjL////////////rAAr/Pf3////4aywx2Ns////7tDRuDdI////////1YmPzHB4////////////////////////////////////9Of8xYvrmBfLoz3T1azy/vz/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wYHnhQC5z5/v/fr/////////////////////7t77jgDC////////////////////////myXN4cT3////////////////////////////////////////ADzC5ez7////nrjvVYPe////zNr2ClnP////////eJzlXorf////oLnuHmDRHmDRHmDRHmDRHmDRzdr3////8fX8ADG/4en6////////////2uP6ADzCQXXZQXXZPHPXAD/D/v7/////ADXB2+T6////yNb3HmDR////2uP6ADzCQXXZQXXZPHPXAD/D/v7/////0N34fqDoQ3fZGl/QR3na////////////QnbYsMTz////////////////////////////////////////////////////////////////////////rAAr9ufo////36isyWhx////////8NXW1oyRxFlkuTtLxVxn////25yg1YqP9OLjujxM////uDdI+Ovs893erAArw1hjw1hjwlNfrAUt//7+////////////////////////////////////////vUZT7MjL////////////rAAr9ufo////36isyWhx////////////////////////////////////rAAr9ufo////36isyWhx////////8NXW1oyRxFlkuTtLxVxn////25yg1YqP9OLjujxM////uDdI+Ovs893erAArw1hjw1hjwlNfrAUt//7+////04OKuj1N2Zid9uXm////////////////////////////////////////////////////////////////////LGnTus30////////////////////////3ub6AFHL////////////////0N34fqDoQ3fZGl/QR3na////////dJnlHmDRjKrr4+r7////////////dJnlHmDRjKrr4+r7////////////////////////////////////////////////////////////////////rAAr9ufo////36isyWhx////79LTtzVG////////1IaNzHB4////4Kquuj1Nuj1Nuj1Nuj1Nuj1N79LT////04OKuj1N2Zid9uXm////////////vUdU6cHE////////////////9ubnsBg0////////5rq9wFBc////////qQAm9N7f////7s7Quj1N////893erAArw1hjw1hjwlNfrAUt//7+////////////////////////////////rAAr9ufo////36isyWhx////79LTtzVG////////1IaNzHB4////4Kquuj1Nuj1Nuj1Nuj1Nuj1N79LT////qwAp89vc////79LTuDZH////////////////vUZT7MjL////////////rAAr9ufo////36isyWhx////8NPUtzRF////////04OKzHB4////////////////vUZT7MjL////////////rAAr9ufo////36isyWhx////79LTtzVG////////1IaNzHB4////////////////////////////////////////////9Of8r1vcgAC079/8////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////5s34tGXfkADDtGXf5Mj4////////////7t77jgDC////////////////////////myXN4cT3////////////////////////////////////////ADzCh6fp/v7/XIjfjqzr/////v7/AErIztr38fX8H2LRXorf////////////////////////////////////8fX8ADPAaZHi7/T98vT+7/T9////HmDRvc70////mLLtXorf////////ADXBfqDo/f3/b5bjdJnl////////HmDRvc70////mLLtXorf////////1eD5////////Z5Dha5Pi////////////QnbYsMTz////////////x4/rlgjJlgjJlgjJlgjJlgjJ7+H8////8eT9/fr//vz/8eP8/v3/////////rAAr2JOY//7+y2522puf////////8tna////////z3h/0HuC////25ygzXV97tDRsiM6/vz8syQ7/fj4////uj1N6sPG////3aOnzHB4////////////////////////////////////////////vUZT7MjL////////////rAAr2JOY//7+y2522puf////////////////////////////////////rAAr2JOY//7+y2522puf////////8tna////////z3h/0HuC////25ygzXV97tDRsiM6/vz8syQ7/fj4////uj1N6sPG////3aOnzHB4////////w1hj5be6/////Pb2+/Pz////////8eT9/fr//vz/8eP8/v3/////////////////////////////////////lLDsS3zb7vL+////1N/4////////////3ub6AFHL////////////////1eD5////////Z5Dha5Pi////////QXXZr8Xx////9ff+8vT+////////QXXZr8Xx////9ff+8vT+////x4/rlgjJlgjJlgjJlgjJlgjJ7+H8////8eT9/fr//vz/8eP8/v3/////////rAAr2JOY//7+y2522puf//////7+sR838NPU+vLyuj9OzHB4////////////////////////////////////w1hj5be6/////Pb2+/Pz////////3J+jxmBq+u/w////8djZ////////uDlJ6L/C/fn5yWhx2Zid////////qQAm1oyR/v390X+G04OK////////uj1N6sPG////3aOnzHB4////////////////////////////////////rAAr2JOY//7+y2522puf//////7+sR838NPU+vLyuj9OzHB4////////////////////////////////////qwAp1YqP/v390oGI0X6F////////////////vUZT7MjL////////////rAAr2JOY//7+y2522puf////////sR838NXW+u/wuTtLzHB4////////////////vUZT7MjL////////////rAAr2JOY//7+y2522puf//////7+sR838NPU+vLyuj9OzHB4////////8eT9/fr//vz/8eP8/v3/////+/X/0aXxoTjTlg7Jxo3q9uv9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Pf/0aXxnzPR7Nr7////////7t77jgDC////////////////4sX2nSrPlADI5s75////////////////////////////////////////D1vPfqDoAFTMPHPX4+r7////////o7vwAEvJD1vPZY7heZzn////////////////////////////////////8/b9Fl3Pl7PtAFTLAE/J2+T6////yNb3HmDRAFbNY43h4+r7////////AFbNZo/iAE/JKWbU4un7////////yNb3HmDRAFbNY43h4+r7////////XIjfAlfNAFTMQXXZ6O77////xdT2L2rUAEPGClnPL2rUlLDs////+vT+9er+9er+9er+9er+9er+/vz/////fgCx48f47t77fQCx9uv9////////uDZH1oyRtS1AwlNf9uXm////////y252tjFDtS1Aw1hj9+rr////4Kquv01ZsyY8zXN7tjFDz3mA////////7s7Quj1NtjBCzXR89uXm////////////////////////////////////7MnMvklWuDdI79LT////////////uDZH1oyRtS1AwlNf9uXm////////////////////////////////////uDZH1oyRtS1AwlNf9uXm////////y252tjFDtS1Aw1hj9+rr////4Kquv01ZsyY8zXN7tjFDz3mA////////7s7Quj1NtjBCzXR89uXm////////7s7QwE5auTpKuDdI8tvc////////fgCx48f47t77fQCx9uv9////////////////////////////////////9Pf+W4jfAE7KAlfNfZ/n////////////3ub6AFHL////////////////XIjfAlfNAFTMQXXZ6O77////////yNb3Nm7VFl3PEVzO1+H4////////yNb3Nm7VFl3PEVzO1+H4////+vT+9er+9er+9er+9er+9er+/vz/////fgCx48f47t77fQCx9uv9////////uDZH1oyRtS1AwlNf9uXm////////4a2xsSE4uDZHznV91IiO////////////////////////////////////7s7QwE5auTpKuDdI8tvc////////+/X1y211siM6tjFD1ouR////////7s7QxV9puDdI04WM+u/w////////ti5Bznd+syQ7vURS9eTl////////7s7Quj1NtjBCzXR89uXm////////////////////////////////////uDZH1oyRtS1AwlNf9uXm////////4a2xsSE4uDZHznV91IiO////////////////////////////////////qwApznV9syQ7vEJQ9OLj////////7MnMvklWuDdI79LT////////////uDZH1oyRtS1AwlNf9uXm////////4a2xsiI5tzRFx2NszHB4////////7MnMvklWuDdI79LT////////////uDZH1oyRtS1AwlNf9uXm////////4a2xsSE4uDZHznV91IiO////////fgCx48f47t77fQCx9uv9////woXps2Le5cv4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7t77jgDC////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////QnbYsMTz////////////////////////////////////////////fgCx48f47t77fQCx9uv9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////fgCx48f47t77fQCx9uv9////////////////////////////////////////////////////////////////////3ub6AFHL////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////fgCx48f47t77fQCx9uv9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////qwAp/fn5////////////////////////////////////////////////////////////////////////////////////////3aKmzHB4////////////////////////////////////////////////////////////////////////////////////////////fgCx48f47t77fQCx9uv9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2rT0wIDojgDC////////////////////////nSrP4sX2////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////fZ/nyNb3////////////////////////////////////////////fgCx48f47t77fQCx9uv9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////vklW7MnM////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////fgCx48f47t77fQCx9uv9////////////////////////////////////////////////////////////////s8bzf6LnAFHL////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////fgCx48f47t77fQCx9uv9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////qwAp/fn5////////////////////////////vklW7MnM////////////////////////////////////////////////////3aKmzHB4////////////////vklW7MnM////////////////////////////////////////////////////////////////////fgCx48f47t77fQCx9uv9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////3br2zp3v1Krz////////////////////////4MH19uz+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2rT0+PD9+/X/2bPz/fr/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////68bJ+e3u////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2rT0+PD9+/X/2bPz/fr/////////////////////////////////////////////////////////////////uszznLbuqsDw////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2rT0+PD9+/X/2bPz/fr/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////47G1/v39////////////////////////////68bJ+e3u////////////////////////////////////////////////////9N/g7tDR////////////////68bJ+e3u////////////////////////////////////////////////////////////////////2rT0+PD9+/X/2bPz/fr/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v3//vz/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////5Mj4lADI////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+fL++/b+////ni7P2rT0////////////////////////////y5ntkwDGlQXI////////t2zhmyXNhAC3lADImyXN7Nr79er+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4cP2rVjcjQDB8OP8////3Lj1nCnO/////////////////////////vz/igC+9+/+////////////////////myXN4cT3////////yJDskQDFwYPo8eT9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8+j9woXplADIp0rX2LDz/fr/////////////lgjJ4sb3////////////////////79/8jgDB////////////////////////myXN4cT3////////////9Of8xYvrmBfLoz3T1azy/vz/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wYHnhQC5z5/v/fr/////////////////////06jxpEHV////////////////////7t77jgDC////////////////////////myXN4cT3////////////////////9Of8r1vcgAC079/8////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////5s34tGXfkADDtGXf5Mj4/////////////v3/kADD6tT7////////////////7t77jgDC////////////////////////myXN4cT3////////+/X/0aXxoTjTlg7Jxo3q9uv9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Pf/0aXxnzPR7Nr7////////////y5ftrFbb////////////////7t77jgDC////////////////4sX2nSrPlADI5s75////////woXps2Le5cv4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Pf/jADA8OL7////////////7t77jgDC////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////w4botmrh////////2rT0wIDojgDC////////////////////////nSrP4sX2////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////3br2zp3v1Krz////////////////////////4MH19uz+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////6enp7+/v////////////////////////////////////////////////+fn55eXl////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////MTExzs7O////////4ODgHh4e////////c3NzPT09Dg4OLy8vPT0929vb////QEBAPDw8QUFBQkJC9PT0////////REREtra2////1tbWGRkZ3Nzc////oqKiDw8PLi4uKCgo4uLi////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////MTExzs7O////////4ODgHh4e////////////////PT09xcXF////////////8PDw////////ZGRkmZmZ////////REREtra29/f3Li4uqqqq////////JiYm1dXV////dHR0hoaG////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////MTExzs7O6enp5eXl4ODgHh4e////////////////PT09xcXF////////////////ysrKdnZ2FxcXxcXF////////REREfHx8aWlpampq////////3NzcHR0d////////vb29PT09////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////MTExzs7OYmJiUVFR4ODgHh4e////////////////PT09xcXF////////////e3t7NTU1kZGR5OTk////////////RERELCwsFxcX9/f3////////5eXlFxcX////////tbW1R0dH////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////MTExyMjIQ0NDSUlJ0dHRHh4e////////////////PT09xcXF////////////Tk5OsrKy////9fX18vLy////////REREtbW1b29vY2Nj/Pz8////////MDAwurq6+fn5X19fkZGR////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////MTExgoKCh4eHl5eXgYGBHh4e////////xsbGQEBALy8vz8/P////////////ysrKRUVFMTExLy8v2NjY////////REREtra2////gYGBd3d3////////ysrKVVVVLy8vfX197+/v////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////MTExKysr3Nzc6urqLi4uHh4e////////////////////////////////////////////////////////////////REREtra2////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Nzc3Nzc3////////SEhIJCQk////////////////QEBAxsbG////////////////////////////////////////REREtra2////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wsLC7e3t////////////////////////////////////////wMDA5ubm////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////5ez7rsPyydf2////////////////////////////////////////////////////////////////////////////////////////////////////tMjy/v7/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9ufo5be67s/R////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////57y///7+////////////////////////////////////////////////////////////////////////////////////////////////////////9ufo5be67s/R////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9ufo5be67s/R////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////c5nlc5nlYozgIWPS9Pf+////////////////////////////////////////////////////////////////////////////////////////////ADXB/P3/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////0oKJ0oKJzXN7u0BP+/X1////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////qQAm/vz8////////////////////////////////////////////////////////////////////////////////////////////////////////0oKJ0oKJzXN7u0BP+/X1////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////0oKJ0oKJzXN7u0BP+/X1////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7/////YYvgqsDw/////////////////////////////////////////////////////////////////////v7/4en68vT+////////////ADXB/P3/5+38/P3//////////////////v7/4en68vT+////////////////7fH9+vv/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+e/v/fr6//////////////////////////////////////////////////7+9eTl+/Pz////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+e/v/fr6//////////////////////////////////////////////////7+9eTl+/Pz////////////////9+rr+u/w////////////////////////////////////////////////////////////////////////////////7fH96O77////////////////////////////////////////////7fH9+vv/////////////////////6O777vL+////////////////////6O777vL+//////////////////////////////////////////////////////////////////////////////////////////////////////////7+////zHJ647O2////////////////////////////////////////9+rr+u/w////////////////////////+e/v9+rr/////////////////fn59ubn////////////////qQAm/vz89+nq/vz8//////////////////7+9eTl+/Pz//////////////////////////////////////////////////////////////////////////7+////zHJ647O2////////////////////////////////////////////9+nq/vz8////////////////////////////////////////////////////////////////////////+vLy+/T0//////////////////////////////////////////////////////////////////////////////7+////zHJ647O2////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+fL++/b+////////////y5ntkwDGlQXI////////t2zhmyXNhAC3lADImyXN7Nr7////////////////////////////////ADzC9vj9////orvuT3/c////////nbftAEXGClnPT3/cZY7h////////////////////////////////////8fX8AD7F////////////////////scbyAEbHKmfTE13PXYng////////ADXBO3LXFl3PAEnI1N/4////////scbyAEbHKmfTE13PXYng////////Tn/bHF/QAFTMVYPeQnbY////////////ztr3L2rUHmDRjqzr////////////////////////////////////////////////////////////////rAAr/Pf3////4aywx2Ns////////x2JrujxMtS1AyWhxw1hj////25yg1oyR9eTluj9O////uTpK9+jp////5rm8sBg0vUZTuDlJy293////////////////////////////////////0HyDvUZTrAUtuDdIvUZT893e////rAAr/Pf3////4aywx2Ns////////////////////////////////////rAAr/Pf3////4aywx2Ns////////x2JrujxMtS1AyWhxw1hj////25yg1oyR9eTluj9O////uTpK9+jp////5rm8sBg0vUZTuDlJy293////////vklWvURSvkpXv0xY+/X1////////////////////////////////////////////////////////////////6u/8LWrUAE7KLGnTZI3h////////////////l7PtCVrOFl3P////////Tn/bHF/QAFTMVYPeQnbY////////L2rUKWbUMGvVMWzV9Pf+////////L2rUKWbUMGvVMWzV9Pf+////////////////////////////////////////////////////////////////rAAr/Pf3////4aywx2Ns////////36errxQytzVGx2NsznV9////////////////////////////////////vklWvURSvkpXv0xY+/X1////////+O3tvkhVsiM6vUdUzXV9////////36isrQcuuDZHti5B9eTl////////qQAmwVJeuTpKsBs18djZ////////5rm8sBg0vUZTuDlJy293////////////////////////////////////rAAr/Pf3////4aywx2Ns////////36errxQytzVGx2NsznV9////////////////////////////////////qwApwlNfuTpKsBk08dbX////////0HyDvUZTrAUtuDdIvUZT893e////rAAr/Pf3////4aywx2Ns////////2JKXrQ4vti5Bv05azHB4////////0HyDvUZTrAUtuDdIvUZT893e////rAAr/Pf3////4aywx2Ns////////36errxQytzVGx2NsznV9////////////////////////////////9er+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4cP2rVjcjQDB8OP8/////////vz/igC+9+/+////////////////////myXN4cT3////////////////////////////////////////ADzC9vj9////orvuT3/c/////v7/AEnI1+H49vj9JmXSXorf////////////////////////////////////8fX8AD7F////////////////////AFbN0t75////////6O77////////ADXBmrXt////iajqaZHi////////AFbN0t75////////6O77////1eD5AlfN////+/z+OG/WQnbY////////////aZHijqzr////////////7dv83bv13bv13bv13bv13bv1+/X/////////////////////////////////rAAr/Pf3////4aywx2Ns////8tnatjFD/////vv7wFBcw1hj////25yg1oyR9eTluj9O////uTpK9+jp////tjBC8dfY////////9+rr////////////////////////////////////////////vUZT7MjL////////////rAAr/Pf3////4aywx2Ns////////////////////////////////////rAAr/Pf3////4aywx2Ns////8tnatjFD/////vv7wFBcw1hj////25yg1oyR9eTluj9O////uTpK9+jp////tjBC8dfY////////9+rr////////+vHx////////y2113KCk////////////////////////////////////////////////////////////////hqboYozg/f3/////6/D8/////////////P3/AEjI7vL+////////1eD5AlfN////+/z+OG/WQnbY////////7/T9////////W4jflbDs////////7/T9////////W4jflbDs////7dv83bv13bv13bv13bv13bv1+/X/////////////////////////////////rAAr/Pf3////4aywx2Ns//////7+sBs18tvc/Pf3vENRzHB4////////////////////////////////////+vHx////////y2113KCk////////2JKXzXN7/v39////+O7u////////tS1A8djZ////0H2E146T////////qQAm3qSo////2JWaz3qB////////tjBC8dfY////////9+rr////////////////////////////////////rAAr/Pf3////4aywx2Ns//////7+sBs18tvc/Pf3vENRzHB4////////////////////////////////////qwAp3aKm////2pmeznV9////////////////vUZT7MjL////////////rAAr/Pf3////4aywx2Ns/////v39sBg0+Ovs/vz8vklWzHB4////////////////vUZT7MjL////////////rAAr/Pf3////4aywx2Ns//////7+sBs18tvc/Pf3vENRzHB4////////////////////////////////yJDskQDFwYPo8eT9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8+j9woXplADIp0rX2LDz/fr/////////////79/8jgDB////////////////////////myXN4cT3////////////////////////////////////////ADzC9vj9////orvuT3/c////ytj3EVzO////////ep3mXorf////9ff+5+385+385+385+385+38+vv/////8fX8AD7F////////////////ztr3AFDK8vT+8vT+8vT+8vT+////////ADXB4un7////0N34AlfN////ztr3AFDK8vT+8vT+8vT+8vT+////+fr/AFDKtcnz7PH9jqzrQnbY////////////QnbYsMTz////////////06jyrVfcrVfcrVfcrVfcrVfc9Of8////////////////////////////////rAAr/Pf3////4aywx2Ns/////fn5syg9573A+e3u2pufw1hj////25yg1oyR9eTluj9O////uTpK9+jp8NPUsyg9+/Pz+/Pz+/Pz+/Pz////////////////////////////////////////////vUZT7MjL////////////rAAr/Pf3////4aywx2Ns////////////////////////////////////rAAr/Pf3////4aywx2Ns/////fn5syg9573A+e3u2pufw1hj////25yg1oyR9eTluj9O////uTpK9+jp8NPUsyg9+/Pz+/Pz+/Pz+/Pz////////////7s7Q0X+GsBg07MjL////////////////////////////////////////////////////////////////Gl/QxdT2////////////////////////3+f7AFDK////////////+fr/AFDKtcnz7PH9jqzrQnbY////////////yNb3b5bjAEbHw9L2////////////yNb3b5bjAEbHw9L2////06jyrVfcrVfcrVfcrVfcrVfc9Of8////////////////////////////////rAAr/Pf3////4aywx2Ns////7tDRuDdI////////1YmPzHB4/////Pb29+nq9+nq9+nq9+nq9+nq/fr6////////7s7Q0X+GsBg07MjL////////uTtL7MrN////////////////9N7fsiI5////////6cHEvUZT////////qQAm9eTl////8NXWtjFD////8NPUsyg9+/Pz+/Pz+/Pz+/Pz////////////////////////////////////rAAr/Pf3////4aywx2Ns////7tDRuDdI////////1YmPzHB4/////Pb29+nq9+nq9+nq9+nq9+nq/fr6////qwAp9ePk////8tnatS5B////////////////vUZT7MjL////////////rAAr/Pf3////4aywx2Ns////7czPujxM////////1YqPzHB4////////////////vUZT7MjL////////////rAAr/Pf3////4aywx2Ns////7tDRuDdI////////1YmPzHB4////////////////////////////////////9Of8xYvrmBfLoz3T1azy/vz/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wYHnhQC5z5/v/fr/////////////////////7t77jgDC////////////////////////myXN4cT3////////////////////////////////////////ADzC5ez7////nrjvVYPe////zNr2ClnP////////eJzlXorf////oLnuHmDRHmDRHmDRHmDRHmDRzdr3////8fX8ADG/4en6////////////2uP6ADzCQXXZQXXZPHPXAD/D/v7/////ADXB2+T6////yNb3HmDR////2uP6ADzCQXXZQXXZPHPXAD/D/v7/////0N34fqDoQ3fZGl/QR3na////////////QnbYsMTz////////////////////////////////////////////////////////////////////////rAAr9ufo////36isyWhx////////8NXW1oyRxFlkuTtLxVxn////25yg1YqP9OLjujxM////uDdI+Ovs893erAArw1hjw1hjwlNfrAUt//7+////////////////////////////////////////vUZT7MjL////////////rAAr9ufo////36isyWhx////////////////////////////////////rAAr9ufo////36isyWhx////////8NXW1oyRxFlkuTtLxVxn////25yg1YqP9OLjujxM////uDdI+Ovs893erAArw1hjw1hjwlNfrAUt//7+////04OKuj1N2Zid9uXm////////////////////////////////////////////////////////////////////LGnTus30////////////////////////3ub6AFHL////////////////0N34fqDoQ3fZGl/QR3na////////dJnlHmDRjKrr4+r7////////////dJnlHmDRjKrr4+r7////////////////////////////////////////////////////////////////////rAAr9ufo////36isyWhx////79LTtzVG////////1IaNzHB4////4Kquuj1Nuj1Nuj1Nuj1Nuj1N79LT////04OKuj1N2Zid9uXm////////////vUdU6cHE////////////////9ubnsBg0////////5rq9wFBc////////qQAm9N7f////7s7Quj1N////893erAArw1hjw1hjwlNfrAUt//7+////////////////////////////////rAAr9ufo////36isyWhx////79LTtzVG////////1IaNzHB4////4Kquuj1Nuj1Nuj1Nuj1Nuj1N79LT////qwAp89vc////79LTuDZH////////////////vUZT7MjL////////////rAAr9ufo////36isyWhx////8NPUtzRF////////04OKzHB4////////////////vUZT7MjL////////////rAAr9ufo////36isyWhx////79LTtzVG////////1IaNzHB4////////////////////////////////////////////9Of8r1vcgAC079/8////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////5s34tGXfkADDtGXf5Mj4////////////7t77jgDC////////////////////////myXN4cT3////////////////////////////////////////ADzCh6fp/v7/XIjfjqzr/////v7/AErIztr38fX8H2LRXorf////////////////////////////////////8fX8ADPAaZHi7/T98vT+7/T9////HmDRvc70////mLLtXorf////////ADXBfqDo/f3/b5bjdJnl////////HmDRvc70////mLLtXorf////////1eD5////////Z5Dha5Pi////////////QnbYsMTz////////////x4/rlgjJlgjJlgjJlgjJlgjJ7+H8////8eT9/fr//vz/8eP8/v3/////////rAAr2JOY//7+y2522puf////////8tna////////z3h/0HuC////25ygzXV97tDRsiM6/vz8syQ7/fj4////uj1N6sPG////3aOnzHB4////////////////////////////////////////////vUZT7MjL////////////rAAr2JOY//7+y2522puf////////////////////////////////////rAAr2JOY//7+y2522puf////////8tna////////z3h/0HuC////25ygzXV97tDRsiM6/vz8syQ7/fj4////uj1N6sPG////3aOnzHB4////////w1hj5be6/////Pb2+/Pz////////8eT9/fr//vz/8eP8/v3/////////////////////////////////////lLDsS3zb7vL+////1N/4////////////3ub6AFHL////////////////1eD5////////Z5Dha5Pi////////QXXZr8Xx////9ff+8vT+////////QXXZr8Xx////9ff+8vT+////x4/rlgjJlgjJlgjJlgjJlgjJ7+H8////8eT9/fr//vz/8eP8/v3/////////rAAr2JOY//7+y2522puf//////7+sR838NPU+vLyuj9OzHB4////////////////////////////////////w1hj5be6/////Pb2+/Pz////////3J+jxmBq+u/w////8djZ////////uDlJ6L/C/fn5yWhx2Zid////////qQAm1oyR/v390X+G04OK////////uj1N6sPG////3aOnzHB4////////////////////////////////////rAAr2JOY//7+y2522puf//////7+sR838NPU+vLyuj9OzHB4////////////////////////////////////qwAp1YqP/v390oGI0X6F////////////////vUZT7MjL////////////rAAr2JOY//7+y2522puf////////sR838NXW+u/wuTtLzHB4////////////////vUZT7MjL////////////rAAr2JOY//7+y2522puf//////7+sR838NPU+vLyuj9OzHB4////////8eT9/fr//vz/8eP8/v3/////+/X/0aXxoTjTlg7Jxo3q9uv9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Pf/0aXxnzPR7Nr7////////7t77jgDC////////////////4sX2nSrPlADI5s75////////////////////////////////////////D1vPfqDoAFTMPHPX4+r7////////o7vwAEvJD1vPZY7heZzn////////////////////////////////////8/b9Fl3Pl7PtAFTLAE/J2+T6////yNb3HmDRAFbNY43h4+r7////////AFbNZo/iAE/JKWbU4un7////////yNb3HmDRAFbNY43h4+r7////////XIjfAlfNAFTMQXXZ6O77////xdT2L2rUAEPGClnPL2rUlLDs////+vT+9er+9er+9er+9er+9er+/vz/////fgCx48f47t77fQCx9uv9////////uDZH1oyRtS1AwlNf9uXm////////y252tjFDtS1Aw1hj9+rr////4Kquv01ZsyY8zXN7tjFDz3mA////////7s7Quj1NtjBCzXR89uXm////////////////////////////////////7MnMvklWuDdI79LT////////////uDZH1oyRtS1AwlNf9uXm////////////////////////////////////uDZH1oyRtS1AwlNf9uXm////////y252tjFDtS1Aw1hj9+rr////4Kquv01ZsyY8zXN7tjFDz3mA////////7s7Quj1NtjBCzXR89uXm////////7s7QwE5auTpKuDdI8tvc////////fgCx48f47t77fQCx9uv9////////////////////////////////////9Pf+W4jfAE7KAlfNfZ/n////////////3ub6AFHL////////////////XIjfAlfNAFTMQXXZ6O77////////yNb3Nm7VFl3PEVzO1+H4////////yNb3Nm7VFl3PEVzO1+H4////+vT+9er+9er+9er+9er+9er+/vz/////fgCx48f47t77fQCx9uv9////////uDZH1oyRtS1AwlNf9uXm////////4a2xsSE4uDZHznV91IiO////////////////////////////////////7s7QwE5auTpKuDdI8tvc////////+/X1y211siM6tjFD1ouR////////7s7QxV9puDdI04WM+u/w////////ti5Bznd+syQ7vURS9eTl////////7s7Quj1NtjBCzXR89uXm////////////////////////////////////uDZH1oyRtS1AwlNf9uXm////////4a2xsSE4uDZHznV91IiO////////////////////////////////////qwApznV9syQ7vEJQ9OLj////////7MnMvklWuDdI79LT////////////uDZH1oyRtS1AwlNf9uXm////////4a2xsiI5tzRFx2NszHB4////////7MnMvklWuDdI79LT////////////uDZH1oyRtS1AwlNf9uXm////////4a2xsSE4uDZHznV91IiO////////fgCx48f47t77fQCx9uv9////woXps2Le5cv4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7t77jgDC////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////QnbYsMTz////////////////////////////////////////////fgCx48f47t77fQCx9uv9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////fgCx48f47t77fQCx9uv9////////////////////////////////////////////////////////////////////3ub6AFHL////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////fgCx48f47t77fQCx9uv9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////qwAp/fn5////////////////////////////////////////////////////////////////////////////////////////3aKmzHB4////////////////////////////////////////////////////////////////////////////////////////////fgCx48f47t77fQCx9uv9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2rT0wIDojgDC////////////////////////nSrP4sX2////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////fZ/nyNb3////////////////////////////////////////////fgCx48f47t77fQCx9uv9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////vklW7MnM////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////fgCx48f47t77fQCx9uv9////////////////////////////////////////////////////////////////s8bzf6LnAFHL////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////fgCx48f47t77fQCx9uv9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////qwAp/fn5////////////////////////////vklW7MnM////////////////////////////////////////////////////3aKmzHB4////////////////vklW7MnM////////////////////////////////////////////////////////////////////fgCx48f47t77fQCx9uv9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////3br2zp3v1Krz////////////////////////4MH19uz+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2rT0+PD9+/X/2bPz/fr/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////68bJ+e3u////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2rT0+PD9+/X/2bPz/fr/////////////////////////////////////////////////////////////////uszznLbuqsDw////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2rT0+PD9+/X/2bPz/fr/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////47G1/v39////////////////////////////68bJ+e3u////////////////////////////////////////////////////9N/g7tDR////////////////68bJ+e3u////////////////////////////////////////////////////////////////////2rT0+PD9+/X/2bPz/fr/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v3//vz/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////5Mj4lADI////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+fL++/b+////ni7P2rT0////////////////////////////y5ntkwDGlQXI////////t2zhmyXNhAC3lADImyXN7Nr79er+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4cP2rVjcjQDB8OP8////3Lj1nCnO/////////////////////////vz/igC+9+/+////////////////////myXN4cT3////////yJDskQDFwYPo8eT9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8+j9woXplADIp0rX2LDz/fr/////////////lgjJ4sb3////////////////////79/8jgDB////////////////////////myXN4cT3////////////9Of8xYvrmBfLoz3T1azy/vz/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wYHnhQC5z5/v/fr/////////////////////06jxpEHV////////////////////7t77jgDC////////////////////////myXN4cT3////////////////////9Of8r1vcgAC079/8////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////5s34tGXfkADDtGXf5Mj4/////////////v3/kADD6tT7////////////////7t77jgDC////////////////////////myXN4cT3////////+/X/0aXxoTjTlg7Jxo3q9uv9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Pf/0aXxnzPR7Nr7////////////y5ftrFbb////////////////7t77jgDC////////////////4sX2nSrPlADI5s75////////woXps2Le5cv4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Pf/jADA8OL7////////////7t77jgDC////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////w4botmrh////////2rT0wIDojgDC////////////////////////nSrP4sX2////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////3br2zp3v1Krz////////////////////////4MH19uz+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////5ubmsbGxy8vL////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////enp6enp6ampqNzc39PT0////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+////aWlpra2t////////////+fn55eXl////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////KysrExMTAwMDGRkZhYWF////////oaGhFRUVLS0tWlpabW1t////////oqKiDw8PLi4uKCgo4uLi////////8fHxDw8P////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wsLCJiYm/////////////v7+GRkZ2NjY9vb2Ojo6Z2dn////////JiYm1dXV////dHR0hoaG////////8fHxDw8P////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wsLCJiYm////////////zMzMLy8v////////gICAZ2dn////3NzcHR0d////////vb29PT09////////8fHxDw8P////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wsLCJiYm////////////zs7OLS0t////////fn5+Z2dn////5eXlFxcX////////tbW1R0dH////////8fHxAAAA4uLi////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wsLCJiYm/////////////v7+Gxsb0NDQ8fHxNjY2Z2dn////////MDAwurq6+fn5X19fkZGR////////8fHxBAQEcXFx8PDw8vLy8PDw////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wsLCJiYm////////////////p6enHBwcLi4ubW1tf39/////////ysrKVVVVLy8vfX197+/v////////8/PzMTExm5ubJSUlICAg3Nzc////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wsLCJiYm////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////HR0dBwcHAQEBCgoKfX19////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////5ez7rsPyydf2////////////////////////////////////////////////////////////////////////////////////////////////////tMjy/v7/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9ufo5be67s/R////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////57y///7+////////////////////////////////////////////////////////////////////////////////////////////////////////9ufo5be67s/R////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9ufo5be67s/R////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////c5nlc5nlYozgIWPS9Pf+////////////////////////////////////////////////////////////////////////////////////////////ADXB/P3/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////0oKJ0oKJzXN7u0BP+/X1////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////qQAm/vz8////////////////////////////////////////////////////////////////////////////////////////////////////////0oKJ0oKJzXN7u0BP+/X1////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////0oKJ0oKJzXN7u0BP+/X1////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7/////YYvgqsDw/////////////////////////////////////////////////////////////////////v7/4en68vT+////////////ADXB/P3/5+38/P3//////////////////v7/4en68vT+////////////////7fH9+vv/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+e/v/fr6//////////////////////////////////////////////////7+9eTl+/Pz////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+e/v/fr6//////////////////////////////////////////////////7+9eTl+/Pz////////////////9+rr+u/w////////////////////////////////////////////////////////////////////////////////7fH96O77////////////////////////////////////////////7fH9+vv/////////////////////6O777vL+////////////////////6O777vL+//////////////////////////////////////////////////////////////////////////////////////////////////////////7+////zHJ647O2////////////////////////////////////////9+rr+u/w////////////////////////+e/v9+rr/////////////////fn59ubn////////////////qQAm/vz89+nq/vz8//////////////////7+9eTl+/Pz//////////////////////////////////////////////////////////////////////////7+////zHJ647O2////////////////////////////////////////////9+nq/vz8////////////////////////////////////////////////////////////////////////+vLy+/T0//////////////////////////////////////////////////////////////////////////////7+////zHJ647O2////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+fL++/b+////////////y5ntkwDGlQXI////////t2zhmyXNhAC3lADImyXN7Nr7////////////////////////////////ADzC9vj9////orvuT3/c////////nbftAEXGClnPT3/cZY7h////////////////////////////////////8fX8AD7F////////////////////scbyAEbHKmfTE13PXYng////////ADXBO3LXFl3PAEnI1N/4////////scbyAEbHKmfTE13PXYng////////Tn/bHF/QAFTMVYPeQnbY////////////ztr3L2rUHmDRjqzr////////////////////////////////////////////////////////////////rAAr/Pf3////4aywx2Ns////////x2JrujxMtS1AyWhxw1hj////25yg1oyR9eTluj9O////uTpK9+jp////5rm8sBg0vUZTuDlJy293////////////////////////////////////0HyDvUZTrAUtuDdIvUZT893e////rAAr/Pf3////4aywx2Ns////////////////////////////////////rAAr/Pf3////4aywx2Ns////////x2JrujxMtS1AyWhxw1hj////25yg1oyR9eTluj9O////uTpK9+jp////5rm8sBg0vUZTuDlJy293////////vklWvURSvkpXv0xY+/X1////////////////////////////////////////////////////////////////6u/8LWrUAE7KLGnTZI3h////////////////l7PtCVrOFl3P////////Tn/bHF/QAFTMVYPeQnbY////////L2rUKWbUMGvVMWzV9Pf+////////L2rUKWbUMGvVMWzV9Pf+////////////////////////////////////////////////////////////////rAAr/Pf3////4aywx2Ns////////36errxQytzVGx2NsznV9////////////////////////////////////vklWvURSvkpXv0xY+/X1////////+O3tvkhVsiM6vUdUzXV9////////36isrQcuuDZHti5B9eTl////////qQAmwVJeuTpKsBs18djZ////////5rm8sBg0vUZTuDlJy293////////////////////////////////////rAAr/Pf3////4aywx2Ns////////36errxQytzVGx2NsznV9////////////////////////////////////qwApwlNfuTpKsBk08dbX////////0HyDvUZTrAUtuDdIvUZT893e////rAAr/Pf3////4aywx2Ns////////2JKXrQ4vti5Bv05azHB4////////0HyDvUZTrAUtuDdIvUZT893e////rAAr/Pf3////4aywx2Ns////////36errxQytzVGx2NsznV9////////////////////////////////9er+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4cP2rVjcjQDB8OP8/////////vz/igC+9+/+////////////////////myXN4cT3////////////////////////////////////////ADzC9vj9////orvuT3/c/////v7/AEnI1+H49vj9JmXSXorf////////////////////////////////////8fX8AD7F////////////////////AFbN0t75////////6O77////////ADXBmrXt////iajqaZHi////////AFbN0t75////////6O77////1eD5AlfN////+/z+OG/WQnbY////////////aZHijqzr////////////7dv83bv13bv13bv13bv13bv1+/X/////////////////////////////////rAAr/Pf3////4aywx2Ns////8tnatjFD/////vv7wFBcw1hj////25yg1oyR9eTluj9O////uTpK9+jp////tjBC8dfY////////9+rr////////////////////////////////////////////vUZT7MjL////////////rAAr/Pf3////4aywx2Ns////////////////////////////////////rAAr/Pf3////4aywx2Ns////8tnatjFD/////vv7wFBcw1hj////25yg1oyR9eTluj9O////uTpK9+jp////tjBC8dfY////////9+rr////////+vHx////////y2113KCk////////////////////////////////////////////////////////////////hqboYozg/f3/////6/D8/////////////P3/AEjI7vL+////////1eD5AlfN////+/z+OG/WQnbY////////7/T9////////W4jflbDs////////7/T9////////W4jflbDs////7dv83bv13bv13bv13bv13bv1+/X/////////////////////////////////rAAr/Pf3////4aywx2Ns//////7+sBs18tvc/Pf3vENRzHB4////////////////////////////////////+vHx////////y2113KCk////////2JKXzXN7/v39////+O7u////////tS1A8djZ////0H2E146T////////qQAm3qSo////2JWaz3qB////////tjBC8dfY////////9+rr////////////////////////////////////rAAr/Pf3////4aywx2Ns//////7+sBs18tvc/Pf3vENRzHB4////////////////////////////////////qwAp3aKm////2pmeznV9////////////////vUZT7MjL////////////rAAr/Pf3////4aywx2Ns/////v39sBg0+Ovs/vz8vklWzHB4////////////////vUZT7MjL////////////rAAr/Pf3////4aywx2Ns//////7+sBs18tvc/Pf3vENRzHB4////////////////////////////////yJDskQDFwYPo8eT9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8+j9woXplADIp0rX2LDz/fr/////////////79/8jgDB////////////////////////myXN4cT3////////////////////////////////////////ADzC9vj9////orvuT3/c////ytj3EVzO////////ep3mXorf////9ff+5+385+385+385+385+38+vv/////8fX8AD7F////////////////ztr3AFDK8vT+8vT+8vT+8vT+////////ADXB4un7////0N34AlfN////ztr3AFDK8vT+8vT+8vT+8vT+////+fr/AFDKtcnz7PH9jqzrQnbY////////////QnbYsMTz////////////06jyrVfcrVfcrVfcrVfcrVfc9Of8////////////////////////////////rAAr/Pf3////4aywx2Ns/////fn5syg9573A+e3u2pufw1hj////25yg1oyR9eTluj9O////uTpK9+jp8NPUsyg9+/Pz+/Pz+/Pz+/Pz////////////////////////////////////////////vUZT7MjL////////////rAAr/Pf3////4aywx2Ns////////////////////////////////////rAAr/Pf3////4aywx2Ns/////fn5syg9573A+e3u2pufw1hj////25yg1oyR9eTluj9O////uTpK9+jp8NPUsyg9+/Pz+/Pz+/Pz+/Pz////////////7s7Q0X+GsBg07MjL////////////////////////////////////////////////////////////////Gl/QxdT2////////////////////////3+f7AFDK////////////+fr/AFDKtcnz7PH9jqzrQnbY////////////yNb3b5bjAEbHw9L2////////////yNb3b5bjAEbHw9L2////06jyrVfcrVfcrVfcrVfcrVfc9Of8////////////////////////////////rAAr/Pf3////4aywx2Ns////7tDRuDdI////////1YmPzHB4/////Pb29+nq9+nq9+nq9+nq9+nq/fr6////////7s7Q0X+GsBg07MjL////////uTtL7MrN////////////////9N7fsiI5////////6cHEvUZT////////qQAm9eTl////8NXWtjFD////8NPUsyg9+/Pz+/Pz+/Pz+/Pz////////////////////////////////////rAAr/Pf3////4aywx2Ns////7tDRuDdI////////1YmPzHB4/////Pb29+nq9+nq9+nq9+nq9+nq/fr6////qwAp9ePk////8tnatS5B////////////////vUZT7MjL////////////rAAr/Pf3////4aywx2Ns////7czPujxM////////1YqPzHB4////////////////vUZT7MjL////////////rAAr/Pf3////4aywx2Ns////7tDRuDdI////////1YmPzHB4////////////////////////////////////9Of8xYvrmBfLoz3T1azy/vz/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wYHnhQC5z5/v/fr/////////////////////7t77jgDC////////////////////////myXN4cT3////////////////////////////////////////ADzC5ez7////nrjvVYPe////zNr2ClnP////////eJzlXorf////oLnuHmDRHmDRHmDRHmDRHmDRzdr3////8fX8ADG/4en6////////////2uP6ADzCQXXZQXXZPHPXAD/D/v7/////ADXB2+T6////yNb3HmDR////2uP6ADzCQXXZQXXZPHPXAD/D/v7/////0N34fqDoQ3fZGl/QR3na////////////QnbYsMTz////////////////////////////////////////////////////////////////////////rAAr9ufo////36isyWhx////////8NXW1oyRxFlkuTtLxVxn////25yg1YqP9OLjujxM////uDdI+Ovs893erAArw1hjw1hjwlNfrAUt//7+////////////////////////////////////////vUZT7MjL////////////rAAr9ufo////36isyWhx////////////////////////////////////rAAr9ufo////36isyWhx////////8NXW1oyRxFlkuTtLxVxn////25yg1YqP9OLjujxM////uDdI+Ovs893erAArw1hjw1hjwlNfrAUt//7+////04OKuj1N2Zid9uXm////////////////////////////////////////////////////////////////////LGnTus30////////////////////////3ub6AFHL////////////////0N34fqDoQ3fZGl/QR3na////////dJnlHmDRjKrr4+r7////////////dJnlHmDRjKrr4+r7////////////////////////////////////////////////////////////////////rAAr9ufo////36isyWhx////79LTtzVG////////1IaNzHB4////4Kquuj1Nuj1Nuj1Nuj1Nuj1N79LT////04OKuj1N2Zid9uXm////////////vUdU6cHE////////////////9ubnsBg0////////5rq9wFBc////////qQAm9N7f////7s7Quj1N////893erAArw1hjw1hjwlNfrAUt//7+////////////////////////////////rAAr9ufo////36isyWhx////79LTtzVG////////1IaNzHB4////4Kquuj1Nuj1Nuj1Nuj1Nuj1N79LT////qwAp89vc////79LTuDZH////////////////vUZT7MjL////////////rAAr9ufo////36isyWhx////8NPUtzRF////////04OKzHB4////////////////vUZT7MjL////////////rAAr9ufo////36isyWhx////79LTtzVG////////1IaNzHB4////////////////////////////////////////////9Of8r1vcgAC079/8////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////5s34tGXfkADDtGXf5Mj4////////////7t77jgDC////////////////////////myXN4cT3////////////////////////////////////////ADzCh6fp/v7/XIjfjqzr/////v7/AErIztr38fX8H2LRXorf////////////////////////////////////8fX8ADPAaZHi7/T98vT+7/T9////HmDRvc70////mLLtXorf////////ADXBfqDo/f3/b5bjdJnl////////HmDRvc70////mLLtXorf////////1eD5////////Z5Dha5Pi////////////QnbYsMTz////////////x4/rlgjJlgjJlgjJlgjJlgjJ7+H8////8eT9/fr//vz/8eP8/v3/////////rAAr2JOY//7+y2522puf////////8tna////////z3h/0HuC////25ygzXV97tDRsiM6/vz8syQ7/fj4////uj1N6sPG////3aOnzHB4////////////////////////////////////////////vUZT7MjL////////////rAAr2JOY//7+y2522puf////////////////////////////////////rAAr2JOY//7+y2522puf////////8tna////////z3h/0HuC////25ygzXV97tDRsiM6/vz8syQ7/fj4////uj1N6sPG////3aOnzHB4////////w1hj5be6/////Pb2+/Pz////////8eT9/fr//vz/8eP8/v3/////////////////////////////////////lLDsS3zb7vL+////1N/4////////////3ub6AFHL////////////////1eD5////////Z5Dha5Pi////////QXXZr8Xx////9ff+8vT+////////QXXZr8Xx////9ff+8vT+////x4/rlgjJlgjJlgjJlgjJlgjJ7+H8////8eT9/fr//vz/8eP8/v3/////////rAAr2JOY//7+y2522puf//////7+sR838NPU+vLyuj9OzHB4////////////////////////////////////w1hj5be6/////Pb2+/Pz////////3J+jxmBq+u/w////8djZ////////uDlJ6L/C/fn5yWhx2Zid////////qQAm1oyR/v390X+G04OK////////uj1N6sPG////3aOnzHB4////////////////////////////////////rAAr2JOY//7+y2522puf//////7+sR838NPU+vLyuj9OzHB4////////////////////////////////////qwAp1YqP/v390oGI0X6F////////////////vUZT7MjL////////////rAAr2JOY//7+y2522puf////////sR838NXW+u/wuTtLzHB4////////////////vUZT7MjL////////////rAAr2JOY//7+y2522puf//////7+sR838NPU+vLyuj9OzHB4////////8eT9/fr//vz/8eP8/v3/////+/X/0aXxoTjTlg7Jxo3q9uv9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Pf/0aXxnzPR7Nr7////////7t77jgDC////////////////4sX2nSrPlADI5s75////////////////////////////////////////D1vPfqDoAFTMPHPX4+r7////////o7vwAEvJD1vPZY7heZzn////////////////////////////////////8/b9Fl3Pl7PtAFTLAE/J2+T6////yNb3HmDRAFbNY43h4+r7////////AFbNZo/iAE/JKWbU4un7////////yNb3HmDRAFbNY43h4+r7////////XIjfAlfNAFTMQXXZ6O77////xdT2L2rUAEPGClnPL2rUlLDs////+vT+9er+9er+9er+9er+9er+/vz/////fgCx48f47t77fQCx9uv9////////uDZH1oyRtS1AwlNf9uXm////////y252tjFDtS1Aw1hj9+rr////4Kquv01ZsyY8zXN7tjFDz3mA////////7s7Quj1NtjBCzXR89uXm////////////////////////////////////7MnMvklWuDdI79LT////////////uDZH1oyRtS1AwlNf9uXm////////////////////////////////////uDZH1oyRtS1AwlNf9uXm////////y252tjFDtS1Aw1hj9+rr////4Kquv01ZsyY8zXN7tjFDz3mA////////7s7Quj1NtjBCzXR89uXm////////7s7QwE5auTpKuDdI8tvc////////fgCx48f47t77fQCx9uv9////////////////////////////////////9Pf+W4jfAE7KAlfNfZ/n////////////3ub6AFHL////////////////XIjfAlfNAFTMQXXZ6O77////////yNb3Nm7VFl3PEVzO1+H4////////yNb3Nm7VFl3PEVzO1+H4////+vT+9er+9er+9er+9er+9er+/vz/////fgCx48f47t77fQCx9uv9////////uDZH1oyRtS1AwlNf9uXm////////4a2xsSE4uDZHznV91IiO////////////////////////////////////7s7QwE5auTpKuDdI8tvc////////+/X1y211siM6tjFD1ouR////////7s7QxV9puDdI04WM+u/w////////ti5Bznd+syQ7vURS9eTl////////7s7Quj1NtjBCzXR89uXm////////////////////////////////////uDZH1oyRtS1AwlNf9uXm////////4a2xsSE4uDZHznV91IiO////////////////////////////////////qwApznV9syQ7vEJQ9OLj////////7MnMvklWuDdI79LT////////////uDZH1oyRtS1AwlNf9uXm////////4a2xsiI5tzRFx2NszHB4////////7MnMvklWuDdI79LT////////////uDZH1oyRtS1AwlNf9uXm////////4a2xsSE4uDZHznV91IiO////////fgCx48f47t77fQCx9uv9////woXps2Le5cv4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7t77jgDC////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////QnbYsMTz////////////////////////////////////////////fgCx48f47t77fQCx9uv9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////fgCx48f47t77fQCx9uv9////////////////////////////////////////////////////////////////////3ub6AFHL////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////fgCx48f47t77fQCx9uv9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////qwAp/fn5////////////////////////////////////////////////////////////////////////////////////////3aKmzHB4////////////////////////////////////////////////////////////////////////////////////////////fgCx48f47t77fQCx9uv9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2rT0wIDojgDC////////////////////////nSrP4sX2////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////fZ/nyNb3////////////////////////////////////////////fgCx48f47t77fQCx9uv9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////vklW7MnM////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////fgCx48f47t77fQCx9uv9////////////////////////////////////////////////////////////////s8bzf6LnAFHL////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////fgCx48f47t77fQCx9uv9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////qwAp/fn5////////////////////////////vklW7MnM////////////////////////////////////////////////////3aKmzHB4////////////////vklW7MnM////////////////////////////////////////////////////////////////////fgCx48f47t77fQCx9uv9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////3br2zp3v1Krz////////////////////////4MH19uz+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2rT0+PD9+/X/2bPz/fr/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////68bJ+e3u////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2rT0+PD9+/X/2bPz/fr/////////////////////////////////////////////////////////////////uszznLbuqsDw////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2rT0+PD9+/X/2bPz/fr/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////47G1/v39////////////////////////////68bJ+e3u////////////////////////////////////////////////////9N/g7tDR////////////////68bJ+e3u////////////////////////////////////////////////////////////////////2rT0+PD9+/X/2bPz/fr/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////6fLivdal0+PF////////////////////////////////////////////////////////////////////////wtms/v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////j7lej7legbBCV5QA9fry////////////////////////////////////////////////////////////////L3cA/P37////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+////gK9AudSh/////////////////////////////////////////v7+5u/f9Pnv////////////L3cA/P376/Pl/P37/////////////////v7+5u/f9Pnv////////////////8Pbs+vz4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8Pbs+vz4/////////////////////////////////////////////////v7+5u/f9Pnv////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8Pbs+vz4/////////////////////////////////////////////////v7+5u/f9Pnv////////////////7PPn8fft////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9Pnx+Pr2////////zuG+K3UA1+bK////////////////////////////////////////////////////////////////////////////////////////////////NHsA9/v1////tNCZdKgT////////r82RO4AAT44AdKgThLJI////zeC9R4kA////////////V5QAr82R////v9eqPYIAXJcAUpAAfq46////////L3cAZp4AUpAAP4QA3OnP////////v9eqPYIAXJcAUpAAfq46////////dKcPVZIASYoAeKoqa6IA////////////1+bKXpkAVpMApMaA////////////aaAAL3cA////////////////////////////////////////////NHsA9/v1////tNCZdKgT////////dKcPVZIASYoAeKoqa6IA////pseDl75q5u/fV5MA////UpAA6vLk////v9eqPYIAXJcAUpAAfq46////////////////////////////////////ibVTXJcANX0AUY8AXJcA4OzY////NHsA9/v1////tNCZdKgT////////////////////////////////////NHsA9/v1////tNCZdKgT////////dKcPVZIASYoAeKoqa6IA////pseDl75q5u/fV5MA////UpAA6vLk////v9eqPYIAXJcAUpAAfq46////////XpkAW5cAX5oAYJoA9fry////////////////////////////////////////////////////////////////////////////////////////7vXn////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////zeC9eassRIcA5/De////////7vXpttKb8vfv////////////////////////////////////////////////////////////////////////////////////////////////NHsA9/v1////tNCZdKgT/////v7+P4QA3uvT9/v1WZYAf646////zeC9R4kA////////xduySosA/P37////TIwA2+jQ////////7PPn////////L3cArcyO////oMN6h7RO////////TIwA2+jQ////////7PPn////3erQTIwA////+/35ZJ0Aa6IA////////////h7ROpMaA////////////////////d6khQYQA////////////////////////////////////////////NHsA9/v1////tNCZdKgT////3erQTIwA////+/35ZJ0Aa6IA////pseDl75q5u/fV5MA////UpAA6vLk////TIwA2+jQ////////7PPn////////////////////////////////////////////XJcAzuG+////////////NHsA9/v1////tNCZdKgT////////////////////////////////////NHsA9/v1////tNCZdKgT////3erQTIwA////+/35ZJ0Aa6IA////pseDl75q5u/fV5MA////UpAA6vLk////TIwA2+jQ////////7PPn////////8vfv////////fK00qMqJ////////////////////////////////////////////////////////////////////////////////////////pceBTIwAmr9x6PHh////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7PPnnMFzUY8AcKUAvten+vz4////////////////1+bI////////////9vr06/Pl6/Pl6/Pl6/Pl6/Pl+vz49vr06/Pl6/Pl6/Pl6/Pl6/Pl+vz4////////////////////////////////NHsA9/v1////tNCZdKgT////1OTGUY8A////////lL1lf646////zeC9R4kA////+fv3To4Avten////1+bKRogA9Pnv9Pnv9Pnv9Pnv////////L3cA5/De////2efNTIwA////1+bKRogA9Pnv9Pnv9Pnv9Pnv////+vz3RogAw9mu7/bqpMaAa6IA////////////a6IAv9in////////////////////////////////////////////////////////////////////////NHsA9/v1////tNCZdKgT////+vz3RogAw9mu7/bqpMaAa6IA////pseDl75q5u/fV5MA////UpAA6vLk1+bKRogA9Pnv9Pnv9Pnv9Pnv////////////////////////////////////////////XJcAzuG+////////////NHsA9/v1////tNCZdKgT////////////////////////////////////NHsA9/v1////tNCZdKgT////+vz3RogAw9mu7/bqpMaAa6IA////pseDl75q5u/fV5MA////UpAA6vLk1+bKRogA9Pnv9Pnv9Pnv9Pnv////////////0uTDi7dVPYIAzuG+////////////////////////////////9vr06/Pl6/Pl6/Pl6/Pl6/Pl+vz49vr06/Pl6/Pl6/Pl6/Pl6/Pl+vz4////6/PlocR7V5MAaaAAutWi/P37////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////mb9uN38AsM6S+vz4/////////////////////f78M3sA////////////ss+WVpMAVpMAVpMAVpMAVpMA1+bIss+WVpMAVpMAVpMAVpMAVpMA1+bI////////////////////////////////NHsA6fLi////sM6SeKoq////1uXHT44A////////krpjf646////zeC9M3sAaqEARYcAhrNN////////4OzYNHsAaqEAaqEAZ58ANX0A/v7+////L3cA4e3X////0uTDVpMA////4OzYNHsAaqEAaqEAZ58ANX0A/v7+////2efNl75qbKIAVJIAb6QA////////////a6IAv9in////////////////////+vz4+fv3////////////////////////////////////////////NHsA6fLi////sM6SeKoq////////2efNl75qbKIAVJIAb6QA////pseDlr1p5O/cVZIA////UY8A7fTo4OzYNHsAaqEAaqEAZ58ANX0A/v7+////////////////////////////////////////XJcAzuG+////////////NHsA6fLi////sM6SeKoq////////////////////////////////////NHsA6fLi////sM6SeKoq////////2efNl75qbKIAVJIAb6QA////pseDlr1p5O/cVZIA////UY8A7fTo4OzYNHsAaqEAaqEAZ58ANX0A/v7+////kLpfVpMAo8V/6PHf////////////////////////////////////ss+WVpMAVpMAVpMAVpMAVpMA1+bIss+WVpMAVpMAVpMAVpMAVpMA1+bI////////////6/PlfK00MHgA5O/c////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////1uXHg7FHSYoAg7FH0uTD////////////8vfvK3UA+/35////////////////////////////////////////////////////////////////////////////////////////////////NHsAnsJ3/v7+fa05pMaA/////v7+QYQA1+bK8/jwV5MAf646////zeC9QocA2ujOvdalTY0AutWi////////VpMAyd22////q8qMf646////////L3cAl75q/f78i7dVkLpf////////VpMAyd22////q8qMf646////////3erQ////////hbNJiLVP////////////a6IAv9in////////////////////aaAAL3cA////////////////////////////////////////////NHsAnsJ3/v7+fa05pMaA////////3erQ////////hbNJiLVP////pseDg7FH1OTGQ4YA/P37RIcA+fv3////VpMAyd22////q8qMf646////////////////////////////////////////////XJcAzuG+////////////NHsAnsJ3/v7+fa05pMaA////////////////////////////////////NHsAnsJ3/v7+fa05pMaA////////3erQ////////hbNJiLVP////pseDg7FH1OTGQ4YA/P37RIcA+fv3////VpMAyd22////q8qMf646////////aqEAvten////9vr09Pnv////////////////////////////////////////////////////////////////////////////////////////9/v1tNGaZp4AVJIAo8V/7vXp////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+fv3tNGaY5wA4OzY////////8PbsK3UA+vz4////////////////////////////////////////////////////////////////////////////////////////////////UI8Al75qSYoAZ58A6PHf////////tNGaQIQAUI8AhLJIk7tk////zeC9R4kA////////krpjdqgf////////0uTDVpMATIwAgrFD6PHf////////S4sAhbJIRIcAW5cA5/De////////0uTDVpMATIwAgrFD6PHf////////fa05TIwASYoAaqEA7PPn////0OK/XpkAO4AAT44AXpkAqMmI////////////f646TIwA////////////////////////////////////////////UI8Al75qSYoAZ58A6PHf////////fa05TIwASYoAaqEA7PPn////ss+WYZsARYcAgbBCTIwAhrNN////////0uTDVpMATIwAgrFD6PHf////////////////////////////////////z+G+XpkAUY8A1+bI////////////UI8Al75qSYoAZ58A6PHf////////////////////////////////////UI8Al75qSYoAZ58A6PHf////////fa05TIwASYoAaqEA7PPn////ss+WYZsARYcAgbBCTIwAhrNN////////0uTDVpMATIwAgrFD6PHf////////0uTDY5wAUpAAUY8A3uvT////////////////////////////////////////////////////////////////////////////////////////nMFzgbBC1OTG////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8PbsK3UA+vz4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////zeC9R4kA////5/DeVZIAr82R////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////a6IAv9in////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8PbsK3UA+vz4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////zeC9LHcAN38AS4sAibVT9vr0////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////l71s0uTD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////XpkAz+G+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////y9+67/bq////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Pj+8eT9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////t7e34+Pj////////////////////////////////////////+fL++/b+////z5/vhAC5lADHkQDE8OL7////////////////y5ntkwDGlQXI////9er+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9PT0ZGRkeXl5////////////////////////////////4cP2rVjcjQDB8OP8////kADD6dX5////uG3iwYHn/////////////vz/igC+9+/+////////yJDskQDFwYPo8eT9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////qqqqWlpaWlpa2NjY////////////////8+j9woXplADIp0rX2LDz/fr/////7dv8iwC/////////3bv1myXN////////////79/8jgDB////////////////9Of8xYvrmBfLoz3T1azy/vz/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8fHxYWFhWlpaWlpabm5u/f39////////////wYHnhQC5z5/v/fr/////////////8eT9iAC8////////2bPzoDfS////////////7t77jgDC////////////////////////9Of8r1vcgAC079/8////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////oKCgWlpaWlpaWlpaWlpa0dHR////////////////5s34tGXfkADDtGXf5Mj4////////lQDI3Lj1/Pj+rFbbxo3q////////////7t77jgDC////////////+/X/0aXxoTjTlg7Jxo3q9uv9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsXV1dWlpaWlpaWlpaWlpaZ2dn/Pz8/////////////////////Pf/0aXxnzPR7Nr7////5Mj4p0rXlADIvHjl9+/+////////////7t77jgDC////////////woXps2Le5cv4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////l5eXWlpaWlpaWlpaWlpaWlpaWlpawsLC////////////////////////////////////////////////////////////////////////7t77jgDC////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2rT0wIDojgDC////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////3br2zp3v1Krz////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////5ez7rsPyydf2////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9ufo5be67s/R////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////57y///7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////c5nlc5nlYozgIWPS9Pf+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////0oKJ0oKJzXN7u0BP+/X1////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////qQAm/vz8////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+PH9+fL+/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7/////YYvgqsDw////////////////////////////////////////////7fH96O77////////////////+fr/5Ov8////////////////////////////////////////////////////////////////////////////////////////////////////////+fr/5Ov8/////////////////////////////////////////////////////////////////////////////v7/4en68vT+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9+rr+u/w////////////////////////////////////////////////////+u/w9+jp////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7fH96O77////////////////////////////////////////////7fH9+vv/////////////////////6O777vL+////////////////////6O777vL+//////////////////////////////////////////////////////////////////////////////////////////////////////////7+////zHJ647O2////////////////////////////////////////9+rr+u/w////////////////////////+e/v9+rr/////////////////fn59ubn////////////////qQAm/vz89+nq/vz8//////////////////7+9eTl+/Pz////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////t7e34+Pj////////////////////////////////////////+fL++/b+////w4fphQC4kQDEnzLQsF7e////////t2zhmyXNhAC3lADImyXN7Nr7////////vHjlfQCx7dz7////////////////////////////////////////ADzC9vj9////orvuT3/c////////nbftAEXGClnPT3/cZY7h////////////////////////////////////6u/8LWrUAE7KLGnTZI3h////////nrjvAD7FD1vPAFbN4en6////////ADzC9vj9////orvuT3/c////////////ztr3L2rUHmDRjqzr////////8fX8AD7F////////////////////nrjvAD7FD1vPAFbN4en6////////////////l7PtCVrOFl3P////////////////l7PtCVrOFl3P////////scbyAEbHKmfTE13PXYng////////8fX8AD7F////////////////////////////////////////////////////////////////////////////tS5BrhIxsBs1sBs1sBs19uXm////0HyDvUZTrAUtuDdIvUZT893e////vklWvURSvkpXv0xY+/X1////////////8NPUvklWuj1N2puf////////9+jpvklWrxYzuDlJxmJr////////////8NPUvklWuj1N2puf////////+vLyrQcu////////////////////////////3aKmtzRFuTpK////////////////////////////////////////////////////////////////6u/8LWrUAE7KLGnTZI3h////////////////l7PtCVrOFl3P////////Tn/bHF/QAFTMVYPeQnbY////////L2rUKWbUMGvVMWzV9Pf+////////L2rUKWbUMGvVMWzV9Pf+////////////////////////////////////////////////////////////////rAAr/Pf3////4aywx2Ns////////36errxQytzVGx2NsznV9////////////////////////////////////vklWvURSvkpXv0xY+/X1////////+O3tvkhVsiM6vUdUzXV9////////36isrQcuuDZHti5B9eTl////////qQAmwVJeuTpKsBs18djZ////////5rm8sBg0vUZTuDlJy293////////////////////////////////9er+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9PT0ZGRkeXl5////////////////////////////////4cP2rVjcjQDB8OP8/v3/iAC89en9/vz/nSrPsF7e////////////////myXN4cT3//////////////7/jgDCrlrbvnzm////////////////////////////////////////ADzC9vj9////orvuT3/c/////v7/AEnI1+H49vj9JmXSXorf////////////////////////////////////hqboYozg/f3/////6/D8////////AFTM1N/4////bZTjgKHn////////ADzC9vj9////orvuT3/c////////////aZHijqzr////////////////8fX8AD7F////////////////////AFTM1N/4////bZTjgKHn/////////////P3/AEjI7vL+/////////////////P3/AEjI7vL+////////////AFbN0t75////////6O77////////8fX8AD7F////////////////7dv83bv13bv13bv13bv13bv1+/X/////////////////////////////////tS5B6sXI////////////////////////////vUZT7MjL////////////+vHx////////y2113KCk////////////z3qB2puf////////////////w1hjznV9+/X1////9ePk////////////z3qB2puf////////////////+vLyrQcu/////////////////////////vz8sR03+u/w////////////////////////////////////////////////////////////////////hqboYozg/f3/////6/D8/////////////P3/AEjI7vL+////////1eD5AlfN////+/z+OG/WQnbY////////7/T9////////W4jflbDs////////7/T9////////W4jflbDs////7dv83bv13bv13bv13bv13bv1+/X/////////////////////////////////rAAr/Pf3////4aywx2Ns//////7+sBs18tvc/Pf3vENRzHB4////////////////////////////////////+vHx////////y2113KCk////////2JKXzXN7/v39////+O7u////////tS1A8djZ////0H2E146T////////qQAm3qSo////2JWaz3qB////////tjBC8dfY////////9+rr////////////////////////////////yJDskQDFwYPo8eT9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////qqqqWlpaWlpa2NjY////////////////8+j9woXplADIp0rX2LDz/fr/////48f4lxDK////////v33msF7e////////////////myXN4cT3////////////4ML2myXN7Nr7jwDD////////////////////////////////////////ADzC9vj9////orvuT3/c////ytj3EVzO////////ep3mXorf////9ff+5+385+385+385+385+38+vv/////Gl/QxdT2////////////////2+T6AE3J////////us30KmfT////////ADzC9vj9////orvuT3/c////////////QnbYsMTz////////////////8fX8AD7F////////////////2+T6AE3J////////us30KmfT////////////3+f7AFDK////////////////////3+f7AFDK////////////ztr3AFDK8vT+8vT+8vT+8vT+////////8fX8AD7F////////////////06jyrVfcrVfcrVfcrVfcrVfc9Of8////////////////////////////////tS5B6sXI////////////////////////////vUZT7MjL////////////////7s7Q0X+GsBg07MjL////////////w1hj5bi7////////////+O7uqAAk+vLy////////////////////////w1hj5bi7////////////////+vLyrQcu////////////////////////9OLjsyg9////////////////////////////////////////////////////////////////////////Gl/QxdT2////////////////////////3+f7AFDK////////////+fr/AFDKtcnz7PH9jqzrQnbY////////////yNb3b5bjAEbHw9L2////////////yNb3b5bjAEbHw9L2////06jyrVfcrVfcrVfcrVfcrVfc9Of8////////////////////////////////rAAr/Pf3////4aywx2Ns////7tDRuDdI////////1YmPzHB4/////Pb29+nq9+nq9+nq9+nq9+nq/fr6////////7s7Q0X+GsBg07MjL////////uTtL7MrN////////////////9N7fsiI5////////6cHEvUZT////////qQAm9eTl////8NXWtjFD////8NPUsyg9+/Pz+/Pz+/Pz+/Pz////////////////////////////////////9Of8xYvrmBfLoz3T1azy/vz/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8fHxYWFhWlpaWlpabm5u/f39////////////wYHnhQC5z5/v/fr/////////////58/5kwDG////////u3bksF7e////////////////myXN4cT3////////////r1zdypbs////mBrK4sX2////////////////////////////////////ADzC5ez7////nrjvVYPe////zNr2ClnP////////eJzlXorf////oLnuHmDRHmDRHmDRHmDRHmDRzdr3////LGnTus30////////////////5Ov8AEbH////////ssfxOG/W////////ADzC5ez7////nrjvVYPe////////////QnbYsMTz////////////////8fX8ADG/4en6////////////5Ov8AEbH////////ssfxOG/W////////////3ub6AFHL////////////////////3ub6AFHL////////////2uP6ADzCQXXZQXXZPHPXAD/D/v7/////8fX8ADG/4en6////////////////////////////////////////////////////////////////////////tS5B6sXI////////////////////////////vUZT7MjL////////////04OKuj1N2Zid9uXm////////////////w1hj5bi7////////////7tDRrxIx////////////////////////////w1hj5bi7////////////////+vLyqAAj9eTl////////////////////9OHitCk+////////////////////////////////////////////////////////////////////////LGnTus30////////////////////////3ub6AFHL////////////////0N34fqDoQ3fZGl/QR3na////////dJnlHmDRjKrr4+r7////////////dJnlHmDRjKrr4+r7////////////////////////////////////////////////////////////////////rAAr9ufo////36isyWhx////79LTtzVG////////1IaNzHB4////4Kquuj1Nuj1Nuj1Nuj1Nuj1N79LT////04OKuj1N2Zid9uXm////////////vUdU6cHE////////////////9ubnsBg0////////5rq9wFBc////////qQAm9N7f////7s7Quj1N////893erAArw1hjw1hjwlNfrAUt//7+////////////////////////////////////////9Of8r1vcgAC079/8////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////oKCgWlpaWlpaWlpaWlpa0dHR////////////////5s34tGXfkADDtGXf5Mj4////////igC+6NH59+/+lg7JsF7e////////////////myXN4cT3/////////Pf/iAC89uz+////x47rsWHf////////////////////////////////////ADzCh6fp/v7/XIjfjqzr/////v7/AErIztr38fX8H2LRXorf////////////////////////////////////lLDsS3zb7vL+////1N/4////////E13Pt8rz+fr/VYPejKrr////////ADzCh6fp/v7/XIjfjqzr////////////QnbYsMTz////////////////8fX8ADPAaZHi7/T98vT+7/T9////E13Pt8rz+fr/VYPejKrr////////////3ub6AFHL////////////////////3ub6AFHL////////////////HmDRvc70////mLLtXorf////////8fX8ADPAaZHi7/T98vT+7/T9x4/rlgjJlgjJlgjJlgjJlgjJ7+H8////8eT9/fr//vz/8eP8/v3/////////tS5B6sXI////////////////////////////vUZT7MjL////////////w1hj5be6/////Pb2+/Pz////////////w1hj5bi7////////////8NXWqQAm/Pf3////////////////////////w1hj5bi7////////////////+vLyqQAlz3qB+vHx+/Pz+vHx////////9OHitCk+////////////////8eT9/fr//vz/8eP8/v3/////////////////////////////////////lLDsS3zb7vL+////1N/4////////////3ub6AFHL////////////////1eD5////////Z5Dha5Pi////////QXXZr8Xx////9ff+8vT+////////QXXZr8Xx////9ff+8vT+////x4/rlgjJlgjJlgjJlgjJlgjJ7+H8////8eT9/fr//vz/8eP8/v3/////////rAAr2JOY//7+y2522puf//////7+sR838NPU+vLyuj9OzHB4////////////////////////////////////w1hj5be6/////Pb2+/Pz////////3J+jxmBq+u/w////8djZ////////uDlJ6L/C/fn5yWhx2Zid////////qQAm1oyR/v390X+G04OK////////uj1N6sPG////3aOnzHB4////////8eT9/fr//vz/8eP8/v3/////+/X/0aXxoTjTlg7Jxo3q9uv9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsXV1dWlpaWlpaWlpaWlpaZ2dn/Pz8/////////////////////Pf/0aXxnzPR7Nr7////0aXxiwC/kwDGqk/asF7e////////4sX2nSrPlADI5s75////////3br2rlrb////////8+j9mBrK/v3/////////////////////////////////D1vPfqDoAFTMPHPX4+r7////////o7vwAEvJD1vPZY7heZzn////////////////////////////////////9Pf+W4jfAE7KAlfNfZ/n////////yNb3SnzbEVzOd5vl7vL+////////D1vPfqDoAFTMPHPX4+r7////xdT2L2rUAEPGClnPL2rUlLDs////////8/b9Fl3Pl7PtAFTLAE/J2+T6////yNb3SnzbEVzOd5vl7vL+////////////3ub6AFHL////////////////////3ub6AFHL////////////////yNb3HmDRAFbNY43h4+r7////////8/b9Fl3Pl7PtAFTLAE/J2+T6+vT+9er+9er+9er+9er+9er+/vz/////fgCx48f47t77fQCx9uv9////////tS5B6sXI////////////////////7MnMvklWuDdI79LT////////////7s7QwE5auTpKuDdI8tvc////7MrNvklWrxIxtzVGvklW3J+j////+/PzqQAl7MnM////////////////7MrNvklWrxIxtzVGvklW3J+j////////+/T0uTpK3aKmtSxAsyQ79N7f////////9OHitCk+////////////////fgCx48f47t77fQCx9uv9////////////////////////////////////9Pf+W4jfAE7KAlfNfZ/n////////////3ub6AFHL////////////////XIjfAlfNAFTMQXXZ6O77////////yNb3Nm7VFl3PEVzO1+H4////////yNb3Nm7VFl3PEVzO1+H4////+vT+9er+9er+9er+9er+9er+/vz/////fgCx48f47t77fQCx9uv9////////uDZH1oyRtS1AwlNf9uXm////////4a2xsSE4uDZHznV91IiO////////////////////////////////////7s7QwE5auTpKuDdI8tvc////////+/X1y211siM6tjFD1ouR////////7s7QxV9puDdI04WM+u/w////////ti5Bznd+syQ7vURS9eTl////////7s7Quj1NtjBCzXR89uXm////////fgCx48f47t77fQCx9uv9////woXps2Le5cv4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////l5eXWlpaWlpaWlpaWlpaWlpaWlpawsLC////////////////////////////////////////////////////y5ntsF7e////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////QnbYsMTz////////////////////////////////////////////////////////////////////////////3ub6AFHL////////////////////3ub6AFHL////////////////////////////////////////////////////////////////////////////////////////////////////fgCx48f47t77fQCx9uv9////////tS5B6sXI////////////////////////////////////////////////////////////////////////////////w1hj5bi7////////////////yWdwy211////////79HT////////////w1hj5bi7////////////////////////////////////////////////9OHitCk+////////////////fgCx48f47t77fQCx9uv9////////////////////////////////////////////////////////////////////3ub6AFHL////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////fgCx48f47t77fQCx9uv9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////fgCx48f47t77fQCx9uv9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////y5ntsF7e////////////////nSrP4sX2////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////fZ/nyNb3////////////////////////////////////////////////////////////////////////s8bzf6LnAFHL////////////////s8bzf6LnAFHL////////////////////////////////////////////////////////////////////////////////////////////////////fgCx48f47t77fQCx9uv9////////tS5B6sXI////////////////////////////vklW7MnM////////////////////////////////////////////1ouR7s7Q////////////////+u/wwlVgsyQ7syQ7x2Jr////////////1ouR7s7Q////////////////////////////////////////////5ru+1o2StCk+////////////////fgCx48f47t77fQCx9uv9////////////////////////////////////////////////////////////////s8bzf6LnAFHL////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////fgCx48f47t77fQCx9uv9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////fgCx48f47t77fQCx9uv9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7dz75cv4////////////////4MH19uz+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uszznLbuqsDw////////////////uszznLbuqsDw////////////////////////////////////////////////////////////////////////////////////////////////////2rT0+PD9+/X/2bPz/fr/////////////////////////////////////////////68bJ+e3u////////////////////////////////////////////////////////////////////////////+/Pz+Ovs////////////////////////////////////////////////////////////////////6cDD36aq47O2////////////////2rT0+PD9+/X/2bPz/fr/////////////////////////////////////////////////////////////////uszznLbuqsDw////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2rT0+PD9+/X/2bPz/fr/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2rT0+PD9+/X/2bPz/fr/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v3//vz/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////5Mj4lADI////////////////////////////+PH9+fL+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+fL++/b+////ni7P2rT0////////////////////w4fphQC4kQDEnzLQsF7e////////t2zhmyXNhAC3lADImyXN7Nr7////////vHjlfQCx7dz7////////9er+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4cP2rVjcjQDB8OP8////3Lj1nCnO/////////////////v3/iAC89en9/vz/nSrPsF7e////////////////myXN4cT3//////////////7/jgDCrlrbvnzm////////yJDskQDFwYPo8eT9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8+j9woXplADIp0rX2LDz/fr/////////////lgjJ4sb3////////////48f4lxDK////////v33msF7e////////////////myXN4cT3////////////4ML2myXN7Nr7jwDD////////////9Of8xYvrmBfLoz3T1azy/vz/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wYHnhQC5z5/v/fr/////////////////////06jxpEHV////////////58/5kwDG////////u3bksF7e////////////////myXN4cT3////////////r1zdypbs////mBrK4sX2////////////////9Of8r1vcgAC079/8////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////5s34tGXfkADDtGXf5Mj4/////////////v3/kADD6tT7////////////igC+6NH59+/+lg7JsF7e////////////////myXN4cT3/////////Pf/iAC89uz+////x47rsWHf////+/X/0aXxoTjTlg7Jxo3q9uv9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Pf/0aXxnzPR7Nr7////////////y5ftrFbb////////////0aXxiwC/kwDGqk/asF7e////////4sX2nSrPlADI5s75////////3br2rlrb////////8+j9mBrK/v3/woXps2Le5cv4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Pf/jADA8OL7////////////////////y5ntsF7e////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////w4botmrh////////////////////y5ntsF7e////////////////nSrP4sX2////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7dz75cv4////////////////4MH19uz+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+4uLi8vLy////////////////////////////////////////////////////////////////////////+fn55eXl////////////////////////////////////////////////////////////////////////////+fn55eXl////////////////////////////////////////////////////////////////////////////8fHx8/Pz////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////vLy8LCws////////y8vLHR0d////////tLS0FxcXPT09MDAwZmZm////////////////m5ubLCwsMTEx////////////////m5ubLCwsMTEx////////oqKiDw8PLi4uKCgo4uLi////////////////////////////////////Hx8fqKio////R0dHgICA////////oqKiDw8PLi4uKCgo4uLi////////8fHxDw8P////////////////////////////m5ubLCwsMTEx////////i4uLERERKCgoREREZ2dn////////////xcXFAAAA0NDQ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////vLy8LCws////////y8vLHR0d////////KSkp1NTU////////6enp/////////////Pz8Ghoa7+/v/////////////////Pz8Ghoa7+/v////////////JiYm1dXV////dHR0hoaG////////////////////////////////9/f3DQ0NbW1t/f39GhoaWVlZ////////JiYm1dXV////dHR0hoaG////////8fHxDw8P/////////////////////////Pz8Ghoa7+/v/////////f39FxcX6urq/Pz8QEBAZ2dn////////////7Ozsqamp8PDw////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////vLy8LCws////////y8vLHR0d////0NDQIiIi8vLy8vLy8vLy8vLy////////////4ODgIiIi////////////////////4ODgIiIi////////////3NzcHR0d////////vb29PT09////////////////////////////////0tLSSUlJPz8/z8/PWVlZMzMz////3NzcHR0d////////vb29PT09////////8fHxDw8P////////////////////////4ODgIiIi////////////ycnJNDQ0////////goKCZ2dn////////////////z8/P////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////vLy8KSkp7u7u7u7uvr6+HR0d////29vbDAwMTk5OTk5OSkpKDg4O/v7+////////39/fIyMj////////////////////39/fIyMj////////////5eXlFxcX////////tbW1R0dH////////////////////////////////rKysaWlpR0dHhYWFpqamFxcX////5eXlFxcX////////tbW1R0dH////////8fHxAAAA4uLi////////////////////39/fIyMj////////////0NDQLCws////////e3t7Z2dn/////////////f39CwsL////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////vLy8CAgILS0tLS0tJCQkHR0d////////NTU1v7+/////nJycZ2dn////////////39/fIyMj////////////////////39/fIyMj////////////////MDAwurq6+fn5X19fkZGR////////////////////////////////hoaGh4eHfHx8GBgY3t7eJycn5ubm////MDAwurq6+fn5X19fkZGR////////8fHxBAQEcXFx8PDw8vLy8PDw////////39/fIyMj////////////////Gxsb0tLS7+/vMzMzZ2dn////////////8PDwAAAA+/v7////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////vLy8LCws////////y8vLHR0d////////ysrKNTU1KSkpa2tr5OTk////////////39/fIyMj////////////////////39/fIyMj////////////////ysrKVVVVLy8vfX197+/v////////////////////////////////X19fpaWlx8fHXl5e////RUVFwMDA////ysrKVVVVLy8vfX197+/v////////8/PzMTExm5ubJSUlICAg3Nzc////////39/fIyMj////////////////p6enHR0dLCwsWlpaZ2dn////////////7u7uAAAA+vr6////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////vLy8LCws////////y8vLHR0d////////////////////////////////////////39/fIyMj////////////////////39/fIyMj////////////////////////////////////////////////////////////////////OTk5w8PD////////////Y2Njmpqa////////////////////////////////////////////////////////////////39/fIyMj////////////////////////////m5ubZ2dn////////////7u7uAAAA+vr6////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////vLy8LCws////////y8vLHR0d////////////////////////////////////tra2hYWFIyMj////////////////tra2hYWFIyMj////////////////////////////////////////////////////////////////////ExMT4eHh////////////gYGBc3Nz////////////////////////////////////////////////////////////tra2hYWFIyMj////////////////////////////m5ubZ2dn////////////7u7uAAAA+vr6////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////vLy8oKCgra2t////////////////vLy8oKCgra2t////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////vLy8oKCgra2t////////////////////////////3d3dzMzM////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////5ez7rsPyydf2////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9ufo5be67s/R////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////57y///7+////////////////////////////////////////////////////////////////////////////////////////////////////////9ufo5be67s/R////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9ufo5be67s/R////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////c5nlc5nlYozgIWPS9Pf+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////0oKJ0oKJzXN7u0BP+/X1////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////qQAm/vz8////////////////////////////////////////////////////////////////////////////////////////////////////////0oKJ0oKJzXN7u0BP+/X1////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////0oKJ0oKJzXN7u0BP+/X1////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+PH9+fL+/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7/////YYvgqsDw////////////////////////////////////////////7fH96O77////////////////+fr/5Ov8////////////////////////////////////////////////////////////////////////////////////////////////////////+fr/5Ov8/////////////////////////////////////////////////////////////////////////////v7/4en68vT+////////////////////////////////////////////////////////////////////////////////////////////////////////9+nq/Pf3//////////////////////////////////////////////7+9eTl+/Pz//////////////////7+9eTl+/Pz////////////////////////////////////////////////+u/w9+jp////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7fH96O77////////////////////////////////////////////7fH9+vv/////////////////////6O777vL+////////////////////6O777vL+//////////////////////////////////////////////////////////////////////////////////////////////////////////7+////zHJ647O2////////////////////////////////////////9+rr+u/w////////////////////////+e/v9+rr/////////////////fn59ubn////////////////qQAm/vz89+nq/vz8//////////////////7+9eTl+/Pz//////////////////////////////////////////////////////////////////////////7+////zHJ647O2////////////////////////////////////////////9+nq/vz8////////////////////////////////////////////////////////////////////////+vLy+/T0//////////////////////////////////////////////////////////////////////////////7+////zHJ647O2////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+fL++/b+////w4fphQC4kQDEnzLQsF7e////////t2zhmyXNhAC3lADImyXN7Nr7////////vHjlfQCx7dz7////////////////////////////////////////ADzC9vj9////orvuT3/c////////nbftAEXGClnPT3/cZY7h////////////////////////////////////6u/8LWrUAE7KLGnTZI3h////////nrjvAD7FD1vPAFbN4en6////////ADzC9vj9////orvuT3/c////////////ztr3L2rUHmDRjqzr////////8fX8AD7F////////////////////nrjvAD7FD1vPAFbN4en6////////////////l7PtCVrOFl3P////////////////l7PtCVrOFl3P////////scbyAEbHKmfTE13PXYng////////8fX8AD7F////////////////////////////////////////////////////////////////////////////79LTtSxAtCo/tCo/zHJ6////////+vLyrQcu////////////////////5rm8sBg0vUZTuDlJy293////////5rm8sBg0vUZTuDlJy293////////////8NPUvklWuj1N2puf////////9+jpvklWrxYzuDlJxmJr////////////8NPUvklWuj1N2puf////////+vLyrQcu////////////////////////////3aKmtzRFuTpK////////////////////////////////////////////////////////////////6u/8LWrUAE7KLGnTZI3h////////////////l7PtCVrOFl3P////////Tn/bHF/QAFTMVYPeQnbY////////L2rUKWbUMGvVMWzV9Pf+////////L2rUKWbUMGvVMWzV9Pf+////////////////////////////////////////////////////////////////rAAr/Pf3////4aywx2Ns////////36errxQytzVGx2NsznV9////////////////////////////////////vklWvURSvkpXv0xY+/X1////////+O3tvkhVsiM6vUdUzXV9////////36isrQcuuDZHti5B9eTl////////qQAmwVJeuTpKsBs18djZ////////5rm8sBg0vUZTuDlJy293////////////////////////////////////rAAr/Pf3////4aywx2Ns////////36errxQytzVGx2NsznV9////////////////////////////////////qwApwlNfuTpKsBk08dbX////////0HyDvUZTrAUtuDdIvUZT893e////rAAr/Pf3////4aywx2Ns////////2JKXrQ4vti5Bv05azHB4////////0HyDvUZTrAUtuDdIvUZT893e////rAAr/Pf3////4aywx2Ns////////36errxQytzVGx2NsznV9////////////////////////////////9er+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4cP2rVjcjQDB8OP8/v3/iAC89en9/vz/nSrPsF7e////////////////myXN4cT3//////////////7/jgDCrlrbvnzm////////////////////////////////////////ADzC9vj9////orvuT3/c/////v7/AEnI1+H49vj9JmXSXorf////////////////////////////////////hqboYozg/f3/////6/D8////////AFTM1N/4////bZTjgKHn////////ADzC9vj9////orvuT3/c////////////aZHijqzr////////////////8fX8AD7F////////////////////AFTM1N/4////bZTjgKHn/////////////P3/AEjI7vL+/////////////////P3/AEjI7vL+////////////AFbN0t75////////6O77////////8fX8AD7F////////////////7dv83bv13bv13bv13bv13bv1+/X//////////////////////////////fr6syQ73qSo/v399uXmrhAw////////+vLyrQcu////////////////////tjBC8dfY////////9+rr////////tjBC8dfY////////9+rr////////////z3qB2puf////////////////w1hjznV9+/X1////9ePk////////////z3qB2puf////////////////+vLyrQcu/////////////////////////vz8sR03+u/w////////////////////////////////////////////////////////////////////hqboYozg/f3/////6/D8/////////////P3/AEjI7vL+////////1eD5AlfN////+/z+OG/WQnbY////////7/T9////////W4jflbDs////////7/T9////////W4jflbDs////7dv83bv13bv13bv13bv13bv1+/X/////////////////////////////////rAAr/Pf3////4aywx2Ns//////7+sBs18tvc/Pf3vENRzHB4////////////////////////////////////+vHx////////y2113KCk////////2JKXzXN7/v39////+O7u////////tS1A8djZ////0H2E146T////////qQAm3qSo////2JWaz3qB////////tjBC8dfY////////9+rr////////////////////////////////////rAAr/Pf3////4aywx2Ns//////7+sBs18tvc/Pf3vENRzHB4////////////////////////////////////qwAp3aKm////2pmeznV9////////////////vUZT7MjL////////////rAAr/Pf3////4aywx2Ns/////v39sBg0+Ovs/vz8vklWzHB4////////////////vUZT7MjL////////////rAAr/Pf3////4aywx2Ns//////7+sBs18tvc/Pf3vENRzHB4////////////////////////////////yJDskQDFwYPo8eT9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8+j9woXplADIp0rX2LDz/fr/////48f4lxDK////////v33msF7e////////////////myXN4cT3////////////4ML2myXN7Nr7jwDD////////////////////////////////////////ADzC9vj9////orvuT3/c////ytj3EVzO////////ep3mXorf////9ff+5+385+385+385+385+38+vv/////Gl/QxdT2////////////////2+T6AE3J////////us30KmfT////////ADzC9vj9////orvuT3/c////////////QnbYsMTz////////////////8fX8AD7F////////////////2+T6AE3J////////us30KmfT////////////3+f7AFDK////////////////////3+f7AFDK////////////ztr3AFDK8vT+8vT+8vT+8vT+////////8fX8AD7F////////////////06jyrVfcrVfcrVfcrVfcrVfc9Of8////////////////////////////6L/Cti5B////////9uXmrhAw////////+vLyrQcu////////////////8NPUsyg9+/Pz+/Pz+/Pz+/Pz////8NPUsyg9+/Pz+/Pz+/Pz+/Pz////////////w1hj5bi7////////////+O7uqAAk+vLy////////////////////////w1hj5bi7////////////////+vLyrQcu////////////////////////9OLjsyg9////////////////////////////////////////////////////////////////////////Gl/QxdT2////////////////////////3+f7AFDK////////////+fr/AFDKtcnz7PH9jqzrQnbY////////////yNb3b5bjAEbHw9L2////////////yNb3b5bjAEbHw9L2////06jyrVfcrVfcrVfcrVfcrVfc9Of8////////////////////////////////rAAr/Pf3////4aywx2Ns////7tDRuDdI////////1YmPzHB4/////Pb29+nq9+nq9+nq9+nq9+nq/fr6////////7s7Q0X+GsBg07MjL////////uTtL7MrN////////////////9N7fsiI5////////6cHEvUZT////////qQAm9eTl////8NXWtjFD////8NPUsyg9+/Pz+/Pz+/Pz+/Pz////////////////////////////////////rAAr/Pf3////4aywx2Ns////7tDRuDdI////////1YmPzHB4/////Pb29+nq9+nq9+nq9+nq9+nq/fr6////qwAp9ePk////8tnatS5B////////////////vUZT7MjL////////////rAAr/Pf3////4aywx2Ns////7czPujxM////////1YqPzHB4////////////////vUZT7MjL////////////rAAr/Pf3////4aywx2Ns////7tDRuDdI////////1YmPzHB4////////////////////////////////////9Of8xYvrmBfLoz3T1azy/vz/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wYHnhQC5z5/v/fr/////////////58/5kwDG////////u3bksF7e////////////////myXN4cT3////////////r1zdypbs////mBrK4sX2////////////////////////////////////ADzC5ez7////nrjvVYPe////zNr2ClnP////////eJzlXorf////oLnuHmDRHmDRHmDRHmDRHmDRzdr3////LGnTus30////////////////5Ov8AEbH////////ssfxOG/W////////ADzC5ez7////nrjvVYPe////////////QnbYsMTz////////////////8fX8ADG/4en6////////////5Ov8AEbH////////ssfxOG/W////////////3ub6AFHL////////////////////3ub6AFHL////////////2uP6ADzCQXXZQXXZPHPXAD/D/v7/////8fX8ADG/4en6////////////////////////////////////////////////////////////////////3KCkwFBc////68jLsyY8rhAw////////+vLyqAAj9eTl////////////893erAArw1hjw1hjwlNfrAUt//7+893erAArw1hjw1hjwlNfrAUt//7+////////w1hj5bi7////////////7tDRrxIx////////////////////////////w1hj5bi7////////////////+vLyqAAj9eTl////////////////////9OHitCk+////////////////////////////////////////////////////////////////////////LGnTus30////////////////////////3ub6AFHL////////////////0N34fqDoQ3fZGl/QR3na////////dJnlHmDRjKrr4+r7////////////dJnlHmDRjKrr4+r7////////////////////////////////////////////////////////////////////rAAr9ufo////36isyWhx////79LTtzVG////////1IaNzHB4////4Kquuj1Nuj1Nuj1Nuj1Nuj1N79LT////04OKuj1N2Zid9uXm////////////vUdU6cHE////////////////9ubnsBg0////////5rq9wFBc////////qQAm9N7f////7s7Quj1N////893erAArw1hjw1hjwlNfrAUt//7+////////////////////////////////rAAr9ufo////36isyWhx////79LTtzVG////////1IaNzHB4////4Kquuj1Nuj1Nuj1Nuj1Nuj1N79LT////qwAp89vc////79LTuDZH////////////////vUZT7MjL////////////rAAr9ufo////36isyWhx////8NPUtzRF////////04OKzHB4////////////////vUZT7MjL////////////rAAr9ufo////36isyWhx////79LTtzVG////////1IaNzHB4////////////////////////////////////////////9Of8r1vcgAC079/8////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////5s34tGXfkADDtGXf5Mj4////////igC+6NH59+/+lg7JsF7e////////////////myXN4cT3/////////Pf/iAC89uz+////x47rsWHf////////////////////////////////////ADzCh6fp/v7/XIjfjqzr/////v7/AErIztr38fX8H2LRXorf////////////////////////////////////lLDsS3zb7vL+////1N/4////////E13Pt8rz+fr/VYPejKrr////////ADzCh6fp/v7/XIjfjqzr////////////QnbYsMTz////////////////8fX8ADPAaZHi7/T98vT+7/T9////E13Pt8rz+fr/VYPejKrr////////////3ub6AFHL////////////////////3ub6AFHL////////////////HmDRvc70////mLLtXorf////////8fX8ADPAaZHi7/T98vT+7/T9x4/rlgjJlgjJlgjJlgjJlgjJ7+H8////8eT9/fr//vz/8eP8/v3/////3qWpuDlJ/////////v39/v39////////+vLyqQAlz3qB+vHx+/Pz+vHx////uj1N6sPG////3aOnzHB4////////uj1N6sPG////3aOnzHB4////////////w1hj5bi7////////////8NXWqQAm/Pf3////////////////////////w1hj5bi7////////////////+vLyqQAlz3qB+vHx+/Pz+vHx////////9OHitCk+////////////////8eT9/fr//vz/8eP8/v3/////////////////////////////////////lLDsS3zb7vL+////1N/4////////////3ub6AFHL////////////////1eD5////////Z5Dha5Pi////////QXXZr8Xx////9ff+8vT+////////QXXZr8Xx////9ff+8vT+////x4/rlgjJlgjJlgjJlgjJlgjJ7+H8////8eT9/fr//vz/8eP8/v3/////////rAAr2JOY//7+y2522puf//////7+sR838NPU+vLyuj9OzHB4////////////////////////////////////w1hj5be6/////Pb2+/Pz////////3J+jxmBq+u/w////8djZ////////uDlJ6L/C/fn5yWhx2Zid////////qQAm1oyR/v390X+G04OK////////uj1N6sPG////3aOnzHB4////////////////////////////////////rAAr2JOY//7+y2522puf//////7+sR838NPU+vLyuj9OzHB4////////////////////////////////////qwAp1YqP/v390oGI0X6F////////////////vUZT7MjL////////////rAAr2JOY//7+y2522puf////////sR838NXW+u/wuTtLzHB4////////////////vUZT7MjL////////////rAAr2JOY//7+y2522puf//////7+sR838NPU+vLyuj9OzHB4////////8eT9/fr//vz/8eP8/v3/////+/X/0aXxoTjTlg7Jxo3q9uv9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Pf/0aXxnzPR7Nr7////0aXxiwC/kwDGqk/asF7e////////4sX2nSrPlADI5s75////////3br2rlrb////////8+j9mBrK/v3/////////////////////////////////D1vPfqDoAFTMPHPX4+r7////////o7vwAEvJD1vPZY7heZzn////////////////////////////////////9Pf+W4jfAE7KAlfNfZ/n////////yNb3SnzbEVzOd5vl7vL+////////D1vPfqDoAFTMPHPX4+r7////xdT2L2rUAEPGClnPL2rUlLDs////////8/b9Fl3Pl7PtAFTLAE/J2+T6////yNb3SnzbEVzOd5vl7vL+////////////3ub6AFHL////////////////////3ub6AFHL////////////////yNb3HmDRAFbNY43h4+r7////////8/b9Fl3Pl7PtAFTLAE/J2+T6+vT+9er+9er+9er+9er+9er+/vz/////fgCx48f47t77fQCx9uv9////7MjLqQAk+/X1////////////////////+/T0uTpK3aKmtSxAsyQ79N7f////7s7Quj1NtjBCzXR89uXm////////7s7Quj1NtjBCzXR89uXm////7MrNvklWrxIxtzVGvklW3J+j////+/PzqQAl7MnM////////////////7MrNvklWrxIxtzVGvklW3J+j////////+/T0uTpK3aKmtSxAsyQ79N7f////////9OHitCk+////////////////fgCx48f47t77fQCx9uv9////////////////////////////////////9Pf+W4jfAE7KAlfNfZ/n////////////3ub6AFHL////////////////XIjfAlfNAFTMQXXZ6O77////////yNb3Nm7VFl3PEVzO1+H4////////yNb3Nm7VFl3PEVzO1+H4////+vT+9er+9er+9er+9er+9er+/vz/////fgCx48f47t77fQCx9uv9////////uDZH1oyRtS1AwlNf9uXm////////4a2xsSE4uDZHznV91IiO////////////////////////////////////7s7QwE5auTpKuDdI8tvc////////+/X1y211siM6tjFD1ouR////////7s7QxV9puDdI04WM+u/w////////ti5Bznd+syQ7vURS9eTl////////7s7Quj1NtjBCzXR89uXm////////////////////////////////////uDZH1oyRtS1AwlNf9uXm////////4a2xsSE4uDZHznV91IiO////////////////////////////////////qwApznV9syQ7vEJQ9OLj////////7MnMvklWuDdI79LT////////////uDZH1oyRtS1AwlNf9uXm////////4a2xsiI5tzRFx2NszHB4////////7MnMvklWuDdI79LT////////////uDZH1oyRtS1AwlNf9uXm////////4a2xsSE4uDZHznV91IiO////////fgCx48f47t77fQCx9uv9////woXps2Le5cv4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////y5ntsF7e////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////QnbYsMTz////////////////////////////////////////////////////////////////////////////3ub6AFHL////////////////////3ub6AFHL////////////////////////////////////////////////////////////////////////////////////////////////////fgCx48f47t77fQCx9uv9//////7+tzVG25yg/////vv76cDD////////////////////////////////////////////////////////////////////////////////////////////////w1hj5bi7////////////////yWdwy211////////79HT////////////w1hj5bi7////////////////////////////////////////////////9OHitCk+////////////////fgCx48f47t77fQCx9uv9////////////////////////////////////////////////////////////////////3ub6AFHL////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////fgCx48f47t77fQCx9uv9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////qwAp/fn5////////////////////////////////////////////////////////////////////////////////////////3aKmzHB4////////////////////////////////////////////////////////////////////////////////////////////fgCx48f47t77fQCx9uv9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////y5ntsF7e////////////////nSrP4sX2////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////fZ/nyNb3////////////////////////////////////////////////////////////////////////s8bzf6LnAFHL////////////////s8bzf6LnAFHL////////////////////////////////////////////////////////////////////////////////////////////////////fgCx48f47t77fQCx9uv9////////89zduDlJtS5BsBg01o2S////////////////////////////////////////////////////////////////////////////////////////////////1ouR7s7Q////////////////+u/wwlVgsyQ7syQ7x2Jr////////////1ouR7s7Q////////////////////////////////////////////5ru+1o2StCk+////////////////fgCx48f47t77fQCx9uv9////////////////////////////////////////////////////////////////s8bzf6LnAFHL////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////fgCx48f47t77fQCx9uv9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////qwAp/fn5////////////////////////////vklW7MnM////////////////////////////////////////////////////3aKmzHB4////////////////vklW7MnM////////////////////////////////////////////////////////////////////fgCx48f47t77fQCx9uv9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7dz75cv4////////////////4MH19uz+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uszznLbuqsDw////////////////uszznLbuqsDw////////////////////////////////////////////////////////////////////////////////////////////////////2rT0+PD9+/X/2bPz/fr/////////////////+O7u+/X1////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+/Pz+Ovs////////////////////////////////////////////////////////////////////6cDD36aq47O2////////////////2rT0+PD9+/X/2bPz/fr/////////////////////////////////////////////////////////////////uszznLbuqsDw////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2rT0+PD9+/X/2bPz/fr/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////47G1/v39////////////////////////////68bJ+e3u////////////////////////////////////////////////////9N/g7tDR////////////////68bJ+e3u////////////////////////////////////////////////////////////////////2rT0+PD9+/X/2bPz/fr/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+PH9+fL+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////t7e34+Pj////////////////////////////////////////+fL++/b+////w4fphQC4kQDEnzLQsF7e////////t2zhmyXNhAC3lADImyXN7Nr7////////vHjlfQCx7dz7////////9er+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9PT0ZGRkeXl5////////////////////////////////4cP2rVjcjQDB8OP8/v3/iAC89en9/vz/nSrPsF7e////////////////myXN4cT3//////////////7/jgDCrlrbvnzm////////yJDskQDFwYPo8eT9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////qqqqWlpaWlpa2NjY////////////////8+j9woXplADIp0rX2LDz/fr/////48f4lxDK////////v33msF7e////////////////myXN4cT3////////////4ML2myXN7Nr7jwDD////////////9Of8xYvrmBfLoz3T1azy/vz/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8fHxYWFhWlpaWlpabm5u/f39////////////wYHnhQC5z5/v/fr/////////////58/5kwDG////////u3bksF7e////////////////myXN4cT3////////////r1zdypbs////mBrK4sX2////////////////9Of8r1vcgAC079/8////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////oKCgWlpaWlpaWlpaWlpa0dHR////////////////5s34tGXfkADDtGXf5Mj4////////igC+6NH59+/+lg7JsF7e////////////////myXN4cT3/////////Pf/iAC89uz+////x47rsWHf////+/X/0aXxoTjTlg7Jxo3q9uv9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsXV1dWlpaWlpaWlpaWlpaZ2dn/Pz8/////////////////////Pf/0aXxnzPR7Nr7////0aXxiwC/kwDGqk/asF7e////////4sX2nSrPlADI5s75////////3br2rlrb////////8+j9mBrK/v3/woXps2Le5cv4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////l5eXWlpaWlpaWlpaWlpaWlpaWlpawsLC////////////////////////////////////////////////////y5ntsF7e////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////y5ntsF7e////////////////nSrP4sX2////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7dz75cv4////////////////4MH19uz+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2rbz8eT9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7/s2bgjADA5cv4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9Of8/vz//////////////////Pj+8eT9////////////////////+PH9+fL+////////////////////z5/vpkfW////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////t7e34+Pj////////////////////////////////////////+fL++/b+////gQC1ojrTlQXIiQC96NL5////////z5/vhAC5lADHkQDE8OL7////////w4fphQC4kQDEnzLQsF7e////////////2rbzfwCz8+j9////////9er+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////9PT0ZGRkeXl5////////////////////////////////4cP2rVjcjQDB8OP8////gQC1y5nt////x47rs2bg////////kADD6dX5////uG3iwYHn/////v3/iAC89en9/vz/nSrPsF7e////////////pUTVlgjJw4fp////////yJDskQDFwYPo8eT9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////qqqqWlpaWlpa2NjY////////////////8+j9woXplADIp0rX2LDz/fr/////////gQC17+H8////6tT7kADE////7dv8iwC/////////3bv1myXN////48f4lxDK////////v33msF7e////////8eT9iwC/6tT7kADE////////////9Of8xYvrmBfLoz3T1azy/vz/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////8fHxYWFhWlpaWlpabm5u/f39////////////wYHnhQC5z5/v/fr/////////////////gQC169j6////5s34lADH////8eT9iAC8////////2bPzoDfS////58/5kwDG////////u3bksF7e////////v33munPj////myXN3r32////////////////9Of8r1vcgAC079/8////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////oKCgWlpaWlpaWlpaWlpa0dHR////////////////5s34tGXfkADDtGXf5Mj4////////gQC1v33m/v3/unPjuG/i////////lQDI3Lj1/Pj+rFbbxo3q////////igC+6NH59+/+lg7JsF7e/////v3/jADA7dv8////zZzvqU7Y////+/X/0aXxoTjTlg7Jxo3q9uv9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////7OzsXV1dWlpaWlpaWlpaWlpaZ2dn/Pz8/////////////////////Pf/0aXxnzPR7Nr7////gQC1s2bgjQDBmRzM79/8////////5Mj4p0rXlADIvHjl9+/+////////0aXxiwC/kwDGqk/asF7e////4cT3p0rX////////+vP/lgjJ+vP/woXps2Le5cv4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////l5eXWlpaWlpaWlpaWlpaWlpaWlpawsLC////////////////////////////////////////gQC1/Pj+////////////////////////////////////////////////////////////y5ntsF7e////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////gQC1/Pj+////////////////////////////////////////////////////////////y5ntsF7e////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////1Kny/v3/////////////////////////////////////////////////////////////7dz75cv4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v3//vz/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////k5OT6urq//////////////////////////////////////////////////////////////////////////////////////////////////7/8OL7+fH+////////////////9+79/fr/////////////////////+PH9+fL+////////////////////////////////////////////////////////////////////////////////////////////////5Mj4lADI//////////////////////////////////////////////////////////7/8OL7+fH+////////////////9+79/fr/////////////////////+PH9+fL+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////UVFRVFRUmpqa8PDw////////////////////////////////////////////+fL++/b+////gwC2+/X/////0aTvqk/a////////2bLziAC8myXNlQDIsF3d////////qU7YlxDKkADDrFbbpEHV////////w4fphQC4kQDEnzLQsF7e////9er+////////////////////////bm5uNzc3oKCgBQUF1NTUAAAA0dHR////////////////////+fL++/b+////ni7P2rT0////////////////////gwC2+/X/////0aTvqk/a////////2bLziAC8myXNlQDIsF3d////////qU7YlxDKkADDrFbbpEHV////////w4fphQC4kQDEnzLQsF7e////9er+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////UVFRUVFRUVFRWFhYp6en9PT0////////////////////////////4cP2rVjcjQDB8OP8////gwC2+/X/////0aTvqk/a////////kQDF6dP6////////8+j9////6tT7kgDF/////fv/oDfSpEHV/////v3/iAC89en9/vz/nSrPsF7e////yJDskQDFwYPo8eT9////////////p6enhoaGxsbGaGho5eXlZWVl4+Pj////////////4cP2rVjcjQDB8OP8////3Lj1nCnO////////////////////gwC2+/X/////0aTvqk/a////////kQDF6dP6////////8+j9////6tT7kgDF/////fv/oDfSpEHV/////v3/iAC89en9/vz/nSrPsF7e////yJDskQDFwYPo8eT9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////UVFRUVFRUVFRUVFRUVFRXV1ds7Oz////////////8+j9woXplADIp0rX2LDz/fr/////////gwC2+/X/////0aTvqk/a////58/5jgDB+fH++fH++fH++fH+/////Pj+jgDB27f09uz+x4/rpEHV////48f4lxDK////////v33msF7e////////9Of8xYvrmBfLoz3T1azy/vz/////////////////////////////8+j9woXplADIp0rX2LDz/fr/////////////lgjJ4sb3////////////////gwC2+/X/////0aTvqk/a////58/5jgDB+fH++fH++fH++fH+/////Pj+jgDB27f09uz+x4/rpEHV////48f4lxDK////////v33msF7e////////9Of8xYvrmBfLoz3T1azy/vz/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////UVFRUVFRUVFRUVFRUVFRc3Nz4uLi////////////wYHnhQC5z5/v/fr/////////////////gwC28uX8////z5/vrFbb////7Nr7gwC2pEDUpEDUojrThAC3//7/////6NH5wH/npUPVlg7JpkfW////58/5kwDG////////u3bksF7e////////////////9Of8r1vcgAC079/8////////////////////////////wYHnhQC5z5/v/fr/////////////////////06jxpEHV////////////////gwC28uX8////z5/vrFbb////7Nr7gwC2pEDUpEDUojrThAC3//7/////6NH5wH/npUPVlg7JpkfW////58/5kwDG////////u3bksF7e////////////////9Of8r1vcgAC079/8////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////UVFRUVFRUVFRZ2dn1tbW////////////////////////5s34tGXfkADDtGXf5Mj4////////gwC2xInp//7/r1zdx4/r////////lxXK3r32////zJrusF7e////////6tT7////////tWjht2vi////////igC+6NH59+/+lg7JsF7e////+/X/0aXxoTjTlg7Jxo3q9uv9////////////////////////////////////5s34tGXfkADDtGXf5Mj4/////////////v3/kADD6tT7////////////gwC2xInp//7/r1zdx4/r////////lxXK3r32////zJrusF7e////////6tT7////////tWjht2vi////////igC+6NH59+/+lg7JsF7e////+/X/0aXxoTjTlg7Jxo3q9uv9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////UVFRXl5ezs7O/f39/////////////////////////////////////Pf/0aXxnzPR7Nr7////gwC2v37nkADDojrT8eP8////////5Mj4lxXKkQDFsmTf8eP8////////r1zdkgDFkADDpEDU8+j9////////0aXxiwC/kwDGqk/asF7e////woXps2Le5cv4/////////////////////////////////////////////////////////Pf/0aXxnzPR7Nr7////////////y5ftrFbb////////////gwC2v37nkADDojrT8eP8////////5Mj4lxXKkQDFsmTf8eP8////////r1zdkgDFkADDpEDU8+j9////////0aXxiwC/kwDGqk/asF7e////woXps2Le5cv4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////v7+/+/v7////////////////////////////////////////////////////////////////gwC2+/X/////////////////////////////////////////////////////////////////////////////////////////y5ntsF7e/////////////////////////////////////////////////////////////////////////////////////////////////////Pf/jADA8OL7////////gwC2+/X/////////////////////////////////////////////////////////////////////////////////////////y5ntsF7e////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////gwC2+/X/////////////////////////////////////////////////////////////////////////////////////////y5ntsF7e////////////////////////////////////////////////////////////////////////////////////////////////////////w4botmrh////////gwC2+/X/////////////////////////////////////////////////////////////////////////////////////////y5ntsF7e////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////1Krz/vz/////////////////////////////////////////////////////////////////////////////////////////7dz75cv4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////1Krz/vz/////////////////////////////////////////////////////////////////////////////////////////7dz75cv4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////5ez7rsPyydf2////////////////////////////////////////////////////////////////////////tMjy/v7/////////////////////tMjy/v7/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9ufo5be67s/R////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////57y///7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////c5nlc5nlYozgIWPS9Pf+////////////////////////////////////////////////////////////////ADXB/P3/////////////////////ADXB/P3/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////0oKJ0oKJzXN7u0BP+/X1////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////qQAm/vz8////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7/////YYvgqsDw////////////////////////////////////////7fH9+vv/////////////////ADXB/P3/5+38/P3/////////////ADXB/P3/5+38/P3/////////////////////////////////////////////////7fH96O77////////////////////////////////////////////7fH9+vv/////////////////////6O777vL+////////////////////6O777vL+//////////////////////////////////////////////////////////////////////////////////////////////////////////7+////zHJ647O2////////////////////////////////////////9+rr+u/w////////////////////////+e/v9+rr/////////////////fn59ubn////////////////qQAm/vz89+nq/vz8//////////////////7+9eTl+/Pz////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////t7e34+Pj////////////////////////////////////////+fL++/b+////gwC2+/X/////0aTvqk/a////////////58/5nSrPlxXKx4/r////yJLrwH/n8OL7mBfL////lQXI8ub9////////////y5ntkwDGlQXI////////////////////////////////////ADzC9vj9////orvuT3/c////////nbftAEXGClnPT3/cZY7h////////////////////////////////////Tn/bHF/QAFTMVYPeQnbY////////ADXBO3LXFl3PAEnI1N/4////////ADXBO3LXFl3PAEnI1N/4////////////////////////////////////6u/8LWrUAE7KLGnTZI3h////////////////l7PtCVrOFl3P////////Tn/bHF/QAFTMVYPeQnbY////////L2rUKWbUMGvVMWzV9Pf+////////L2rUKWbUMGvVMWzV9Pf+////////////////////////////////////////////////////////////////rAAr/Pf3////4aywx2Ns////////36errxQytzVGx2NsznV9////////////////////////////////////vklWvURSvkpXv0xY+/X1////////+O3tvkhVsiM6vUdUzXV9////////36isrQcuuDZHti5B9eTl////////qQAmwVJeuTpKsBs18djZ////////5rm8sBg0vUZTuDlJy293////////////////////////////////9er+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////9PT0ZGRkeXl5////////////////////////////////4cP2rVjcjQDB8OP8////gwC2+/X/////0aTvqk/a////////////tmvgx4/r////////////yJLrwH/n8OL7mBfL////lQXI8ub9/////////vz/igC+9+/+////////////////////////////////////////ADzC9vj9////orvuT3/c/////v7/AEnI1+H49vj9JmXSXorf////////////////////////////////1eD5AlfN////+/z+OG/WQnbY////////ADXBmrXt////iajqaZHi////////ADXBmrXt////iajqaZHi////////////////////////////////////hqboYozg/f3/////6/D8/////////////P3/AEjI7vL+////////1eD5AlfN////+/z+OG/WQnbY////////7/T9////////W4jflbDs////////7/T9////////W4jflbDs////7dv83bv13bv13bv13bv13bv1+/X/////////////////////////////////rAAr/Pf3////4aywx2Ns//////7+sBs18tvc/Pf3vENRzHB4////////////////////////////////////+vHx////////y2113KCk////////2JKXzXN7/v39////+O7u////////tS1A8djZ////0H2E146T////////qQAm3qSo////2JWaz3qB////////tjBC8dfY////////9+rr////////////////////////////////yJDskQDFwYPo8eT9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////qqqqWlpaWlpa2NjY////////////////8+j9woXplADIp0rX2LDz/fr/////////gwC2+/X/////0aTvqk/a////////////pEHV2LHy////////////yJLrwH/n8OL7mBfL////lQXI8ub9////////79/8jgDB////////////////////////////////////////////ADzC9vj9////orvuT3/c////ytj3EVzO////////ep3mXorf////9ff+5+385+385+385+385+38+vv/+fr/AFDKtcnz7PH9jqzrQnbY////////ADXB4un7////0N34AlfN////////ADXB4un7////0N34AlfN////////////////////////////////////Gl/QxdT2////////////////////////3+f7AFDK////////////+fr/AFDKtcnz7PH9jqzrQnbY////////////yNb3b5bjAEbHw9L2////////////yNb3b5bjAEbHw9L2////06jyrVfcrVfcrVfcrVfcrVfc9Of8////////////////////////////////rAAr/Pf3////4aywx2Ns////7tDRuDdI////////1YmPzHB4/////Pb29+nq9+nq9+nq9+nq9+nq/fr6////////7s7Q0X+GsBg07MjL////////uTtL7MrN////////////////9N7fsiI5////////6cHEvUZT////////qQAm9eTl////8NXWtjFD////8NPUsyg9+/Pz+/Pz+/Pz+/Pz////////////////////////////////////9Of8xYvrmBfLoz3T1azy/vz/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////8fHxYWFhWlpaWlpabm5u/f39////////////wYHnhQC5z5/v/fr/////////////////gwC28uX8////z5/vrFbb////////////pEHV2LHy////////////yJLrv33m79/8lxDK////lADI9en9////////7t77jgDC////////////////////////////////////////////ADzC5ez7////nrjvVYPe////zNr2ClnP////////eJzlXorf////oLnuHmDRHmDRHmDRHmDRHmDRzdr3////0N34fqDoQ3fZGl/QR3na////////ADXB2+T6////yNb3HmDR////////ADXB2+T6////yNb3HmDR////////////////////////////////////LGnTus30////////////////////////3ub6AFHL////////////////0N34fqDoQ3fZGl/QR3na////////dJnlHmDRjKrr4+r7////////////dJnlHmDRjKrr4+r7////////////////////////////////////////////////////////////////////rAAr9ufo////36isyWhx////79LTtzVG////////1IaNzHB4////4Kquuj1Nuj1Nuj1Nuj1Nuj1N79LT////04OKuj1N2Zid9uXm////////////vUdU6cHE////////////////9ubnsBg0////////5rq9wFBc////////qQAm9N7f////7s7Quj1N////893erAArw1hjw1hjwlNfrAUt//7+////////////////////////////////////////9Of8r1vcgAC079/8////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////oKCgWlpaWlpaWlpaWlpa0dHR////////////////5s34tGXfkADDtGXf5Mj4////////gwC2xInp//7/r1zdx4/r////////////pEHV2LHy////////////yJLrtGXf5cv4jADA/vz/jQDB/Pf/////////7t77jgDC////////////////////////////////////////////ADzCh6fp/v7/XIjfjqzr/////v7/AErIztr38fX8H2LRXorf////////////////////////////////////1eD5////////Z5Dha5Pi////////ADXBfqDo/f3/b5bjdJnl////////ADXBfqDo/f3/b5bjdJnl////////////////////////////////////lLDsS3zb7vL+////1N/4////////////3ub6AFHL////////////////1eD5////////Z5Dha5Pi////////QXXZr8Xx////9ff+8vT+////////QXXZr8Xx////9ff+8vT+////x4/rlgjJlgjJlgjJlgjJlgjJ7+H8////8eT9/fr//vz/8eP8/v3/////////rAAr2JOY//7+y2522puf//////7+sR838NPU+vLyuj9OzHB4////////////////////////////////////w1hj5be6/////Pb2+/Pz////////3J+jxmBq+u/w////8djZ////////uDlJ6L/C/fn5yWhx2Zid////////qQAm1oyR/v390X+G04OK////////uj1N6sPG////3aOnzHB4////////8eT9/fr//vz/8eP8/v3/////+/X/0aXxoTjTlg7Jxo3q9uv9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////7OzsXV1dWlpaWlpaWlpaWlpaZ2dn/Pz8/////////////////////Pf/0aXxnzPR7Nr7////gwC2v37nkADDojrT8eP8////4sb3nSrPhwC7kwDHnSrPypXt////0KLvnjDQjQDBs2LekgDFtmrh////////////7t77jgDC////////////////////////////////////////////D1vPfqDoAFTMPHPX4+r7////////o7vwAEvJD1vPZY7heZzn////////////////////////////////////XIjfAlfNAFTMQXXZ6O77////////AFbNZo/iAE/JKWbU4un7////////AFbNZo/iAE/JKWbU4un7////////////////////////////////////9Pf+W4jfAE7KAlfNfZ/n////////////3ub6AFHL////////////////XIjfAlfNAFTMQXXZ6O77////////yNb3Nm7VFl3PEVzO1+H4////////yNb3Nm7VFl3PEVzO1+H4////+vT+9er+9er+9er+9er+9er+/vz/////fgCx48f47t77fQCx9uv9////////uDZH1oyRtS1AwlNf9uXm////////4a2xsSE4uDZHznV91IiO////////////////////////////////////7s7QwE5auTpKuDdI8tvc////////+/X1y211siM6tjFD1ouR////////7s7QxV9puDdI04WM+u/w////////ti5Bznd+syQ7vURS9eTl////////7s7Quj1NtjBCzXR89uXm////////fgCx48f47t77fQCx9uv9////woXps2Le5cv4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////l5eXWlpaWlpaWlpaWlpaWlpaWlpawsLC////////////////////////////////////////gwC2+/X/////////////////////////pEHV2LHy////////////////////////////////////////////////7t77jgDC////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////3ub6AFHL////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////fgCx48f47t77fQCx9uv9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////fgCx48f47t77fQCx9uv9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////gwC2+/X/////////////////////////v37n5Mj4////////////////////////////////////////////2rT0wIDojgDC////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////s8bzf6LnAFHL////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////fgCx48f47t77fQCx9uv9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////fgCx48f47t77fQCx9uv9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////1Krz/vz/////////////////////////////////////////////////////////////////////////////3br2zp3v1Krz////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uszznLbuqsDw////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2rT0+PD9+/X/2bPz/fr/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2rT0+PD9+/X/2bPz/fr/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7++fn5////////////////////////+/v7+fn5////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA/////////////////////////////////////////////////////////////////////////////////////////////////////////////Pz8/f39////////8fHxwMDA9PT0////////7+/vwcHBx8fHy8vL5eXl////////////6urqw8PDx8fHzMzM+fn5////////+fn50NDQxcXFzMzM1tbW////////////8fHxyMjI////////////////////8PDwycnJ////////////////w8PD9vb2////////////////////w8PDxcXFxsbGxsbGy8vL////////////////////////////////////w8PD/f39////6enp1tbW////////////9PT00NDQzc3N5OTk////5eXl4eHh+Pj4zc3N////zMzM+fn5////////////5ubmy8vLzMzM////+vr6////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////8fHx2NjYyMjI+Pj4////////+/v76urq/Pz8////////7+/vy8vL////+fn5y8vL6Ojo/////f39xMTE8PDw/v7+2dnZ2tra////////09PT29vb/f39////+Pj4////////////8fHxyMjI////////////////////8PDwycnJ////////////////w8PD9vb2////////////////////w8PD9vb2////////////////////////////////////////////////w8PD/f39////6enp1tbW////////////3Nzc5OTk////////////5eXl4eHh+Pj4zc3N////zMzM+fn5////////////xsbG+/v7////////5eXlysrK4eHh+fn5////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////+vr64uLiy8vL1dXV7Ozs/v7+////////////////8/Pz////////////7+/vy8vL////////6Ojoz8/P////8PDwyMjI////////8PDwyMjI////+/v7wMDA/Pz8////////////////////////8fHxyMjI////////////////////8PDwycnJ////////////////w8PD9vb2////////////////////w8PD9vb2////////////////////////////////////////////////w8PD/f39////6enp1tbW////////////09PT7Ozs////////////5eXl4eHh+Pj4zc3N////zMzM+fn5////////+Pj4yMjI////////////////+vr64+Pjzc3N09PT6+vr////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////4eHhxMTE6Ojo/v7+////////////////////////wsLC////////////7+/vy8vL////////8PDwx8fH////6urqzc3N////////9fX1wsLC////8/PzxcXF////////////////////////////8fHxyMjI////////////////////7OzsxsbG////////////////w8PDx8fHzMzM3d3d9fX1////////w8PD8/Pz+/v7+/v7/f39////////////////////////////////////w8PD+fn5////6Ojo19fX////////////09PT7Ozs////////////5eXl4ODg+Pj4zc3N////y8vL+vr6////////9/f3yMjI////////////////////////+vr62dnZwcHB+Pj4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////8/Pz29vbycnJ29vb8vLy/////////////Pz8wMDA/v7+////////7+/vy8vL////////7+/vyMjI////6+vrzMzM////////9PT0w8PD////9PT0wcHB/f39////////////////////////8fHxyMjI////////////////////zc3Nzc3N5eXl////////////w8PD9vb2+/v73t7e0NDQ////////w8PDycnJy8vLy8vL3d3d////////////////////////////////////w8PD4+Pj////2dnZ5OTk////////////09PT7Ozs////////////5eXl29vb8/Pzx8fH////yMjI/v7+////////9/f3yMjI/////////////f396enp0tLSzMzM5OTk+/v7////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA/////////////////////////////////////////////////////////////////////////////////////////////////////v7+6enp0dHR9vb2////////+/v7wMDA/v7+////////7+/vy8vL////////5eXl0dHR////8vLyxsbG////////7u7uysrK/////Pz8wcHB8fHx////////////////////////8fHxyMjI////////////////6Ojo09PT+Pj4xsbG+/v7////////w8PD9vb2////+fn5wMDA/f39////w8PD9vb2////////////////////////////////////////////////w8PD4ODgycnJ0tLS+fn5////8fHx0NDQxcXFy8vL0NDQ5ubm////6enp0NDQyMjI2traysrK3Nzc////////////9/f3yMjI////////////4uLi2tra8/Pz////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+/v7wMDA/v7+////////7+/vy8vL////8/PzyMjI7Ozs////////xsbG8PDw////2NjY3d3d////////19fX2dnZ////////8/Pz////////////8fHxyMjI/////////////f39x8fH9fX1////3d3d29vb////////w8PD9vb2/f3939/fz8/P////////w8PD9vb2////////////////////////////////////////////////w8PD/f39////////////////////////09PT7Ozs////////////////////////////////////////////////9/f3yMjI////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+/v7wMDA/v7+////////7+/vwMDAxMTEy8vL6Ojo////////////7e3txcXFycnJzs7O+/v7////////+/v70tLSyMjIyMjI1tbW////0tLSwsLCwcHBwMDAwsLCwsLC6enp3t7e2NjY////////+/v7xcXF9fX1////w8PDw8PDxcXF1dXV8vLy////////w8PDwsLCwsLCwsLCzc3N////////////////////////////////////w8PD/f39////////////////////////4ODg8vLy////////////////////////////////////////////7e3t4eHhyMjI////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+vr6/////////////////////////Pz8+vr6////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////6+vr////////////////////////////////////////////////////////////////////////////////7+/v6Ojo6+vr////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA + + 0 + + + + + -0 + 4.581351388888888 + 4.627555027777777 + 8.516238749999999 + 4.653255416666666 + 4.258119375 + 2.326627708333333 + + + 8.516238749999999 + 4.653255416666666 + -0 + + + 1 + + + 1 + 0.0138889 + #ff0000 + 0 + 0 + 0 + + + 1 + 8 + 0.9 + 0 + 0 + 0.5 + 1 + 0.0555556 + -0.0555556 + + + 0 + 0 + + 0 + 4.653255416666665 + + + 8.516238749999999 + 4.653255416666665 + + + 8.516238749999999 + 0 + + + 0 + 0 + + + 0 + 4.653255416666665 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 3 + #ff0000 + + 0.152778 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 2 + + $scope + + + + -0 + 4.552435680555556 + 4.194790972222222 + 7.510331944444445 + 2.806248611111111 + 3.755165972222223 + 1.403124305555556 + + + 7.510331944444445 + 2.806248611111111 + -0 + + + 1 + + + 1 + 0.0138889 + #ff0000 + 0 + 0 + 0 + + + 1 + 8 + 0.9 + 0 + 0 + 0.5 + 1 + 0.0555556 + -0.0555556 + + + 0 + 0 + + 0 + 2.806248611111111 + + + 7.510331944444445 + 2.806248611111111 + + + 7.510331944444445 + 0 + + + 0 + 0 + + + 0 + 2.806248611111111 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 3 + #ff0000 + + 0.152778 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 2 + + $scope +names=[...] + + + + -0 + 4.564906666666666 + 3.646366798611111 + 6.62981375 + 0.517828625 + 3.314906875 + 0.2589143125 + + + 6.62981375 + 0.517828625 + -0 + + + 1 + + + 1 + 0.0138889 + #ff0000 + 0 + 0 + 0 + + + 1 + 8 + 0.9 + 0 + 0 + 0.5 + 1 + 0.0555556 + -0.0555556 + + + 0 + 0 + + 0 + 0.5178286250000007 + + + 6.62981375 + 0.5178286250000007 + + + 6.62981375 + 0 + + + 0 + 0 + + + 0 + 0.5178286250000007 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 3 + #ff0000 + + 0.152778 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 2 + + $scope +name='Vojta' + + + + -0 + 4.564906666666666 + 4.764233465277778 + 6.62981375 + 0.517828625 + 3.314906875 + 0.2589143125 + + + 6.62981375 + 0.517828625 + -0 + + + 1 + + + 1 + 0.0138889 + #ff0000 + 0 + 0 + 0 + + + 1 + 8 + 0.9 + 0 + 0 + 0.5 + 1 + 0.0555556 + -0.0555556 + + + 0 + 0 + + 0 + 0.5178286249999999 + + + 6.62981375 + 0.5178286249999999 + + + 6.62981375 + 0 + + + 0 + 0 + + + 0 + 0.5178286249999999 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 3 + #ff0000 + + 0.152778 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 2 + + $scope +name='Igor' + + + + -0 + 4.564906666666666 + 4.203549020833333 + 6.62981375 + 0.517828625 + 3.314906875 + 0.2589143125 + + + 6.62981375 + 0.517828625 + -0 + + + 1 + + + 1 + 0.0138889 + #ff0000 + 0 + 0 + 0 + + + 1 + 8 + 0.9 + 0 + 0 + 0.5 + 1 + 0.0555556 + -0.0555556 + + + 0 + 0 + + 0 + 0.5178286250000004 + + + 6.62981375 + 0.5178286250000004 + + + 6.62981375 + 0 + + + 0 + 0 + + + 0 + 0.5178286250000004 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 3 + #ff0000 + + 0.152778 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 2 + + $scope +name='Misko' + + + + -0 + 4.54506526388889 + 5.921043125000001 + 7.510331944444445 + 0.57458125 + 3.755165972222223 + 0.287290625 + + + 7.510331944444445 + 0.57458125 + -0 + + + 1 + + + 1 + 0.0138889 + #ff0000 + 0 + 0 + 0 + + + 1 + 8 + 0.9 + 0 + 0 + 0.5 + 1 + 0.0555556 + -0.0555556 + + + 0 + 0 + + 0 + 0.5745812499999998 + + + 7.510331944444445 + 0.5745812499999998 + + + 7.510331944444445 + 0 + + + 0 + 0 + + + 0 + 0.5745812499999998 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 3 + #ff0000 + + 0.152778 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 2 + + $scope +name='World' + + + + + + + + 0.111111 + 0.111111 + + + 1 + 1 + 10.5 + 7.68056 + 3 + 0 + -0.0277778 + + + Layer 1 + 1 + 1 + 0 + + + + + + -0 + 6.527777291666666 + 3.073493125000001 + 2.685183194444444 + 1.936346250000001 + 1.342591597222222 + 0.9681731250000003 + + + 5.18518569444444 + 4.04166625 + 7.87036888888889 + 2.10532 + + + 4 + 0 + 2 + 2 + 1 + + + 2.685183194444444 + 1.936346250000001 + -0 + + + 2 + + + 3 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 7.894919286223335e-16 + 1.936346250000001 + + + 2.685183194444445 + 0 + + + + 0 + + + + + -0 + 3.581018472222222 + 4.932357916666667 + 3.337963055555556 + 1.982771388888889 + 1.668981527777778 + 0.9913856944444444 + + + 3.337963055555556 + 1.8438825 + -0 + + + 1 + + + 9 + 0.00694444 + 0 + 0 + 0.208333 + 0 + + + 1 + #b1e0ff + 0.25 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 1.982771388888889 + + + 3.337963055555556 + 1.982771388888889 + + + 3.337963055555556 + 0 + + + 0 + 0 + + + 0 + 1.982771388888889 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 3 + 0 + + 0.166667 + 0 + + + 3 + 0 + + 0.166667 + 0 + + + 3 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Controller +function MyCtrl($scope) { + $scope.action + = function() { + // do something; + }; + $scope.name + = 'world'; +} + + + + -0 + 5.083335694444444 + 3.858796666666667 + 3.337963055555556 + 1.982771388888889 + 1.668981527777778 + 0.9913856944444444 + + + 3.337963055555556 + 1.8438825 + -0 + + + 1 + + + 9 + 0.00694444 + 0 + 0 + 0.208333 + 0 + + + 1 + #d7a5a5 + 0.25 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 1.982771388888889 + + + 3.337963055555556 + 1.982771388888889 + + + 3.337963055555556 + 0 + + + 0 + 0 + + + 0 + 1.982771388888889 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 3 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Scope +{ + name: 'world', + action: function +} + + + + -0 + 6.243065555555556 + 3.025983888888889 + 3.337963055555556 + 1.982771388888889 + 1.668981527777778 + 0.9913856944444444 + + + 3.337963055555556 + 1.8438825 + -0 + + + 1 + + + 9 + 0.00694444 + 0 + 0 + 0.208333 + 0 + + + 1 + #b0d6a2 + 0.25 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 1.982771388888889 + + + 3.337963055555555 + 1.982771388888889 + + + 3.337963055555555 + 0 + + + 0 + 0 + + + 0 + 1.982771388888889 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 3 + 0 + + 0.166667 + 0 + + + 3 + 0 + + 0.166667 + 0 + + + 3 + 0 + + 0.166667 + 0 + + + 3 + 0 + + 0.166667 + 0 + + + 3 + 0 + + 0.166667 + 0 + + + 3 + 0 + + 0.166667 + 0 + + + 3 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + View (DOM) + +<div ng-controller="MyCtrl"> + Hello {{name}}! + <button ng-click="action()"> + OK + <button> +</div> + + + + -0 + 3.32870375 + 3.037615902777778 + 2.685185277777778 + 1.93634625 + 1.342592638888889 + 0.9681731249999999 + + + 1.98611111111111 + 4.00578902777778 + 4.67129638888889 + 2.06944277777778 + + + 4 + 0 + 2 + 2 + 1 + + + 2.685185277777778 + 1.93634625 + -0 + + + 2 + + + 3 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 1.93634625 + + + 2.685185277777778 + 0 + + + + 0 + + + + + -0 + 5.189814861111111 + 4.770722318827352 + 3.629629722222222 + 2.40718769321026 + 1.814814861111111 + 1.20359384660513 + + + 7.00462972222222 + 3.56712847222222 + 3.375 + 5.67129625 + + + 4 + 0 + 0 + 2 + 2 + + + 3.629629722222222 + 2.40718769321026 + -0 + + + 2 + + + 1 + 0.0277778 + 10 + 0 + 0 + 0 + 4 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 3.629629722222222 + 0 + + + 2.666666666666667 + 1.835649305555555 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.000000,0.284641,0,1, 0.992347,0.501008,0,1) + + + 0 + 2.104167777777777 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.477041,1.024132,0,1, 0.084184,1.081830,0,1) + + + + 0 + + + + + -0 + 4.422400198049653 + 5.256240018416979 + 0.8170226183215274 + 1.132850314611736 + 0.4085113091607637 + 0.5664251573058681 + + + 4.02314805555556 + 4.68981486111111 + 4.01388888888889 + 5.60648152777778 + + + 4 + 0 + 0 + 2 + 2 + + + 0.8170226183215274 + 1.132850314611736 + -0 + + + 2 + + + 1 + 0.0277778 + 10 + 0 + 0 + 0 + 4 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0.009259166666666374 + 0 + + + 0.8055555555555556 + 0.7870369444444442 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.725307,0.196162,0,1, 1.076629,0.433191,0,1) + + + 0 + 0.9166666666666666 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.895301,0.956290,0,1, 0.305989,1.168799,0,1) + + + + 0 + + + + + -0 + 2.867754772187711 + 4.694444930555556 + 1.644123233402357 + 1.212962083333334 + 0.8220616167011787 + 0.6064810416666668 + + + 2.87499958333333 + 5.30092597222222 + 3.68981638888889 + 4.08796388888889 + + + 4 + 0 + 0 + 2 + 2 + + + 1.644123233402357 + 1.212962083333334 + -0 + + + 2 + + + 1 + 0.0277778 + 10 + 0 + 0 + 0 + 4 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0.8293064278468011 + 1.212962083333334 + + + 0.0006092056245788532 + 0.6574065277777782 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.127081,0.954198,0,1, -0.008081,0.862595,0,1) + + + 1.644123233402357 + 0 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.008821,0.221372,0,1, 0.104555,0.022901,0,1) + + + + 0 + + + + + -0 + 3.504630416666667 + 4.441157105116122 + 0.3703719444444447 + 0.3189923484089981 + 0.1851859722222223 + 0.1594961742044991 + + + 3.31944444444444 + 4.59722222222222 + 3.68981638888889 + 4.28240791666667 + + + 4 + 0 + 0 + 2 + 2 + + + 0.3703719444444447 + 0.3189923484089981 + -0 + + + 2 + + + 1 + 0.0277778 + 10 + 0 + 0 + 0 + 4 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.3155612913106 + + + 0.1481480555555557 + 0.1326892079772668 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.424998,1.076324,0,1, 0.424998,0.611898,0,1) + + + 0.3703719444444447 + 0.0007469857550444677 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.374997,0.220027,0,1, 0.625002,-0.026685,0,1) + + + + 0 + + + + + -0 + 1 + 1 + 2.682870361111111 + 3.685185277777778 + 1.384259333333334 + 0.75 + 0.6921296666666668 + 0.375 + + + 0.9689815194907401 + 0.5249999925000001 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #f3ea90 + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 1.384259333333334 + 0.4453125 + + + 0.6921296666666668 + 0.75 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.000000,0.818360,0,1, 0.776370,1.000000,0,1) + + + 0 + 0.4453125 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.223630,1.000000,0,1, 0.000000,0.818360,0,1) + + + 0.5319431766133332 + 0.149415 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.000000,0.402340,0,1, 0.164060,0.241210,0,1) + + + 0.4008122899666667 + 0 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.366210,0.126950,0,1, 0.336430,0.041990,0,1) + + + 0.7340311966866666 + 0.1413599999999996 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.379880,0.000000,0,1, 0.469240,0.099610,0,1) + + + 1.384259333333334 + 0.4453125 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.792480,0.201170,0,1, 1.000000,0.377930,0,1) + + + + 0 + + + 0.0694444 + 0.0694444 + 2 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Imperative +behavior + + + + -0 + 5.479166666666667 + 3.810185486111111 + 0.7731483333333339 + 1.000000416666667 + 0.3865741666666669 + 0.5000002083333333 + + + 5.86574083333333 + 3.31018527777778 + 5.0925925 + 4.31018569444444 + + + 4 + 0 + 0 + 2 + 2 + + + 0.7731483333333339 + 1.000000416666667 + -0 + + + 2 + + + 1 + 0.0277778 + 10 + 0 + 0 + 0 + 4 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0.7731483333333339 + 0 + + + 0.6527777777777778 + 0.7777786111111106 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.000000,0.277778,0,1, 0.952096,0.694444,0,1) + + + 0 + 1.000000416666667 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.736526,0.861114,0,1, 0.718563,0.998716,0,1) + + + + 0 + + + + + -0 + 5.567130145833334 + 4.905672805555556 + 1.078698902777778 + 0.7152788333333333 + 0.5393494513888889 + 0.3576394166666667 + + + 0.7550892211574554 + 0.500695176180545 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #f3ea90 + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 1.078698902777778 + 0.4246968072916665 + + + 0.5393494513888891 + 0.7152788333333331 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.000000,0.818360,0,1, 0.776370,1.000000,0,1) + + + 0 + 0.4246968072916665 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.223630,1.000000,0,1, 0.000000,0.818360,0,1) + + + 0.4145224143594446 + 0.1424978491766665 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.000000,0.402340,0,1, 0.164060,0.241210,0,1) + + + 0.3123372672993057 + 0 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.366210,0.126950,0,1, 0.336430,0.041990,0,1) + + + 0.5720016671759728 + 0.1348157545066664 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.379880,0.000000,0,1, 0.469240,0.099610,0,1) + + + 1.078698902777778 + 0.4246968072916665 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.792480,0.201170,0,1, 1.000000,0.377930,0,1) + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + scope is the glue + + + + -0 + 5.516967157096201 + 3.442265926849337 + 2.216065685807597 + 1.180281479634659 + 1.108032842903799 + 0.5901407398173295 + + + 6.625 + 2.98611111111111 + 4.50926041666667 + 4.03240666666667 + + + 4 + 0 + 0 + 2 + 2 + + + 2.216065685807597 + 1.180281479634659 + -0 + + + 2 + + + 1 + 0.0277778 + 10 + 0 + 0 + 0 + 4 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 2.216065685807597 + 0.1339859240791033 + + + 0.2623620746964864 + 0.2728748129679922 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.828692,-0.066913,0,1, 0.252095,-0.035534,0,1) + + + 0.1003261024742636 + 1.180281479634659 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.015313,0.497928,0,1, -0.029936,0.666583,0,1) + + + + 0 + + + + + -0 + 6.509258263888889 + 4.89987125 + 2.685181527777777 + 1.936345833333333 + 1.342590763888889 + 0.9681729166666665 + + + 5.1666675 + 5.86804416666667 + 7.85184902777778 + 3.93169833333333 + + + 4 + 0 + 2 + 2 + 1 + + + 2.685181527777777 + 1.936345833333333 + -0 + + + 2 + + + 3 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + -7.894919286223335e-16 + 1.936345833333333 + + + 2.685181527777777 + 0 + + + + 0 + + + + + -0 + 3.310182569444445 + 4.896413055555556 + 2.685185416666667 + 1.936346944444444 + 1.342592708333333 + 0.9681734722222219 + + + 1.96758986111111 + 5.86458652777778 + 4.65277527777778 + 3.92823958333333 + + + 4 + 0 + 2 + 2 + 1 + + + 2.685185416666667 + 1.936346944444444 + -0 + + + 2 + + + 3 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 1.936346944444444 + + + 2.685185416666667 + 0 + + + + 0 + + + + + -0 + 7.106480902777777 + 4.063656833333333 + 1.49073625 + 0.7152788333333333 + 0.745368125 + 0.3576394166666667 + + + 1.043515360092637 + 0.500695176180545 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #f3ea90 + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 1.490736250000001 + 0.4246968072916669 + + + 0.7453681250000004 + 0.7152788333333334 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.000000,0.818360,0,1, 0.776370,1.000000,0,1) + + + 0 + 0.4246968072916669 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.223630,1.000000,0,1, 0.000000,0.818360,0,1) + + + 0.5728601261500006 + 0.1424978491766669 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.000000,0.402340,0,1, 0.164060,0.241210,0,1) + + + 0.4316426811875008 + 0 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.366210,0.126950,0,1, 0.336430,0.041990,0,1) + + + 0.7904927112875002 + 0.1348157545066668 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.379880,0.000000,0,1, 0.469240,0.099610,0,1) + + + 1.490736250000001 + 0.4246968072916669 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.792480,0.201170,0,1, 1.000000,0.377930,0,1) + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Declarative +view + + + + + + + + 0.111111 + 0.111111 + + + 1 + 1 + 10.5 + 7.68056 + 3 + 0 + 0 + + + Layer 1 + 1 + 1 + 0 + + + + + + -0 + 3.865740902777778 + 3.840277777777778 + 2.314815138888889 + 3.911604166666666 + 1.157407569444444 + 1.955802083333333 + + + 2.314815138888889 + 3.772715277777777 + -0 + + + 1 + + + 9 + 0.00694444 + 0 + 0 + 0.208333 + 0 + + + 1 + #ececec + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 3.911604166666666 + + + 2.314815138888889 + 3.911604166666666 + + + 2.314815138888889 + 0 + + + 0 + 0 + + + 0 + 3.911604166666666 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + AngularJS + + + + -0 + 6.273149374999999 + 3.840277361111111 + 2.148147638888889 + 3.911603333333334 + 1.074073819444444 + 1.955801666666667 + + + 2.148147638888889 + 3.772714444444444 + -0 + + + 1 + + + 9 + 0.00694444 + 0 + 0 + 0.208333 + 0 + + + 1 + #ececec + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 3.911603333333334 + + + 2.148147638888888 + 3.911603333333334 + + + 2.148147638888888 + 0 + + + 0 + 0 + + + 0 + 3.911603333333334 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Others + + + + -0 + 3.356481289876302 + 3.124335902041614 + 1.162027361111111 + 2.33013875 + 0.5810136805555556 + 1.165069375 + + + 1.162027361111111 + 2.191249861111111 + -0 + + + 1 + + + 1 + 0.00694444 + 0 + 0 + 0.208333 + 0 + + + 1 + #ffff00 + 0.81 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 2.33013875 + + + 1.162027361111111 + 2.33013875 + + + 1.162027361111111 + 0 + + + 0 + 0 + + + 0 + 2.33013875 + + + + 0 + + + 0.5810136805555557 + 0 + 0 + + + 0.5810136805555557 + 2.330138749999999 + 0 + + + 1.162027361111111 + 1.165069375 + 0 + + + 3.947459643111667e-16 + 1.165069375 + 0 + + + 0.0694444 + 0.0694444 + 2 + #ffff00 + 0.81 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + $compile + + + + -0 + 3.978010416666666 + 3.7960800625 + 1.886570555555555 + 1.222222652777778 + 0.9432852777777777 + 0.611111326388889 + + + 1.886570555555555 + 1.166667097222222 + -0 + + + 1 + + + 1 + 0.00694444 + 0 + 0 + 0.208333 + 0 + + + 1 + #d7a5a5 + 0.25 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 1.222222652777778 + + + 1.886570555555555 + 1.222222652777778 + + + 1.886570555555555 + 0 + + + 0 + 0 + + + 0 + 1.222222652777778 + + + + 0 + + + 0.9432852777777777 + 7.894919286223335e-16 + 0 + + + 0.9432852777777777 + 1.222222652777778 + 0 + + + 1.886570555555555 + 0.6111113263888891 + 0 + + + 0 + 0.6111113263888891 + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + scope + + + + -0 + 5.701386388888888 + 5.1437345 + 0.8472222222222222 + 0.5092593333333333 + 0.4236111111111111 + 0.2546296666666666 + + + 0.8472222222222222 + 0.3703704444444444 + -0 + + + 1 + + + 1 + 0.00694444 + 0 + 0 + 0.208333 + 0 + + + 1 + #b0d6a2 + 0.25 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.5092593333333334 + + + 0.8472222222222222 + 0.5092593333333334 + + + 0.8472222222222222 + 0 + + + 0 + 0 + + + 0 + 0.5092593333333334 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + template +(string) + + + + -0 + 6.574075305555556 + 5.1437345 + 0.7129631111111111 + 0.5092593333333333 + 0.3564815555555556 + 0.2546296666666666 + + + 0.7129631111111111 + 0.3703704444444444 + -0 + + + 1 + + + 1 + 0.00694444 + 0 + 0 + 0.208333 + 0 + + + 1 + #b1e0ff + 0.25 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.5092593333333334 + + + 0.7129631111111112 + 0.5092593333333334 + + + 0.7129631111111112 + 0 + + + 0 + 0 + + + 0 + 0.5092593333333334 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Model + + + + -0 + 5.981480305555555 + 4.227067416666666 + 0.7129631111111111 + 0.5092593333333333 + 0.3564815555555556 + 0.2546296666666666 + + + 0.7129631111111111 + 0.3703704444444444 + -0 + + + 1 + + + 1 + 0.00694444 + 0 + 0 + 0.208333 + 0 + + + 1 + #ffff00 + 0.81 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.5092593333333334 + + + 0.7129631111111112 + 0.5092593333333334 + + + 0.7129631111111112 + 0 + + + 0 + 0 + + + 0 + 0.5092593333333334 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + merge + + + + -0 + 5.981480305555555 + 3.440028805555555 + 0.7129631111111111 + 0.5092593333333333 + 0.3564815555555556 + 0.2546296666666666 + + + 0.7129631111111111 + 0.3703704444444444 + -0 + + + 1 + + + 1 + 0.00694444 + 0 + 0 + 0.208333 + 0 + + + 1 + #b0d6a2 + 0.25 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.5092593333333326 + + + 0.7129631111111112 + 0.5092593333333326 + + + 0.7129631111111112 + 0 + + + 0 + 0 + + + 0 + 0.5092593333333326 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + HTML +(string) + + + + -0 + 5.981480305555555 + 2.421511444444445 + 0.7129631111111111 + 0.5092593333333333 + 0.3564815555555556 + 0.2546296666666666 + + + 0.7129631111111111 + 0.3703704444444444 + -0 + + + 1 + + + 1 + 0.00694444 + 0 + 0 + 0.208333 + 0 + + + 1 + #b0d6a2 + 0.25 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.5092593333333326 + + + 0.7129631111111112 + 0.5092593333333326 + + + 0.7129631111111112 + 0 + + + 0 + 0 + + + 0 + 0.5092593333333326 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + DOM + + + + -0 + 3.458336138888889 + 5.166236166666667 + 0.7129631111111111 + 0.5092593333333333 + 0.3564815555555556 + 0.2546296666666666 + + + 0.7129631111111111 + 0.3703704444444444 + -0 + + + 1 + + + 1 + 0.00694444 + 0 + 0 + 0.208333 + 0 + + + 1 + #b0d6a2 + 0.25 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.5092593333333334 + + + 0.7129631111111112 + 0.5092593333333334 + + + 0.7129631111111112 + 0 + + + 0 + 0 + + + 0 + 0.5092593333333334 + + + + 0 + + + 0.3564815555555556 + 3.947459643111667e-16 + 0 + + + 0.3564815555555556 + 0.5092593333333334 + 0 + + + 0.7129631111111112 + 0.2546296666666667 + 0 + + + 3.947459643111667e-16 + 0.2546296666666667 + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + HTML +(string) + + + + -0 + 4.458305583333333 + 3.953477694444445 + 0.7129631111111111 + 0.5092593333333333 + 0.3564815555555556 + 0.2546296666666666 + + + 0.7129631111111111 + 0.3703704444444444 + -0 + + + 1 + + + 1 + 0.00694444 + 0 + 0 + 0.208333 + 0 + + + 1 + #b1e0ff + 0.25 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.5092593333333331 + + + 0.7129631111111112 + 0.5092593333333331 + + + 0.7129631111111112 + 0 + + + 0 + 0 + + + 0 + 0.5092593333333331 + + + + 0 + + + 0.3564815555555556 + 0 + 0 + + + 0.3564815555555556 + 0.5092593333333326 + 0 + + + 0.7129631111111112 + 0.2546296666666663 + 0 + + + 0 + 0.2546296666666663 + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Model + + + + -0 + 3.458336138888889 + 3.953477694444445 + 0.7129631111111111 + 0.5092593333333333 + 0.3564815555555556 + 0.2546296666666666 + + + 0.7129631111111111 + 0.3703704444444444 + -0 + + + 1 + + + 1 + 0.00694444 + 0 + 0 + 0.208333 + 0 + + + 1 + #b0d6a2 + 0.25 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.5092593333333331 + + + 0.7129631111111112 + 0.5092593333333331 + + + 0.7129631111111112 + 0 + + + 0 + 0 + + + 0 + 0.5092593333333331 + + + + 0 + + + 0.3564815555555556 + 0 + 0 + + + 0.3564815555555556 + 0.5092593333333326 + 0 + + + 0.7129631111111112 + 0.2546296666666663 + 0 + + + 0 + 0.2546296666666663 + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + DOM + + + + -0 + 5.841433347222033 + 4.685400958333332 + 0.1224569299656106 + 0.4007664220686047 + 0.06122846498280528 + 0.2003832110343023 + + + 5.78020488223923 + 4.88578416936763 + 5.90266181220484 + 4.48501774729903 + + + 4 + 0 + 2 + 0 + 2 + + + 0.1224569299656106 + 0.4007664220686047 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 7.894919286223335e-16 + 0.4007664220686047 + + + 0.1224569299656114 + 0 + + + + 0 + + + + + -0 + 5.988424677244621 + 3.83354811111111 + 0.01388888888888889 + 0.2708348333333335 + 0.006944444444444444 + 0.1354174166666667 + + + 5.98148023280018 + 3.96896552777778 + 5.98148023280018 + 3.69813069444444 + + + 4 + 0 + 2 + 0 + 2 + + + 0.01388888888888889 + 0.2708348333333335 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.2708348333333335 + + + 0 + 0 + + + + 0 + + + + + -0 + 5.988424482332851 + 2.930770125 + 0.01388888888888889 + 0.5023135833333335 + 0.006944444444444444 + 0.2511567916666668 + + + 5.98148003788841 + 3.18192691666667 + 5.98148003788841 + 2.67961333333333 + + + 4 + 0 + 2 + 0 + 2 + + + 0.01388888888888889 + 0.5023135833333335 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.5023135833333343 + + + 0 + 7.894919286223335e-16 + + + + 0 + + + + + -0 + 6.381945694444444 + 3.00749625 + 0.8472222222222222 + 0.1666666666666667 + 0.4236111111111111 + 0.08333333333333333 + + + 0.8472222222222222 + 0.1666666666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0.49 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.1666666666666667 + + + 0.8472222222222222 + 0.1666666666666667 + + + 0.8472222222222222 + 0 + + + 0 + 0 + + + 0 + 0.1666666666666667 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 3 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + .innerHTML + + + + -0 + 3.465280583333334 + 4.558120819444444 + 0.01388888888888889 + 0.7000269166666667 + 0.006944444444444444 + 0.3500134583333334 + + + 3.45833613888889 + 4.90813427777778 + 3.45833613888889 + 4.20810736111111 + + + 4 + 0 + 2 + 0 + 2 + + + 0.01388888888888889 + 0.7000269166666667 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.7000269166666667 + + + 0 + 0 + + + + 0 + + + + + -0 + 3.152771258517795 + 4.688630395247706 + 0.7129631111111111 + 0.3333333333333333 + 0.3564815555555556 + 0.1666666666666667 + + + 0.7129631111111111 + 0.3333333333333333 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0.49 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3333333333333333 + + + 0.7129631111111112 + 0.3333333333333333 + + + 0.7129631111111112 + 0 + + + 0 + 0 + + + 0 + 0.3333333333333333 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 3 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Browser +parse + + + + -0 + 6.277777805555524 + 4.685400958333336 + 0.2603946515763467 + 0.4027965233862297 + 0.1301973257881733 + 0.2013982616931149 + + + 6.4079751313437 + 4.88679922002645 + 6.14758047976735 + 4.48400269664022 + + + 4 + 0 + 2 + 0 + 2 + + + 0.2603946515763467 + 0.4027965233862297 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0.2603946515763467 + 0.4027965233862297 + + + 0 + 0 + + + + 0 + + + + + -0 + 6.59823067745038 + 3.82138181774548 + 1.289054132678539 + 3.609798746700735 + 0.6445270663392696 + 1.804899373350368 + + + 5.95370361111111 + 2.16688236111111 + 6.73148638888889 + 5.39836416666667 + + + 4 + 0 + 0 + 2 + 2 + + + 1.289054132678539 + 3.609798746700735 + -0 + + + 2 + + + 1 + 0.0416667 + #004080 + 0 + 0 + 0 + 4 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.1503999167159991 + + + 1.240746805555557 + 1.877251583382666 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.021549,-0.057089,0,1, 0.818865,-0.010919,0,1) + + + 0.7777827777777778 + 3.381881722271554 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.106186,1.051006,0,1, 0.804498,1.056136,0,1) + + + + 0 + + + + + -0 + 6.900741527777778 + 3.766807500000001 + 0.6527777777777778 + 0.5277777777777778 + 0.3263888888888889 + 0.2638888888888889 + + + 0.6527777777777778 + 0.5277777777777778 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0.49 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.5277777777777778 + + + 0.6527777777777778 + 0.5277777777777778 + + + 0.6527777777777778 + 0 + + + 0 + 0 + + + 0 + 0.5277777777777778 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + #004fb1 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + update +Loop + + + + -0 + 3.45833625 + 2.583116444444445 + 0.8472222222222222 + 0.5092593333333333 + 0.4236111111111111 + 0.2546296666666666 + + + 0.8472222222222222 + 0.3703704444444444 + -0 + + + 1 + + + 1 + 0.00694444 + 0 + 0 + 0.208333 + 0 + + + 1 + #b0d6a2 + 0.25 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.5092593333333326 + + + 0.8472222222222227 + 0.5092593333333326 + + + 0.8472222222222227 + 0 + + + 0 + 0 + + + 0 + 0.5092593333333326 + + + + 0 + + + 0.4236111111111111 + 0 + 0 + + + 0.4236111111111111 + 0.5092593333333326 + 0 + + + 0.8472222222222227 + 0.2546296666666663 + 0 + + + 0 + 0.2546296666666663 + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + directives + + + + -0 + 3.465280694444445 + 3.266560958333334 + 0.01388888888888889 + 0.8576296944444448 + 0.006944444444444444 + 0.4288148472222224 + + + 3.45833625 + 3.69537580555556 + 3.45833625 + 2.83774611111111 + + + 4 + 0 + 2 + 0 + 2 + + + 0.01388888888888889 + 0.8576296944444448 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.8576296944444448 + + + 0 + 0 + + + + 0 + + + + + -0 + 3.171305712076823 + 3.091412893812689 + 0.7129631111111111 + 0.1666666666666667 + 0.3564815555555556 + 0.08333333333333333 + + + 0.7129631111111111 + 0.1666666666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0.49 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.1666666666666667 + + + 0.7129631111111112 + 0.1666666666666667 + + + 0.7129631111111112 + 0 + + + 0 + 0 + + + 0 + 0.1666666666666667 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 3 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + extract + + + + -0 + 3.935158018614494 + 3.533264583333333 + 1.07641730140388 + 0.5406444444444445 + 0.5382086507019402 + 0.2703222222222222 + + + 3.79166916666667 + 3.80358680555556 + 4.14352125 + 3.80358680555556 + + + 4 + 0 + 0 + 2 + 2 + + + 1.07641730140388 + 0.5406444444444445 + -0 + + + 2 + + + 1 + 0.0416667 + #004080 + 0 + 0 + 0 + 4 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0.3947197987541126 + 0.5406444444444453 + + + 0.5521239654207792 + 7.894919286223335e-16 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.183825,0.942587,0,1, -0.097808,0.000000,0,1) + + + 0.7465718820874458 + 0.5406444444444453 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.123664,0.000000,0,1, 1.132266,1.000000,0,1) + + + + 0 + + + + + -0 + 3.926496666666667 + 3.550252638888889 + 1.013888888888889 + 0.5277777777777778 + 0.5069444444444444 + 0.2638888888888889 + + + 1.013888888888889 + 0.5277777777777778 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0.49 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.5277777777777778 + + + 1.013888888888889 + 0.5277777777777778 + + + 1.013888888888889 + 0 + + + 0 + 0 + + + 0 + 0.5277777777777778 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + #004fb1 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + continuous +update loop + + + + -0 + 4.185296591993727 + 2.97596865209894 + 0.6066984617652298 + 0.7883690846910096 + 0.3033492308826149 + 0.3941845423455048 + + + 3.88194736111111 + 2.58311644444444 + 4.40277736111111 + 3.37015319444444 + + + 4 + 0 + 0 + 0 + 2 + + + 0.6066984617652298 + 0.7883690846910096 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.001332334691010178 + + + 0.4447823611111106 + 0.1682158902465652 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.354829,-0.010055,0,1, 0.560483,0.037200,0,1) + + + 0.5208299999999997 + 0.7883690846910096 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.905758,0.389546,0,1, 1.163701,0.812083,0,1) + + + + 0 + + + + + -0 + 4.599537361111111 + 2.69400875 + 0.8472222222222222 + 0.5277777777777778 + 0.4236111111111111 + 0.2638888888888889 + + + 0.8472222222222222 + 0.5277777777777778 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0.49 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.5277777777777778 + + + 0.8472222222222222 + 0.5277777777777778 + + + 0.8472222222222222 + 0 + + + 0 + 0 + + + 0 + 0.5277777777777778 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + set up +$watches + + + + + + + + + + + + + + + + + + + + + + 0.111111 + 0.111111 + + + 1 + 1 + 10.5 + 7.68056 + 3 + 0 + -0.0277778 + + + Layer 1 + 1 + 1 + 0 + + + + + + -0 + 4.916666666666667 + 5.557870370370372 + 8.555555555555555 + 2.541666666666667 + 4.277777777777778 + 1.270833333333333 + + + 8.555555555555555 + 2.402777777777778 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 2.541666666666667 + + + 8.555555555555555 + 2.541666666666667 + + + 8.555555555555555 + 0 + + + 0 + 0 + + + 0 + 2.541666666666667 + + + + 0 + 0 + 8.55556 + 2.54167 + + Qk0AAAAAAAAAADYAAAAoAAAAaAIAALcAAAABABgAAAAAAAgpBQAAAAAAAAAAAAAAAAAAAAAA+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+Pb2+Pb2+Pb29/X19/X19vT09vT09vT09fPz9fPz9fPz9PLy9PLy8/Hx8/Hx8/Hx8/Hx8/Hx8/Hx8/Hx8/Hx8/Hx8/Hx8/Hx8/Hx8/Hx8/Hx8/Hx8/Hx8/Hx8/Hx8/Hx8/Hx8/Hx8/Hx8/Hx8/Hx8/Hx8/Hx8/Hx8/Hx8/Hx8/Hx8/Hx8/Hx8/Hx8/Hx8/Hx8/Hx8/Hx8/Hx8/Hx8/Hx8/Hx8/Hx8/Hx8/Hx8/Hx8/Hx9PLy9PLy9fPz9fPz+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+Pb2+Pb2+Pb29/X19/X19/X19vT09vT09vT09vT09vT09vT09vT09fPz9fPz9fPz9fPz9fPz9fPz9fPz9fPz9fPz9fPz9fPz9fPz9fPz9fPz9fPz9fPz9fPz9fPz9fPz9fPz9fPz9fPz9fPz9fPz9fPz9fPz9fPz9fPz9fPz9fPz9fPz9fPz9fPz9fPz9fPz9fPz9fPz9fPz9fPz9fPz9fPz9fPz9vT09vT09vT09vT09vT09vT0+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+Pb2+Pb2+Pb2+Pb2+Pb29/X19/X19/X19/X19/X19/X19/X19/X19/X19/X19/X19/X19/X19/X19/X19/X19/X19/X19/X19/X19/X19/X19/X19/X19/X19/X19/X19/X19/X19/X19/X19/X19/X19/X19/X19/X19/X19/X19/X19/X19/X19/X19/X19/X19/X19/X19/X19/X19/X19/X19/X19/X19/X19/X1+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+Pb2+Pb2+Pb2+Pb2+Pb2+Pb2+Pb2+Pb2+Pb2+Pb2+Pb2+Pb2+Pb2+Pb2+Pb2+Pb2+Pb2+Pb2+Pb2+Pb2+Pb2+Pb2+Pb2+Pb2+Pb2+Pb2+Pb2+Pb2+Pb2+Pb2+Pb2+Pb2+Pb2+Pb2+Pb2+Pb2+Pb2+Pb2+Pb2+Pb2+Pb2+Pb2+Pb2+Pb2+Pb2+Pb2+Pb2+Pb2+Pb2+Pb2+Pb2+Pb2+Pb2+Pb2+Pb2+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff39PDu9e7s+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36Nzaijcx9fDu+ff3+ff3+ff3+ff3+ff3/v7++vj4+ff3+ff3////+vj4+ff3+ff3+ff3/fz8//7+//7++ff3+/r6/fz8+ff3/v7++fj4+/n5/fz8+ff3+ff3+ff3+vj4/v39/////Pv7+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+vn5/fz8+ff1+ff3q29ox5+Y+ff3+ff3+ff3+ff3+ff3k0g/4crI+ff3+ff3ijky59jV+ff3+ff39vPxr3RtkEA6kUE79O/tz7CqsH1z+ff3lElA6d3b07WvrnNs+ff3+ff3+ff36NfWpGRaiTUvv5ON+PXz/v39+/r6+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+/r6/v7+4crIrXFoqGtj+ff34cvJkEI4+Pb0+ff3+ff3+ff3+ff3k0g/4crI+ff3+ff3ijky59jV+ff3+ff33MO/mlNK9fHv+ff3+ff3z7CqsH1z+ff3lElA6d3b07WvrnNs+ff3+ff3+ff3tYN5vI6G+ff3+ff3wZWPoF9V1Lex/Pv5/Pv7+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+/r6+PTyyqSflk1El05Fx56a8ejm+ff3+ff3oF5U0bKs+ff3+ff3+ff3+ff3k0g/4cvJ+ff3+ff3ijky59jV+ff3+ff3w5mTsn91+ff3+ff3+ff3z7CqsH1z+ff3lElA6d3b07WvrnNs+ff3+ff3+ff3lk1E38fF+ff3+ff39fHv0LKsomFXjj42vpCK8ejl/Pv7+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff30rSuijkys4F34s7M+ff3+ff3+ff3+ff3+ff31rq2mVFI+vn5+ff3+ff3+ff3k0g/4cvJ+ff3+ff3ijky59fU+ff3+ff3wpeRs4F3+ff3+ff3+ff3z7CqsH1z+ff3lElA6t3b07WvrnNs+ff3+ff3+ff3kkc+4szK+ff3+ff3+ff3+ff3+ff369zbvpGLjT03u42F+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff33MTAl05Fm1RLzaek+PTy/fz8+vj4+ff3+ff3+Pb2lkxD3cTA+ff3+ff3+ff3k0g/zq6n+fj4+Pb0hCwp7+Xj+ff3+ff3wpeRs4F3+ff3+ff3+ff3z7Cqr3hw+ff3kUQ86drX0bKssHtz+ff3+ff3+ff3kkc+4szK+ff3+ff3+ff3/Pv7/fz62Ly2pmdfkEA4yqSh+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff33sfFrXFqijcxsH1z5dLQ+ff3+ff3+ff3y6iipGRa+vj4+ff3+ff3k0g/oV9V7OHezq6nk0c++ff3+fb2+fb0wJWPsX50+fb0+fb0+ff3z6+pnFdN8urohTAo1Lawv5KMuouF+ff3+ff3+ff3kkc+4szK+ff3+ff37ePhvI+HjT03omBW0rSu9/Ty+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff37+XjwZaQs4B2+ff3+ff3+ff39fHvjT0359TS+ff3+ff3k0g/x5+blk5FlUtC1Law+ff348/NlUxDjDsziTYwlUxDlUxD9O/t1rm1p2pgjj42rXJrqWxkmFBH5dTU+ff3+ff3+ff3kkc+4szK+ff3+ff3x6GatYR859fU+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3wZaQr3hw+fj4+ff3k0g/4crI+ff3+ff3+ff3+ff3+ff3+ff3wpaQsoB2+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+vn5/Pr6kkc+4szK+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff38enniTYw6+He+ff3k0c+4MnH+ff3+ff3+ff3+ff3+ff3+ff307WvyKWf+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff33MO/x56aijky4cvJ+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff317u18Ojm+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff338nHzKulzKul8Ofl+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3/Pv7+/r6+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3xZyV0rOt+/n5+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff39PDu9e7s+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3y6iinFZPuoqC+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36Nzaijcx9fDu+ff3+ff3+ff3+ff3+ff3//7+/fz89/Lw9/Px/Pv7+ff3+ff3+vn5/v398OXi/Pr4+/r6+ff3+ff3+/n5/Pr49Ozp/f39////+ff3+ff3+ff36+HehzIs9O3r+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+vn5/fz8+ff1+ff3q29ox5+Y+ff3+ff3+ff3+ff3+ff3kkU9rHFojT03gyonwJWP+ff3+ff34szKjDw0jz83hCwpzaul+ff3+ff32b66hjAqjz83qm5lgyon7OHf+ff3+ff39fDuhjAqyqeh+ff3+ff3+PXz/v39+/r6+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+/r6/v7+4crIrXFoqGtj+ff34cvJkEI4+Pb0+ff3+ff3+ff3+ff3kkU9p2lh9PDu5dTUhjEr9PDu+Pb2lUtCv5KM+Pb22b+7hCwp7+Xj+ff3nVhOzKml+Pb2vpKMgSYi7OHf+ff3+ff3z66ojT03nlhR+vj4+ff3wZWPoF9V1Lex/Pv5/Pv7+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+/r6+PTyyqSflk1El05Fx56a8ejm+ff3+ff3oF5U0bKs+ff3+ff3+ff3+ff3kkU9y6ii+ff3+ff3mlNM28G97+XjgSYi6NvZ+ff3+ff3jDsz1biy9O3rhCso9O3r+ff359fUgSYi7OHf+ff3+fj4oV9V0bKsizoy6tvb+ff39fHv0LKsomFXjj42vpCK8ejl/Pv7+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff30rSuijkys4F34s7M+ff3+ff3+ff3+ff3+ff31rq2mVFI+vn5+ff3+ff3+ff3kkU93cO/+ff3+ff3rHBnxJ2W5dTUgikm+PX1+ff3+ff3nlpSy6ii4cvJjDw0+ff3+ff39vLwgSYi7OHf+ff3697cijcx9fHvtIJ4vpKK+ff3+ff3+ff3+ff369zbvpGLjT03u42F+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff33MTAl05Fm1RLzaek+PTy/fz8+vj4+ff3+ff3+Pb2lkxD3cTA+ff3+ff3+ff3kkU9yKKd+vj4+/r6lUtC3sfF8enngSYi59XT+ff3+/n5hzMt2Ly29fDwhS0q8+vp+ff35NHPgSYi7OHf+ff3v5ONsX91+ff34MnHkEI6+fj4+ff3/Pv7/fz62Ly2pmdfkEA4yqSh+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff33sfFrXFqijcxsH1z5dLQ+ff3+ff3+ff3y6iipGRa+vj4+ff3+ff3kkU9m1NM7N3d1LWvhzMt9vPx+ff3oF9Vr3dv8+vpxZ2Wijcx9O3r+ff3omFXuouD8uror3VugSYi7OLg+ff3kEI63sfF+ff3+ff3k0c+3sXB7ePhvI+HjT03omBW0rSu9/Ty+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff37+XjwZaQs4B2+ff3+ff3+ff39fHvjT0359TS+ff3+ff3kkU9vY+JkUM7kEA60LGr+ff3+ff36d3bomFXhzMtl09G3cXD+ff3+ff35NDOmFFIizgyv5KMhCwp7OLg48/NoV9V+Pb2+ff3+ff3xZ2WvZGLx6GatYR859fU+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3wZaQr3hw+fj4+ff3kkU94szK+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3hCwp7OLg+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff38enniTYw6+He+ff3kkU94cvJ+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3hCwp7OLg+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff31rq28ejm+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff30rOt9PDu+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3/Pr6+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+vj4/Pv7/Pv7+vj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3/Pr6+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3yaCc7uTi+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff35ubKwcBvwL9r7OrT/Pv7+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3yaCc7uTi+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3kEI448/N+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3zMuKxsV5zs2RoKAAxcZ1+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff39PDu9e7s+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3kEI448/N+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3/v7+////////////////+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3/Pv79/f39PPz/fz8//7++vj4+/r6/fz8+ff3/v7++fj4+/n5/fz8+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3/fz89vHv8Ofl/v7++/n5+ff3+ff3kEI45dLQ9vHv+PTy/Pv7+ff3+ff3/Pv7+fb09/Lw/fz8//7++vj4+ff3/v7++vj4+ff3+ff3////+vj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3/v7++vj4+ff3+ff3////+vj4+ff3+vj4//7+/v785+bKmpoA+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3/v7++vj4+ff3+ff3////+vj4+ff3/Pv7/v7+/////////v7+/fz8+ff3+/n5/Pz49PTk/f39////+ff3+ff3+vj4/v7+9PXn8fHg///9+vj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+vn5/////Pv7+ff3+ff3+ff3/Pv7/v7+/////////v7+/fz8+ff3/fz88e7/6eL//v7++/n5+ff3+ff3/Pv7/v7+/////////v7+/fz8+ff3//7+/fz88u//8/D//Pv7+ff3+ff3+ff3+ff3+vj4/v39/////Pv7+ff3+vj4/v7+7uj/6eL//v7/+vj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3/v7++vj4+ff3+ff3////+vj4+ff3+vn5/f396ejo+/r6+/r6+ff3+ff3+ff3+ff3/fz8//7+//7++ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36Nzaijcx9fDu+ff3+ff3+ff3+ff3+ff3/fz89vHv8Ofl/v7++/n5+ff3+ff3kEI45dLQ9vHv+PTy/Pv7+ff3+ff3/Pv7+fb09/Lw/fz8//7++vj4+ff3/v7++vj4+ff3+ff3////+vj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3/fz8+fn55+bm+/n5+vj4+ff3/v7++vj4+ff3+ff3////+vj4+ff3+vj4/v7+7+/v6urq/v7++vj4+ff3+ff3/fz8+fn55+bm+/n5+vj4+ff3/fz8/Pv7+ff3+ff3/fz8/f39+ff3+vj4/v7+7+/v6urq/v7++vj4+ff3+/n5+/r67u7u/f39////+ff3+ff3+ff3/v39////+/r6+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3amdnTEhITEhITEhITEhI8/Hx+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3o6GhXFhYYV1dkI6OX1xc1tPTu7q6j42N+ff3ZmJi4uHhwL6+iYaG+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+vn5/fz8+ff1+ff3rXRsjT03mVJLlUpB17y2+ff3+ff3kEI4rHBpjT03gyonwpeR+ff3+ff3v5KMjDw0kUE7sX1zj0A4483L+ff3k0g/4crI+ff3+ff3ijky59jV+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3lZUA4N66+ff3+ff3jIwA5+XO+ff34+K+lJQAjIwAv75khYUA7+7g+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3lZUA4N66+ff3+ff3jIwA5+XO+ff3vLtklJQAjIwAiooAlJQAr606+ff32tqniIgAkJAAq6slhYUA7eva+ff36enNmZkAjY0AlpYAkJAA5OLE+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3zbz+LwDvoYH9+ff3+ff3+ff3mHT4UgD0QgDxPgDwUgD0f1H3+ff3flH5SADyXQ/1VwDzwa79+ff3+ff3mHT4UgD0QgDxPgDwUgD0f1H3+ff3UQD0fEz4SADyNADvnnz9+ff3+ff3+ff3+ff33dD9bjf3PwDxnXv5+ff33dH+WQD1QwDxVgDzSQDz1sn5+ff3+ff3+ff3+ff3+ff3+ff3+ff3+PXz/v39+/r6+ff3+ff3+ff3+ff3+ff3ZWFh09HR+ff3+ff3WVVV3tzc+ff31NPTXFhYX1tbUE1Nt7W1+ff3+ff3+ff39fT0ioeHYVxcYV1d8vDw+ff3+ff3+ff3+ff3+vn5/fz8+ff1+ff3q29ox5+Y+ff3+ff3+ff3+ff3+ff3rXRsjT03mVJLlUpB17y2+ff3+ff3kEI4rHBpjT03gyonwpeR+ff3+ff3v5KMjDw0kUE7sX1zj0A4483L+ff3k0g/4crI+ff3+ff3ijky59jV+PXz/v39+/r6+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+Pf3lpSUTkpKamdnX1tb3tzc+ff3ZWFh09HR+ff3+ff3WVVV3tzc+ff33t3damdnWlZWZ2RkXltb2dbW+ff3+Pf3lpSUTkpKamdnX1tb3tzc+ff3j42NpKKi+ff3+/n5kI2NgX5++ff33t3damdnWlZWZ2RkXltb2dbW+ff3yMbGU09PXltbhIGBT0tL5uPj+ff3+ff3fXt7TEhIv729+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff39vT09vT0TkpK1NHR9vT0+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff37evrVFBQ6ebm9/X1pKGhTEhI1tPTu7q6j42N+ff3ZmJi4uHhwL6+iYaG+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+/r6/v7+4crIrXFoqGtj+ff35dPR+Pb2+ff33sjEl05F+ff3+ff3kEI4qGth9PDu5dPRhjEr9fLw8ennhzIs7uTi9/T0v5ONgSYi483L+ff3k0g/4crI+ff3+ff3ijky59jV+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3lZUA4N66+ff3+ff3jIwA5+XO+ff3oqIAv75s9PLtuLZVg4MA7eva+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3lZUA4N66+ff3+ff3jIwA5+XO+ff3+ff3+ff3xMV0s7JF+ff3+ff3+ff3np4AzcyL+ff1v75qg4MA7eva+ff1mZkAvr5n9vTw+ff36ujV7eva/Pv7/////////////////////f39+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3imL8cDj2XAL1+vj4+ff3+ff3+ff3+ff3ooP8hlz5+ff3+ff3+ff32cv4+Pb4+ff3zbz+WgD0+ff3+ff3+ff3+ff3ooP8hlz5+ff3+ff3+ff3UQD0cz748u352836OwDw8u36+ff3+ff3+ff3jGX7l3P5+ff3+ff3+Pb4WQD1mXj79PD4+ff34dj45tz4+ff3+ff3+ff3+ff3+ff3+ff3+ff3wZWPoF9V1Lex/Pv5/Pv7+fj4+ff3+ff3ZWFh09HR+ff3+ff3WVVV3tzc+Pb2aGRko6Cg+Pb2ycbGUE1N6efn+ff3+ff3zMrKbmtr9PLy+ff3+ff3+ff3+ff3+/r6/v7+4crIrXFoqGtj+ff34cvJkEI4+Pb0+ff3+ff3+ff3+ff35dPR+Pb2+ff33sjEl05F+ff3+ff3kEI4qGth9PDu5dPRhjEr9fLw8ennhzIs7uTi9/T0v5ONgSYi483L+ff3k0g/4crI+ff3+ff3ijky59jVwZWPoF9V1Lex/Pv5/Pv7+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3s7KyZmJi3tzc+ff36ebm6ebm+ff3ZWFh09HR+ff3+ff3WVVV3tzc+Pb2amdnoZ+f9fLy+ff34uHh5+Tk+ff3s7KyZmJi3tzc+ff36ebm6ebm+ff3j42NpKKi+ff3x8bGXFlZ6ujo+Pb2amdnoZ+f9fLy+ff34uHh5+Tk+ff3cW5ut7S0+Pb2o6CgTEhI5uPj+ff3+ff3fHp6TEhIv7u7+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3TkpK19TU+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff38O3tWlZW7e3t/fz87u3tTUlJ1tPTu7q6j42N+ff3ZmJi4uHhwL6+iYaG+ff3+ff3+ff3+ff3+ff3+ff3+ff3+/r6+PTyyqSflk1El05Fx56a8ejm+ff3+fj4/fz8+PTyvpCIlEg/+ff3+ff3kEI4zaul+ff3+ff3mFBH3MO/8+zqizgy8+vo/fz88+vpgicl483L+ff3k0g/4cvJ+ff3+ff3ijky59jV+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3lZUA4N+7+ff3+ff3jIwA5+XO9fPshoYA8fDk+ff35uPIg4MA7eva+vn5/fz8/fz8/fz8/fz8/fz8/Pv7+ff3lZUA4N+7+ff3+ff3jIwA5+XO+ff3+ff3+ff3xMV0s7JF+ff3+ff38/HohoYA8/Hq+ff35+TNg4MA7eva6OfQg4MA7+3c/fz8/fz8/fz8+/n5zs3GoqKQoqKQoqKQoqKQoqKQurut+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff39/X6RADx3tL5RQDy3tP8+ff3+ff3+ff3+ff3ooP8hlz5+ff3+ff3+ff3+fj4/fz88/D/mXX7VQD0+ff3+ff3+ff3+ff3ooP8hlz5+ff3+ff3+ff3UQD0sJX7+ff3+ff3XxP1x7P++ff3+ff3+ff3VwD0zr35+ff3+ff33tT7LwDv5939/fz8/fz8/fz8+/n5+ff3+ff3+ff3+ff3+ff3+ff3+ff39fHv0LKsomFXjj42vpCK8ejl/Pv7+ff3ZWFh09LS+ff3+ff3WVVV3tzc6ufnTEhI4N/f+ff3+ff3W1dXw8HB+ff3+ff3qKenko+P+ff3+ff3+ff3+/r6+PTyyqSflk1El05Fx56a8ejm+ff3+ff3oF5U0bKs+ff3+ff3+ff3+ff3+fj4/fz8+PTyvpCIlEg/+ff3+ff3kEI4zaul+ff3+ff3mFBH3MO/8+zqizgy8+vo/fz88+vpgicl483L+ff3k0g/4cvJ+ff3+ff3ijky59jV9fHv0LKsomFXjj42vpCK8ejl/Pv7+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3fHl5nZub+ff3+ff3+ff3+ff3+ff3ZWFh09LS+ff3+ff3WVVV3tzc397eTEhI6Obm/fz8/fz8/fz8+/n5+ff3fHl5nZub+ff3+ff3+ff3+ff3+ff3j42Nn52d7u7uW1dXxsTE+ff3397eTEhI6Obm/fz8/fz8/fz8+/n58O7uUExM8O7u+ff33tvbTEhI5uPj+ff3+ff3wL29q6io3tzc+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3TkpK19TU+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3paKiZWJiiYaGlZOTVFBQ1tPTu7q6j42N+ff3ZmJi4+HhwL6+iYaG+ff3+ff3+ff3+ff3+ff3+ff3+ff30rSuijkys4F34s7M+ff3+ff3+ff3+ff37eThrHFohS0qn1lS3sfF+ff3+ff3kEI43sbC+ff3+ff3qmxkyKKb+ff3wJSOk0lArXRstYR6hzIs483L+ff3k0g/4cvJ+ff3+ff3ijky59fU+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3lZUA4eC8+ff3+ff3jIwA5+TN4N68jo4A+ff3+ff39/Xwg4MA7eva3NuzsrA/srA/srA/srA/srA/v75n+ff3lZUA4eC8+ff3+ff3jIwA5+TN+ff3+ff3+ff3xMV0s7JF+ff3+ff34N68jo4A+ff3+ff39/Xwg4MA7eva3dy0hoYAtrVQtrVQtrVQuLZR1dSf+Pb09fPz9fPz9fPz9fPz9fPz9/Xz+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3x7b+XQ/1+ff3imP5nnz9+ff3+ff3+ff3+ff3ooP8hlz5+ff3+ff3+ff35t/9fEz4NwDxaCX1zb35+ff3+ff3+ff3+ff3ooP8hlz5+ff3+ff3+ff3UQD0y7f8+ff3+ff3eUn6pIf6+ff3+ff3+ff3UAD00sL5+ff3+ff3zLz6NQDvi2T5i2T5i2T5jmX6vaf7+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff369zbvpGLjT03u42F+ff3ZWFh1NLS+ff3+ff3WVVV3tvb3NraTkpK+Pb2+ff3+ff3dHBwtbOz+ff3+ff3p6Wlk5GR+ff3+ff3+ff30rSuijkys4F34s7M+ff3+ff3+ff3+ff3+ff31rq2mVFI+vn5+ff3+ff3+ff37eThrHFohS0qn1lS3sfF+ff3+ff3kEI43sbC+ff3+ff3qmxkyKKb+ff3wJSOk0lArXRstYR6hzIs483L+ff3k0g/4cvJ+ff3+ff3ijky59fU+ff3+ff3+ff369zbvpGLjT03u42F+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3bGlpv729+ff3+ff3+ff3+ff3+ff3ZWFh1NLS+ff3+ff3WVVV3tvbz83NUExMlZKSlZKSlZKSl5OTwb+/+ff3bGlpv729+ff3+ff3+ff3+ff3+ff3j42NUExMb2xslJKS+ff3+ff3z83NUExMlZKSlZKSlZKSl5OTwb+/1NHRXFhY+ff3+ff39fPzTEhI5uPj+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3TkpK19TU+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+/n59fPzzszMxMLCU09P3drau7q6jIqK+ff3Yl9f397evru7j4yM+ff3+ff3+ff3+ff3+ff3+ff3+ff33MTAl05Fm1RLzaek+PTy/fz8+vj4+ff3toR8rXRq8uvp+ff3+vn5+ff3+ff3kEI4yqWe+vj4+/r6k0g/4szK+ff3+/n59vPx3cXD1rq0hjEr59XT+ff3k0g/zq6n+fj4+Pb0hCwp7+Xj+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3lZUAz8+O+fj4+fj0hoYA7+3f9fPuh4cA8vPl+ff35+bIg4MA7eva5uPKycmCycmCycmCycmCycmC09Gc+ff3lZUAz8+O+fj4+fj0hoYA7+3f+ff3+ff3+ff3xMV0s7JF+ff3+ff39fPuh4cA8/Lk+ff35eTEg4MA7eva6+rXg4MA0tGV2Nal19emoaEAzs2P9/b29fXz9fXz9fXz9fXz9fXz9vXz+ff3+vn5+fj4+ff3+vn5+vj4+ff3+ff3hlr7n376+ff3ybf5VgD0+vj4+ff3+ff3+ff3ooP8hlz5+ff3+ff3+ff3j2X5fU/57uj3+ff3+vn5+ff3+ff3+ff3+ff3ooP8hlz5+ff3+ff3+ff3UQD0qo38+vj4+/r6VgD0zb35+ff3+ff3+ff3UAD00sL5+ff3+ff349n5LwDvt5/9wq35wa/7Zyn3s5n6+ff3+vn5+fj4+ff3+vn5+vj4+ff3+ff3/Pv7/fz62Ly2pmdfkEA4yqSh+ff3ZWFhube3+fj49/b2UE1N6efn7evrTEhI3Nvb+ff3+vn5VVFRx8TE+ff3+ff3p6Wlk5GR+ff3+ff3+ff33MTAl05Fm1RLzaek+PTy/fz8+vj4+ff3+ff3+Pb2lkxD3cTA+ff3+ff3+ff3toR8rXRq8uvp+ff3+vn5+ff3+ff3kEI4yqWe+vj4+/r6k0g/4szK+ff3+/n59vPx3cXD1rq0hjEr59XT+ff3k0g/zq6n+fj4+Pb0hCwp7+Xj+ff3/Pv7/fz62Ly2pmdfkEA4yqSh+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3gX19lpSU+/r6+ff3+vn5+fj4+ff3ZWFhube3+fj49/b2UE1N6efn5OLiTEhIvLq6xsPDxcTEdnNzuLa2+ff3gX19lpSU+/r6+ff3+vn5+fj4+ff3j42Nj4yMYl5evry8+/n5+ff35OLiTEhIvLq6xsPDxcTEdnNzuLa28/HxUU1N7uzs+ff32dfXTEhI5uPj+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3TkpK19TU+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3wsDA6ujo+/v7vry8VVFR8e/vu7m5cW5u7ezsUk5Owb+/o6GhnZqa+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff33sfFrXFqijcxsH1z5dLQ+ff3v5KMsX1z+vj2+PTy38jG+ff3+ff3kEI4nFVM7d7d0rKsiTUv9/T0+ff31biy8Obj/Pv50rOthzMt8+7s+ff3k0g/oF9V7OHezq6nk0c++ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3lZUAoaEA7ezXz8+OlZQA+ff3+ff3o6IAu7pa9PTjsbE/g4MA7eva+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3lZUAoqEA7ezXz8+OlZQA+ff3+ff3+Pf19vftwcFts7JF+ff3+ff3+ff3o6IAvLte8/Pir683g4MA7eva+ff3paQAsrJA9PTk396yjo4A8/Ho0tHKqamXqamXqamXqamXqamXv7+z+ff3y7r/5Nv7+ff30cH93tP8+ff39fL6QADx39P4+ff39/T4RQDy2M38+ff39/b48e7/nnz9hlz5+ff3+ff3+ff3nHn5hlz5+PX/8/D/zb39+ff3+ff39/b48e7/nnz9hlz5+ff3+ff3+ff3UQD0YQ/149j/vKP+PADw9fH3+ff3+ff3+ff3UAD00sL5+ff3+ff3+ff3cDb2hFf67Ob/zbr/RQDy7+n4+ff3y7r/5Nv7+ff30cH93tP8+ff37ePhvI+HjT03omBW0rSu9/Ty+ff3+ff3ZWFhd3R05OTkube3ZWBg+ff3+ff3d3R0jImJ7e3tq6mpWFRU8O7u+Pb29/f3paOjkI6O9/f39/f3+ff3+ff3+ff33sfFrXFqijcxsH1z5dLQ+ff3+ff3+ff3y6iipGRa+vj4+ff3+ff3v5KMsX1z+vj2+PTy38jG+ff3+ff3kEI4nFVM7d7d0rKsiTUv9/T0+ff31biy8Obj/Pv50rOthzMt8+7s+ff3k0g/oF9V7OHezq6nk0c++ff37ePhvI+HjT03omBW0rSu9/Ty+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3xMHBW1dXwb+/+vr6z83N4N/f+ff3ZWFheHR05OTkube3ZWBg+ff3+ff3fHh4joyM7u7u0M7OW1dX8O3t+ff3xMHBW1dXwb+/+vr6z83N4N/f+ff3j42NpKKi4+LiZGBgxMLC+vj4+ff3fHh4joyM7u7u0M7OW1dX8O3t+ff3enZ2nJqa7ezsioiITEhI5+Tk+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3TkpK19TU+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3p6WlYl5eVFBQbWpqzcvL+ff3xcHBgH5+XlpaiYWFgoCAbGho3Nra+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff37+XjwZaQs4B2+ff37+XjrnRtjT03jDszv5KM+ff3+ff3omBWwZWPkEA6kUE70rSu+ff3+ff3wpeRkUM7hzIsmVJJ3MTA+ff3+ff3pWVby6aglk5FlUtC1Law+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3pqUKy8qHmJgAlpYA1dOe+ff3+ff35OHGmZkAjY0AwcBvnZ0A7+7g+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3lZUAx8d+mJgAlpYA1dOe+ff3+ff36+rXmpoAmpoAv75s+ff3+ff3+ff35OLEmpoAjY0Av75shoYA7eva+ff37+7grKsrjIwAlJMA09GZ+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3SwDzrpH7+ff3ZCL2lXD7+ff3z7/7cj32+ff3+ff3+ff3mHT4rI/5+ff349n5XQX0XQX0nHn5+ff3+ff3+ff36eD5f1H3SADyRQDynHn5+ff3+ff349n5XQX0XQX0nHn5+ff3+ff3+ff3UQD0mnb5UADzTQDzuJ/6+ff3+ff3+ff3+ff3UAD00sL5+ff3+ff3+ff36uL5e0r2QgDxUgDzu6P5+ff3+ff3SwDzrpH7+ff3ZCL2lXD7+ff3x6GatYR859fU+ff3+ff3+ff3+ff3+ff3fXl5tLGxaWZmZ2Rkwr+/+ff3+ff34uHhenZ2VVFRa2hozszM+ff319XVaGVlW1dXV1RUaGVlaGVl8vDw+ff3+ff3+ff3+ff37+XjwZaQs4B2+ff3+ff3+ff39fHvjT0359TS+ff3+ff37+XjrnRtjT03jDszv5KM+ff3+ff3omBWwZWPkEA6kUE70rSu+ff3+ff3wpeRkUM7hzIsmVJJ3MTA+ff3+ff3pWVby6aglk5FlUtC1Law+ff3x6GatYR859fU+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3tLKyZmNjVFBQc25u5ePj+ff3ZWFhrqysaWZmZ2Rkwr+/+ff3+ff36+johoKCWFRUZGBgv7y8+ff3+ff3+ff3tLKyZmNjVFBQc25u5ePj+ff3j42NpKKi+ff34uHhdXFx1dLS+ff36+johoKCWFRUZGBgv7y8+ff3+ff32dbWbGlpWlZWo6CgUE1N5+Tk+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3/v7+////TkpK29ra////+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3lZUA4N66+ff3+ff3+ff3+ff3+ff3+ff3+ff3/Pv5/fz6+ff3+ff3+ff3+ff3+ff3+ff3+ff3hoYA7eva+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3SwDzrpH7+ff3ZCL2lXD7+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+/r8/Pv9+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+/r8/Pv9+ff3+ff3+ff3UQD008P6+ff3+ff3+ff3+ff3+ff3+vn5/Pr6UAD00sL5+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3SwDzrpH7+ff3ZCL2lXD7+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3p6SkkpCQ+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3wZaQr3hw+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3ZWFh09HR+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3j42NpKKi+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3UE1N5+Tk+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3bGlpTkpKTEhITUlJTkpK8/Hx+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3lZQA3925+ff3+ff3+ff3+ff3+ff3+ff3+ff3w8J0srBC+ff3+ff3+ff3+ff3+ff3+ff3+ff3hoYA7eva+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3SwDzrJH6+ff3YyD1lG/6+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3oYH6hVr3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3oYH6hVr3+ff3+ff3+ff3UQD00sL5+ff3+ff3+ff3+ff3+ff3ybf6qYr7QgDx0cH4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3SwDzrJH6+ff3YyD1lG/6+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3wL29srCw+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff38enniTYw6+He+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3ZWBg0tDQ+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3jouLo6Cg+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3UE1N5+Tk+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff32Nal8e/h+ff3+ff3+ff3+ff3+ff3+ff3+ff36ebP4+HB+ff3+ff3+ff3+ff3+ff3+ff3+ff309GZ9fPu+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3yLX64tn5+ff3zr763ND5+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff339P41cf5+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff339P41cf5+ff3+ff3+ff3wa357eT4+ff3+ff3+ff3+ff3+ff3z7/7spj6spj66uL5+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3yLX64tn5+ff3zr763ND5+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3xsPD6+np+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff31NHR3NnZ+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3v7y88vDw+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3/Pr6+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3/Pv7+/r6+ff3+ff3+ff3+ff3+ff3/Pr6+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+vj4/Pv7/Pv7+vj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3yaCc7uTi+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3xcV309OX+/r4+ff3+ff3+ff3+ff3ycl+7+3c+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff35ubKwcBvwL9r7OrT/Pv7+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3kEI448/N+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3zMuKnZ0AvLtb+ff3+ff3+ff3+ff3kZEA4+HB+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3zMuKxsV5zs2RoKAAxcZ1+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3/Pv7/v7+/////////v7+/fz8+ff3/v7++vj4+ff3+ff3////+vj4+ff3kEI45dLQ9vHv+PTy/Pv7+ff3+ff3+vn5/fv79fDu/fz8////+vj4+ff3+ff3+ff3/fz8//7+//7++ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3/fz8//7+//7++ff3+ff3+ff37OvYiYkA8/Pp+ff3+ff3+ff3kZEA5eTE9/js+Pnv/Pv7+ff3+ff3+vj4/v7+9PXn8fHg///9+vj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3/fz8+fb/5t3/+vf/+vj4+ff3/v7++vj4+ff3+ff3////+vj4+ff3+vj4/v7+7uj/6eL//v7/+vj4+ff3+ff3/fz8+fb/5t3/+vf/+vj4+ff3/fz8/Pv7+ff3+ff3/fz8/f39+ff3//7+/fz88u//8/D//Pv7+ff3+ff3+vn5/f3/6N//+vj/+/r6+ff3+vj4////+ff3+ff3+ff3/v7++/r6+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3/v7++vj4+ff3+ff3////+vj4+ff3+vj4//7+/v785+bKmpoA+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+/r6/fz8+ff3/v7++fj4+/n5/fz8+ff3+vn5/v788e/c/Pz4+/r6+ff3+ff3+/n5/Pz49PTk/f39////+ff3+ff3+vj4/v7+9PXn8fHg///9+vj4+ff3+ff3+ff3+vj4/v39/////Pv7+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+vn5/////Pv7+ff3+ff3+ff3/Pv7/v7+/////////v7+/fz8+ff3/fz88e7/6eL//v7++/n5+ff3+ff3/Pv7/v7+/////////v7+/fz8+ff3//7+/fz88u//8/D//Pv7+ff3+ff3+ff3+ff3+vj4/v39/////Pv7+ff3+vj4/v7+7uj/6eL//v7/+vj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+vn5/fz8+ff1+ff3u46Gk0g/ijkyiDQuk0g/rnRt+ff3k0g/4crI+ff3+ff3ijky59jV+ff3kEI4rHBpjT03gyonwpeR+ff3+ff338jEkUM7jz83sn50ijcx59jV+ff3+ff39vPxr3RtkEA6kUE79O/t+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff39/bxr683kpEAkpEA9PLt+ff3+ff39fTtiIgAzM2H+ff3+ff3+ff3kZEArKwtj48AhYUAw8Nv+ff3+ff36enNmZkAjY0AlpYAkJAA5OLE+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+Pb7jGX7MgDvWgD0SwDy3dH6+ff3UgD00cD7+ff3+ff3QgDx3NH6+ff33dH+WQD1QwDxVgDzSQDz1sn5+ff3+Pb7jGX7MgDvWgD0SwDy3dH6+ff3hVr6nXz7+ff3+/n5hlr7dUL3+ff3UQD0fEz4SADyNADvnnz9+ff3+ff30cL+RQDySwDyNwDvspb/+ff30cH4RQDy6eH/+ff3+Pb7XxL2q4/5+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3lZUA4N66+ff3+ff3jIwA5+XO+ff34+K+lJQAjIwAv75khYUA7+7g+ff3+ff3+ff3+ff3+ff3+ff3+ff30NCUs7JF+ff3lZUA6unW1NOcrq41+ff34eG7jo4AkZAAhoYAzs6L+ff3+ff32tqniIgAkJAAq6slhYUA7eva+ff36enNmZkAjY0AlpYAkJAA5OLE+ff3+ff3+ff36ejMpaUAi4sAwL9r+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3zbz+LwDvoYH9+ff3+ff3+ff3mHT4UgD0QgDxPgDwUgD0f1H3+ff3flH5SADyXQ/1VwDzwa79+ff3+ff3mHT4UgD0QgDxPgDwUgD0f1H3+ff3UQD0fEz4SADyNADvnnz9+ff3+ff3+ff3+ff33dD9bjf3PwDxnXv5+ff33dH+WQD1QwDxVgDzSQDz1sn5+ff3+ff3+ff3+ff3+ff3+ff3+ff3+PXz/v39+/r6+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+/r6/v7+4crIrXFoqGtj+ff3+ff3+ff3w5uUsX1z+ff3+ff3+ff3k0g/4crI+ff3+ff3ijky59jV+ff3kEI4qGth9PDu5dPRhjEr9fLw+ff3s4B2vY+J+ff3y6aggSYi59jV+ff3+ff33MO/mlNK9fHv+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff33duvm5sA9vTv+ff3+ff3+ff3+ff30NCPj48An58A+vj4+ff3+ff3kZEAqakg9fPu5eLHiIgA9vXw+ff1mZkAvr5n9vTw+ff36ujV7eva/Pv7/////////////////////f39+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3rpP9VAD13dH6+ff36N/46N/4+ff3UgD00cD7+ff3+ff3QgDx3NH6+Pb4WQD1mXj79PD4+ff34dj45tz4+ff3rpP9VAD13dH6+ff36N/46N/4+ff3hVr6nXz7+ff3w7D/RwDy6eH4+ff3UQD0cz748u352836OwDw8u36+Pb4VgD0nHn5+Pb4xLH6NwDv6N/7+ff3oYH6bDH4/Pv9mHX9dUL3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3lZUA4N66+ff3+ff3jIwA5+XO+ff3oqIAv75s9PLtuLZVg4MA7eva+ff3+ff3+ff3+ff3+ff3+ff3+ff30NCUs7JF+ff3lZUA6unW1NOcrq41+ff1l5cAv75s+ff12NerhoYA8O7d+ff3np4AzcyL+ff1v75qg4MA7eva+ff1mZkAvr5n9vTw+ff36ujV7eva+ff3+ff3+ff3t7ZOvbxi+ff3+ff3/Pv7/////////////////////f39+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3imL8cDj2XAL1+vj4+ff3+ff3+ff3+ff3ooP8hlz5+ff3+ff3+ff32cv4+Pb4+ff3zbz+WgD0+ff3+ff3+ff3+ff3ooP8hlz5+ff3+ff3+ff3UQD0cz748u352836OwDw8u36+ff3+ff3+ff3jGX7l3P5+ff3+ff3+Pb4WQD1mXj79PD4+ff34dj45tz4+ff3+ff3+ff3+ff3+ff3+ff3+ff3wZWPoF9V1Lex/Pv5/Pv7+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+/r6+PTyyqSflk1El05Fx56a8ejm+ff3+ff3+ff3w5uUsX1z+ff3+ff3+ff3k0g/4cvJ+ff3+ff3ijky59jV+ff3kEI4zaul+ff3+ff3mFBH3MO/+ff3mFBH3MO/+ff38+zqgikm59jV+ff3+ff3w5mTsn91+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3w8RztLNK+ff3+ff3+ff3+ff3+fj4oqIA0tGXjY0A6+nS+ff3+ff3kZEAzs2M+ff3+ff3mpoA3duv6OfQg4MA7+3c/fz8/fz8/fz8+/n5zs3GoqKQoqKQoqKQoqKQoqKQurut+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3bjf4lXL7+ff3+ff3+ff3+ff3+ff3UgD00cH8+ff3+ff3QgDx3NH63tT7LwDv5939/fz8/fz8/fz8+/n5+ff3bjf4lXL7+ff3+ff3+ff3+ff3+ff3hVr6l3T97ef/RQDywq76+ff3+ff3UQD0sJX7+ff3+ff3XxP1x7P+6eD5LwDv39X5+ff3+ff3RQDyvqr6+ff3+Pb4bTL2gVT7TQD06uP4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3lZUA4N+7+ff3+ff3jIwA5+XO9fPshoYA8fDk+ff35uPIg4MA7eva+vn5/fz8/fz8/fz8/fz8/fz8/Pv70NCUs7JF+ff3lZUA6unW1NOcrq418O7eg4MA6efS+ff3+ff3jo4A1tWg8/HohoYA8/Hq+ff35+TNg4MA7eva6OfQg4MA7+3c/fz8/fz8/fz8+/n5+ff3+ff3+ff3mJgA3ty2+ff3+ff3zs3GoqKQoqKQoqKQoqKQoqKQurut+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff39/X6RADx3tL5RQDy3tP8+ff3+ff3+ff3+ff3ooP8hlz5+ff3+ff3+ff3+fj4/fz88/D/mXX7VQD0+ff3+ff3+ff3+ff3ooP8hlz5+ff3+ff3+ff3UQD0sJX7+ff3+ff3XxP1x7P++ff3+ff3+ff3VwD0zr35+ff3+ff33tT7LwDv5939/fz8/fz8/fz8+/n5+ff3+ff3+ff3+ff3+ff3+ff3+ff39fHv0LKsomFXjj42vpCK8ejl/Pv7+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff30rSuijkys4F34s7M+ff3+ff3+ff3+ff3+ff3+ff3w5uUsX1z+ff3+ff3+ff3k0g/4cvJ+ff3+ff3ijky59fU+ff3kEI43sbC+ff3+ff3qmxkyKKb+ff3k0g/4crI+ff3+ff3ijky59jV+ff3+ff3wpeRs4F3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3wsNytbRM+ff3+ff3+ff3+ff37OrVjIwA9vTvtrRPv79o+ff3+ff3kZEA3dy0+ff3+ff3qqojyMh/3dy0hoYAtrVQtrVQtrVQuLZR1dSf+Pb09fPz9fPz9fPz9fPz9fPz9/Xz+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3XAL1u6L9+ff3+ff3+ff3+ff3+ff3UgD00cH9+ff3+ff3QgDx3ND5zLz6NQDvi2T5i2T5i2T5jmX6vaf7+ff3XAL1u6L9+ff3+ff3+ff3+ff3+ff3hVr6NQDvXxL2imP5+ff3+ff3+ff3UQD0y7f8+ff3+ff3eUn6pIf62836MgDv+PX5+ff3+ff3ZCL2sJX7+ff3+ff339T9LwDvtJr++ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3lZUA4eC8+ff3+ff3jIwA5+TN4N68jo4A+ff3+ff39/Xwg4MA7eva3NuzsrA/srA/srA/srA/srA/v75n0NCUs7JF+ff3lZUA6+nW1NOcrq415uPKhIQA+ff1+ff3+ff3n58AzMuK4N68jo4A+ff3+ff39/Xwg4MA7eva3dy0hoYAtrVQtrVQtrVQuLZR1dSf+ff3+ff3+ff3lJQA4d+9+ff3+ff3+Pb09fPz9fPz9fPz9fPz9fPz9/Xz+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3x7b+XQ/1+ff3imP5nnz9+ff3+ff3+ff3+ff3ooP8hlz5+ff3+ff3+ff35t/9fEz4NwDxaCX1zb35+ff3+ff3+ff3+ff3ooP8hlz5+ff3+ff3+ff3UQD0y7f8+ff3+ff3eUn6pIf6+ff3+ff3+ff3UAD00sL5+ff3+ff3zLz6NQDvi2T5i2T5i2T5jmX6vaf7+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff369zbvpGLjT03u42F+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff33MTAl05Fm1RLzaek+PTy/fz8+vj4+ff3+ff3+ff3w5uUsX1z+ff3+ff3+ff3k0g/zq6n+fj4+Pb0hCwp7+Xj+ff3kEI4yqWe+vj4+/r6k0g/4szK+ff3k0g/4crI+ff3+ff3ijky59jV+ff3+ff3wpeRs4F3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3wsNytbRM+ff3+ff3+ff3+ff3wMBptLNK+ff33925kpIA+vn3+ff3kZEAysuC+vj4+/r6lZUA4d+/6+rXg4MA0tGV2Nal19emoaEAzs2P9/b29fXz9fXz9fXz9fXz9fXz9vXz+ff3+vn5+fj4+ff3+vn5+vj4+ff3+ff3dD72jGX7+/r6+ff3+vn5+fj4+ff3UgD0tJr++fj49/X6NwDv6eD549n5LwDvt5/9wq35wa/7Zyn3s5n6+ff3dD72jGX7+/r6+ff3+vn5+fj4+ff3hVr6hVn6UADzuaL9+/n5+ff3+ff3UQD0qo38+vj4+/r6VgD0zb356+X5LwDv2s79+ff3+vn7PADwwq35+ff3+/r6flD6cDr2WAD09fH9+ff3+ff3+vn5+fj4+ff3+vn5+vj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3lZUAz8+O+fj4+fj0hoYA7+3f9fPuh4cA8vPl+ff35+bIg4MA7eva5uPKycmCycmCycmCycmCycmC09Gc0NCUsbE6+ff3k5MA6efQ0tGXsrFE8fDkg4MA5+bK+ff3+/r4iYkA2NWn9fPuh4cA8/Lk+ff35eTEg4MA7eva6+rXg4MA0tGV2Nal19emoaEAzs2P+ff3+ff3+ff3lJQA4d+9+ff3+ff39/b29fXz9fXz9fXz9fXz9fXz9vXz+ff3+vn5+fj4+ff3+vn5+vj4+ff3+ff3hlr7n376+ff3ybf5VgD0+vj4+ff3+ff3+ff3ooP8hlz5+ff3+ff3+ff3j2X5fU/57uj3+ff3+vn5+ff3+ff3+ff3+ff3ooP8hlz5+ff3+ff3+ff3UQD0qo38+vj4+/r6VgD0zb35+ff3+ff3+ff3UAD00sL5+ff3+ff349n5LwDvt5/9wq35wa/7Zyn3s5n6+ff3+vn5+fj4+ff3+vn5+vj4+ff3+ff3/Pv7/fz62Ly2pmdfkEA4yqSh+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff33sfFrXFqijcxsH1z5dLQ+ff3+Pb29vHvwJWPsX1z+ff3+ff3+ff3k0g/oF9V7OHezq6nk0c++ff3+ff3kEI4nFVM7d7d0rKsiTUv9/T0+ff3k0g/4crI+ff3+ff3ijky59jV+fb2+fb0wJWPsX50+fb0+fb0+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff1+fn0wcFttLNG+fn0+fn0+ff3+vj2kpIA3dy2+ff3+ff3lJQA3dyy+ff3kZEAnZwA7uzV09KWi4sA+Pb0+ff3paQAsrJA9PTk396yjo4A8/Ho0tHKqamXqamXqamXqamXqamXv7+z+ff3y7r/5Nv7+ff30cH93tP8+ff3+ff3v6v6RQDyvKb9+vf/zLr939X5+ff3UgD0ayz249r+tJr+VADz+ff3+ff3cDb2hFf67Ob/zbr/RQDy7+n4+ff3v6v6RQDyvKb9+vf/zLr939X5+ff3hVr6nXz74tn5UgDywKr9+vj4+ff3UQD0YQ/149j/vKP+PADw9fH3+ff3aiz2gVP66+X/pIX8QgDx8Or5+ff3t5//YBr29vL4iWD4imH7+vj4+ff3y7r/5Nv7+ff30cH93tP8+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3lZUAoaEA7ezXz8+OlZQA+ff3+ff3o6IAu7pa9PTjsbE/g4MA7eva+ff3+ff3+ff3+ff3+ff3+ff3+ff30M+TnZ0A8/Pih4cA1dWbwMBpu7pg+ff3oaEAsbA59PTjxcZ4jIwA8/Hq+ff3o6IAvLte8/Pir683g4MA7eva+ff3paQAsrJA9PTk396yjo4A8/Ho+ff3+ff3+ff3lJQA4d+9+ff3+ff30tHKqamXqamXqamXqamXqamXv7+z+ff3y7r/5Nv7+ff30cH93tP8+ff39fL6QADx39P4+ff39/T4RQDy2M38+ff39/b48e7/nnz9hlz5+ff3+ff3+ff3nHn5hlz5+PX/8/D/zb39+ff3+ff39/b48e7/nnz9hlz5+ff3+ff3+ff3UQD0YQ/149j/vKP+PADw9fH3+ff3+ff3+ff3UAD00sL5+ff3+ff3+ff3cDb2hFf67Ob/zbr/RQDy7+n4+ff3y7r/5Nv7+ff30cH93tP8+ff37ePhvI+HjT03omBW0rSu9/Ty+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff37+XjwZaQs4B2+ff36uDdmFFImFFIv5KM+ff3+ff3+ff3pWVby6aglk5FlUtC1Law+ff3+ff3omBWwZWPkEA6kUE70rSu+ff3+ff3pWdf5NHP+ff3+ff3n1xS6dza48/NlUxDjDsziTYwlUxDlUxD9O/t+ff3+ff3+ff3+ff3+ff3+ff3+ff34+HBl5cAjo4Ai4sAl5cAl5cA9PLt4+HBoqEA+ff1+ff3+ff3xcV5vr1p+ff3o6IAwcBxkpEAkpEA09Gc+ff3+ff37+7grKsrjIwAlJMA09GZ+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3SwDzrpH7+ff3ZCL2lXD7+ff3+ff3+ff3r5T6VADzOwDwZB705Nn5+ff3UgD0qYz5WgD0VgDzvaf4+ff3+ff36uL5e0r2QgDxUgDzu6P5+ff3+ff3+ff3r5T6VADzOwDwZB705Nn5+ff3hVr6nXz7+ff34dj4aCX108P5+ff3UQD0mnb5UADzTQDzuJ/6+ff3+ff34dj4bS/3PADwWgD0y7r6+ff36uP4ZSH039P4+ff38ez4air00cH4+ff3SwDzrpH7+ff3ZCL2lXD7+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3pqUKy8qHmJgAlpYA1dOe+ff3+ff35OHGmZkAjY0AwcBvnZ0A7+7g+ff3+ff3+ff3+ff3+ff3+ff3+ff319WiqKgekJAArq00qaknmZkA5uPK+ff36ujVo6IAiYkAmZkA3Nuz+ff3+ff35OLEmpoAjY0Av75shoYA7eva+ff37+7grKsrjIwAlJMA09GZ+ff3+ff3+ff3+ff3lJQA4d+9+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3SwDzrpH7+ff3ZCL2lXD7+ff3z7/7cj32+ff3+ff3+ff3mHT4rI/5+ff349n5XQX0XQX0nHn5+ff3+ff3+ff36eD5f1H3SADyRQDynHn5+ff3+ff349n5XQX0XQX0nHn5+ff3+ff3+ff3UQD0mnb5UADzTQDzuJ/6+ff3+ff3+ff3+ff3UAD00sL5+ff3+ff3+ff36uL5e0r2QgDxUgDzu6P5+ff3+ff3SwDzrpH7+ff3ZCL2lXD7+ff3x6GatYR859fU+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+/r6/Pv7+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3wpaQsoB2+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3wsFytLNK+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3SwDzrpH7+ff3ZCL2lXD7+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3UgD00cD7+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3hVr6nXz7+ff3+ff3+ff3+ff3+ff3UQD008P6+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3SwDzrpH7+ff3ZCL2lXD7+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3hoYA7eva+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+vn5/Pr6lJQA4d+9+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3SwDzrpH7+ff3ZCL2lXD7+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+/r8/Pv9+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+/r8/Pv9+ff3+ff3+ff3UQD008P6+ff3+ff3+ff3+ff3+ff3+vn5/Pr6UAD00sL5+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3SwDzrpH7+ff3ZCL2lXD7+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3wpiSsHpy+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff307WvyKWf+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff31NKdysmG+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3SwDzrJH6+ff3YyD1lG/6+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3VADz0L/6+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3hFj3nHn5+ff3+ff3+ff3+ff3+ff3UQD00sL5+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3SwDzrJH6+ff3YyD1lG/6+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3hoYA7eva+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff329qwx8d7jIwA4N68+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3SwDzrJH6+ff3YyD1lG/6+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3oYH6hVr3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3oYH6hVr3+ff3+ff3+ff3UQD00sL5+ff3+ff3+ff3+ff3+ff3ybf6qYr7QgDx0cH4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3SwDzrJH6+ff3YyD1lG/6+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36NjY48/N+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3yLX64tn5+ff3zr763ND5+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3wq356uP4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff30cH42sz5+ff3+ff3+ff3+ff3+ff3wa357eT4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3yLX64tn5+ff3zr763ND5+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff309GZ9fPu+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff33966zcyOzcyO7+7g+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3yLX64tn5+ff3zr763ND5+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff339P41cf5+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff339P41cf5+ff3+ff3+ff3wa357eT4+ff3+ff3+ff3+ff3+ff3z7/7spj6spj66uL5+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3yLX64tn5+ff3zr763ND5+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3/Pv7+/r6+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3xZyV0rOt+/n5+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3y6iinFZPuoqC+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3//7+/fz89/Lw9/Px/Pv7+ff3+ff3+vn5/v398OXi/Pr4+/r6+ff3+ff3+/n5/Pr49Ozp/f39////+ff3+ff3+ff36+HehzIs9O3r+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+vn5/fz8+ff1+ff3kkU9rHFojT03gyonwJWP+ff3+ff34szKjDw0jz83hCwpzaul+ff3+ff32b66hjAqjz83qm5lgyon7OHf+ff3+ff39fDuhjAqyqeh+ff3+ff3+PXz/v39+/r6+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+/r6/v7+4crIrXFoqGtj+ff3kkU9p2lh9PDu5dTUhjEr9PDu+Pb2lUtCv5KM+Pb22b+7hCwp7+Xj+ff3nVhOzKml+Pb2vpKMgSYi7OHf+ff3+ff3z66ojT03nlhR+vj4+ff3wZWPoF9V1Lex/Pv5/Pv7+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+/r6+PTyyqSflk1El05Fx56a8ejm+ff3kkU9y6ii+ff3+ff3mlNM28G97+XjgSYi6NvZ+ff3+ff3jDsz1biy9O3rhCso9O3r+ff359fUgSYi7OHf+ff3+fj4oV9V0bKsizoy6tvb+ff39fHv0LKsomFXjj42vpCK8ejl/Pv7+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff30rSuijkys4F34s7M+ff3+ff3+ff3+ff3kkU93cO/+ff3+ff3rHBnxJ2W5dTUgikm+PX1+ff3+ff3nlpSy6ii4cvJjDw0+ff3+ff39vLwgSYi7OHf+ff3697cijcx9fHvtIJ4vpKK+ff3+ff3+ff3+ff369zbvpGLjT03u42F+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff33MTAl05Fm1RLzaek+PTy/fz8+vj4+ff3kkU9yKKd+vj4+/r6lUtC3sfF8enngSYi59XT+ff3+/n5hzMt2Ly29fDwhS0q8+vp+ff35NHPgSYi7OHf+ff3v5ONsX91+ff34MnHkEI6+fj4+ff3/Pv7/fz62Ly2pmdfkEA4yqSh+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff33sfFrXFqijcxsH1z5dLQ+ff3kkU9m1NM7N3d1LWvhzMt9vPx+ff3oF9Vr3dv8+vpxZ2Wijcx9O3r+ff3omFXuouD8uror3VugSYi7OLg+ff3kEI63sfF+ff3+ff3k0c+3sXB7ePhvI+HjT03omBW0rSu9/Ty+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff37+XjwZaQs4B2+ff3kkU9vY+JkUM7kEA60LGr+ff3+ff36d3bomFXhzMtl09G3cXD+ff3+ff35NDOmFFIizgyv5KMhCwp7OLg48/NoV9V+Pb2+ff3+ff3xZ2WvZGLx6GatYR859fU+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3kkU94szK+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3hCwp7OLg+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3kkU94cvJ+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3hCwp7OLg+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff31rq28ejm+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff30rOt9PDu+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff39PDu9e7s+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36Nzaijcx9fDu+ff3+ff3+ff3+ff3+ff3/v7++vj4+ff3+ff3////+vj4+ff3+vj4/v7+9e3r8Ofl/v7++vj4+ff3/Pv7+fb09/Lw/fz8//7++vj4+ff3+/n5/Pr49Ozp/f39////+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+vn5/fz8+ff1+ff3q29ox5+Y+ff3+ff3+ff3+ff3+ff3k0g/4crI+ff3+ff3ijky59jV+ff36dnWl09GizgylUtCjz835NDO+ff3v5KMjDw0kUE7sX1zj0A4483L+ff32b66hjAqjz83qm5lgyon7OHf+PXz/v39+/r6+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+/r6/v7+4crIrXFoqGtj+ff34cvJkEI4+Pb0+ff3+ff3+ff3+ff3k0g/4crI+ff3+ff3ijky59jV+fb2l09GvZGL9vLw+ff36d3b7OLg8ennhzIs7uTi9/T0v5ONgSYi483L+ff3nVhOzKml+Pb2vpKMgSYi7OHfwZWPoF9V1Lex/Pv5/Pv7+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+/r6+PTyyqSflk1El05Fx56a8ejm+ff3+ff3oF5U0bKs+ff3+ff3+ff3+ff3k0g/4cvJ+ff3+ff3ijky59jV59rYgSYi7uTh/fz8/fz8/fz8+/n58+zqizgy8+vo/fz88+vpgicl483L9O3rhCso9O3r+ff359fUgSYi7OHf9fHv0LKsomFXjj42vpCK8ejl/Pv7+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff30rSuijkys4F34s7M+ff3+ff3+ff3+ff3+ff31rq2mVFI+vn5+ff3+ff3+ff3k0g/4cvJ+ff3+ff3ijky59fU3cbEhCsotIN5tIN5tIN5toR61Lex+ff3wJSOk0lArXRstYR6hzIs483L4cvJjDw0+ff3+ff39vLwgSYi7OHf+ff3+ff3+ff369zbvpGLjT03u42F+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff33MTAl05Fm1RLzaek+PTy/fz8+vj4+ff3+ff3+Pb2lkxD3cTA+ff3+ff3+ff3k0g/zq6n+fj4+Pb0hCwp7+Xj6uDdgSYi0bGr17u11ry4oF5Uzaym+ff3+/n59vPx3cXD1rq0hjEr59XT9fDwhS0q8+vp+ff35NHPgSYi7OHf+ff3/Pv7/fz62Ly2pmdfkEA4yqSh+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff33sfFrXFqijcxsH1z5dLQ+ff3+ff3+ff3y6iipGRa+vj4+ff3+ff3k0g/oV9V7OHezq6nk0c++ff3+ff3pGNZr3py9Ozp38bCjDsz8+zq+ff31biy8Obj/Pv50rOthzMt8+7s+ff3omFXuouD8uror3VugSYi7OLg7ePhvI+HjT03omBW0rSu9/Ty+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff37+XjwZaQs4B2+ff3+ff3+ff39fHvjT0359TS+ff3+ff3k0g/x5+blk5FlUtC1Law+ff3+ff38Oflq29nijcxk0U90rOt+ff3+ff3wpeRkUM7hzIsmVJJ3MTA+ff3+ff35NDOmFFIizgyv5KMhCwp7OLgx6GatYR859fU+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3wZaQr3hw+fj4+ff3k0g/4crI+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3hCwp7OLg+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff38enniTYw6+He+ff3k0c+4MnH+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3hCwp7OLg+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff317u18Ojm+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff30rOt9PDu+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3/Pr6+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3/Pr6+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+vj4/Pv7/Pv7+vj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3/Pv7/Pv7+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+vj4/Pv7/Pv7+vj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+vj4/Pv7/Pv7+vj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3/Pv7/Pv7+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3/Pr6+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3yaCc7uTi+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3q4z95976+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff32s77n335nXv64db//Pv7+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3pYf6pIX76OD/+vj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff32s77n335nXv64db//Pv7+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff32s77n335nXv64db//Pv7+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3pYf6pIX76OD/+vj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3yaCc7uTi+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3kEI448/N+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3TADz1cf6+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff38e357un/+ff3+ff3+ff3+ff3+ff38e357un/+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+fj4+ff3+ff3+ff3+ff3+ff3+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3sZb6qIj5tJv7Zyf2o4T9+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3spf5nnz4RADx2877+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3sZb6qIj5tJv7Zyf2o4T9+ff38e357un/+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3sZb6qIj5tJv7Zyf2o4T9+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3spf5nnz4RADx2877+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff39PDu9e7s+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3kEI448/N+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3/fz89vHv8Ofl/v7++/n5+ff3+ff3+ff3/fz8+/j47uPg/Pn3+vj4+ff3+ff3//7++vj4+ff3+ff3+ff3+ff3/Pv7/v7+/////////v7+/fz8+ff3kEI45dLQ9vHv+PTy/Pv7+ff3+ff3+ff3+ff3/fz8//7+//7++ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3/fz89/js8fHg/v7++/n5+ff3+ff3+ff3//7++vj4+ff3+ff3+ff3+ff3+ff3/fz8+/v27+/a/Pv3+vj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3/v7++vj4+ff3+ff3////+vj4+ff3+ff3+ff3/fz8//7+//7++ff3+ff3+ff3+ff3/fz8//7+//7++ff3+ff3TADz18r98e7/8/D//Pv7+ff3+ff3+ff3/Pv7////+/r6+ff3+ff34Nb6QgDx8ez7+ff3+ff3+ff3+ff34Nb6QgDx8ez7+ff3+ff3+ff3+ff3+ff3+ff3/fz8+fb/5t3/+vf/+vj4+ff3+vn5/f3/6N//+vj/+/r6+ff3+ff3+/n5+vj/7Ob//f39////+ff3+ff3+vj4/v7+7uj/6eL//v7/+vj4+ff3+ff3/v39////+/r6+ff3+ff3+ff3/Pv79/P/9O/+/fz8//7++vj4+ff3/v7++vj4+ff3+ff3////+vj4+ff3+vj4//7+/f3/2877XAL1+ff3+ff3+vn5/fv/8Ov//fz8////+vj4+ff3+ff3+ff3+vj4/v39/////Pv7+ff3/Pv79/P/9O/+/fz8//7++vj4+ff3+ff3//7++vj4+ff3+ff3+ff3+ff3+ff3+ff3jmX5oYD7+ff3+ff3+ff3/fz88e7/6eL//v7++/n5+ff3+ff3+ff3/v39////+/r6+ff3+ff3+ff3+vn5/f3/6N//+vj/+/r6+ff3+ff3+ff3//7++vj4+ff3+ff3+ff3+ff3+vj4//7+/f3/2877XAL1+ff34Nb6QgDx8ez7+ff3+ff3+ff3+ff3+ff3/Pv79/P/9O/+/fz8//7++vj4+ff3/v7++vj4+ff3+ff3////+vj4+ff3+vj4//7+/f3/2877XAL1+ff3+ff3+vn5/fv/8Ov//fz8////+vj4+ff3+ff3+ff3+vj4/v39/////Pv7+ff3/Pv79/P/9O/+/fz8//7++vj4+ff3+ff3//7++vj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+/r6////////////////+/r6+ff3+ff3/v39////+/r6+ff3+ff3+ff3+fj4/v7+6+L//fz/+vn5+ff3+ff3+ff3/v39////+/r6+ff3+ff3+ff3+fj4/v7+6+L//fz/+vn5+ff3+ff3+ff3//7++vj4+ff3+ff3+ff3+ff3+ff3/fz8+fb/5t3/+vf/+vj4+ff3+/r6////////////////+/r6+ff3+/r6////////////////+/r6+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3////////////////////+vj4+ff3/Pz86+T/7un//v7++fj4+ff3+ff3/Pz86+T/7un//v7++fj4+ff3+ff3+ff3+ff3+ff3/f39/Pv7+ff3+ff3+vj4/v7+6+X//f3/+/r6+ff3+ff3+vj4/v7+6+X//f3/+/r6+ff3+fj4+/r/6OD/6uP//v3/+vn5+ff3+ff3+ff3+ff3////+ff3+ff3+ff3+ff3+ff3/v39////+/r6+ff3+ff3+/r6/fz8+ff3/v7++fj4+/n5/fz8+ff3/Pv7/v7+/////////v7+/fz8+ff3/v7++vj4+ff3+ff3////+vj4+ff3+ff3/v39////+/r6+ff3+ff3+ff3+ff3+ff3jmX5oYD7+ff3+ff3+ff3/fz88e7/6eL//v7++/n5+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36Nzaijcx9fDu+ff3+ff3+ff3+ff3+ff3/fz89vHv8Ofl/v7++/n5+ff3+ff3+ff3/fz8+/j47uPg/Pn3+vj4+ff3+ff3//7++vj4+ff3+ff3+ff3+ff3/Pv7/v7+/////////v7+/fz8+ff3kEI45dLQ9vHv+PTy/Pv7+ff3+ff3+ff3+ff3/fz8//7+//7++ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+vn5/fz8+ff1+ff3rXRsjT03mVJLlUpB17y2+ff3+ff3+ff1toR6gyonl05Fjz836NjV+ff3+ff3kUM7483L+ff3+ff3+ff3+ff3u46Gk0g/ijkyiDQuk0g/rnRt+ff3kEI4rHBpjT03gyonwpeR+ff3+ff3+ff39vPxr3RtkEA6kUE79O/t+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3rq41j48Am5sAl5YA2Nil+ff3+ff3+ff3kpIA4uDA+ff3+ff3+ff3+ff3+fj2uLdPhYUAmJgAkZAA6OXO+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3UgD00cD7+ff3+ff3QgDx3NH6+ff3+ff39fH5f1L6TQDzTQDz8ez4+ff3+ff39fH5f1L6TQDzTQDz8ez4+ff3TADze0v4SADyNADvoH/9+ff3+ff3+ff3n376LwDvuqT7+ff3+ff3+ff3ekr3p4n9+ff3+ff3+ff3+ff3+ff3ekr3p4n9+ff3+ff3+ff3+ff3+ff3+Pb7jGX7MgDvWgD0SwDy3dH6+ff30cL+RQDySwDyNwDvspb/+ff3+ff3w7H/OQDwSQDzeEf5NADv5dv5+ff33dH+WQD1QwDxVgDzSQDz1sn5+ff3+ff3cTv4LwDvuqT7+ff3+ff3+ff3nHn8RQDyTQDzhlz5SwDz1MT6+ff3UgD00cD7+ff3+ff3QgDx3NH6+ff31MT/UAD0QgDxmHX7NADv6uL5+ff3zrz+TQD0SQDziF35QgDx3NH6+ff3+ff3+ff33dD9bjf3PwDxnXv5+ff3nHn8RQDyTQDzhlz5SwDz1MT6+ff3+ff3TQD01MT6+ff3+ff3+ff3+ff3+ff3+ff3n3/7imL7+ff3+ff3+ff3flH5SADyXQ/1VwDzwa79+ff3+ff3+ff3cTv4LwDvuqT7+ff3+ff3+ff30cL+RQDySwDyNwDvspb/+ff3+ff3+ff3TQD01MT6+ff3+ff3+ff3+ff31MT/UAD0QgDxmHX7NADv6uL5+ff3ekr3p4n9+ff3+ff3+ff3+ff3+ff3nHn8RQDyTQDzhlz5SwDz1MT6+ff3UgD00cD7+ff3+ff3QgDx3NH6+ff31MT/UAD0QgDxmHX7NADv6uL5+ff3zrz+TQD0SQDziF35QgDx3NH6+ff3+ff3+ff33dD9bjf3PwDxnXv5+ff3nHn8RQDyTQDzhlz5SwDz1MT6+ff3+ff3TQD01MT6+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3q4/5LwDvLwDvLwDvLwDvrI/5+ff3+ff3cTv4LwDvuqT7+ff3+ff3+ff35N79UwD1UQDzQgDxzbv/+ff3+ff3+ff3cTv4LwDvuqT7+ff3+ff3+ff35N79UwD1UQDzQgDxzbv/+ff3+ff3+ff3TQD01MT6+ff3+ff3+ff3+ff3+Pb7jGX7MgDvWgD0SwDy3dH6+ff3q4/5LwDvLwDvLwDvLwDvrI/5+ff3q4/5LwDvLwDvLwDvLwDvrI/5+ff3+ff3+ff3+ff3+ff3+ff3+ff35dv5LwDvLwDvLwDvLwDvLwDv08P5+ff3jmb6RADxPwDxYQ/1597++ff3+ff3jmb6RADxPwDxYQ/1597++ff3+ff3+ff3+ff3+ff3dkP4n3/7+ff3+ff34df+VAD1SQDzVQD0sJX++ff3+ff34df+VAD1SQDzVQD0sJX++ff34df5OwDwRQDyOQDwTADzzr3/+ff3+ff3+ff35tz4NwDv+ff3+ff3+ff3+ff3+ff3cTv4LwDvuqT7+ff3+ff3tZ/8hVr6+ff3VAD14dj6u6X7flH5+ff3mHT4UgD0QgDxPgDwUgD0f1H3+ff3UgD00cD7+ff3+ff3QgDx3NH6+ff3+ff3cTv4LwDvuqT7+ff3+ff3+ff3+ff3+ff3n3/7imL7+ff3+ff3+ff3flH5SADyXQ/1VwDzwa79+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+PXz/v39+/r6+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+vn5/fz8+ff1+ff3q29ox5+Y+ff3+ff3+ff3+ff3+ff3rXRsjT03mVJLlUpB17y2+ff3+ff3+ff1toR6gyonl05Fjz836NjV+ff3+ff3kUM7483L+ff3+ff3+ff3+ff3u46Gk0g/ijkyiDQuk0g/rnRt+ff3kEI4rHBpjT03gyonwpeR+ff3+ff3+ff39vPxr3RtkEA6kUE79O/t+PXz/v39+/r6+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+/r6/v7+4crIrXFoqGtj+ff35dPR+Pb2+ff33sjEl05F+ff3+ff3y6aglElA6NjV+ff37uTi7uTi+ff3+ff3kUM7483L+ff3+ff3+ff3+ff3+ff3+ff3w5uUsX1z+ff3+ff3+ff3kEI4qGth9PDu5dPRhjEr9fLw+ff3+ff33MO/mlNK9fHv+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff35eLH+ff1+ff33t62mJgA+ff3+ff3+ff3kpIA4uDA+ff3+ff3+ff3+ff3y8yGlZUA6OXO+ff37+3e7+3e/Pv7/////////////////////f39+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3UgD00cD7+ff3+ff3QgDx3NH6+ff3+ff3ybb8XQ/19O/3+ff3+ff3+ff3+ff3ybb8XQ/19O/3+ff3+ff3+ff3TADzdUL38u352cv4OwDw8+/7+ff3+ff3nnz4LwDvuqL5+ff3+ff3+ff30cH4TADz9/X6+ff3+ff3+ff3+ff30cH4TADz9/X6+ff3+ff3+ff3+ff3rpP9VAD13dH6+ff36N/46N/4+Pb4VgD0nHn5+Pb4xLH6NwDv6N/7+ff3Yxz3spf5+Pb4nHn6LwDv5dv5+Pb4WQD1mXj79PD4+ff34dj45tz4+ff3+ff3cDn3LwDvu6L5+ff3+ff36+X5OwDw6N/49/T4nXv5LwDv1MT6+ff3UgD00cD7+ff3+ff3QgDx3NH6+ff3aiv3nHn58ez4j2b6LwDv5dv5+ff3iV/7mnb5+ff3r5L7LwDv3NH6+ff3+ff3+ff3jGX7l3P5+ff3+ff36+X5OwDw6N/49/T4nXv5LwDv1MT6+ff3+ff3TQD01MT6+ff3+ff3+ff3+ff3+ff3+ff3n3/7imL7+ff3+ff3+ff32cv4+Pb4+ff3zbz+WgD0+ff3+ff3+ff3cDn3LwDvu6L5+ff3+ff3+Pb4VgD0nHn5+Pb4xLH6NwDv6N/7+ff3+ff3TQD01MT6+ff3+ff3+ff3+ff3aiv3nHn58ez4j2b6LwDv5dv5+ff30cH4TADz9/X6+ff3+ff3+ff36+X5OwDw6N/49/T4nXv5LwDv1MT6+ff3UgD00cD7+ff3+ff3QgDx3NH6+ff3aiv3nHn58ez4j2b6LwDv5dv5+ff3iV/7mnb5+ff3r5L7LwDv3NH6+ff3+ff3+ff3jGX7l3P5+ff3+ff36+X5OwDw6N/49/T4nXv5LwDv1MT6+ff3+ff3TQD01MT6+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+Pb49/T4i2T6iGD69/T4+Pb4+ff3+ff3cDn3LwDvu6L5+ff3+ff3+ff3d0X4jGT6+ff3vqb5SADy+Pb6+ff3+ff3cDn3LwDvu6L5+ff3+ff3+ff3d0X4jGT6+ff3vqb5SADy+Pb6+ff3+ff3TQD01MT6+ff3+ff3+ff3+ff3rpP9VAD13dH6+ff36N/46N/4+ff3+Pb49/T4i2T6iGD69/T4+Pb4+ff3+Pb49/T4i2T6iGD69/T4+Pb4+ff3+ff3+ff3+ff3+ff3+ff3+ff39/X3eUj4hFX5+Pb79vL49vL4+ff3+ff35tz4+ff3+Pb4lXH5Zyn3+vj4+ff35tz4+ff3+Pb4lXH5Zyn3+vj4+/r6/v7+/v7+/v7+dkP4oYH9/Pv7+ff3cjz4kGn59/X32sz5OQDw8+76+ff3cjz4kGn59/X32sz5OQDw8+766+X52sz5+ff38Or5kmz3RQDy9O/5+ff3+ff35tz4NwDv+ff3+ff3+ff3+ff3+ff3cDn3LwDvu6L5+ff3+ff3tZ/8hVr6+ff3VAD14dj6u6X7flH5+ff3+ff3+ff3ooP8hlz5+ff3+ff3+ff3UgD00cD7+ff3+ff3QgDx3NH6+ff3+ff3cDn3LwDvu6L5+ff3+ff3+ff3+ff3+ff3n3/7imL7+ff3+ff3+ff32cv4+Pb4+ff3zbz+WgD0+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3wZWPoF9V1Lex/Pv5/Pv7+fj4+ff3+ff3+ff3+/r6/v7+4crIrXFoqGtj+ff34cvJkEI4+Pb0+ff3+ff3+ff3+ff35dPR+Pb2+ff33sjEl05F+ff3+ff3y6aglElA6NjV+ff37uTi7uTi+ff3+ff3kUM7483L+ff3+ff3+ff3+ff3+ff3+ff3w5uUsX1z+ff3+ff3+ff3kEI4qGth9PDu5dPRhjEr9fLw+ff3+ff33MO/mlNK9fHv+ff3+ff3wZWPoF9V1Lex/Pv5/Pv7+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+/r6+PTyyqSflk1El05Fx56a8ejm+ff3+fj4/fz8+PTyvpCIlEg/+ff3+ff3pGRauoyG+ff3+ff3+ff3+ff3+ff3+ff3kUM74s7M+ff3+ff3+ff3+ff3+ff3+ff3w5uUsX1z+ff3+ff3+ff3kEI4zaul+ff3+ff3mFBH3MO/+ff3+ff3w5mTsn91+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+fj4/fz8+Pnvv75klZQA+ff3+ff3+ff3kpIA4uHB+ff3+ff3+ff3+ff3paUAu7th+ff3+ff3+ff3+ff3zs3GoqKQoqKQoqKQoqKQoqKQurut+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3UgD00cH8+ff3+ff3QgDx3NH6+ff3+ff3ooP8iF76+ff3+ff3+ff3+ff3+ff3ooP8iF76+ff3+ff3+ff3+ff3TADzs5j6+ff3+ff3XAL1yrf8+ff3+ff35t3508P57eT4+ff3+ff3+ff3+ff3aCr2t6H++ff3+ff3+ff3+ff3+ff3aCr2t6H++ff3+ff3+ff3+ff3bjf4lXL7+ff3+ff3+ff3+ff36eD5LwDv39X5+ff3+ff3RQDyvqr67+n4NQDv8Or5+ff33ND5LwDv5dv53tT7LwDv5939/fz8/fz8/fz8+/n5+ff3+ff3vaX5pIb53dH6+ff3+ff37+n4QwDx6+X//fz87Ob9MQDv1MT6+ff3UgD00cH8+ff3+ff3QgDx3NH68uz5NQDv6+X5+ff32sz5LwDv5dv5+ff3XAL1ybf6+ff37+n4MgDv3NH6+ff3+ff3+ff3VwD0zr35+ff3+ff37+n4QwDx6+X//fz87Ob9MQDv1MT6+ff3+ff3TQD01MX7+ff3+ff3+ff3+ff3+ff3+ff3n3/7imL7+ff3+ff3+ff3+fj4/fz88/D/mXX7VQD0+ff3+ff3+ff3vaX5pIb53dH6+ff3+ff36eD5LwDv39X5+ff3+ff3RQDyvqr6+ff3+ff3TQD01MX7+ff3+ff3+ff38uz5NQDv6+X5+ff32sz5LwDv5dv5+ff3+ff3aCr2t6H++ff3+ff3+ff37+n4QwDx6+X//fz87Ob9MQDv1MT6+ff3UgD00cH8+ff3+ff3QgDx3NH68uz5NQDv6+X5+ff32sz5LwDv5dv5+ff3XAL1ybf6+ff37+n4MgDv3NH6+ff3+ff3+ff3VwD0zr35+ff3+ff37+n4QwDx6+X//fz87Ob9MQDv1MT6+ff3+ff3TQD01MX7+ff3+ff3+ff3+vn5/fz8/fz8/fz8/fz8/fz8/Pv7+ff3+ff3+ff3jmb6imL7+ff3+ff3+ff3+ff3vaX5pIb53dH6+ff3+ff38u76NADvZCL2+vn79/X3PwDxz7/7+ff3+ff3vaX5pIb53dH6+ff3+ff38u76NADvZCL2+vn79/X3PwDxz7/7+ff3+ff3TQD01MX7+ff3+ff3+ff3+ff3bjf4lXL7+ff3+ff3+ff3+ff3+ff3+ff3+ff3jmb6imL7+ff3+ff3+ff3+ff3+ff3jmb6imL7+ff3+ff3+vn5/fz8/fz8/fz8/fz8/fz8/Pv7+ff39O/3ayz0mXb8+/r6+ff3+ff3+ff3+vj4/v39//7+9/P7QADx3tP8+ff3+vj4/v39//7+9/P7QADx3tP8vKT7VgD0VwDzVwDzOwDwQwDxkWv38e35MgDv18r8+ff3+ff3WQD1vqv68e35MgDv18r8+ff3+ff3WQD1vqv6+ff3+ff3+ff3+ff36OL5MgDv1cf5+ff3+ff35tz4NwDv+ff3+ff3+ff3+ff3+ff3vaX5pIb53dH6+ff3+ff3tZ/8hVr6+ff3VAD14dj6u6X7flH5+ff3+ff3+ff3ooP8hlz5+ff3+ff3+ff3UgD00cH8+ff3+ff3QgDx3NH6+ff3+ff3vaX5pIb53dH6+ff3+ff3+ff3+ff3+ff3n3/7imL7+ff3+ff3+ff3+fj4/fz88/D/mXX7VQD0+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff39fHv0LKsomFXjj42vpCK8ejl/Pv7+/r6+PTyyqSflk1El05Fx56a8ejm+ff3+ff3oF5U0bKs+ff3+ff3+ff3+ff3+fj4/fz8+PTyvpCIlEg/+ff3+ff3pGRauoyG+ff3+ff3+ff3+ff3+ff3+ff3kUM74s7M+ff3+ff3+ff3+ff3+ff3+ff3w5uUsX1z+ff3+ff3+ff3kEI4zaul+ff3+ff3mFBH3MO/+ff3+ff3w5mTsn91+ff3+ff3+ff39fHv0LKsomFXjj42vpCK8ejl/Pv7+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff30rSuijkys4F34s7M+ff3+ff3+ff3+ff37eThrHFohS0qn1lS3sfF+ff3+ff3mFBH07Su+ff3+ff3+ff3+ff3+ff3+ff3kUM73sbC+ff3+ff3+ff3+ff3+ff3+ff3w5uUsX1z+ff3+ff3+ff3kEI43sbC+ff3+ff3qmxkyKKb+ff3+ff3wpeRs4F3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff37u7bra0vh4cAoJ8A3dy2+ff3+ff3+ff3kpIA3t2z+ff3+ff3+ff3+ff3mpoA1NOZ+ff3+ff3+ff3+ff3+Pb09fPz9fPz9fPz9fPz9fPz9/Xz+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3UgD00cH9+ff3+ff3QgDx3ND5+ff3+ff3oID7iWH7+ff3+ff3+ff3+ff3+ff3oID7iWH7+ff3+ff3+ff3+ff3TADzzLr8+ff3+ff3d0X4qo77+ff3+ff3+vj4+/r6+fj4+ff3+ff3+ff3+ff3wa35XQL1+vn5+ff3+ff3+ff3+ff3wa35XQL1+vn5+ff3+ff3+ff3XAL1u6L9+ff3+ff3+ff3+ff32836MgDv+PX5+ff3+ff3ZCL2sJX70cH4RQDy+ff3+ff39fD4LwDv5dv5zLz6NQDvi2T5i2T5i2T5jmX6vaf7+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3nnz4UgD0flH5jWX5OwDw1MT6+ff3UgD00cH9+ff3+ff3QgDx3ND50cH4RQDy+ff3+ff39fD4LwDv5dv5+ff3UgD00cD7+ff3+ff3QgDx3NH6+ff3+ff3+ff3UAD00sL5+ff3+ff3+ff3nnz4UgD0flH5jWX5OwDw1MT6+ff3+ff3TQD0zLr8+ff3+ff3+ff3+ff3+ff3+ff3n3/7imL7+ff3+ff3+ff35t/9fEz4NwDxaCX1zb35+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff32836MgDv+PX5+ff3+ff3ZCL2sJX7+ff3+ff3TQD0zLr8+ff3+ff3+ff30cH4RQDy+ff3+ff39fD4LwDv5dv5+ff3+ff3wa35XQL1+vn5+ff3+ff3+ff3nnz4UgD0flH5jWX5OwDw1MT6+ff3UgD00cH9+ff3+ff3QgDx3ND50cH4RQDy+ff3+ff39fD4LwDv5dv5+ff3UgD00cD7+ff3+ff3QgDx3NH6+ff3+ff3+ff3UAD00sL5+ff3+ff3+ff3nnz4UgD0flH5jWX5OwDw1MT6+ff3+ff3TQD0zLr8+ff3+ff3+ff3y7n7hFb5hFb5hFb5hFb5hFb5m3j7+ff3+ff3+ff3jmb6imL7+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff34tj6LwDvh1z4spb/+ff3XQ/1t6D7+ff3+ff3+ff3+ff3+ff3+ff3+ff34tj6LwDvh1z4spb/+ff3XQ/1t6D7+ff3+ff3TQD0zLr8+ff3+ff3+ff3+ff3XAL1u6L9+ff3+ff3+ff3+ff3+ff3+ff3+ff3jmb6imL7+ff3+ff3+ff3+ff3+ff3jmb6imL7+ff3+ff3y7n7hFb5hFb5hFb5hFb5hFb5m3j7+ff3+ff37uj3VwDzsJX++vn5+ff3+ff32s7+ay33UQDzmHX7Zyb3wa78+ff32s7+ay33UQDzmHX7Zyb3wa78yLX6XAL13dD73M75azD3j2b65tz44df7LwDv0MH9+ff3+/r6UQD0xrT64df7LwDv0MH9+ff3+/r6UQD0xrT6+ff3+vn5+ff3+vj449r+NADv6uP4+ff3+ff35tz4NwDv+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3tZ/8hVr6+ff3VAD14tj6u6X7flH5+ff3+ff3+ff3ooP8hlz5+ff3+ff3+ff3UgD00cH9+ff3+ff3QgDx3ND5+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3n3/7imL7+ff3+ff3+ff35t/9fEz4NwDxaCX1zb35+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff369zbvpGLjT03u42F0rSuijkys4F34s7M+ff3+ff3+ff3+ff3+ff31rq2mVFI+vn5+ff3+ff3+ff37eThrHFohS0qn1lS3sfF+ff3+ff3mFBH07Su+ff3+ff3+ff3+ff3+ff3+ff3kUM73sbC+ff3+ff3+ff3+ff3+ff3+ff3w5uUsX1z+ff3+ff3+ff3kEI43sbC+ff3+ff3qmxkyKKb+ff3+ff3wpeRs4F3+ff3+ff3+ff3+ff3+ff3+ff369zbvpGLjT03u42F+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff33MTAl05Fm1RLzaek+PTy/fz8+vj4+ff3toR8rXRq8uvp+ff3+vn5+ff3+ff3qGlftoR6+/r6+ff3+vn5+fj4+ff3+ff3kUM7v5KM+/r6+ff3+vn5+ff3+ff3+ff3w5uUsX1z+ff3+ff3+ff3kEI4yqWe+vj4+/r6k0g/4szK+ff3+ff3wpeRs4F3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3uLZRrq418vDn+ff3+vn5+ff3+ff3+ff3kpIAwMBp+/r6+ff3+vn5+ff3qKcbuLdP+/r6+ff3+vn5+fj49/b29fXz9fXz9fXz9fXz9fXz9vXz+ff3+vn5+fj4+ff3+vn5+vj4+ff3+ff3UgD0tJr++fj49/X6NwDv6eD5+ff3+ff3oID7iWH7+ff3+ff3+ff3+ff3+ff3oID7iWH7+ff3+ff3+ff3+ff3TADzrJH++vj4+/r6UgD008P5+ff3+ff32Mz8tpz+49n7+ff3+ff3+ff3+ff3+Pb4WAD0yrf++ff3+ff3+ff3+ff3+Pb4WAD0yrf++ff3+ff3+ff3dD72jGX7+/r6+ff3+vn5+fj46+X5LwDv2s79+ff3+vn7PADwwq358+74NwDx7Ob9+ff31sn8LwDv5dv549n5LwDvt5/9wq35wa/7Zyn3s5n6+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+/n59PH5y7r6wKz7OwDw3M75+ff3UgD0tJr++fj49/X6NwDv6eD58+74NwDx6+b9+ff32c39LwDv5dv5+ff3UgD00cD7+ff3+ff3QgDx3NH6+ff3+ff3+ff3UAD00sL5+ff3+ff3+ff3+/n59PH5y7r6wKz7OwDw3M75+ff3+ff3TQD0nHn8+/r6+ff3+vn5+ff3+ff3+ff3n3/7imL7+ff3+ff3+ff3j2X5fU/57uj3+ff3+vn5+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36+X5LwDv2s79+ff3+vn7PADwwq35+ff3+ff3TQD0nHn8+/r6+ff3+vn58+74NwDx6+b9+ff32c39LwDv5dv5+ff3+ff3+Pb4WAD0yrf++ff3+ff3+ff3+/n59PH5y7r6wKz7OwDw3M75+ff3UgD0tJr++fj49/X6NwDv6eD58+74NwDx6+b9+ff32c39LwDv5dv5+ff3UgD00cD7+ff3+ff3QgDx3NH6+ff3+ff3+ff3UAD00sL5+ff3+ff3+ff3+/n59PH5y7r6wKz7OwDw3M75+ff3+ff3TQD0nHn8+/r6+ff3+vn52836rI/5rI/5rI/5rI/5rI/5vKT6+ff3+ff3+ff3jmb6imL7+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff31Mf6MgDv7uj3WgDz7ef+Zyn3q4/8+ff3+ff3+ff3+ff3+ff3+ff3+ff31Mf6MgDv7uj3WgDz7ef+Zyn3q4/8+ff3+ff3TQD0nHn8+/r6+ff3+vn5+ff3dD72jGX7+/r6+ff3+vn5+fj4+ff3+ff3+ff3jmb6imL7+ff3+ff3+ff3+ff3+ff3jmb6imL7+ff3+ff32836rI/5rI/5rI/5rI/5rI/5vKT6+ff3+ff3+ff349n5QwDx08T/+ff3+ff3bDD3jWf439P4iF/5OQDwspf7+ff3bDD3jWf439P4iF/5OQDwspf7+ff3d0j3wKv++ff3dkP4n3/7+ff31Mf6MgDvekn57ef/v6f/PgDw9fH31Mf6MgDvekn57ef/v6f/PgDw9fH3+ff3z77/7un/2c3/d0X4dD32+ff3+ff3+ff35t35NwDv+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3tZ/8gVT7+ff3TgD03tP8uqH8hVn6+ff3+ff3+ff3ooP8hlz5+ff3+ff3+ff3UgD0tJr++fj49/X6NwDv6eD5+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3n3/7imL7+ff3+ff3+ff3j2X5fU/57uj3+ff3+vn5+ff3+ff3+vn5+fj4+ff3+vn5+vj4+ff3+ff3/Pv7/fz62Ly2pmdfkEA4yqSh3MTAl05Fm1RLzaek+PTy/fz8+vj4+ff3+ff3+Pb2lkxD3cTA+ff3+ff3+ff3toR8rXRq8uvp+ff3+vn5+ff3+ff3qGlftoR6+/r6+ff3+vn5+fj4+ff3+ff3kUM7v5KM+/r6+ff3+vn5+ff3+ff3+ff3w5uUsX1z+ff3+ff3+ff3kEI4yqWe+vj4+/r6k0g/4szK+ff3+ff3wpeRs4F3+ff3+ff3+ff3+ff3/Pv7/fz62Ly2pmdfkEA4yqSh+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff33sfFrXFqijcxsH1z5dLQ+ff3v5KMsX1z+vj2+PTy38jG+ff3+ff31bmzjDsz1Law+/n338bC6NvZ+ff3+ff3kUM7mlNMz6+p8+vp3MO/+ff3+Pb29vHvwJWPsX1z+ff3+ff3+ff3kEI4nFVM7d7d0rKsiTUv9/T0+fb2+fb0wJWPsX50+fb0+fb0+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3v75ss7JF+/v2+Pnv3t62+ff3+ff3+ff3kpIAm5sA0NCS9PTj3Nuv+ff31tShjo4A1dWb/Pz33t2z6efS0tHKqamXqamXqamXqamXqamXv7+z+ff3y7r/5Nv7+ff30cH93tP8+ff3+ff3UgD0ayz249r+tJr+VADz+ff3+Pb49vP/nnz9hlv79vP/9vP/+ff3+Pb49vP/nnz9hlv79vP/9vP/+ff3+ff3TADzYhb25Nn+uqH+PwDx9/T4+ff3+ff3n335LwDvu6P6+ff3+ff3+ff3+ff3+ff3sJX6bjf4+vj4+ff3+ff3+ff3+ff3sJX6bjf4+vj4+ff3+ff3v6v6RQDyvKb9+vf/zLr939X5+ff3aiz2gVP66+X/pIX8QgDx8Or5+ff3bS/3lG/86+T/f1L4LwDv5tz4+ff3cDb2hFf67Ob/zbr/RQDy7+n4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3vqj96eH/+/r/uaL9PADw8ev4+ff3UgD0aiz249r+tJr+VADz+ff3+ff3bS/3kmv96+X/g1b5LwDv5tz4+ff3UgD00cD7+ff3+ff3QgDx3NH6+ff3+ff3+ff3UAD00sL5+ff3+ff3+ff3vqj96eH/+/r/uaL9PADw8ev4+ff3+ff3TQD0XxP1tJ3+6+X/x7b++ff3+Pb69vP/nXv8imH6+ff3+ff3+ff3nHn5hlz5+PX/8/D/zb39+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3aiz2gVP66+X/pIX8QgDx8Or5+ff3+ff3TQD0XxP1tJ3+6+X/x7b++ff3bS/3kmv96+X/g1b5LwDv5tz4+ff3+ff3+ff3sJX6bjf4+vj4+ff3+ff3vqj96eH/+/r/uaL9PADw8ev4+ff3UgD0aiz249r+tJr+VADz+ff3+ff3bS/3kmv96+X/g1b5LwDv5tz4+ff3UgD00cD7+ff3+ff3QgDx3NH6+ff3+ff3+ff3UAD00sL5+ff3+ff3+ff3vqj96eH/+/r/uaL9PADw8ev4+ff3+ff3TQD0XxP1tJ3+6+X/x7b++ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3jmb6imL7+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff34Nb6LwDv9fD4t577hln6XQ/1t577+ff3+ff3+ff3+ff3+ff3+ff3+ff34Nb6LwDv9fD4t577hln6XQ/1t577+ff3+ff3TQD0XxP1tJ3+6+X/x7b++ff3v6v6RQDyvKb9+vf/zLr939X5+ff3+ff3+ff3jmb6imL7+ff3+ff3+ff3+ff3+ff3jmb6imL7+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3rZH6XAL1+ff36+f6NADv6uL5+ff36uL5LwDvu6b86+f6NADv6uL5+ff36uL5LwDvu6b8+ff35dv5XAD09/P7dkP4n3/7+ff349n5PwDxo4P5QwDxSwDytJv7+ff349n5PwDxo4P5QwDxSwDytJv7+ff3+ff3Yxz3PADwNwDvaCX13M75+ff3+ff3+PT+49r+NQDv9vP/9vP/+Pb4+ff3+ff3+ff3+ff3+ff3+ff3+ff3t577YBn36+T/OADwvKb9nHn8lXH6+ff39/b48e7/nnz9hlz5+ff3+ff3+ff3UgD0aiz249r+tJr+VADz+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+Pb69vP/nXv8imH6+ff3+ff3+ff3nHn5hlz5+PX/8/D/zb39+ff3+ff3y7r/5Nv7+ff30cH93tP8+ff37ePhvI+HjT03omBW0rSu9/Ty+ff3+ff3+ff33sfFrXFqijcxsH1z5dLQ+ff3+ff3+ff3y6iipGRa+vj4+ff3+ff3v5KMsX1z+vj2+PTy38jG+ff3+ff31bmzjDsz1Law+/n338bC6NvZ+ff3+ff3kUM7mlNMz6+p8+vp3MO/+ff3+Pb29vHvwJWPsX1z+ff3+ff3+ff3kEI4nFVM7d7d0rKsiTUv9/T0+fb2+fb0wJWPsX50+fb0+fb0+ff37ePhvI+HjT03omBW0rSu9/Ty+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff37+XjwZaQs4B2+ff37+XjrnRtjT03jDszv5KM+ff3+ff3+ff3yqehlEpBhzIsnVdQ6+De+ff3+ff3o2JY2Ly2oV9VhzIstIJ4+ff36uDdmFFImFFIv5KM+ff3+ff3+ff3omBWwZWPkEA6kUE70rSu+ff348/NlUxDjDsziTYwlUxDlUxD9O/t+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff37+3fr606j48Ajo4Av75s+ff3+ff3+ff3pKMA2NWnoqEAiYkAtrRP+ff3+ff3y8qJlZUAiYkAnp0A7Ona+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3SwDzrpH7+ff3ZCL2lXD7+ff3+ff3UgD0qYz5WgD0VgDzvaf4+ff31cf5VgDzRQDyQADxVgDzVgDz8ez41cf5VgDzRQDyQADxVgDzVgDz8ez4+ff3bC71n376TQDzTQDzvKT6+ff3+ff3+ff3rZD5VwDzw6/7+ff3+ff3+ff3+ff3+ff39O/3SADy2c39+ff3+ff3+ff3+ff39O/3SADy2c39+ff3+ff3+ff3r5T6VADzOwDwZB705Nn5+ff34dj4bS/3PADwWgD0y7r6+ff3+ff31sn5XQX0QwDxnHn5NwDv5tz4+ff36uL5e0r2QgDxUgDzu6P5+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3oYH6UADzOwDwXQn1yrj6+ff3+ff3cDr2r5L7WgD0VgDzvaf4+ff3+ff32Mr5XAD0QwDxnn35YBr26eH4+ff3cj322Mr5+ff3+ff3aCX14df5+ff3+ff3+ff3UAD00sL5+ff3+ff3+ff3oYH6UADzOwDwXQn1yrj6+ff3+ff3+ff3bTL2wq35ayz0OwDwjGP4+ff3wq76VgDzVgDznHn5+ff3+ff3+ff36eD5f1H3SADyRQDynHn5+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff34dj4bS/3PADwWgD0y7r6+ff3+ff3+ff3bTL2wq35ayz0OwDwjGP4+ff32Mr5XAD0QwDxnn35YBr26eH4+ff3+ff3+ff39O/3SADy2c39+ff3+ff3oYH6UADzOwDwXQn1yrj6+ff3+ff3cDr2r5L7WgD0VgDzvaf4+ff3+ff32Mr5XAD0QwDxnn35YBr26eH4+ff3cj322Mr5+ff3+ff3aCX14df5+ff3+ff3+ff3UAD00sL5+ff3+ff3+ff3oYH6UADzOwDwXQn1yrj6+ff3+ff3+ff3bTL2wq35ayz0OwDwjGP4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff39/P//fz8jmb6imL7+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff38ez4MgDv3tP8+ff3azD1OADwy7r6+ff3+ff3+ff3+ff3+ff3+ff3+ff38ez4MgDv3tP8+ff3azD1OADwy7r6+ff3+ff3bTL2wq35ayz0OwDwjGP4+ff3+ff3r5T6VADzOwDwZB705Nn5+ff39/P//fz8jmb6imL7+ff3+ff3+ff39/P//fz8jmb6imL7+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+/r6+ff3+ff349n9LwDv7eT43tT4NwDv9vH5+ff39vP7OADwzr763tT4NwDv9vH5+ff39vP7OADwzr76+ff3+ff3qIn4oYH9dkP4n3/7+ff39fH3OQDw5t39+ff3+ff3+ff3+ff39fH3OQDw5t39+ff3+ff3+ff3+ff3+ff3Yxz3w7D6+ff3+ff3+ff3+ff3+ff3cDr2UgD0LwDvVgDzVgDz1sj6+ff3+ff3+ff3+ff3+ff3+ff3+ff3wKz5dED2SwDzfk/4dkX4XAD02836+ff349n5XQX0XQX0nHn5+ff3+ff3+ff3cDr2r5L7WgD0VgDzvaf4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3wq76VgDzVgDznHn5+ff3+ff3+ff36eD5f1H3SADyRQDynHn5+ff3+ff3SwDzrpH7+ff3ZCL2lXD7+ff3x6GatYR859fU+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff37+XjwZaQs4B2+ff3+ff3+ff39fHvjT0359TS+ff3+ff37+XjrnRtjT03jDszv5KM+ff3+ff3+ff3yqehlEpBhzIsnVdQ6+De+ff3+ff3o2JY2Ly2oV9VhzIstIJ4+ff36uDdmFFImFFIv5KM+ff3+ff3+ff3omBWwZWPkEA6kUE70rSu+ff348/NlUxDjDsziTYwlUxDlUxD9O/tx6GatYR859fU+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+/r6/Pv7+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3wpaQsoB2+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3SwDzrpH7+ff3ZCL2lXD7+ff3+ff3UgD00cD7+ff3+ff3+ff3+ff3+ff3+ff3oH/7iGD6+ff3+ff3+ff3+ff3+ff3oH/7iGD6+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3oH/6gVT7+fj4+ff3+ff3+ff3+ff3oH/6gVT7+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3NwDv5tz4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+vn5/Pr6UAD00sL5+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3/Pv7/fz8+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3oH/6gVT7+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+vn5/Pr6UAD00sL5+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3bC71jmX5eUn6iWH7+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3dED2lXL7////n3z9SADy9/T4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3dED2lXL7////n3z9SADy9/T4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3bC71jmX5eUn6iWH7+ff3+ff3+ff3bC71jmX5eUn6iWH7+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff39fH3u6X+/fz//v7/o4T9XxL2+ff3+ff3VwDzv6n+//7+u6T/SADy9/T4+ff3VwDzv6n+//7+u6T/SADy9/T4+ff3+ff39/T4aCr2Yhb2n376+ff3+ff3iWD4fE74+/r///7+7ub/+ff3+ff3iWD4fE74+/r///7+7ub/+ff3+ff3Yxz3xrT//////////fz8+ff3+ff3+ff38Or5NwDx9/T+/Pv7+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+/r8/Pv9+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3/Pv7/fz8+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3SwDzrpH7+ff3ZCL2lXD7+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3wZaQr3hw+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+/r6/Pv7+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3wpaQsoB2+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3wpiSsHpy+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff307WvyKWf+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3SwDzrJH6+ff3YyD1lG/6+ff3+ff3VADz0L/6+ff3+ff3+ff3+ff3+ff3+ff3vaX5rZD5+ff3+ff3+ff3+ff3+ff3vaX5rZD5+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36+X5QADx49n5+ff3+ff3+ff3+ff36+X5QADx49n5+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3NwDv5tz4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3ybf6qYr7QgDx0cH4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3n376imH4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36+X5QADx49n5+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3ybf6qYr7QgDx0cH4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff35t35km34QADxjWT3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff349n5XAD0RwDyRwDyy7n7+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff349n5XAD0RwDyRwDyy7n7+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff35t35km34QADxjWT3+ff3+ff3+ff35t35km34QADxjWT3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff39fH3ZB70OQDwRwDyaSj1y7r6+ff3+ff3wq76ZB70UADzQwDxxrT6+ff3+ff3wq76ZB70UADzQwDxxrT6+ff3+ff3+ff3+ff30sL5MQDvnnz4+ff3+ff37uj3dUP3PgDwTQDzbC71+ff3+ff37uj3dUP3PgDwTQDzbC71+ff3+ff3YBr2MQDvMgDvMgDvgFL3+ff3+ff3+ff3+ff3cz/2dD32lnP749n5+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3oYH6hVr3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3n376imH4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3SwDzrJH6+ff3YyD1lG/6+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff38enniTYw6+He+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3wpiSsHpy+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff307WvyKWf+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36NjY48/N+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3yLX64tn5+ff3zr763ND5+ff3+ff3wq356uP4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3u6P58u35+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3z7/7spj6spj66uL5+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3283608P5+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3z7/7spj6spj66uL5+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff37uj3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff37uj3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff37+n47eT4+ff3+ff3+ff3+ff3+ff3+ff36uL5+Pb4+ff3+ff3+ff3+ff3+ff36uL5+Pb4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff38ez45dv5+Pb4+ff3+ff3+ff3+ff38ez45dv5+Pb4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+Pb40sL5uaD66uL5+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff339P41cf5+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3283608P5+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3yLX64tn5+ff3zr763ND5+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff36NjY48/N+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3/v7++vj4+ff3+ff3////+vj4+ff3+vj4/v7+9e3r8Ofl/v7++vj4+ff3/Pv7+fb09/Lw/fz8//7++vj4+ff3+/n5/Pr49Ozp/f39////+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+vn5/fz8+ff1+ff3k0g/4crI+ff3+ff3ijky59jV+ff36dnWl09GizgylUtCjz835NDO+ff3v5KMjDw0kUE7sX1zj0A4483L+ff32b66hjAqjz83qm5lgyon7OHf+PXz/v39+/r6+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+/r6/v7+4crIrXFoqGtj+ff3k0g/4crI+ff3+ff3ijky59jV+fb2l09GvZGL9vLw+ff36d3b7OLg8ennhzIs7uTi9/T0v5ONgSYi483L+ff3nVhOzKml+Pb2vpKMgSYi7OHfwZWPoF9V1Lex/Pv5/Pv7+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+/r6+PTyyqSflk1El05Fx56a8ejm+ff3k0g/4cvJ+ff3+ff3ijky59jV59rYgSYi7uTh/fz8/fz8/fz8+/n58+zqizgy8+vo/fz88+vpgicl483L9O3rhCso9O3r+ff359fUgSYi7OHf9fHv0LKsomFXjj42vpCK8ejl/Pv7+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff30rSuijkys4F34s7M+ff3+ff3+ff3+ff3k0g/4cvJ+ff3+ff3ijky59fU3cbEhCsotIN5tIN5tIN5toR61Lex+ff3wJSOk0lArXRstYR6hzIs483L4cvJjDw0+ff3+ff39vLwgSYi7OHf+ff3+ff3+ff369zbvpGLjT03u42F+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff33MTAl05Fm1RLzaek+PTy/fz8+vj4+ff3k0g/zq6n+fj4+Pb0hCwp7+Xj6uDdgSYi0bGr17u11ry4oF5Uzaym+ff3+/n59vPx3cXD1rq0hjEr59XT9fDwhS0q8+vp+ff35NHPgSYi7OHf+ff3/Pv7/fz62Ly2pmdfkEA4yqSh+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff33sfFrXFqijcxsH1z5dLQ+ff3k0g/oV9V7OHezq6nk0c++ff3+ff3pGNZr3py9Ozp38bCjDsz8+zq+ff31biy8Obj/Pv50rOthzMt8+7s+ff3omFXuouD8uror3VugSYi7OLg7ePhvI+HjT03omBW0rSu9/Ty+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff37+XjwZaQs4B2+ff3k0g/x5+blk5FlUtC1Law+ff3+ff38Oflq29nijcxk0U90rOt+ff3+ff3wpeRkUM7hzIsmVJJ3MTA+ff3+ff35NDOmFFIizgyv5KMhCwp7OLgx6GatYR859fU+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3k0g/4crI+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3hCwp7OLg+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3k0c+4MnH+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3hCwp7OLg+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff317u18Ojm+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff30rOt9PDu+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+vj4/Pv7/Pv7+vj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3/Pr6+ff3+ff3+ff3+ff3+ff3+ff3/Pr6+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff35ubKwcBvwL9r7OrT/Pv7+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3ycl+7+3c+ff3+ff3+ff3+ff3+ff3ycl+7+3c+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3zMuKxsV5zs2RoKAAxcZ1+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3kZEA4+HB+ff3+ff3+ff3+ff3+ff3kZEA4+HB+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3/v7++vj4+ff3+ff3////+vj4+ff3+ff3+ff3/fz8//7+//7++ff3+/r6/fz8+ff3/v7++fj4+/n5/fz8+ff3+ff3+ff3+vj4/v39/////Pv7+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3/v7++vj4+ff3+ff3////+vj4+ff3+vj4//7+/v785+bKmpoA+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3/Pv7+vrz+Pju/fz8//7++vj4+ff3kZEA5eTE9/js+Pnv/Pv7+ff3+ff3kZEA5eTE9/js+Pnv/Pv7+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+vn5/fz8+ff1+ff3k0g/4crI+ff3+ff3ijky59jV+ff3+ff39vPxr3RtkEA6kUE79O/tz7CqsH1z+ff3lElA6d3b07WvrnNs+ff3+ff3+ff36NfWpGRaiTUvv5ON+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3lZUA4N66+ff3+ff3jIwA5+XO+ff34+K+lJQAjIwAv75khYUA7+7g+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3wMBpjo4AkpEAs7JFkZEA4uDA+ff3kZEArKwtj48AhYUAw8Nv+ff3+ff3kZEArKwtj48AhYUAw8Nv+ff3+PXz/v39+/r6+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+/r6/v7+4crIrXFoqGtj+ff3k0g/4crI+ff3+ff3ijky59jV+ff3+ff33MO/mlNK9fHv+ff3+ff3z7CqsH1z+ff3lElA6d3b07WvrnNs+ff3+ff3+ff3tYN5vI6G+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3lZUA4N66+ff3+ff3jIwA5+XO+ff3oqIAv75s9PLtuLZVg4MA7eva+ff3+ff3+ff3+ff3+ff3+ff3+ff38fDkiYkA7+3e+Pb0wL9rg4MA4uDA+ff3kZEAqakg9fPu5eLHiIgA9vXw+ff3kZEAqakg9fPu5eLHiIgA9vXwwZWPoF9V1Lex/Pv5/Pv7+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+/r6+PTyyqSflk1El05Fx56a8ejm+ff3k0g/4cvJ+ff3+ff3ijky59jV+ff3+ff3w5mTsn91+ff3+ff3+ff3z7CqsH1z+ff3lElA6d3b07WvrnNs+ff3+ff3+ff3lk1E38fF+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3lZUA4N+7+ff3+ff3jIwA5+XO9fPshoYA8fDk+ff35uPIg4MA7eva+vn5/fz8/fz8/fz8/fz8/fz8/Pv78/HojY0A8/Pj/fz89PPlhIQA4uDA+ff3kZEAzs2M+ff3+ff3mpoA3duv+ff3kZEAzs2M+ff3+ff3mpoA3duv9fHv0LKsomFXjj42vpCK8ejl/Pv7+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff30rSuijkys4F34s7M+ff3+ff3+ff3+ff3k0g/4cvJ+ff3+ff3ijky59fU+ff3+ff3wpeRs4F3+ff3+ff3+ff3z7CqsH1z+ff3lElA6t3b07WvrnNs+ff3+ff3+ff3kkc+4szK+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3lZUA4eC8+ff3+ff3jIwA5+TN4N68jo4A+ff3+ff39/Xwg4MA7eva3NuzsrA/srA/srA/srA/srA/v75n+ff3wL9ulZUArq41t7ZRiYkA4uDA+ff3kZEA3dy0+ff3+ff3qqojyMh/+ff3kZEA3dy0+ff3+ff3qqojyMh/+ff3+ff3+ff369zbvpGLjT03u42F+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff33MTAl05Fm1RLzaek+PTy/fz8+vj4+ff3k0g/zq6n+fj4+Pb0hCwp7+Xj+ff3+ff3wpeRs4F3+ff3+ff3+ff3z7Cqr3hw+ff3kUQ86drX0bKssHtz+ff3+ff3+ff3kkc+4szK+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3lZUAz8+O+fj4+fj0hoYA7+3f9fPuh4cA8vPl+ff35+bIg4MA7eva5uPKycmCycmCycmCycmCycmC09Gc+ff3+/n59vXx3Nuz19ajiIgA5+TL+ff3kZEAysuC+vj4+/r6lZUA4d+/+ff3kZEAysuC+vj4+/r6lZUA4d+/+ff3/Pv7/fz62Ly2pmdfkEA4yqSh+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff33sfFrXFqijcxsH1z5dLQ+ff3k0g/oV9V7OHezq6nk0c++ff3+fb2+fb0wJWPsX50+fb0+fb0+ff3z6+pnFdN8urohTAo1Lawv5KMuouF+ff3+ff3+ff3kkc+4szK+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3lZUAoaEA7ezXz8+OlZQA+ff3+ff3o6IAu7pa9PTjsbE/g4MA7eva+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff31tWg8fDd/f3509OXiYkA9PLr+ff3kZEAnZwA7uzV09KWi4sA+Pb0+ff3kZEAnZwA7uzV09KWi4sA+Pb07ePhvI+HjT03omBW0rSu9/Ty+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff37+XjwZaQs4B2+ff3k0g/x5+blk5FlUtC1Law+ff348/NlUxDjDsziTYwlUxDlUxD9O/t1rm1p2pgjj42rXJrqWxkmFBH5dTU+ff3+ff3+ff3kkc+4szK+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3pqUKy8qHmJgAlpYA1dOe+ff3+ff35OHGmZkAjY0AwcBvnZ0A7+7g+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3wsJxk5IAiYkAmpoA29qy+ff3+ff3o6IAwcBxkpEAkpEA09Gc+ff3+ff3o6IAwcBxkpEAkpEA09Gc+ff3x6GatYR859fU+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3k0g/4crI+ff3+ff3+ff3+ff3+ff3+ff3wpaQsoB2+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+vn5/Pr6kkc+4szK+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3k0c+4MnH+ff3+ff3+ff3+ff3+ff3+ff307WvyKWf+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff33MO/x56aijky4cvJ+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff317u18Ojm+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff338nHzKulzKul8Ofl+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3/Pv7+/r6+ff3+ff3+ff3+ff3+ff3/Pr6+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3xcV309OX+/r4+ff3+ff3+ff3+ff3ycl+7+3c+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3zMuKnZ0AvLtb+ff3+ff3+ff3+ff3kZEA4+HB+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3/////Pz8+ff3+ff3+ff3+/n5/Pz49PTk/f39////+ff3+ff3+vn5/v788e/c/Pz4+/r6+ff3+ff3+ff3/fz8+/v27+/a/Pv3+vj4+ff3+ff3+ff3/fz8//7+//7++ff3+ff3+ff37OvYiYkA8/Pp+ff3+ff3+ff3kZEA5eTE9/js+Pnv/Pv7+ff3+ff3+vj4/v7+9PXn8fHg///9+vj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3/v7++vj4+ff3+ff3////+vj4+ff3+ff3+ff3/fz8//7+//7++ff3+/r6/fz8+ff3/v7++fj4+/n5/fz8+ff3+ff3+ff3+vj4/v39/////Pv7+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+vn5/fz8+vr1+ff3+ff3+ff3hoYAuLZV+ff3+ff3+ff32tqniIgAkJAAq6slhYUA7eva+ff34eG7jo4AkZAAhoYAzs6L+ff3+ff3+fj2uLdPhYUAmJgAkZAA6OXO+ff3+ff39/bxr683kpEAkpEA9PLt+ff3+ff39fTtiIgAzM2H+ff3+ff3+ff3kZEArKwtj48AhYUAw8Nv+ff3+ff36enNmZkAjY0AlpYAkJAA5OLE+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3lZUA4N66+ff3+ff3jIwA5+XO+ff3+ff39/bxr683kpEAkpEA9PLt0NCUs7JF+ff3lZUA6unW1NOcrq41+ff3+ff3+ff36ejMpaUAi4sAwL9r+fjz/v39+/r6+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+/r6/v7+4OC4rawyqakg+ff3+ff3+ff3vbth19Wi+ff3+ff3+ff3np4AzcyL+ff1v75qg4MA7eva+ff1l5cAv75s+ff12NerhoYA8O7d+ff3y8yGlZUA6OXO+ff37+3e7+3e+ff3+ff33duvm5sA9vTv+ff3+ff3+ff3+ff30NCPj48An58A+vj4+ff3+ff3kZEAqakg9fPu5eLHiIgA9vXw+ff1mZkAvr5n9vTw+ff36ujV7eva+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3lZUA4N66+ff3+ff3jIwA5+XO+ff3+ff33duvm5sA9vTv+ff3+ff30NCUs7JF+ff3lZUA6unW1NOcrq41+ff3+ff3+ff3t7ZOvbxi+ff3+ff3wcBxoaEA1dWe/f35/Pv7+fj4+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+/r6+Pnvy8uCl5cAmJgAx8Z98O/j+ff3+ff3+ff3/Pv7+vn5+ff3+ff38/HohoYA8/Hq+ff35+TNg4MA7eva8O7eg4MA6efS+ff3+ff3jo4A1tWg+ff3paUAu7th+ff3+ff3+ff3+ff3+ff3+ff3w8RztLNK+ff3+ff3+ff3+ff3+fj4oqIA0tGXjY0A6+nS+ff3+ff3kZEAzs2M+ff3+ff3mpoA3duv6OfQg4MA7+3c/fz8/fz8/fz8+/n5+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3lZUA4N+7+ff3+ff3jIwA5+XO+ff3+ff3w8RztLNK+ff3+ff3+ff30NCUs7JF+ff3lZUA6unW1NOcrq41+ff3+ff3+ff3mJgA3ty2+ff3+ff39vTv0dCWo6IAkJAAv75n8vLf/Pv7+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff309KajIwAtrVN4uG/+ff3+ff3+ff3+ff3+ff3+ff3vbte4eC8+ff3+ff34N68jo4A+ff3+ff39/Xwg4MA7eva5uPKhIQA+ff1+ff3+ff3n58AzMuK+ff3mpoA1NOZ+ff3+ff3+ff3+ff3+ff3+ff3wsNytbRM+ff3+ff3+ff3+ff37OrVjIwA9vTvtrRPv79o+ff3+ff3kZEA3dy0+ff3+ff3qqojyMh/3dy0hoYAtrVQtrVQtrVQuLZR1dSf+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3lZUA4eC8+ff3+ff3jIwA5+TN+ff3+ff3wsNytbRM+ff3+ff3+ff30NCUs7JF+ff3lZUA6+nW1NOcrq41+ff3+ff3+ff3lJQA4d+9+ff3+ff3+ff3+ff3+ff37OnWv79oj48AvLxi+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff329qymJgAnJwAzcyJ+frw/fz8+vj4+ff3+ff3+ff3oaEA0tKY+ff3+ff39fPuh4cA8/Lk+ff35eTEg4MA7eva8fDkg4MA5+bK+ff3+/r4iYkA2NWn+ff3qKcbuLdP+/r6+ff3+vn5+fj4+ff3+ff3wsNytbRM+ff3+ff3+ff3+ff3wMBptLNK+ff33925kpIA+vn3+ff3kZEAysuC+vj4+/r6lZUA4d+/6+rXg4MA0tGV2Nal19emoaEAzs2P+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3lZUAz8+O+fj4+fj0hoYA7+3f+ff3+ff3wsNytbRM+ff3+ff3+ff30NCUsbE6+ff3k5MA6efQ0tGXsrFE+ff3+ff3+ff3lJQA4d+9+ff3+ff3+ff3/Pv7/f372dilp6YZkZAAysmG+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff33dy2rawyjIwAs7JF5eTE+ff3+ff3+ff3nJwAzc2M+ff3+ff3+ff3o6IAvLte8/Pir683g4MA7eva+ff3oaEAsbA59PTjxcZ4jIwA8/Hq+ff31tShjo4A1dWb/Pz33t2z6efS+ff1+fn0wcFttLNG+fn0+fn0+ff3+vj2kpIA3dy2+ff3+ff3lJQA3dyy+ff3kZEAnZwA7uzV09KWi4sA+Pb0+ff3paQAsrJA9PTk396yjo4A8/Ho+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3lZUAoqEA7ezXz8+OlZQA+ff3+ff1+fn0wcFttLNG+fn0+fn0+ff30M+TnZ0A8/Pih4cA1dWbwMBpu7pg+ff3+ff3+ff3lJQA4d+9+ff3+ff37u3cvb1jj48Ao6IA09Gc9/Xz+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff37+3fwsFytbNO+ff3+ff3+ff3nJwAzc2M+ff3+ff3+ff35OLEmpoAjY0Av75shoYA7eva+ff36ujVo6IAiYkAmZkA3Nuz+ff3+ff3+ff3y8qJlZUAiYkAnp0A7Ona4+HBl5cAjo4Ai4sAl5cAl5cA9PLt4+HBoqEA+ff1+ff3+ff3xcV5vr1p+ff3o6IAwcBxkpEAkpEA09Gc+ff3+ff37+7grKsrjIwAlJMA09GZ+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3lZUAx8d+mJgAlpYA1dOe+ff34+HBl5cAjo4Ai4sAl5cAl5cA9PLt19WiqKgekJAArq00qaknmZkA5uPK+ff3+ff3+ff3lJQA4d+9+ff3+ff3x8aAt7ZR5+TN+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3nJwAzc2M+ff3+ff3+ff3+ff3+ff3+ff3+ff3hoYA7eva+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3wsFytLNK+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3lZUA4N66+ff3+ff3+ff3+ff3+ff3+ff3wsFytLNK+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+vn5/Pr6lJQA4d+9+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3m5sAzMuK+ff3+ff3+ff3+ff3+ff3+ff3+ff3hoYA7eva+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff31NKdysmG+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3lZQA3925+ff3+ff3+ff3+ff3+ff3+ff31NKdysmG+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff329qwx8d7jIwA4N68+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff309GZ9fPu+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff32Nal8e/h+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff33966zcyOzcyO7+7g+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3+ff3 + + 0 + + + + + -0 + 3.664351851851853 + 5.202126015298635 + 0.8472222222222222 + 0.219066858291626 + 0.4236111111111111 + 0.109533429145813 + + + 0.8472222222222222 + 0.08017796940273708 + -0 + + + 1 + + + 1 + 0.00694444 + 0 + 0 + 0.0694444 + 0 + + + 1 + #b0d6a2 + 0.74 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.219066858291626 + + + 0.8472222222222222 + 0.219066858291626 + + + 0.8472222222222222 + 0 + + + 0 + 0 + + + 0 + 0.219066858291626 + + + + 0 + + + + + -0 + 4.511580966808179 + 5.637726324074077 + 2.060180452134874 + 0.7152788333333333 + 1.030090226067437 + 0.3576394166666667 + + + 1.442126295892607 + 0.500695176180545 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #f3ea90 + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 2.060180452134874 + 0.4246968072916665 + + + 1.030090226067437 + 0.7152788333333332 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.000000,0.818360,0,1, 0.776370,1.000000,0,1) + + + 0 + 0.4246968072916665 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.223630,1.000000,0,1, 0.000000,0.818360,0,1) + + + 0.7916861441463894 + 0.1424978491766665 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.000000,0.402340,0,1, 0.164060,0.241210,0,1) + + + 0.5965252499156529 + 0 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.366210,0.126950,0,1, 0.336430,0.041990,0,1) + + + 1.09245188835356 + 0.1348157545066664 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.379880,0.000000,0,1, 0.469240,0.099610,0,1) + + + 2.060180452134874 + 0.4246968072916665 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.792480,0.201170,0,1, 1.000000,0.377930,0,1) + + + + 0 + + + 0 + 0 + 0 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + I bind checkbox state to a model + + + + -0 + 2.456018518518522 + 4.953600274557867 + 0.7638888888888888 + 0.219066858291626 + 0.3819444444444444 + 0.109533429145813 + + + 0.7638888888888888 + 0.08017796940273708 + -0 + + + 1 + + + 1 + 0.00694444 + 0 + 0 + 0.0694444 + 0 + + + 1 + #b0d6a2 + 0.74 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.219066858291626 + + + 0.7638888888888888 + 0.219066858291626 + + + 0.7638888888888888 + 0 + + + 0 + 0 + + + 0 + 0.219066858291626 + + + + 0 + + + + + -0 + 1 + 1.736113371672453 + 5.387730953703706 + 1.824078877766927 + 0.7152788333333333 + 0.9120394388834635 + 0.3576394166666667 + + + 1.27685519619606 + 0.500695176180545 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #f3ea90 + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 1.824078877766927 + 0.4246968072916665 + + + 0.9120394388834635 + 0.7152788333333331 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.000000,0.818360,0,1, 0.776370,1.000000,0,1) + + + 0 + 0.4246968072916665 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.223630,1.000000,0,1, 0.000000,0.818360,0,1) + + + 0.7009570311482748 + 0.1424978491766665 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.000000,0.402340,0,1, 0.164060,0.241210,0,1) + + + 0.5281620390574138 + 0 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.366210,0.126950,0,1, 0.336430,0.041990,0,1) + + + 0.9672543065134683 + 0.1348157545066664 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.379880,0.000000,0,1, 0.469240,0.099610,0,1) + + + 1.824078877766927 + 0.4246968072916665 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.792480,0.201170,0,1, 1.000000,0.377930,0,1) + + + + 0 + + + 0 + 0 + 0 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + I change visibility based on model + + + + + + + + 0.111111 + 0.111111 + + + 1 + 1 + 10.5 + 7.68056 + 3 + 0 + 0 + + + Layer 1 + 1 + 1 + 0 + + + + + + + + + 0.111111 + 0.111111 + + + 1 + 1 + 10.5 + 7.68056 + 3 + 0 + 0 + + + Layer 1 + 1 + 1 + 0 + + + + + + -0 + 5.250000069444444 + 4.486111111111111 + 4.342592083333333 + 3.527777777777778 + 2.171296041666666 + 1.763888888888889 + + + 4.342592083333333 + 3.388888888888889 + -0 + + + 1 + + + 9 + 0.00694444 + 0 + 0 + 0.208333 + 0 + + + 1 + #ececec + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 3.527777777777778 + + + 4.342592083333333 + 3.527777777777778 + + + 4.342592083333333 + 0 + + + 0 + 0 + + + 0 + 3.527777777777778 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 3 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + ng-app="myModule" + + + + -0 + 5.831018819444444 + 4.368054666666667 + 2.935185138888889 + 0.7685184444444445 + 1.467592569444444 + 0.3842592222222223 + + + 2.935185138888889 + 0.6296295555555556 + -0 + + + 1 + + + 1 + 0.00694444 + 0 + 0 + 0.208333 + 0 + + + 1 + #ffff00 + 0.81 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.7685184444444447 + + + 2.935185138888888 + 0.7685184444444447 + + + 2.935185138888888 + 0 + + + 0 + 0 + + + 0 + 0.7685184444444447 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + $injector + + + + -0 + 6.689814305555555 + 4.375216722222222 + 0.8472222222222222 + 0.5092593333333333 + 0.4236111111111111 + 0.2546296666666666 + + + 0.8472222222222222 + 0.3703704444444444 + -0 + + + 1 + + + 1 + 0.00694444 + 0 + 0 + 0.208333 + 0 + + + 1 + #b0d6a2 + 0.25 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.5092593333333331 + + + 0.8472222222222214 + 0.5092593333333331 + + + 0.8472222222222214 + 0 + + + 0 + 0 + + + 0 + 0.5092593333333331 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Instance +Factory + + + + -0 + 5.675927083333333 + 4.375216722222222 + 0.8472222222222222 + 0.5092593333333333 + 0.4236111111111111 + 0.2546296666666666 + + + 0.8472222222222222 + 0.3703704444444444 + -0 + + + 1 + + + 1 + 0.00694444 + 0 + 0 + 0.208333 + 0 + + + 1 + #b1e0ff + 0.25 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.5092593333333331 + + + 0.8472222222222222 + 0.5092593333333331 + + + 0.8472222222222222 + 0 + + + 0 + 0 + + + 0 + 0.5092593333333331 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Instance +Cache + + + + -0 + 4.791666666666667 + 3.597222222222222 + 0.01388888888888889 + 1.337961111111111 + 0.006944444444444444 + 0.6689805555555556 + + + 4.78472222222222 + 4.26620277777778 + 4.78472222222222 + 2.92824166666667 + + + 4 + 0 + 2 + 2 + 1 + + + 0.01388888888888889 + 1.337961111111111 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 1.337961111111111 + + + 0 + 0 + + + + 0 + + + + + -0 + 5.680554722222222 + 3.524306666666667 + 0.01388888888888889 + 1.192128888888889 + 0.006944444444444444 + 0.5960644444444445 + + + 5.67361027777778 + 4.12037111111111 + 5.67361027777778 + 2.92824222222222 + + + 4 + 0 + 2 + 2 + 1 + + + 0.01388888888888889 + 1.192128888888889 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 1.192128888888889 + + + 0 + 0 + + + + 0 + + + + + -0 + 6.722221388888888 + 3.524306666666667 + 0.01388888888888889 + 1.192128888888889 + 0.006944444444444444 + 0.5960644444444445 + + + 6.71527694444444 + 4.12037111111111 + 6.71527694444444 + 2.92824222222222 + + + 4 + 0 + 2 + 2 + 1 + + + 0.01388888888888889 + 1.192128888888889 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 1.192128888888889 + + + 0 + 0 + + + + 0 + + + + + -0 + 3.993055555555555 + 3.740740416666666 + 1.583333333333333 + 0.01388888888888889 + 0.7916666666666666 + 0.006944444444444444 + + + 3.20138888888889 + 3.74768486111111 + 4.78472222222222 + 3.74768486111111 + + + 4 + 0 + 0 + 2 + 2 + + + 1.583333333333333 + 0.01388888888888889 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.01388888888888889 + + + 1.583333333333333 + 0.01388888888888889 + + + + 0 + + + + + -0 + 3.914281666666667 + 3.858799444444444 + 1.305555555555556 + 0.3333333333333333 + 0.6527777777777778 + 0.1666666666666667 + + + 1.305555555555556 + 0.3333333333333333 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3333333333333333 + + + 1.305555555555556 + 0.3333333333333333 + + + 1.305555555555556 + 0 + + + 0 + 0 + + + 0 + 0.3333333333333333 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + $injector.get('a') + + + + -0 + 5.226852013888889 + 3.53238125 + 0.8842595833333335 + 0.01388888888888889 + 0.4421297916666668 + 0.006944444444444444 + + + 4.78472222222222 + 3.53932569444444 + 5.66898180555556 + 3.53469638888889 + + + 4 + 0 + 0 + 2 + 2 + + + 0.8842595833333335 + 0.01388888888888889 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.01388888888888889 + + + 0.8842595833333335 + 0.009259583333332778 + + + + 0 + + + + + -0 + 5.183779444444444 + 3.71317 + 0.5972222222222222 + 0.5277777777777778 + 0.2986111111111111 + 0.2638888888888889 + + + 0.5972222222222222 + 0.5277777777777778 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.5277777777777778 + + + 0.5972222222222222 + 0.5277777777777778 + + + 0.5972222222222222 + 0 + + + 0 + 0 + + + 0 + 0.5277777777777778 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + check +cache + + + + -0 + 6.187499583333333 + 3.238638194444444 + 1.009259444444444 + 0.01388888888888889 + 0.5046297222222221 + 0.006944444444444444 + + + 5.68286986111111 + 3.24558263888889 + 6.69212930555556 + 3.24305472222222 + + + 4 + 0 + 0 + 2 + 2 + + + 1.009259444444444 + 0.01388888888888889 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 7.894919286223335e-16 + 0.01388888888888889 + + + 1.009259444444445 + 0.01136097222222235 + + + + 0 + + + + + -0 + 6.137727916666666 + 3.420375416666666 + 0.9583333333333334 + 0.5277777777777778 + 0.4791666666666667 + 0.2638888888888889 + + + 0.9583333333333334 + 0.5277777777777778 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.5277777777777778 + + + 0.9583333333333334 + 0.5277777777777778 + + + 0.9583333333333334 + 0 + + + 0 + 0 + + + 0 + 0.5277777777777778 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + if no cache +create new + + + + -0 + 6.238879583333333 + 5.710648375000001 + 2.153686111111111 + 0.8657413055555555 + 1.076843055555556 + 0.4328706527777778 + + + 2.153686111111111 + 0.7268524166666667 + -0 + + + 1 + + + 1 + 0.00694444 + 0 + 0 + 0.208333 + 0 + + + 1 + #d7a5a5 + 0.25 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.8657413055555554 + + + 2.153686111111111 + 0.8657413055555554 + + + 2.153686111111111 + 0 + + + 0 + 0 + + + 0 + 0.8657413055555554 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 3 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + myModule +$provide. + factory('objA', …) + + + + -0 + 6.351849861111111 + 4.95834 + 0.5300894444444439 + 0.6388755555555556 + 0.265044722222222 + 0.3194377777777778 + + + 6.08680513888889 + 5.27777777777778 + 6.61689458333333 + 4.63890222222222 + + + 4 + 0 + 0 + 2 + 2 + + + 0.5300894444444439 + 0.6388755555555556 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.6388755555555561 + + + 0.5300894444444439 + 3.947459643111667e-16 + + + + 0 + + + + + -0 + 6.684787361111111 + 5.03559263888889 + 0.8333333333333334 + 0.3333333333333333 + 0.4166666666666667 + 0.1666666666666667 + + + 0.8333333333333334 + 0.3333333333333333 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3333333333333333 + + + 0.8333333333333334 + 0.3333333333333333 + + + 0.8333333333333334 + 0 + + + 0 + 0 + + + 0 + 0.3333333333333333 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + configure + + + + -0 + 4.745370694444444 + 5.83981642484704 + 0.9212994444444441 + 0.311127150305921 + 0.4606497222222221 + 0.1555635751529605 + + + 4.28472097222222 + 5.99538 + 5.20602041666667 + 5.97222222222222 + + + 4 + 0 + 0 + 2 + 2 + + + 0.9212994444444441 + 0.311127150305921 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.311127150305921 + + + 0.4537056944444444 + 0.0009322891948097359 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.138193,0.211319,0,1, 0.325813,0.015400,0,1) + + + 0.9212994444444441 + 0.2879693725281432 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.659113,-0.009407,0,1, 0.791457,-0.026763,0,1) + + + + 0 + + + + + + + + + 0.111111 + 0.111111 + + + 1 + 1 + 10.5 + 7.68056 + 3 + 0 + -0.0277778 + + + Layer 1 + 1 + 1 + 0 + + + + + + -0 + 3.99942375 + 4.209358611111111 + 3.337963055555556 + 1.982771388888889 + 1.668981527777778 + 0.9913856944444444 + + + 3.337963055555556 + 1.8438825 + -0 + + + 1 + + + 9 + 0.00694444 + 0 + 0 + 0.208333 + 0 + + + 1 + #d7a5a5 + 0.25 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 1.982771388888889 + + + 3.337963055555556 + 1.982771388888889 + + + 3.337963055555556 + 0 + + + 0 + 0 + + + 0 + 1.982771388888889 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 0 + 0 + + 0.152778 + 0 + + + 3 + 0 + + 0.152778 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Scope + + cost:1 + qty:2.5 + + + + + -0 + 2.890625 + 4.586805555555555 + 0.9375 + 0.46875 + 0.46875 + 0.234375 + + + 0.9375 + 0.3298611111111111 + -0 + + + 1 + + + 9 + 0.015625 + #f3ea90 + 0.13 + 0.138889 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.46875 + + + 0.9375 + 0.46875 + + + 0.9375 + 0 + + + 0 + 0 + + + 0 + 0.46875 + + + + 0 + + + + + -0 + 5.159153611111111 + 3.376545833333333 + 3.337963055555556 + 1.982771388888889 + 1.668981527777778 + 0.9913856944444444 + + + 3.337963055555556 + 1.8438825 + -0 + + + 1 + + + 9 + 0.00694444 + 0 + 0 + 0.208333 + 0 + + + 1 + #b0d6a2 + 0.25 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 1.982771388888889 + + + 3.337963055555556 + 1.982771388888889 + + + 3.337963055555556 + 0 + + + 0 + 0 + + + 0 + 1.982771388888889 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 0 + 0 + + 0.152778 + 0 + + + 3 + 0 + + 0.152778 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + View (DOM) + +<div> + <input ng-model="qty"> + <input ng-model="cost"> + Total: {{qty * cost}} +</div> + + + + -0 + 3.996588714595843 + 4.143091557626338 + 1.414229978215722 + 0.74451855969712 + 0.7071149891078612 + 0.37225927984856 + + + 4.7037037037037 + 3.77083227777778 + 3.28947372548798 + 4.5153508374749 + + + 4 + 0 + 0 + 2 + 2 + + + 1.414229978215722 + 0.74451855969712 + -0 + + + 2 + + + 1 + 0.0277778 + 10 + 0 + 0 + 0 + 4 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 1.414229978215722 + 0 + + + -3.947459643111667e-16 + 0.74451855969712 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.980358,1.035346,0,1, 0.392833,0.998276,0,1) + + + + 0 + + + + + -0 + 4.186608006785677 + 4.12651563052688 + 1.79426856259539 + 1.114142372164872 + 0.8971342812976952 + 0.5570711860824361 + + + 5.08333333333333 + 3.56944444444444 + 3.28947372548798 + 4.6834794945554 + + + 4 + 0 + 0 + 2 + 2 + + + 1.79426856259539 + 1.114142372164872 + -0 + + + 2 + + + 1 + 0.0277778 + 10 + 0 + 0 + 0 + 4 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 1.793859607845351 + 0 + + + -3.947459643111667e-16 + 1.11403505011095 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.015253,1.030522,0,1, 0.237701,0.999904,0,1) + + + + 0 + + + + + -0 + 3.581451346064814 + 5.178819972222223 + 1.694152692129628 + 0.7152788333333333 + 0.8470763460648142 + 0.3576394166666667 + + + 1.185906867549213 + 0.500695176180545 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #f3ea90 + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 1.694152692129628 + 0.4246968072916665 + + + 0.8470763460648141 + 0.7152788333333331 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.000000,0.818360,0,1, 0.776370,1.000000,0,1) + + + 0 + 0.4246968072916665 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.223630,1.000000,0,1, 0.000000,0.818360,0,1) + + + 0.6510289965315733 + 0.1424978491766665 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.000000,0.402340,0,1, 0.164060,0.241210,0,1) + + + 0.4905419120061336 + 0 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.366210,0.126950,0,1, 0.336430,0.041990,0,1) + + + 0.8983583480555777 + 0.1348157545066664 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.379880,0.000000,0,1, 0.469240,0.099610,0,1) + + + 1.694152692129628 + 0.4246968072916665 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.792480,0.201170,0,1, 1.000000,0.377930,0,1) + + + + 0 + + + 0 + 0 + 0 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Model + + + + -0 + 2.930937169900998 + 3.884330422985821 + 1.402014734272078 + 1.218181179304979 + 0.701007367136039 + 0.6090905896524897 + + + 2.55324563425926 + 4.49342101263831 + 3.63194453703704 + 3.27523983333333 + + + 4 + 0 + 0 + 2 + 2 + + + 1.402014734272078 + 1.218181179304979 + -0 + + + 2 + + + 1 + 0.0277778 + 10 + 0 + 0 + 0 + 4 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0.3233158314943007 + 1.218181179304979 + + + 1.402014734272078 + 0 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.211877,0.954395,0,1, -0.050076,0.022803,0,1) + + + + 0 + + + + + -0 + 2.930937169900998 + 3.975704693138266 + 1.402014734272078 + 1.400929719609867 + 0.701007367136039 + 0.7004648598049337 + + + 2.55324563425926 + 4.6761695529432 + 3.63194453703704 + 3.27523983333333 + + + 4 + 0 + 0 + 2 + 2 + + + 1.402014734272078 + 1.400929719609867 + -0 + + + 2 + + + 1 + 0.0277778 + 10 + 0 + 0 + 0 + 4 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0.3233158314943007 + 1.400929719609867 + + + 1.402014734272078 + 0 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.211877,0.960344,0,1, -0.050076,0.019828,0,1) + + + + 0 + + + + + -0 + 1 + 1 + 2.300201346064814 + 3.182291138888889 + 1.694152692129628 + 0.7152788333333339 + 0.8470763460648141 + 0.3576394166666669 + + + 1.185906867549213 + 0.5006951761805454 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #f3ea90 + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 1.694152692129628 + 0.4246968072916673 + + + 0.8470763460648141 + 0.7152788333333339 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.000000,0.818360,0,1, 0.776370,1.000000,0,1) + + + 0 + 0.4246968072916673 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.223630,1.000000,0,1, 0.000000,0.818360,0,1) + + + 0.6510289965315736 + 0.1424978491766669 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.000000,0.402340,0,1, 0.164060,0.241210,0,1) + + + 0.490541912006134 + 0 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.366210,0.126950,0,1, 0.336430,0.041990,0,1) + + + 0.898358348055578 + 0.1348157545066668 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.379880,0.000000,0,1, 0.469240,0.099610,0,1) + + + 1.694152692129628 + 0.4246968072916673 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.792480,0.201170,0,1, 1.000000,0.377930,0,1) + + + + 0 + + + 0 + 0 + 0 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + +Data binding + + + + + + + + + + 0.111111 + 0.111111 + + + 1 + 1 + 10.5 + 7.68056 + 3 + 0 + 0 + + + Layer 1 + 1 + 1 + 0 + + + + + + -0 + 2.497106527777778 + 5.282919861111111 + 3.337963055555556 + 1.982771388888889 + 1.668981527777778 + 0.9913856944444444 + + + 3.337963055555556 + 1.8438825 + -0 + + + 1 + + + 9 + 0.00694444 + 0 + 0 + 0.208333 + 0 + + + 1 + #b1e0ff + 0.25 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 1.982771388888889 + + + 3.337963055555556 + 1.982771388888889 + + + 3.337963055555556 + 0 + + + 0 + 0 + + + 0 + 1.982771388888889 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 3 + 0 + + 0.152778 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Controller + +function InvoiceController { + this.pay = function… + this.total = function… + this.cost=2.5; + this.qty=1; +} + + + + -0 + 3.99942375 + 4.209358611111111 + 3.337963055555556 + 1.982771388888889 + 1.668981527777778 + 0.9913856944444444 + + + 3.337963055555556 + 1.8438825 + -0 + + + 1 + + + 9 + 0.00694444 + 0 + 0 + 0.208333 + 0 + + + 1 + #d7a5a5 + 0.25 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 1.982771388888889 + + + 3.337963055555556 + 1.982771388888889 + + + 3.337963055555556 + 0 + + + 0 + 0 + + + 0 + 1.982771388888889 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 0 + 0 + + 0.152778 + 0 + + + 3 + 0 + + 0.152778 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Scope + +invoice: + new InvoiceController + + + + + -0 + 5.159153611111111 + 3.376545833333333 + 3.337963055555556 + 1.982771388888889 + 1.668981527777778 + 0.9913856944444444 + + + 3.337963055555556 + 1.8438825 + -0 + + + 1 + + + 9 + 0.00694444 + 0 + 0 + 0.208333 + 0 + + + 1 + #b0d6a2 + 0.25 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 1.982771388888889 + + + 3.337963055555556 + 1.982771388888889 + + + 3.337963055555556 + 0 + + + 0 + 0 + + + 0 + 1.982771388888889 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 0 + 0 + + 0.152778 + 0 + + + 3 + 0 + + 0.152778 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + View (DOM) + +<div ng-controller= + "InvoiceController as invoice"> + <input ng-model=“invoice.qty"> + <input ng-model=“invoice.cost"> + {{invoice.total('USD')}} + <button ng-click= + "invoice.pay()"> +</div> + + + + -0 + 2.632535180438001 + 5.344874844478722 + 0.6041859164315587 + 1.125647361941083 + 0.3020929582157794 + 0.5628236809705415 + + + 2.92022802734125 + 4.78205116350818 + 2.33044222222222 + 5.81146571629949 + + + 4 + 0 + 0 + 2 + 2 + + + 0.6041859164315587 + 1.125647361941083 + -0 + + + 2 + + + 1 + 0.0277778 + 10 + 0 + 0 + 0 + 4 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0.589785805119024 + 3.947459643111667e-16 + + + 0 + 1.029414552791309 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.976166,0.245190,0,1, 1.241723,1.304982,0,1) + + + + 0 + + + + + -0 + 4.745442277075202 + 4.240411054013688 + 2.51054038748374 + 0.8962464347145129 + 1.25527019374187 + 0.4481232173572565 + + + 6.00071247081707 + 3.79228783665643 + 3.49017208333333 + 4.68853427137094 + + + 4 + 0 + 0 + 2 + 2 + + + 2.51054038748374 + 0.8962464347145129 + -0 + + + 2 + + + 1 + 0.0277778 + 10 + 0 + 0 + 0 + 4 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 2.51054038748374 + 0 + + + 3.947459643111667e-16 + 0.8962464347145129 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.878596,0.530152,0,1, 0.221289,0.998568,0,1) + + + + 0 + + + + + -0 + 2.383820246583681 + 4.135562427582729 + 3.797174635802998 + 2.731239199973009 + 1.898587317901499 + 1.365619599986504 + + + 1.04166666930872 + 5.50118202756923 + 4.28240756448518 + 2.76994282759622 + + + 4 + 0 + 0 + 2 + 2 + + + 3.797174635802998 + 2.731239199973009 + -0 + + + 2 + + + 1 + 0.0277778 + 10 + 0 + 0 + 0 + 4 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0.5564337406265345 + 2.731239199973009 + + + 3.797174635802998 + 0 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.369289,0.517558,0,1, 0.612285,0.010170,0,1) + + + + 0 + + + + + -0 + 2.20671222612891 + 4.216716504327128 + 2.972526663041918 + 2.199545702757718 + 1.486263331520959 + 1.099772851378859 + + + 1.04166666930872 + 5.31648935570599 + 3.69297555764987 + 3.11694365294827 + + + 4 + 0 + 0 + 2 + 2 + + + 2.972526663041918 + 2.199545702757718 + -0 + + + 2 + + + 1 + 0.0277778 + 10 + 0 + 0 + 0 + 4 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0.3212177747007655 + 2.199545702757718 + + + 2.972526663041918 + 0 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.290291,0.570942,0,1, 0.504724,0.012629,0,1) + + + + 0 + + + + + -0 + 2.294145523095048 + 4.218721496288033 + 2.797660069109641 + 1.81137496136035 + 1.398830034554821 + 0.9056874806801749 + + + 1.04166666930872 + 5.12440897696821 + 3.69297555764987 + 3.31303401560786 + + + 4 + 0 + 0 + 2 + 2 + + + 2.797660069109641 + 1.81137496136035 + -0 + + + 2 + + + 1 + 0.0277778 + 10 + 0 + 0 + 0 + 4 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0.1463511807684886 + 1.81137496136035 + + + 2.797660069109641 + 0 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.192729,0.717427,0,1, 0.473767,0.015335,0,1) + + + + 0 + + + + + -0 + 2.711715584934131 + 4.21225057280745 + 1.988692921664965 + 1.460114013670623 + 0.9943464608324825 + 0.7300570068353116 + + + 1.71830490633189 + 4.94230757964276 + 3.70606204576661 + 3.48219356597214 + + + 4 + 0 + 0 + 2 + 2 + + + 1.988692921664965 + 1.460114013670623 + -0 + + + 2 + + + 1 + 0.0277778 + 10 + 0 + 0 + 0 + 4 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0.0009357822302435734 + 1.460114013670623 + + + 1.988692921664965 + 0 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.012960,0.853810,0,1, 0.259704,0.019024,0,1) + + + + 0 + + + + + + + + + 0.111111 + 0.111111 + + + 1 + 1 + 10.5 + 7.68056 + 3 + 0 + -0.0277778 + + + Layer 1 + 1 + 1 + 0 + + + + + + -0 + 3.003616858878706 + 4.2996187197419 + 3.737979295764603 + 1.546083810516199 + 1.868989647882302 + 0.7730419052580996 + + + 3.737979295764603 + 1.40719492162731 + -0 + + + 1 + + + 9 + 0.0078125 + 0 + 0 + 0.208333 + 0 + + + 1 + #b1e0ff + 0.25 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 1.546083810516199 + + + 3.737979295764603 + 1.546083810516199 + + + 3.737979295764603 + 0 + + + 0 + 0 + + + 0 + 1.546083810516199 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 0 + 0 + + 0.152778 + 0 + + + 3 + 0 + + 0.152778 + 0 + + + 3 + 0 + + 0.152778 + 0 + + + 3 + 0 + + 0.152778 + 0 + + + 3 + 0 + + 0.152778 + 0 + + + 3 + 0 + + 0.152778 + 0 + + + 3 + 0 + + 0.152778 + 0 + + + 3 + 0 + + 0.152778 + 0 + + + 3 + 0 + + 0.152778 + 0 + + + 3 + 0 + + 0.152778 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + invoice.js + +angular.module(“invoice”, ["finance”]) + .controller("InvoiceController”, + [“currencyConverter”, + function(currencyConverter) {} + ] + ); + + + + + -0 + 3.003616858878705 + 6.129223789186344 + 3.78848371775741 + 1.546083810516199 + 1.894241858878705 + 0.7730419052580996 + + + 3.78848371775741 + 1.40719492162731 + -0 + + + 1 + + + 9 + 0.0078125 + 0 + 0 + 0.208333 + 0 + + + 1 + #b0d6a2 + 0.25 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 1.546083810516199 + + + 3.78848371775741 + 1.546083810516199 + + + 3.78848371775741 + 0 + + + 0 + 0 + + + 0 + 1.546083810516199 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 0 + 0 + + 0.152778 + 0 + + + 3 + 0 + + 0.152778 + 0 + + + 3 + 0 + + 0.152778 + 0 + + + 3 + 0 + + 0.152778 + 0 + + + 3 + 0 + + 0.152778 + 0 + + + 3 + 0 + + 0.152778 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + index.html + +<html ng=app="invoice”> + <div ng-controller= + "InvoiceController as invoice"> + + + + -0 + 1.186394423499715 + 5.207744212745702 + 0.5051455240312125 + 1.652977783342551 + 0.2525727620156062 + 0.8264888916712755 + + + 1.43896718551532 + 6.03423310441698 + 1.41940536958766 + 4.38125965852955 + + + 4 + 0 + 0 + 2 + 2 + + + 0.5051455240312125 + 1.652977783342551 + -0 + + + 2 + + + 9 + 0.0277778 + 10 + 0 + 0 + 0 + 4 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0.5051455240312125 + 1.652977783342551 + + + 0.4855837081035502 + 4.33745512435419e-06 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.568367,1.000000,0,1, -0.064941,-0.001871,0,1) + + + + 0 + + + + + -0 + 3.1385979532116 + 5.512152693827572 + 0.3069332052940581 + 1.611453483081006 + 0.153466602647029 + 0.8057267415405032 + + + 3.20199624093501 + 6.31787943536807 + 2.98681626573073 + 4.70642595228707 + + + 4 + 0 + 0 + 2 + 2 + + + 0.3069332052940581 + 1.611453483081006 + -0 + + + 2 + + + 9 + 0.0273438 + 10 + 0 + 0 + 0 + 4 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0.2168648903704408 + 1.611453483081006 + + + 0.001684915166160058 + 0 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.686385,0.695032,0,1, -0.111355,0.335852,0,1) + + + + 0 + + + + + -0 + 3.003616858878706 + 2.470013650297456 + 3.737979295764603 + 1.546083810516199 + 1.868989647882302 + 0.7730419052580996 + + + 3.737979295764603 + 1.40719492162731 + -0 + + + 1 + + + 9 + 0.0078125 + 0 + 0 + 0.208333 + 0 + + + 1 + #b3b3b3 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 1.546083810516199 + + + 3.737979295764603 + 1.546083810516199 + + + 3.737979295764603 + 0 + + + 0 + 0 + + + 0 + 1.546083810516199 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 0 + 0 + + 0.152778 + 0 + + + 3 + 0 + + 0.152778 + 0 + + + 3 + 0 + + 0.152778 + 0 + + + 3 + 0 + + 0.152778 + 0 + + + 3 + 0 + + 0.152778 + 0 + + + 3 + 0 + + 0.152778 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + finance.js + +angular.module(“finance”, []) + .factory(“currencyConverter”, + function() {} + ); + + + + + -0 + 5.135560063822223 + 6.776041138888889 + 1.694152692129628 + 0.7152788333333333 + 0.8470763460648142 + 0.3576394166666667 + + + 1.185906867549213 + 0.500695176180545 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #f3ea90 + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 1.694152692129628 + 0.4246968072916666 + + + 0.8470763460648141 + 0.7152788333333334 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.000000,0.818360,0,1, 0.776370,1.000000,0,1) + + + 0 + 0.4246968072916666 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.223630,1.000000,0,1, 0.000000,0.818360,0,1) + + + 0.6510289965315736 + 0.1424978491766667 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.000000,0.402340,0,1, 0.164060,0.241210,0,1) + + + 0.4905419120061336 + 0 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.366210,0.126950,0,1, 0.336430,0.041990,0,1) + + + 0.8983583480555777 + 0.1348157545066668 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.379880,0.000000,0,1, 0.469240,0.099610,0,1) + + + 1.694152692129628 + 0.4246968072916666 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.792480,0.201170,0,1, 1.000000,0.377930,0,1) + + + + 0 + + + 0 + 0 + 0 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Template + + + + -0 + 5.135560063822223 + 4.862292610902567 + 1.694152692129628 + 0.7152788333333333 + 0.8470763460648142 + 0.3576394166666667 + + + 1.185906867549213 + 0.500695176180545 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #f3ea90 + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 1.694152692129628 + 0.4246968072916665 + + + 0.8470763460648141 + 0.7152788333333331 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.000000,0.818360,0,1, 0.776370,1.000000,0,1) + + + 0 + 0.4246968072916665 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.223630,1.000000,0,1, 0.000000,0.818360,0,1) + + + 0.6510289965315736 + 0.1424978491766665 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.000000,0.402340,0,1, 0.164060,0.241210,0,1) + + + 0.4905419120061336 + 0 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.366210,0.126950,0,1, 0.336430,0.041990,0,1) + + + 0.8983583480555777 + 0.1348157545066664 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.379880,0.000000,0,1, 0.469240,0.099610,0,1) + + + 1.694152692129628 + 0.4246968072916665 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.792480,0.201170,0,1, 1.000000,0.377930,0,1) + + + + 0 + + + 0 + 0 + 0 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Controller + + + + -0 + 5.135560063822223 + 3.088541138888889 + 1.694152692129628 + 0.7152788333333333 + 0.8470763460648142 + 0.3576394166666667 + + + 1.185906867549213 + 0.500695176180545 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #f3ea90 + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 1.694152692129628 + 0.4246968072916673 + + + 0.8470763460648141 + 0.7152788333333339 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.000000,0.818360,0,1, 0.776370,1.000000,0,1) + + + 0 + 0.4246968072916673 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.223630,1.000000,0,1, 0.000000,0.818360,0,1) + + + 0.6510289965315736 + 0.1424978491766669 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.000000,0.402340,0,1, 0.164060,0.241210,0,1) + + + 0.4905419120061336 + 0 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.366210,0.126950,0,1, 0.336430,0.041990,0,1) + + + 0.8983583480555777 + 0.1348157545066668 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.379880,0.000000,0,1, 0.469240,0.099610,0,1) + + + 1.694152692129628 + 0.4246968072916673 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.792480,0.201170,0,1, 1.000000,0.377930,0,1) + + + + 0 + + + 0 + 0 + 0 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Service + + + + -0 + 3.69046181508648 + 3.681924739115639 + 1.216604183295126 + 1.652973445887427 + 0.608302091647563 + 0.8264867229437134 + + + 3.08215972343892 + 2.85543801617193 + 4.28848371775741 + 4.50841146205935 + + + 4 + 0 + 0 + 2 + 2 + + + 1.216604183295126 + 1.652973445887427 + -0 + + + 2 + + + 9 + 0.0277778 + 10 + 0 + 0 + 0 + 4 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0 + + + 1.206323994318492 + 1.652973445887427 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.697411,0.258905,0,1, 1.061216,0.550296,0,1) + + + + 0 + + + + + -0 + 1.267041360874375 + 3.368935008915001 + 0.7350879678351289 + 1.633412980675863 + 0.3675439839175644 + 0.8167064903379314 + + + 1.63458534479194 + 4.18564149925293 + 1.41940536958766 + 2.55222986929317 + + + 4 + 0 + 0 + 2 + 2 + + + 0.7350879678351289 + 1.633412980675863 + -0 + + + 2 + + + 9 + 0.0277778 + 10 + 0 + 0 + 0 + 4 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0.7350879678351289 + 1.633412980675863 + + + 0.5199079926308481 + 1.350716097192617e-06 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.184213,0.976048,0,1, -0.360542,-0.001037,0,1) + + + + 0 + + + + + + + + + 1 + 0 + 1 + 0 + 12 + 52 + 0.5 + + + diff --git a/images/docs/guide/di_sequence.svg b/images/docs/guide/di_sequence.svg new file mode 100644 index 000000000000..20938a6d76d5 --- /dev/null +++ b/images/docs/guide/di_sequence.svg @@ -0,0 +1,3 @@ + + + Produced by OmniGraffle 6.5.2 2012-01-16 08:08:24 +0000Canvas 1Layer 1Root Scopefunction PhoneListCtrl($http){ this.phones... ...}ControllerModel Implicit Scope Declaration<html ng:app="phonecat">TemplatePhoneListCtrl scopephones: Array Scope Inheritance<body ng:controller = "PhoneListCtrl" ...> Dependency Injectionng:appng:controller253ng module$http$browser$route...1...</html>var phonecat = angular.module('phonecat', []);46InjectorInstances Cache2Modules1 diff --git a/images/docs/guide/di_sequence.vdx b/images/docs/guide/di_sequence.vdx new file mode 100644 index 000000000000..99b54068922b --- /dev/null +++ b/images/docs/guide/di_sequence.vdx @@ -0,0 +1,4288 @@ + + + + 12 + 52 + + + 7.68056 + 10.5 + 1 + 0.25 + 0.25 + 0.25 + 0.569444 + 1 + 1 + + + + + + + + + + + + + + 0.111111 + 0.111111 + + + 1 + 1 + 10.5 + 7.68056 + 3 + 0 + -0.0277778 + + + Layer 1 + 1 + 1 + 0 + + + + + + -0 + 1 + 1 + 8.756944444444445 + 3.620743055555556 + 2.708333333333333 + 2.715263888888889 + 1.354166666666667 + 1.357631944444444 + + + 2.708333333333333 + 2.576375 + -0 + + + 1 + + + 1 + 0.0138889 + #ff0d10 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 2.715263888888889 + + + 2.708333333333333 + 2.715263888888889 + + + 2.708333333333333 + 0 + + + 0 + 0 + + + 0 + 2.715263888888889 + + + + 0 + + + + + -0 + 5.569444444444445 + 4.39898611111111 + 3.319444444444445 + 4.243694444444444 + 1.659722222222222 + 2.121847222222222 + + + 3.319444444444445 + 4.104805555555555 + -0 + + + 1 + + + 1 + 0.0138889 + #6dff6b + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 4.243694444444444 + + + 3.319444444444445 + 4.243694444444444 + + + 3.319444444444445 + 0 + + + 0 + 0 + + + 0 + 4.243694444444444 + + + + 0 + + + + + -0 + 5.569444444444445 + 5.723863888888889 + 3.013888888888889 + 1.371116666666667 + 1.506944444444444 + 0.6855583333333334 + + + 4 + 0 + 2 + 2 + 1 + + + 3.013888888888889 + 1.371116666666667 + -0 + + + 1 + + + 0 + + + + + -0 + 1.506944444444444 + 0.6855583333333334 + 3.013888888888889 + 1.371116666666667 + 1.506944444444444 + 0.6855583333333333 + + + 2.411111111111111 + 0.8208927777777776 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #ffffff + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 2.572513902777778 + 1.170320744183333 + + + 2.572513902777778 + 0.2007959224833332 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.4413749861111111 + 0.2007959224833332 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.4413749861111111 + 1.170320744183333 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 2.572513902777778 + 1.170320744183333 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + + + -0 + 1.499993055555556 + 0.6855625000000002 + 1.016013888888889 + 0.2174305555555555 + 0.5080069444444445 + 0.1087152777777778 + + + 1.016013888888889 + 0.07854166666666666 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2174305555555552 + + + 1.016013888888889 + 0.2174305555555552 + + + 1.016013888888889 + 0 + + + 0 + 0 + + + 0 + 0.2174305555555552 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Root Scope + + + + + + -0 + 8.756944444444445 + 3.620740277777778 + 2.555555555555555 + 1.193158333333333 + 1.277777777777778 + 0.5965791666666667 + + + 2.555555555555555 + 1.054269444444444 + -0 + + + 1 + + + 1 + 0.0138889 + #ff0c1b + 0 + 0 + 0 + + + 1 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 1.193158333333334 + + + 2.555555555555555 + 1.193158333333334 + + + 2.555555555555555 + 0 + + + 0 + 0 + + + 0 + 1.193158333333334 + + + + 0 + + + + + -0 + 8.798611111111111 + 3.620742361111111 + 2.472222222222222 + 0.9776541666666666 + 1.236111111111111 + 0.4888270833333333 + + + 2.472222222222222 + 0.9776541666666666 + -0 + + + 1 + + + 0 + 0.0138889 + #ff0c1b + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.9776541666666674 + + + 2.472222222222222 + 0.9776541666666674 + + + 2.472222222222222 + 0 + + + 0 + 0 + + + 0 + 0.9776541666666674 + + + + 0 + + + 0 + 0 + 0 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + +function PhoneListCtrl($http) +{ + this.phones... + ... +} + + + + -0 + 8.715277777777779 + 2.418938888888889 + 1.277777777777778 + 0.6589 + 0.6388888888888888 + 0.32945 + + + 1.277777777777778 + 0.6589 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.6588999999999996 + + + 1.277777777777778 + 0.6588999999999996 + + + 1.277777777777778 + 0 + + + 0 + 0 + + + 0 + 0.6588999999999996 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 0 + 0 + + 0.25 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Controller + + + + -0 + 1.9375 + 4.309034722222222 + 3.597222222222222 + 4.048597222222223 + 1.798611111111111 + 2.024298611111111 + + + 3.597222222222222 + 3.909708333333334 + -0 + + + 1 + + + 1 + 0.0138889 + #f8ff29 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 4.048597222222223 + + + 3.597222222222222 + 4.048597222222223 + + + 3.597222222222222 + 0 + + + 0 + 0 + + + 0 + 4.048597222222223 + + + + 0 + + + + + -0 + 5.5625 + 2.439788888888889 + 0.9583333333333334 + 0.3101166666666667 + 0.4791666666666667 + 0.1550583333333333 + + + 0.9583333333333334 + 0.3101166666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3101166666666665 + + + 0.9583333333333334 + 0.3101166666666665 + + + 0.9583333333333334 + 0 + + + 0 + 0 + + + 0 + 0.3101166666666665 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 0 + 0 + + 0.25 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Model + + + + -0 + 0.3541666666666667 + 1.868027777777778 + 0.4305555555555556 + 0.01388888888888889 + 0.2152777777777778 + 0.006944444444444444 + + + 0.138888888888889 + 1.87497222222222 + 0.569444444444444 + 1.86108333333333 + + + 4 + 0 + 2 + 2 + 1 + + + 0.4305555555555556 + 0.01388888888888889 + -0 + + + 2 + + + 9 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.01388888888888889 + + + 0.4305555555555556 + 0 + + + + 0 + + + + + -0 + 1.763888888888889 + 1.852377083333333 + 2.166666666666667 + 0.2396347222222222 + 1.083333333333333 + 0.1198173611111111 + + + 2.166666666666667 + 0.1007458333333333 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.239634722222222 + + + 2.166666666666667 + 0.239634722222222 + + + 2.166666666666667 + 0 + + + 0 + 0 + + + 0 + 0.239634722222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Implicit Scope Declaration + + + + -0 + 1.361111111111111 + 5.733958333333334 + 2.194444444444445 + 0.3055555555555556 + 1.097222222222222 + 0.1527777777777778 + + + 2.194444444444445 + 0.1666666666666667 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #fff82f + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 2.194444444444445 + 0.3055555555555556 + + + 2.194444444444445 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + <html ng:app="phonecat"> + + + + -0 + 2.012152777777778 + 2.426666666666667 + 1.208333333333333 + 0.3055555555555556 + 0.6041666666666666 + 0.1527777777777778 + + + 1.208333333333333 + 0.3055555555555556 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 1.208333333333333 + 0.3055555555555556 + + + 1.208333333333333 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 0 + 0 + + 0.25 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Template + + + + -0 + 5.5625 + 3.645413888888889 + 2.138888888888889 + 1.211838888888888 + 1.069444444444444 + 0.6059194444444442 + + + 4 + 0 + 2 + 2 + 1 + + + 2.138888888888889 + 1.211838888888888 + -0 + + + 1 + + + 0 + + + + + -0 + 1.069444444444444 + 0.6059194444444442 + 2.138888888888889 + 1.211838888888889 + 1.069444444444444 + 0.6059194444444445 + + + 1.711111111111111 + 0.7093983333333331 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #ffffff + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 1.825655027777778 + 1.034368719127778 + + + 1.825655027777778 + 0.177470169761111 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.3132338611111112 + 0.177470169761111 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.3132338611111112 + 1.034368719127778 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 1.825655027777778 + 1.034368719127778 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + + + -0 + 1.126083333333333 + 0.8579187499999992 + 1.395583333333333 + 0.2819513888888889 + 0.6977916666666667 + 0.1409756944444444 + + + 1.395583333333333 + 0.1430625 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2819513888888897 + + + 1.395583333333333 + 0.2819513888888897 + + + 1.395583333333333 + 0 + + + 0 + 0 + + + 0 + 0.2819513888888897 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + PhoneListCtrl scope + + + + -0 + 1.240101388888889 + 0.6447187499999996 + 1.114952777777778 + 0.3443791666666667 + 0.557476388888889 + 0.1721895833333333 + + + 1.114952777777778 + 0.2054902777777778 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3443791666666666 + + + 1.114952777777778 + 0.3443791666666666 + + + 1.114952777777778 + 0 + + + 0 + 0 + + + 0 + 0.3443791666666666 + + + + 0 + + + + + + + -0 + 3.260426703622959 + 5.724365740476964 + 1.590297891634315 + 0.01388888888888889 + 0.7951489458171574 + 0.006944444444444444 + + + 2.4652777578058 + 5.73131018492141 + 4.05557564944012 + 5.72749613669886 + + + 4 + 0 + 2 + 0 + 1 + + + 1.590297891634315 + 0.01388888888888889 + -0 + + + 2 + + + 9 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 3.947459643111667e-16 + 0.01388888888888889 + + + 1.590297891634315 + 0.01007484066634411 + + + + 0 + + + + + -0 + 5.645833333333333 + 3.451427777777778 + 1.319444444444444 + 0.3101166666666667 + 0.6597222222222222 + 0.1550583333333333 + + + 1.319444444444444 + 0.1712277777777778 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3101166666666665 + + + 1.319444444444444 + 0.3101166666666665 + + + 1.319444444444444 + 0 + + + 0 + 0 + + + 0 + 0.3101166666666665 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + phones: Array + + + + -0 + 4.479166666666667 + 1.854138888888889 + 0.4861111111111111 + 0.01388888888888889 + 0.2430555555555556 + 0.006944444444444444 + + + 4.23611111111111 + 1.86108333333333 + 4.72222222222222 + 1.86108333333333 + + + 4 + 0 + 2 + 2 + 1 + + + 0.4861111111111111 + 0.01388888888888889 + -0 + + + 2 + + + 1 + 0.0277778 + #17ff1c + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.01388888888888889 + + + 0.4861111111111111 + 0.01388888888888889 + + + + 0 + + + + + -0 + 5.590277777777778 + 1.852377083333333 + 1.625 + 0.2396347222222222 + 0.8125 + 0.1198173611111111 + + + 1.625 + 0.1007458333333333 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.239634722222222 + + + 1.625 + 0.239634722222222 + + + 1.625 + 0 + + + 0 + 0 + + + 0 + 0.239634722222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Scope Inheritance + + + + -0 + 5.090277777777778 + 2.118055555555555 + 9.958333333333334 + 0.01388888888888889 + 4.979166666666667 + 0.006944444444444444 + + + 0.111111111111111 + 2.11111111111111 + 10.0694444444444 + 2.125 + + + 4 + 0 + 2 + 2 + 1 + + + 9.958333333333334 + 0.01388888888888889 + -0 + + + 2 + + + 1 + 0.0277778 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0 + + + 9.958333333333334 + 0.01388888888888889 + + + + 0 + + + + + -0 + 1.270833333333333 + 3.628020833333334 + 1.944444444444444 + 0.6632916666666666 + 0.9722222222222222 + 0.3316458333333333 + + + 1.944444444444444 + 0.5244027777777778 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #fff82f + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.6632916666666659 + + + 1.944444444444444 + 0.6632916666666659 + + + 1.944444444444444 + 0 + + + 0 + 0 + + + 0 + 0.6632916666666659 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + <body ng:controller = + "PhoneListCtrl" + ... +> + + + + -0 + 3.368068888269159 + 3.634106227368514 + 2.236137890580627 + 0.01388888888888889 + 1.118068945290314 + 0.006944444444444444 + + + 2.24999994297885 + 3.63198885028707 + 4.48613783355947 + 3.64105067181296 + + + 4 + 0 + 2 + 0 + 1 + + + 2.236137890580627 + 0.01388888888888889 + -0 + + + 2 + + + 9 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.004827067363000499 + + + 2.236137890580627 + 0.01388888888888889 + + + + 0 + + + + + -0 + 7.968333333333334 + 1.854166666666667 + 0.5269722222222223 + 0.01388888888888889 + 0.2634861111111111 + 0.006944444444444444 + + + 7.70484722222222 + 1.86111111111111 + 8.23181944444445 + 1.86108333333333 + + + 4 + 0 + 2 + 2 + 1 + + + 0.5269722222222223 + 0.01388888888888889 + -0 + + + 2 + + + 1 + 0.0555556 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.01388888888888889 + + + 0.5269722222222223 + 0.01386111111111098 + + + + 0 + + + + + -0 + 9.174277777777778 + 1.852377083333333 + 1.790333333333333 + 0.2396347222222222 + 0.8951666666666667 + 0.1198173611111111 + + + 1.790333333333333 + 0.1007458333333333 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.239634722222222 + + + 1.790333333333333 + 0.239634722222222 + + + 1.790333333333333 + 0 + + + 0 + 0 + + + 0 + 0.239634722222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Dependency Injection + + + + -0 + 3.402777777777778 + 5.859210416666667 + 1.319444444444444 + 0.2396347222222222 + 0.6597222222222222 + 0.1198173611111111 + + + 1.319444444444444 + 0.2396347222222222 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2396347222222222 + + + 1.319444444444444 + 0.2396347222222222 + + + 1.319444444444444 + 0 + + + 0 + 0 + + + 0 + 0.2396347222222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 2 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + ng:app + + + + -0 + 3.527777777777778 + 3.736111111111111 + 1.444444444444444 + 0.2083333333333333 + 0.7222222222222222 + 0.1041666666666667 + + + 1.444444444444444 + 0.2083333333333333 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2083333333333333 + + + 1.444444444444444 + 0.2083333333333333 + + + 1.444444444444444 + 0 + + + 0 + 0 + + + 0 + 0.2083333333333333 + + + + 0 + + + 0.0694444 + 0.0694444 + 2 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + ng:controller + + + + -0 + 8.909567683277144 + 6.381116687184051 + 0.3630590778901548 + 0.5155444034096764 + 0.1815295389450774 + 0.2577722017048382 + + + 8.72803814433207 + 6.12334448547921 + 9.09109722222222 + 6.63888888888889 + + + 4 + 0 + 2 + 0 + 1 + + + 0.3630590778901548 + 0.5155444034096764 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 1.973729821555834e-16 + + + 0.3630590778901548 + 0.5155444034096767 + + + + 0 + + + + + -0 + 7.055506605290054 + 3.630169320253716 + 0.8334316488044998 + 0.01388888888888889 + 0.4167158244022499 + 0.006944444444444444 + + + 7.4722224296923 + 3.63067127545127 + 6.6387907808878 + 3.63711376469816 + + + 4 + 0 + 2 + 0 + 1 + + + 0.8334316488044998 + 0.01388888888888889 + -0 + + + 2 + + + 9 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0.8334316488044998 + 0.007446399641995388 + + + 0 + 0.01388888888888889 + + + + 0 + + + + + -0 + 5.571491596466471 + 4.6448192793081 + 0.01388888888888889 + 0.773084631461554 + 0.006944444444444444 + 0.386542315730777 + + + 5.56454715202203 + 4.25827696357732 + 5.56712949354635 + 5.03136159503888 + + + 4 + 0 + 2 + 0 + 1 + + + 0.01388888888888889 + 0.773084631461554 + -0 + + + 2 + + + 1 + 0.0138889 + #6dff83 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0 + + + 0.002582341524326953 + 0.773084631461554 + + + + 0 + + + + + -0 + 2.680573589250113 + 5.730793835948325 + 0.3611111111111111 + 0.3055555555555556 + 0.1805555555555556 + 0.1527777777777778 + + + 0.2888888888888889 + 0.07499999999999998 + -0 + + + 1 + + + 1 + 0.0138889 + #65f9ff + 0 + 0 + 0 + + + 1 + #81ffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0.3082274722222221 + 0.2608078611111111 + + + 0.3082274722222221 + 0.04474769444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.05288363888888901 + 0.04474769444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.05288363888888901 + 0.2608078611111111 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 0.3082274722222221 + 0.2608078611111111 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + #81ffff + 0 + 0 + + + 0 + 0 + + 0.194444 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + 2 + + + + -0 + 8.865162625492255 + 6.318061442409235 + 0.3611111111111111 + 0.3055555555555556 + 0.1805555555555556 + 0.1527777777777778 + + + 0.2888888888888889 + 0.07499999999999998 + -0 + + + 1 + + + 1 + 0.0138889 + #65f9ff + 0 + 0 + 0 + + + 1 + #81ffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0.3082274722222217 + 0.2608078611111111 + + + 0.3082274722222217 + 0.04474769444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.05288363888888941 + 0.04474769444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.05288363888888941 + 0.2608078611111111 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 0.3082274722222217 + 0.2608078611111111 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + #81ffff + 0 + 0 + + + 0 + 0 + + 0.194444 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + 5 + + + + -0 + 9.194532515933263 + 4.565103808215821 + 0.9164905236890317 + 1.269096505320532 + 0.4582452618445159 + 0.634548252660266 + + + 8.73628725408875 + 5.19965206087609 + 9.65277777777778 + 3.93055555555556 + + + 4 + 0 + 2 + 0 + 1 + + + 0.9164905236890317 + 1.269096505320532 + -0 + + + 2 + + + 1 + 0.0555556 + 0 + 0 + 0 + 0 + 4 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + -1.578983857244667e-15 + 1.269096505320532 + + + 0.9164905236890301 + 0 + + + + 0 + + + + + -0 + 6.951388888888889 + 7.0625 + 0.9027777777777778 + 0.01388888888888889 + 0.4513888888888889 + 0.006944444444444444 + + + 7.40277777777778 + 7.06944444444444 + 6.5 + 7.06944444444444 + + + 4 + 0 + 2 + 2 + 1 + + + 0.9027777777777778 + 0.01388888888888889 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 1 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0.9027777777777778 + 0.01388888888888889 + + + 0 + 0.01388888888888889 + + + + 0 + + + + + -0 + 2.55727578079469 + 3.633234068130404 + 0.3611111111111111 + 0.3055555555555556 + 0.1805555555555556 + 0.1527777777777778 + + + 0.2888888888888889 + 0.07499999999999998 + -0 + + + 1 + + + 1 + 0.0138889 + #65f9ff + 0 + 0 + 0 + + + 1 + #81ffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0.3082274722222221 + 0.2608078611111111 + + + 0.3082274722222221 + 0.04474769444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.05288363888888901 + 0.04474769444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.05288363888888901 + 0.2608078611111111 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 0.3082274722222221 + 0.2608078611111111 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + #81ffff + 0 + 0 + + + 0 + 0 + + 0.194444 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + 3 + + + + -0 + 9.779333333333334 + 6.9198375 + 1.277777777777778 + 1.193158333333333 + 0.6388888888888888 + 0.5965791666666667 + + + 1.277777777777778 + 1.054269444444444 + -0 + + + 1 + + + 1 + 0.0138889 + #fb630e + 0 + 0 + 0 + + + 1 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 1.193158333333333 + + + 1.277777777777778 + 1.193158333333333 + + + 1.277777777777778 + 0 + + + 0 + 0 + + + 0 + 1.193158333333333 + + + + 0 + + + + + -0 + 9.755208333333334 + 7.384256944444445 + 1.277777777777778 + 0.1481527777777778 + 0.6388888888888888 + 0.07407638888888889 + + + 1.277777777777778 + 0.1481527777777778 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.1481527777777778 + + + 1.277777777777778 + 0.1481527777777778 + + + 1.277777777777778 + 0 + + + 0 + 0 + + + 0 + 0.1481527777777778 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 0 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + ng module + + + + -0 + 9.803819444444445 + 6.779586111111112 + 0.75 + 0.6388888888888888 + 0.375 + 0.3194444444444444 + + + 0.75 + 0.6388888888888888 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.6388888888888888 + + + 0.75 + 0.6388888888888888 + + + 0.75 + 0 + + + 0 + 0 + + + 0 + 0.6388888888888888 + + + + 0 + + + 0 + 0 + 0 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + $http +$browser +$route +... + + + + -0 + 6.941194444444445 + 7.069444444444445 + 0.3611111111111111 + 0.3055555555555556 + 0.1805555555555556 + 0.1527777777777778 + + + 0.2888888888888889 + 0.07499999999999998 + -0 + + + 1 + + + 1 + 0.0138889 + #65f9ff + 0 + 0 + 0 + + + 1 + #81ffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0.3082274722222225 + 0.2608078611111111 + + + 0.3082274722222225 + 0.04474769444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.05288363888888862 + 0.04474769444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.05288363888888862 + 0.2608078611111111 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 0.3082274722222225 + 0.2608078611111111 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + #81ffff + 0 + 0 + + + 0 + 0 + + 0.194444 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + 1 + + + + -0 + 0.6736111111111112 + 2.857255555555556 + 0.8194444444444444 + 0.4089611111111111 + 0.4097222222222222 + 0.2044805555555556 + + + 0.8194444444444444 + 0.2700722222222222 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #fff82f + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.4089611111111111 + + + 0.8194444444444444 + 0.4089611111111111 + + + 0.8194444444444444 + 0 + + + 0 + 0 + + + 0 + 0.4089611111111111 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + ... +</html> + + + + -0 + 4.476354166666667 + 7.088868055555555 + 3.977430555555555 + 0.8026527777777778 + 1.988715277777778 + 0.4013263888888889 + + + 3.977430555555555 + 0.6637638888888888 + -0 + + + 1 + + + 1 + 0.0138889 + #ff6f32 + 0 + 0 + 0 + + + 1 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.8026527777777778 + + + 3.977430555555555 + 0.8026527777777778 + + + 3.977430555555555 + 0 + + + 0 + 0 + + + 0 + 0.8026527777777778 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + var phonecat = angular.module('phonecat', []); + + + + -0 + 8.910539456614741 + 4.958358937211254 + 0.3611111111111111 + 0.2726402777777778 + 0.1805555555555556 + 0.1363201388888889 + + + 0.2888888888888889 + 0.05195930555555554 + -0 + + + 1 + + + 1 + 0.0138889 + #65f9ff + 0 + 0 + 0 + + + 1 + #81ffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0.3082274722222217 + 0.2327129270180552 + + + 0.3082274722222217 + 0.0399273507597222 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.05288363888888941 + 0.0399273507597222 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.05288363888888941 + 0.2327129270180552 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 0.3082274722222217 + 0.2327129270180552 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + #81ffff + 0 + 0 + + + 0 + 0 + + 0.194444 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + 4 + + + + -0 + 9.222408448149841 + 4.526503029217899 + 0.3611111111111111 + 0.3055555555555556 + 0.1805555555555556 + 0.1527777777777778 + + + 0.2888888888888889 + 0.07499999999999998 + -0 + + + 1 + + + 1 + 0.0138889 + #65f9ff + 0 + 0 + 0 + + + 1 + #81ffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0.3082274722222217 + 0.2608078611111111 + + + 0.3082274722222217 + 0.04474769444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.05288363888888941 + 0.04474769444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.05288363888888941 + 0.2608078611111111 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 0.3082274722222217 + 0.2608078611111111 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + #81ffff + 0 + 0 + + + 0 + 0 + + 0.194444 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + 6 + + + + -0 + 8.402777777777779 + 5.661474305555555 + 1.444444444444444 + 0.9123847222222222 + 0.7222222222222222 + 0.4561923611111111 + + + 1.155555555555556 + 0.7734958333333333 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0.216666666666667 + 0.912384722222222 + + + 1.227777777777777 + 0.912384722222222 + + + 1.444444444444444 + 0.4561923611111109 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.932800,1.000000,0,1, 1.000000,0.776000,0,1) + + + 1.227777777777777 + 0 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.000000,0.224000,0,1, 0.932800,0.000000,0,1) + + + 0.216666666666667 + 0 + + + 0 + 0.4561923611111109 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.067200,0.000000,0,1, 0.000000,0.224000,0,1) + + + 0.216666666666667 + 0.912384722222222 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.000000,0.776000,0,1, 0.067200,1.000000,0,1) + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Injector + + + + -0 + 8.402770833333333 + 5.534597222222222 + 1.026041666666667 + 0.4305555555555556 + 0.5130208333333334 + 0.2152777777777778 + + + 0.8208333333333333 + 0.1625 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0.8757809427083332 + 0.367501986111111 + + + 0.8757809427083332 + 0.06305356944444461 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.1502607239583335 + 0.06305356944444461 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.1502607239583335 + 0.367501986111111 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 0.8757809427083332 + 0.367501986111111 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Instances Cache + + + + -0 + 7.743055555555555 + 6.042 + 0.3611111111111111 + 0.3055555555555556 + 0.1805555555555556 + 0.1527777777777778 + + + 0.2888888888888889 + 0.07499999999999998 + -0 + + + 1 + + + 1 + 0.0138889 + #65f9ff + 0 + 0 + 0 + + + 1 + #81ffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0.3082274722222217 + 0.2608078611111111 + + + 0.3082274722222217 + 0.04474769444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.05288363888888941 + 0.04474769444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.05288363888888941 + 0.2608078611111111 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 0.3082274722222217 + 0.2608078611111111 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.194444 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + 2 + + + + -0 + 7.859618055555556 + 7.078197916666666 + 0.8290416666666667 + 0.7169569444444445 + 0.4145208333333333 + 0.3584784722222222 + + + 0.8290416666666667 + 0.5780680555555555 + -0 + + + 1 + + + 1 + 0.0138889 + #fb630e + 0 + 0 + 0 + + + 1 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.7169569444444446 + + + 0.8290416666666671 + 0.7169569444444446 + + + 0.8290416666666671 + 0 + + + 0 + 0 + + + 0 + 0.7169569444444446 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Modules + + + + -3.141593 + 8.702055555555555 + 7.076388888888889 + 0.8458888888888888 + 0.01388888888888889 + 0.4229444444444444 + 0.006944444444444444 + + + 8.27911111111111 + 7.06944444444444 + 9.125 + 7.08333333333333 + + + 4 + 0 + 2 + 2 + 1 + + + 0.8458888888888888 + 0.01388888888888889 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 1 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0.8458888888888888 + 0.01388888888888879 + + + 0 + 0 + + + + 0 + + + + + -0 + 8.742861111111111 + 7.077058333333333 + 0.3611111111111111 + 0.3055555555555556 + 0.1805555555555556 + 0.1527777777777778 + + + 0.2888888888888889 + 0.07499999999999998 + -0 + + + 1 + + + 1 + 0.0138889 + #65f9ff + 0 + 0 + 0 + + + 1 + #81ffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0.3082274722222217 + 0.2608078611111111 + + + 0.3082274722222217 + 0.04474769444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.05288363888888941 + 0.04474769444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.05288363888888941 + 0.2608078611111111 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 0.3082274722222217 + 0.2608078611111111 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + #81ffff + 0 + 0 + + + 0 + 0 + + 0.194444 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + 1 + + + + + + + + + + + + + + + + + + + 0 + 0 + 1 + 0 + 12 + 52 + 0.5 + + + diff --git a/images/docs/guide/dom_scope.graffle b/images/docs/guide/dom_scope.graffle index 14dcfa1d2f7b..dbd09235de42 100644 --- a/images/docs/guide/dom_scope.graffle +++ b/images/docs/guide/dom_scope.graffle @@ -1234,7 +1234,7 @@ {\colortbl;\red255\green255\blue255;} \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural -\f0\fs24 \cf0 Angular Scope} +\f0\fs24 \cf0 AngularJS Scope} VerticalPad 0 @@ -1594,7 +1594,7 @@ {\colortbl;\red255\green255\blue255;} \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural -\f0\fs24 \cf0 angular scope} +\f0\fs24 \cf0 AngularJS scope} @@ -1635,7 +1635,7 @@ {\colortbl;\red255\green255\blue255;} \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural -\f0\fs24 \cf0 angular scope} +\f0\fs24 \cf0 AngularJS scope} @@ -1676,7 +1676,7 @@ {\colortbl;\red255\green255\blue255;} \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural -\f0\fs24 \cf0 angular scope} +\f0\fs24 \cf0 AngularJS scope} @@ -1752,7 +1752,7 @@ {\colortbl;\red255\green255\blue255;} \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural -\f0\fs24 \cf0 angular root scope} +\f0\fs24 \cf0 AngularJS root scope} @@ -1865,7 +1865,7 @@ {\colortbl;\red255\green255\blue255;} \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural -\f0\fs28 \cf0 Angular Scopes} +\f0\fs28 \cf0 AngularJS Scopes} diff --git a/images/docs/guide/dom_scope.svg b/images/docs/guide/dom_scope.svg new file mode 100644 index 000000000000..7dac60b7342e --- /dev/null +++ b/images/docs/guide/dom_scope.svg @@ -0,0 +1,3 @@ + + + Produced by OmniGraffle 6.5.2 2011-05-11 16:27:17 +0000Canvas 1Layer 1name: "Misko"AngularJS ScopesData Model<html>angular root scopeangular scopeangular scopeangular scoperepeater scopeKey:<...>ngAngularJS ScopeDOM Node<ul ng:init="name='Hank'; names=['Igor',...]">name: "Hank"name: "Kai"name: "Gail"name: "Igor"names: "['Igor', 'Misko', 'Gail', Kai']"Scope Propertythis<LI> Repeater<LI> Repeater<LI> Repeater<li ng:repeat= "name in names"> Name = {{ name }}!Templateng:autobind Implicit Scope Declarationng:repeat</html>Binding Point Between Data & View{{ ... }} diff --git a/images/docs/guide/dom_scope.vdx b/images/docs/guide/dom_scope.vdx new file mode 100644 index 000000000000..f6aa31cc8f73 --- /dev/null +++ b/images/docs/guide/dom_scope.vdx @@ -0,0 +1,4587 @@ + + + + 12 + 52 + + + 8 + 10.1806 + 0 + 0.25 + 0.25 + 0.25 + 0.569444 + 1 + 1 + + + + + + + + + + + + + + 0.111111 + 0.111111 + + + 1 + 1 + 8 + 10.1806 + 3 + 0 + -0.0277778 + + + Layer 1 + 1 + 1 + 0 + + + + + + -0 + 6.965277777777778 + 6.611111111111111 + 1.902777777777778 + 0.2777777777777778 + 0.9513888888888888 + 0.1388888888888889 + + + 1.522222222222222 + 0.1388888888888889 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0.2854166666666668 + 0.2777777777777778 + + + 1.617361111111112 + 0.2777777777777778 + + + 1.902777777777778 + 0.1388888888888889 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.932800,1.000000,0,1, 1.000000,0.776000,0,1) + + + 1.617361111111112 + 0 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.000000,0.224000,0,1, 0.932800,0.000000,0,1) + + + 0.2854166666666668 + 0 + + + 0 + 0.1388888888888889 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.067200,0.000000,0,1, 0.000000,0.224000,0,1) + + + 0.2854166666666668 + 0.2777777777777778 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.000000,0.776000,0,1, 0.067200,1.000000,0,1) + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + name: "Misko" + + + + -0 + 5.437516575569735 + 6.601709696878245 + 1.138942182233639 + 0.01388888888888889 + 0.5694710911168196 + 0.006944444444444444 + + + 6.00698766668656 + 6.60865414132269 + 4.86804548445292 + 6.60573399584679 + + + 4 + 0 + 2 + 0 + 2 + + + 1.138942182233639 + 0.01388888888888889 + -0 + + + 2 + + + 1 + 0.0555556 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 1.138942182233639 + 0.01388888888888889 + + + 0 + 0.01096874341298578 + + + + 0 + + + + + -0 + 4.243055555555555 + 4.979166666666667 + 1.597222222222222 + 0.2361111111111111 + 0.7986111111111112 + 0.1180555555555556 + + + 1.597222222222222 + 0.09722222222222222 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #91ff9d + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2361111111111111 + + + 1.597222222222222 + 0.2361111111111111 + + + 1.597222222222222 + 0 + + + 0 + 0 + + + 0 + 0.2361111111111111 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.194444 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + AngularJS Scopes + + + + -0 + 7.006944444444445 + 4.986111111111111 + 1.263888888888889 + 0.25 + 0.6319444444444444 + 0.125 + + + 1.263888888888889 + 0.1111111111111111 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #fdfffc + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.25 + + + 1.263888888888889 + 0.25 + + + 1.263888888888889 + 0 + + + 0 + 0 + + + 0 + 0.25 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.194444 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Data Model + + + + -0 + 0.7708333333333334 + 9.125 + 0.9583333333333334 + 0.5277777777777778 + 0.4791666666666667 + 0.2638888888888889 + + + 0.9583333333333334 + 0.3888888888888889 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #fff82f + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.5277777777777778 + + + 0.9583333333333334 + 0.5277777777777778 + + + 0.9583333333333334 + 0 + + + 0 + 0 + + + 0 + 0.5277777777777778 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + <html> + + + + -0 + 4.083333333333333 + 9.125 + 1.972222222222222 + 0.5277777777777778 + 0.9861111111111112 + 0.2638888888888889 + + + 1.577777777777778 + 0.2305555555555555 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #ffffff + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 1.683396194444444 + 0.4504863055555556 + + + 1.683396194444444 + 0.07729147222222228 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.2888260277777779 + 0.07729147222222228 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.2888260277777779 + 0.4504863055555556 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 1.683396194444444 + 0.4504863055555556 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + angular root scope + + + + -0 + 2.173610864583334 + 9.118055555555555 + 1.833332840277781 + 0.01388888888888889 + 0.9166664201388903 + 0.006944444444444444 + + + 1.25694444444444 + 9.125 + 3.09027728472222 + 9.125 + + + 4 + 0 + 2 + 0 + 2 + + + 1.833332840277781 + 0.01388888888888889 + -0 + + + 2 + + + 9 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.01388888888888889 + + + 1.833332840277781 + 0.01388888888888889 + + + + 0 + + + + + -0 + 4.006944444444445 + 6.854166666666667 + 1.208333333333333 + 0.5277777777777778 + 0.6041666666666666 + 0.2638888888888889 + + + 0.9666666666666668 + 0.2305555555555555 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #ffffff + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 1.031376541666667 + 0.4504863055555555 + + + 1.031376541666667 + 0.07729147222222228 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.1769567916666664 + 0.07729147222222228 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.1769567916666664 + 0.4504863055555555 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 1.031376541666667 + 0.4504863055555555 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + angular scope + + + + -0 + 4.131944444444445 + 6.729166666666667 + 1.208333333333333 + 0.5277777777777778 + 0.6041666666666666 + 0.2638888888888889 + + + 0.9666666666666668 + 0.2305555555555555 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #ffffff + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 1.031376541666667 + 0.4504863055555555 + + + 1.031376541666667 + 0.07729147222222189 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.1769567916666664 + 0.07729147222222189 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.1769567916666664 + 0.4504863055555555 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 1.031376541666667 + 0.4504863055555555 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + angular scope + + + + -0 + 4.256944444444445 + 6.604166666666667 + 1.208333333333333 + 0.5277777777777778 + 0.6041666666666666 + 0.2638888888888889 + + + 0.9666666666666668 + 0.2305555555555555 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #ffffff + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 1.031376541666667 + 0.4504863055555555 + + + 1.031376541666667 + 0.07729147222222189 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.1769567916666664 + 0.07729147222222189 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.1769567916666664 + 0.4504863055555555 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 1.031376541666667 + 0.4504863055555555 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + angular scope + + + + -0 + 4.409722222222222 + 6.479166666666667 + 1.263888888888889 + 0.5277777777777778 + 0.6319444444444444 + 0.2638888888888889 + + + 1.011111111111111 + 0.2305555555555555 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #ffffff + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 1.078796152777778 + 0.4504863055555555 + + + 1.078796152777778 + 0.07729147222222189 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.1850927361111114 + 0.07729147222222189 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.1850927361111114 + 0.4504863055555555 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 1.078796152777778 + 0.4504863055555555 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + repeater scope + + + + -0 + 4.045138606586067 + 7.989574494416975 + 0.05816922789910153 + 1.729213182587807 + 0.02908461394955077 + 0.8646065912939033 + + + 4.07422322053562 + 8.85418108571088 + 4.01605399263652 + 7.12496790312307 + + + 4 + 0 + 2 + 0 + 2 + + + 0.05816922789910153 + 1.729213182587807 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0.05816922789910153 + 1.729213182587807 + + + 0 + 0 + + + + 0 + + + + + -0 + 4.107638907330827 + 7.927080117156079 + 0.03762104049121796 + 1.854183424030814 + 0.01881052024560898 + 0.9270917120154072 + + + 4.08882838708522 + 8.85417182917149 + 4.12644942757644 + 6.99998840514067 + + + 4 + 0 + 2 + 0 + 2 + + + 0.03762104049121796 + 1.854183424030814 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 1.854183424030814 + + + 0.03762104049121796 + -3.947459643111667e-16 + + + + 0 + + + + + -0 + 4.170141470904184 + 7.864546311032108 + 0.1363197698883098 + 1.979362322970406 + 0.06815988494415492 + 0.9896811614852032 + + + 4.10198158596003 + 8.85422747251731 + 4.23830135584834 + 6.87486514954691 + + + 4 + 0 + 2 + 0 + 2 + + + 0.1363197698883098 + 1.979362322970406 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 1.979362322970406 + + + 0.1363197698883098 + 3.947459643111667e-16 + + + + 0 + + + + + -0 + 4.246540384202665 + 7.801981087448313 + 0.2596424152345631 + 2.104760940328184 + 0.1298212076172815 + 1.052380470164092 + + + 4.11671917658538 + 8.85436155761241 + 4.37636159181995 + 6.74960061728422 + + + 4 + 0 + 2 + 0 + 2 + + + 0.2596424152345631 + 2.104760940328184 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 2.104760940328184 + + + 0.2596424152345631 + 0 + + + + 0 + + + + + -0 + 2.138888888888889 + 3.34375 + 3.944444444444445 + 2.354166666666667 + 1.972222222222222 + 1.177083333333333 + + + 3.944444444444445 + 2.215277777777778 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 2.354166666666667 + + + 3.944444444444445 + 2.354166666666667 + + + 3.944444444444445 + 0 + + + 0 + 0 + + + 0 + 2.354166666666667 + + + + 0 + + + + + -0 + 0.4097222222222222 + 4.409722222222222 + 0.625 + 0.1944444444444444 + 0.3125 + 0.09722222222222222 + + + 0.625 + 0.1944444444444444 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.1944444444444444 + + + 0.625 + 0.1944444444444444 + + + 0.625 + 0 + + + 0 + 0 + + + 0 + 0.1944444444444444 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Key: + + + + -0 + 0.8194444444444444 + 4.034722222222222 + 0.5555555555555556 + 0.2777777777777778 + 0.2777777777777778 + 0.1388888888888889 + + + 0.5555555555555556 + 0.1388888888888889 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #fff82f + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2777777777777778 + + + 0.5555555555555556 + 0.2777777777777778 + + + 0.5555555555555556 + 0 + + + 0 + 0 + + + 0 + 0.2777777777777778 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + <...> + + + + -0 + 0.8194444444444444 + 3.576388888888889 + 0.5555555555555556 + 0.2777777777777778 + 0.2777777777777778 + 0.1388888888888889 + + + 0.4444444444444444 + 0.05555555555555555 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #ffffff + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0.4741961111111112 + 0.2370980555555554 + + + 0.4741961111111112 + 0.04067972222222238 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.08135944444444447 + 0.04067972222222238 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.08135944444444447 + 0.2370980555555554 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 0.4741961111111112 + 0.2370980555555554 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + ng + + + + -0 + 1.979166666666667 + 3.576388888888889 + 1.208333333333333 + 0.1944444444444444 + 0.6041666666666666 + 0.09722222222222222 + + + 1.208333333333333 + 0.1944444444444444 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.1944444444444444 + + + 1.208333333333333 + 0.1944444444444444 + + + 1.208333333333333 + 0 + + + 0 + 0 + + + 0 + 0.1944444444444444 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + AngularJS Scope + + + + -0 + 1.902777777777778 + 4.034722222222222 + 1.055555555555556 + 0.1944444444444444 + 0.5277777777777778 + 0.09722222222222222 + + + 1.055555555555556 + 0.1944444444444444 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.1944444444444444 + + + 1.055555555555556 + 0.1944444444444444 + + + 1.055555555555556 + 0 + + + 0 + 0 + + + 0 + 0.1944444444444444 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + DOM Node + + + + -0 + 1.509555555555556 + 8.069437499999999 + 2.185777777777778 + 0.8055416666666667 + 1.092888888888889 + 0.4027708333333334 + + + 2.185777777777778 + 0.6666527777777778 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #f5ff36 + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.8055416666666668 + + + 2.185777777777778 + 0.8055416666666668 + + + 2.185777777777778 + 0 + + + 0 + 0 + + + 0 + 0.8055416666666668 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + <ul + ng:init="name='Hank'; + names=['Igor',...]"> + + + + -0 + 6.798611111111111 + 8.833333333333334 + 1.847222222222222 + 0.2777777777777778 + 0.9236111111111112 + 0.1388888888888889 + + + 1.477777777777778 + 0.1388888888888889 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0.2770833333333332 + 0.2777777777777778 + + + 1.570138888888888 + 0.2777777777777778 + + + 1.847222222222222 + 0.1388888888888889 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.932800,1.000000,0,1, 1.000000,0.776000,0,1) + + + 1.570138888888888 + 0 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.000000,0.224000,0,1, 0.932800,0.000000,0,1) + + + 0.2770833333333332 + 0 + + + 0 + 0.1388888888888889 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.067200,0.000000,0,1, 0.000000,0.224000,0,1) + + + 0.2770833333333332 + 0.2777777777777778 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.000000,0.776000,0,1, 0.067200,1.000000,0,1) + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + name: "Hank" + + + + -0 + 5.471439459893871 + 8.975894039069308 + 0.9316550856895797 + 0.1000754367044815 + 0.4658275428447898 + 0.05003771835224077 + + + 5.00561191704908 + 9.02593175742155 + 5.93726700273866 + 8.92585632071707 + + + 4 + 0 + 2 + 0 + 2 + + + 0.9316550856895797 + 0.1000754367044815 + -0 + + + 2 + + + 1 + 0.0555556 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.1000754367044815 + + + 0.9316550856895797 + 0 + + + + 0 + + + + + -0 + 6.993055555555555 + 7.444444444444445 + 1.847222222222222 + 0.2777777777777778 + 0.9236111111111112 + 0.1388888888888889 + + + 1.477777777777778 + 0.1388888888888889 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0.2770833333333332 + 0.2777777777777778 + + + 1.570138888888888 + 0.2777777777777778 + + + 1.847222222222222 + 0.1388888888888889 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.932800,1.000000,0,1, 1.000000,0.776000,0,1) + + + 1.570138888888888 + 0 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.000000,0.224000,0,1, 0.932800,0.000000,0,1) + + + 0.2770833333333332 + 0 + + + 0 + 0.1388888888888889 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.067200,0.000000,0,1, 0.000000,0.224000,0,1) + + + 0.2770833333333332 + 0.2777777777777778 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.000000,0.776000,0,1, 0.067200,1.000000,0,1) + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + name: "Kai" + + + + -0 + 6.993055555555555 + 7.027777777777778 + 1.902777777777778 + 0.2777777777777778 + 0.9513888888888888 + 0.1388888888888889 + + + 1.522222222222222 + 0.1388888888888889 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0.2854166666666668 + 0.2777777777777778 + + + 1.617361111111112 + 0.2777777777777778 + + + 1.902777777777778 + 0.1388888888888889 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.932800,1.000000,0,1, 1.000000,0.776000,0,1) + + + 1.617361111111112 + 0 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.000000,0.224000,0,1, 0.932800,0.000000,0,1) + + + 0.2854166666666668 + 0 + + + 0 + 0.1388888888888889 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.067200,0.000000,0,1, 0.000000,0.224000,0,1) + + + 0.2854166666666668 + 0.2777777777777778 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.000000,0.776000,0,1, 0.067200,1.000000,0,1) + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + name: "Gail" + + + + -0 + 6.993055555555555 + 6.1875 + 1.847222222222222 + 0.2777777777777778 + 0.9236111111111112 + 0.1388888888888889 + + + 1.477777777777778 + 0.1388888888888889 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0.2770833333333332 + 0.2777777777777778 + + + 1.570138888888888 + 0.2777777777777778 + + + 1.847222222222222 + 0.1388888888888889 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.932800,1.000000,0,1, 1.000000,0.776000,0,1) + + + 1.570138888888888 + 0 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.000000,0.224000,0,1, 0.932800,0.000000,0,1) + + + 0.2770833333333332 + 0 + + + 0 + 0.1388888888888889 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.067200,0.000000,0,1, 0.000000,0.224000,0,1) + + + 0.2770833333333332 + 0.2777777777777778 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.000000,0.776000,0,1, 0.067200,1.000000,0,1) + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + name: "Igor" + + + + -0 + 5.582789814505547 + 6.346723476681152 + 1.112047722749924 + 0.1255537162235601 + 0.556023861374962 + 0.06277685811178005 + + + 6.13881367588051 + 6.28394661856937 + 5.02676595313059 + 6.40950033479293 + + + 4 + 0 + 2 + 0 + 2 + + + 1.112047722749924 + 0.1255537162235601 + -0 + + + 2 + + + 1 + 0.0555556 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 1.112047722749924 + -7.894919286223335e-16 + + + 0 + 0.1255537162235593 + + + + 0 + + + + + -0 + 5.416344287641132 + 6.863217830208045 + 1.379572143938477 + 0.1439847131780011 + 0.6897860719692387 + 0.07199235658900054 + + + 6.10613035961037 + 6.93521018679705 + 4.72655821567189 + 6.79122547361904 + + + 4 + 0 + 2 + 0 + 2 + + + 1.379572143938477 + 0.1439847131780011 + -0 + + + 2 + + + 1 + 0.0555556 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 1.379572143938478 + 0.1439847131780011 + + + 7.894919286223335e-16 + 0 + + + + 0 + + + + + -0 + 5.428869156987641 + 7.135244763693553 + 1.729082326430182 + 0.3417953920413213 + 0.8645411632150908 + 0.1708976960206606 + + + 6.29341032020273 + 7.30614245971421 + 4.56432799377255 + 6.96434706767289 + + + 4 + 0 + 2 + 0 + 2 + + + 1.729082326430182 + 0.3417953920413213 + -0 + + + 2 + + + 1 + 0.0555556 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 1.729082326430182 + 0.3417953920413213 + + + 0 + 0 + + + + 0 + + + + + -0 + 0.75 + 10.09722222222222 + 0.02777777777777778 + 0.1666666666666667 + 0.01388888888888889 + 0.08333333333333333 + + + 0.02777777777777778 + 0.1666666666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.1666666666666667 + + + 0.02777777777777778 + 0.1666666666666667 + + + 0.02777777777777778 + 0 + + + 0 + 0 + + + 0 + 0.1666666666666667 + + + + 0 + + + + + -0 + 6.75 + 8.319444444444445 + 2.083333333333333 + 0.4444444444444444 + 1.041666666666667 + 0.2222222222222222 + + + 1.666666666666667 + 0.3055555555555556 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0.3125 + 0.4444444444444444 + + + 1.770833333333333 + 0.4444444444444444 + + + 2.083333333333333 + 0.2222222222222222 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.932800,1.000000,0,1, 1.000000,0.776000,0,1) + + + 1.770833333333333 + 0 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.000000,0.224000,0,1, 0.932800,0.000000,0,1) + + + 0.3125 + 0 + + + 0 + 0.2222222222222222 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.067200,0.000000,0,1, 0.000000,0.224000,0,1) + + + 0.3125 + 0.4444444444444444 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.000000,0.776000,0,1, 0.067200,1.000000,0,1) + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + names: "['Igor', 'Misko', 'Gail', Kai']" + + + + -0 + 5.375877442623509 + 8.73454335010994 + 1.263974731881246 + 0.3818263034961862 + 0.6319873659406229 + 0.1909131517480931 + + + 4.74389007668289 + 8.92545650185803 + 6.00786480856413 + 8.54363019836185 + + + 4 + 0 + 2 + 0 + 2 + + + 1.263974731881246 + 0.3818263034961862 + -0 + + + 2 + + + 1 + 0.0555556 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.3818263034961862 + + + 1.263974731881246 + 0 + + + + 0 + + + + + -0 + 1.979166666666667 + 2.854166666666667 + 1.208333333333333 + 0.1944444444444444 + 0.6041666666666666 + 0.09722222222222222 + + + 1.208333333333333 + 0.1944444444444444 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.1944444444444444 + + + 1.208333333333333 + 0.1944444444444444 + + + 1.208333333333333 + 0 + + + 0 + 0 + + + 0 + 0.1944444444444444 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Scope Property + + + + -0 + 0.8333333333333334 + 2.854166666666667 + 0.7222222222222222 + 0.2777777777777778 + 0.3611111111111111 + 0.1388888888888889 + + + 0.5777777777777778 + 0.1388888888888889 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0.1083333333333333 + 0.2777777777777778 + + + 0.6138888888888889 + 0.2777777777777778 + + + 0.7222222222222222 + 0.1388888888888889 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.932800,1.000000,0,1, 1.000000,0.776000,0,1) + + + 0.6138888888888889 + 0 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.000000,0.224000,0,1, 0.932800,0.000000,0,1) + + + 0.1083333333333333 + 0 + + + 0 + 0.1388888888888889 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.067200,0.000000,0,1, 0.000000,0.224000,0,1) + + + 0.1083333333333333 + 0.2777777777777778 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.000000,0.776000,0,1, 0.067200,1.000000,0,1) + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + this + + + + -0 + 3.126437970014337 + 6.427707036526166 + 1.294553760267219 + 0.05191226963589438 + 0.6472768801336096 + 0.02595613481794719 + + + 2.47916108988073 + 6.40175090170822 + 3.77371485014795 + 6.45366317134411 + + + 4 + 0 + 2 + 0 + 2 + + + 1.294553760267219 + 0.05191226963589438 + -0 + + + 2 + + + 9 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + -3.947459643111667e-16 + 0 + + + 1.294553760267219 + 0.05191226963589438 + + + + 0 + + + + + -0 + 3.000322055056071 + 6.578716340673741 + 1.29231362449717 + 0.02617366136462193 + 0.6461568122485851 + 0.01308683068231097 + + + 2.35416524280749 + 6.56562950999143 + 3.64647886730466 + 6.59180317135605 + + + 4 + 0 + 2 + 0 + 2 + + + 1.29231362449717 + 0.02617366136462193 + -0 + + + 2 + + + 9 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0 + + + 1.29231362449717 + 0.02617366136462193 + + + + 0 + + + + + -0 + 2.875322055056071 + 6.703716340673741 + 1.29231362449717 + 0.02617366136462154 + 0.6461568122485851 + 0.01308683068231077 + + + 2.22916524280749 + 6.69062950999143 + 3.52147886730466 + 6.71680317135605 + + + 4 + 0 + 2 + 0 + 2 + + + 1.29231362449717 + 0.02617366136462154 + -0 + + + 2 + + + 9 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 3.947459643111667e-16 + + + 1.29231362449717 + 0.02617366136462193 + + + + 0 + + + + + -0 + 2.750322055056071 + 6.828716340673741 + 1.29231362449717 + 0.02617366136462154 + 0.6461568122485851 + 0.01308683068231077 + + + 2.10416524280749 + 6.81562950999143 + 3.39647886730466 + 6.84180317135605 + + + 4 + 0 + 2 + 0 + 2 + + + 1.29231362449717 + 0.02617366136462154 + -0 + + + 2 + + + 9 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 3.947459643111667e-16 + + + 1.29231362449717 + 0.02617366136462193 + + + + 0 + + + + + -0 + 1.263888888888889 + 6.798611111111111 + 1.666666666666667 + 0.5277777777777778 + 0.8333333333333334 + 0.2638888888888889 + + + 1.666666666666667 + 0.3888888888888889 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #f4ff3a + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.5277777777777778 + + + 1.666666666666667 + 0.5277777777777778 + + + 1.666666666666667 + 0 + + + 0 + 0 + + + 0 + 0.5277777777777778 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + <LI> Repeater + + + + -0 + 1.388888888888889 + 6.673611111111111 + 1.666666666666667 + 0.5277777777777778 + 0.8333333333333334 + 0.2638888888888889 + + + 1.666666666666667 + 0.3888888888888889 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #f4ff3a + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.5277777777777778 + + + 1.666666666666667 + 0.5277777777777778 + + + 1.666666666666667 + 0 + + + 0 + 0 + + + 0 + 0.5277777777777778 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + <LI> Repeater + + + + -0 + 1.513888888888889 + 6.548611111111111 + 1.666666666666667 + 0.5277777777777778 + 0.8333333333333334 + 0.2638888888888889 + + + 1.666666666666667 + 0.3888888888888889 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #f4ff3a + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.5277777777777778 + + + 1.666666666666667 + 0.5277777777777778 + + + 1.666666666666667 + 0 + + + 0 + 0 + + + 0 + 0.5277777777777778 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + <LI> Repeater + + + + -0 + 1.638888888888889 + 6.368055555555555 + 1.666666666666667 + 0.6388888888888888 + 0.8333333333333334 + 0.3194444444444444 + + + 1.666666666666667 + 0.5 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #f4ff3a + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.6388888888888888 + + + 1.666666666666667 + 0.6388888888888888 + + + 1.666666666666667 + 0 + + + 0 + 0 + + + 0 + 0.6388888888888888 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + <li ng:repeat= + "name in names"> + Name = {{ name }}! + + + + -0 + 3.979166666666667 + 4.746527777777778 + 7.625 + 0.01388888888888889 + 3.8125 + 0.006944444444444444 + + + 0.166666666666667 + 4.73958333333333 + 7.5 + 4.75347222222222 + + + 4 + 0 + 0 + 2 + 2 + + + 7.625 + 0.01388888888888889 + -0 + + + 2 + + + 1 + 0.0277778 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0 + + + 7.625 + 0.01388888888888889 + + + 7.333333333333333 + 0.01388888888888889 + + + + 0 + + + + + -0 + 1.472222222222222 + 4.979166666666667 + 1.055555555555556 + 0.2361111111111111 + 0.5277777777777778 + 0.1180555555555556 + + + 1.055555555555556 + 0.09722222222222222 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #fff82f + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2361111111111111 + + + 1.055555555555556 + 0.2361111111111111 + + + 1.055555555555556 + 0 + + + 0 + 0 + + + 0 + 0.2361111111111111 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.194444 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Template + + + + -0 + 2.111111111111111 + 9.215277777777779 + 1.111111111111111 + 0.1944444444444444 + 0.5555555555555556 + 0.09722222222222222 + + + 1.111111111111111 + 0.05555555555555555 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.1944444444444444 + + + 1.111111111111111 + 0.1944444444444444 + + + 1.111111111111111 + 0 + + + 0 + 0 + + + 0 + 0.1944444444444444 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + ng:autobind + + + + -0 + 0.8469694444444444 + 3.215277777777778 + 0.6383833333333333 + 0.01388888888888889 + 0.3191916666666667 + 0.006944444444444444 + + + 0.527777777777778 + 3.22222222222222 + 1.16616111111111 + 3.22222222222222 + + + 4 + 0 + 2 + 2 + 1 + + + 0.6383833333333333 + 0.01388888888888889 + -0 + + + 2 + + + 9 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.01388888888888889 + + + 0.6383833333333333 + 0.01388888888888889 + + + + 0 + + + + + -0 + 2.351558333333334 + 3.227404861111111 + 2.185777777777778 + 0.2396347222222222 + 1.092888888888889 + 0.1198173611111111 + + + 2.185777777777778 + 0.1007458333333333 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.239634722222222 + + + 2.185777777777778 + 0.239634722222222 + + + 2.185777777777778 + 0 + + + 0 + 0 + + + 0 + 0.239634722222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Implicit Scope Declaration + + + + -0 + 3.125 + 6.3125 + 1.111111111111111 + 0.1944444444444444 + 0.5555555555555556 + 0.09722222222222222 + + + 1.111111111111111 + 0.05555555555555555 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.1944444444444444 + + + 1.111111111111111 + 0.1944444444444444 + + + 1.111111111111111 + 0 + + + 0 + 0 + + + 0 + 0.1944444444444444 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + ng:repeat + + + + -0 + 0.7708333333333334 + 5.572916666666667 + 0.9583333333333334 + 0.5277777777777778 + 0.4791666666666667 + 0.2638888888888889 + + + 0.9583333333333334 + 0.3888888888888889 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #fff82f + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.5277777777777778 + + + 0.9583333333333334 + 0.5277777777777778 + + + 0.9583333333333334 + 0 + + + 0 + 0 + + + 0 + 0.5277777777777778 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + </html> + + + + -0 + 2.8125 + 2.395833333333333 + 2.875 + 0.1944444444444444 + 1.4375 + 0.09722222222222222 + + + 2.875 + 0.1944444444444444 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.1944444444444444 + + + 2.875 + 0.1944444444444444 + + + 2.875 + 0 + + + 0 + 0 + + + 0 + 0.1944444444444444 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Binding Point Between Data & View + + + + -0 + 0.8055555555555556 + 2.395833333333333 + 0.5 + 0.1944444444444444 + 0.25 + 0.09722222222222222 + + + 0.5 + 0.1944444444444444 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.1944444444444444 + + + 0.5 + 0.1944444444444444 + + + 0.5 + 0 + + + 0 + 0 + + + 0 + 0.1944444444444444 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + {{ ... }} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + 0 + 1 + 0 + 12 + 52 + 0.5 + + + diff --git a/images/docs/guide/form_data_flow.graffle b/images/docs/guide/form_data_flow.graffle index f47217fdd0db..e36a39888ae8 100644 --- a/images/docs/guide/form_data_flow.graffle +++ b/images/docs/guide/form_data_flow.graffle @@ -6,8 +6,8 @@ 0 ApplicationVersion - com.omnigroup.OmniGrafflePro - 138.30.0.155892 + com.omnigroup.OmniGraffle6 + 169.10.0.256984 AutoAdjust @@ -21,11 +21,6 @@ 2 Style - shadow - - Draws - NO - stroke Draws @@ -33,6 +28,8 @@ + BaseZoom + 0 CanvasOrigin {0, 0} ColumnAlign @@ -40,13 +37,13 @@ ColumnSpacing 36 CreationDate - 2011-10-05 20:45:08 -0700 + 2011-10-06 03:45:08 +0000 Creator Miško Hevery DisplayScale - 1 0/72 in = 1 0/72 in + 1 in = 1 in GraphDocumentVersion - 6 + 12 GraphicsList @@ -60,8 +57,6 @@ Resize ID 28 - Shape - Rectangle Style fill @@ -85,16 +80,16 @@ Align 0 Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf360 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fmodern\fcharset0 CourierNewPS-BoldMT;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\b\fs24 \cf0 $validate} VerticalPad - 0 + 0.0 Wrap NO @@ -106,7 +101,7 @@ {0, 0} {0, 29} - {4.57764e-05, -29.0001} + {4.5776399999999998e-05, -29.0001} {0, 0} {0, 0} {0, 0} @@ -129,12 +124,19 @@ Style + shadow + + Draws + NO + stroke Bezier HeadArrow FilledArrow + Legacy + LineType 1 TailArrow @@ -160,8 +162,6 @@ Resize ID 22 - Shape - Rectangle Style fill @@ -185,12 +185,12 @@ Align 0 Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf360 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;\f1\fmodern\fcharset0 CourierNewPS-BoldMT;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\fs24 \cf0 copy \f1\b $modelValue @@ -199,7 +199,7 @@ to model \f1\b property\ $validate} VerticalPad - 0 + 0.0 @@ -209,8 +209,6 @@ $validate} ShapedGraphic ID 21 - Shape - Rectangle Style fill @@ -234,21 +232,21 @@ $validate} Align 0 Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf360 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;\f1\fmodern\fcharset0 CourierNewPS-BoldMT;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\fs24 \cf0 DOM Event\ -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f1\b \cf0 $emit(\ '$viewChange', \ value)} VerticalPad - 0 + 0.0 Wrap NO @@ -264,8 +262,6 @@ $validate} Resize ID 19 - Shape - Rectangle Style fill @@ -287,16 +283,16 @@ $validate} Text Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf360 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fmodern\fcharset0 CourierNewPS-BoldMT;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\b\fs24 \cf0 $render()} VerticalPad - 0 + 0.0 Wrap NO @@ -312,8 +308,6 @@ $validate} Resize ID 17 - Shape - Rectangle Style fill @@ -335,16 +329,16 @@ $validate} Text Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf360 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fmodern\fcharset0 CourierNewPS-BoldMT;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\b\fs24 \cf0 $parseView()} VerticalPad - 0 + 0.0 Wrap NO @@ -360,8 +354,6 @@ $validate} Resize ID 16 - Shape - Rectangle Style fill @@ -383,16 +375,16 @@ $validate} Text Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf360 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fmodern\fcharset0 CourierNewPS-BoldMT;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\b\fs24 \cf0 $parseModel()} VerticalPad - 0 + 0.0 Wrap NO @@ -408,8 +400,6 @@ $validate} Resize ID 15 - Shape - Rectangle Style fill @@ -433,18 +423,18 @@ $validate} Align 0 Pad - 0 + 0.0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf360 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fmodern\fcharset0 CourierNewPS-BoldMT;\f1\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\b\fs24 \cf0 $watch \f1\b0 \ callback} VerticalPad - 0 + 0.0 Wrap NO @@ -463,16 +453,23 @@ callback} 14 Points - {229.332, 257.285} + {229.15531305383581, 256.81702905473225} {216, 222} - {229.332, 186.715} + {229.33203814348695, 186.7152439688449} Style + shadow + + Draws + NO + stroke HeadArrow FilledArrow + Legacy + LineType 1 TailArrow @@ -501,16 +498,23 @@ callback} 13 Points - {229.332, 350.285} + {229.17059477670924, 349.81153687503729} {219, 320} - {229.332, 287.715} + {229.33203814348695, 287.7152439688449} Style + shadow + + Draws + NO + stroke HeadArrow FilledArrow + Legacy + LineType 1 TailArrow @@ -539,16 +543,23 @@ callback} 12 Points - {229.332, 479.49} - {214, 425.705} - {229.332, 380.715} + {229.19496849860738, 479.00891060262398} + {214, 425.70499999999998} + {229.33203814348695, 380.7152439688449} Style + shadow + + Draws + NO + stroke HeadArrow FilledArrow + Legacy + LineType 1 TailArrow @@ -577,16 +588,23 @@ callback} 11 Points - {313.668, 380.715} - {329, 418.705} - {313.668, 479.49} + {313.8550874978871, 381.178907903908} + {329, 418.70499999999998} + {313.66796185651305, 479.48975603115508} Style + shadow + + Draws + NO + stroke HeadArrow FilledArrow + Legacy + LineType 1 TailArrow @@ -613,16 +631,23 @@ callback} 10 Points - {313.668, 287.715} + {313.82910599113347, 288.18856510639387} {325, 321} - {313.668, 350.285} + {313.66796185651305, 350.2847560311551} Style + shadow + + Draws + NO + stroke HeadArrow FilledArrow + Legacy + LineType 1 TailArrow @@ -649,16 +674,23 @@ callback} 9 Points - {313.668, 186.715} + {313.83824493935902, 187.18535456607515} {325, 218} - {313.668, 257.285} + {313.66796185651305, 257.2847560311551} Style + shadow + + Draws + NO + stroke HeadArrow FilledArrow + Legacy + LineType 1 TailArrow @@ -691,8 +723,6 @@ callback} {1, 0} {-1, 0} - Shape - Rectangle Style fill @@ -700,11 +730,11 @@ callback} Color b - 0.302239 + 0.30223899999999998 g - 0.746867 + 0.74686699999999995 r - 0.964157 + 0.96415700000000004 shadow @@ -721,10 +751,10 @@ callback} Text Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf360 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\fs24 \cf0 DOM} @@ -747,8 +777,6 @@ callback} {1, 0} {-1, 0} - Shape - Rectangle Style fill @@ -756,11 +784,11 @@ callback} Color b - 0.59983 + 0.59982999999999997 g - 0.937216 + 0.93721600000000005 r - 0.609412 + 0.60941199999999995 shadow @@ -777,10 +805,10 @@ callback} Text Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf360 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fmodern\fcharset0 CourierNewPS-BoldMT;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\b\fs24 \cf0 $viewValue} @@ -803,8 +831,6 @@ callback} {1, 0} {-1, 0} - Shape - Rectangle Style fill @@ -812,11 +838,11 @@ callback} Color b - 0.59983 + 0.59982999999999997 g - 0.937216 + 0.93721600000000005 r - 0.609412 + 0.60941199999999995 shadow @@ -833,17 +859,17 @@ callback} Text Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf360 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fmodern\fcharset0 CourierNewPS-BoldMT;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\b\fs24 \cf0 $modelValue} Bounds - {{223, 477.205}, {97, 35}} + {{223, 477.20499999999998}, {97, 35}} Class ShapedGraphic ID @@ -859,8 +885,6 @@ callback} {1, 0} {-1, 0} - Shape - Rectangle Style fill @@ -868,11 +892,11 @@ callback} Color b - 0.59983 + 0.59982999999999997 g - 0.937216 + 0.93721600000000005 r - 0.609412 + 0.60941199999999995 shadow @@ -889,10 +913,10 @@ callback} Text Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf360 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fmodern\fcharset0 CourierNewPS-BoldMT;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 \f0\b\fs24 \cf0 property} @@ -915,8 +939,6 @@ callback} {1, 0} {-1, 0} - Shape - Rectangle Style fill @@ -924,11 +946,11 @@ callback} Color b - 1 + 1 g - 0.928021 + 0.92802099999999998 r - 0.860007 + 0.86000699999999997 shadow @@ -951,10 +973,10 @@ callback} Align 0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf360 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\b\fs28 \cf0 Widget (scope)} @@ -963,7 +985,7 @@ callback} Bounds - {{94, 454}, {365, 87.7054}} + {{94, 454}, {365, 87.705399999999997}} Class ShapedGraphic ID @@ -979,8 +1001,6 @@ callback} {1, 0} {-1, 0} - Shape - Rectangle Style fill @@ -988,11 +1008,11 @@ callback} Color b - 1 + 1 g - 0.930219 + 0.93021900000000002 r - 0.859335 + 0.85933499999999996 shadow @@ -1015,10 +1035,10 @@ callback} Align 0 Text - {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf360 + {\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf340 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0 \f0\b\fs28 \cf0 Controller (scope)} @@ -1061,6 +1081,8 @@ callback} 0.0 layoutEngine dot + neatoLineLength + 0.20000000298023224 neatoSeparation 0.0 twopiSeparation @@ -1073,9 +1095,9 @@ callback} MasterSheets ModificationDate - 2011-10-05 21:16:40 -0700 + 2016-04-12 13:16:14 +0000 Modifier - Miško Hevery + Peter Bacon Darwin NotesVisible NO Orientation @@ -1091,15 +1113,30 @@ callback} float 41 + NSHorizonalPagination + + coded + BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG + NSLeftMargin float 18 + NSPaperName + + string + Letter + NSPaperSize + + size + {612, 792} + + NSPrintReverseOrientation coded - BAtzdHJlYW10eXBlZIHoA4QBQISEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAx7X05TU2l6ZT1mZn2WgWQCgRgDhg== + BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG NSRightMargin @@ -1114,1131 +1151,6 @@ callback} PrintOnePage - QuickLookPreview - - JVBERi0xLjMKJcTl8uXrp/Og0MTGCjUgMCBvYmoKPDwgL0xlbmd0aCA2IDAgUiAvRmls - dGVyIC9GbGF0ZURlY29kZSA+PgpzdHJlYW0KeAGlWsluHTcW3fMruDAQGWiXi1OxuI2c - AB3ASKctJAu7F+rn51hpyZJlxUH+Pudcjm/QgHSM4PGyOB6eO/BSn/VP+rOe8S/ERUfn - 9O1W/6I/6ZenX4zefNFG/n3Z6BfzFDT/Hxp+YDPLZvO0rouNflHzlHyY08qO6GbmVduY - 9JX2PkjpUvtgp+isSD4k/GZZykvQG7RA7Rwmm3xU7JC0SXEKmKL1NsnIdxm4CXnGJl5i - AfNklxX9c3OVfB8L5ToNZh2l+8q5FRZ5ieaqrrxOwp3WHW/0x1a+0h8Axw/4/zf9Vnv8 - +w8gf59RPn2jZ8UjeHOKszByGi/4w+PYXMkgPvgCIUsdQkpExy95lygrj91mCIONU5yD - kw5JBxcm76JrEAZv8neeTRMyhFUE/HV3tYpAtbFYrtMIOE0avwxlJa24SELYVl4n4Y4I - IX8rhCxf6TfgKvgGTMA3cuuzamDZuICaFhs0HhsEat+eaeMLll6/MBH00S+sn9ZAOpxd - 6Zffm2kG3mcf9Ft1cvqcFLf65Po52IzfT+X37nb/y2X5Un+3tUFpqU50afHu5Ev9tqmF - Ov5NadN6v3v+HLQ4+0F/d5Z3Ss2CPkGz1sU4rCp5590cseaiWQGknufZFG40sROkVZEZ - YfVUPCOUCUBE+mauOL8Umji3isZUNXVQVRKEv5kbKA20YD0OsnZjEWPJKbNQ5F7tpoT/ - VhiSvAAMlVpdXWGlQ1s/OdGESoxWQQXb1x1VdMeA5ZyxgNTEDlKrEkPjuX0osgghSF+Q - lqJbYwUpCZSoLbYLh0CQPH4zSCx13aFECHI3GiGOlUFCoci9ugJiygKoLK2urrCApNr6 - CVITKkit4pgKdXuTVcgvZgpgFME7rkLGwAuQc7sqdPLLc332W+bucBKPj7r4yc/JQkWP - D/xWn1wUVXlffn+VX3XSVOfu/1U4BdPyr+3tZntz9/v5pb69IJtMEvsRorbGZl2ht4jJ - w8DCfvzzyuhX19TVf28vz+8uvm5Pry+vby+utne3FxuFQaoXnadlTt5YUWIXLU6VvhRa - YMFLKLN1RRktzlsmuNJuXsqkpQ6K4ozLGtzaOTuXVj5NYtqGGph3WazudQ68RR3Haj1h - v+fFrsPo+CQ9+xpqzbjWUoexrE20GQaF0tNaV9ZVR+81ZQ2g/0GdOqg5bLPTjy6Me+Qa - 6owFCYxVV1VRPcSZWnJYS3vyNvvogczikqkZrYOHDQMnLGxLg6rVDcfV6hrofnUTXJVV - vYYRCsfa9KPxCcaIdcNxBXAwgUT9uALoyVaqraHWEKpKrVY3HFera+DV0ftBtDUMx9Xq - Wr/7a2A7h1Zlj8NxVSTQqhxXQ6utvdZgrOG4au3R4GC0bNmmAQqgWbT32zO4VvF/Z7DX - tkQKMEN2ndbZLzD22cJB83OQcHJze32zvb37sxu6wWZQ3Y/bDOcQ0j5qLmhzirnAwp5q - LtwaRupRHFgHsdPLxVWi7sY3F+mqurgwsOxiWCQKaBbHhbnzC8JILYoDqyi2I3dloF6B - iTadXg7izrcdYeAO1zvQpu6nskZx840wFHa4wopjUQKPpveCIemarJzYlY4AxAEfn/GB - wRMauWVHcx0Y1OFUDgEq7zx9sNV1k+EgDJpKcYQTYgclDzTil9i3Gj/Oe7+w05BWpTZV - LuT9VDgRxOHmVm0HhV04UfFYPFG0zi0IvUs8cVzlXALhF4aY+yr37Or6/fby5/PL3+Hr - S3ihBq2731N7+LPHte7vOWkfR5poipeqnSzFRhMf4Z947pUmnuwfREQXnSYIIcUEDoP5 - gSYewkATigNNKNbjrAO1CuUx0XD6FHvjfWFsKGahN837Af2arR5owq3v0CQjdRibj1qn - EMsMWqcpDkaMYkPPIjzl9W2oIPuriAs5bzFV1BZOdkfrbJq71lEY4KTY4VQU27brQL0C - Ew0ocd6db6MwOkArZqF/LftpcHK3Teso7MCJCvVErWNGQPwOovh7tI7hZVgX7ZSE8t3R - Pft6sf1jV+meFh4Hm6joiIztA5FxcXW83vJSG23wiLSnuEYTUkTJxRSTMWoMjIMkkXqA - A3EgCb+2Uw85n2SGmgUGaBAD48XePuTkSdPg4HE9q9E3hYElEMd4l1/baYYy0FBBfdgR - jwoqYEVjQ0kw9aZ1Q40m3G+jCYWRJipj9bDWaSNJlbZNigOgFCtAypTsUq3QRlJMXYyi - sdXEmTXfiRueZsXpFDwVhQFPil3rNMW27zpQr8BEHSZlIO582xF6Q1lv93UQ84E3OLFb - 1eDk1kc4C1KH6acjEWbg9Xn0dVbvhZe4wOHaNyNTkH0d7iwlvHz14+vm444mM4jnAuTN - iljC5EuHiRPTDsyOGm9pKQEJoLYuQbEpGDJLSnZhLiOHhCEyxQr3jpwqGpoFQS8CGOvj - tOJygS5lv5IFZnZSUm7OIEqIMxJCzKeZ6GCOnIH7Dkh/IHcD7BikcaVpmZFpxFLnID7u - I2r3OktANiMvOiMvOmTzWuqz9YDhm/yK7G+fziILsjIpM0xnPbYIPwgNHaYbOnNTNRG7 - f7GjT6oQ2xWZU4EYrjhDbHEVW+dEqxJKxMeEReS9udUgtyZglwa4S+Bk6P0NkhxzVI5X - 3wUpPI6aMAvCLDPlfBnXxg37lR4PYCLXx7wn1WxxMBAuwTQuJgOM5LhJi3LJYsdYQ93x - fu8PALcA3Pm6A3DuATTDggHH+bzFxKKfzuT5sFw4E2x6b77SG6ttCCsc6dEZM4ndCotf - SYybSVwBE1JcLiJ/6xBdSFDtZ9xsPUxurzFoXG/JtZXDQpkkJs7QEObu4M0crA6IDfxA - ziVNKfBxQVWckRIG4UEs7EkCEPDYGgOVWTgpemdmeYe0xuKQOEZCqMLMzgxcaufHYZbp - qDZLSDvT+QgkYDiYkoHecDqu1nikU8bpROdK54YyFecQZQnPkJfFSDFN8K644yD1bUEZ - jA0TBT7BMvgCMs7ZLAhgWgX4XDCudQrZK6wchGWGxyMhxlTnhKcehH9ovtiEY1sTrIf4 - Bi7Qgv4Lcl0a90GkpkR7rbXQWiiC53LE57CZNwZWiInaFZlu7vpY5/tBlqRMmw7+B0A7 - 2bVMh5WRYpLi7tMxeW6wo93pSucSZz1kLOg+BGTuz65yIyIW67qCilAUk2YYWdCKXIbu - EzhyrtRQs2EuugiIgQghCpb6PjPHjH1w0Jh4ZAn2bWF2VvRMMELMhWjfwRrD3vKcYRAS - QMRLz2QM3kDo+KDcCTTA+wH6S3BREGbENvS+H2GJ2Ikw57M4aL8iVhvms0l2vkh0VOaj - zZyZ/2gQ7/V+Mo9tQKKtQoxHnJWXfR8AFAMwaLmYC+sQ7y+wmr3G8lZeRWWhYHAcDNYR - eeKbBcY+wZcSYxsNHlewj+ixyY5xwJsW3sf8hELZMt6/rArIJ2EwXjkIMQy8xcMY1pKJ - nSHe63w/wpXD0sGAsL4wCnTAbFgYFmBcPVCZDS4AAbTwepitdH7kqoBQKyfyybOHrwrA - Bo9n/uCe8Mf53eYjcu9HEv9HR9/Js3FMBPly92hRELL9m/P6VIYHtvwm1wr/rTWtzeZ/ - 7dUMSfzBFiJGLeYNHhOu/d57EGKGdY4Ifnr2AQ+LeBU8eXZzfvtl+5opiHcnfJ47sk/o - Z0YRJuzhacC8OUJHD69bMs3PuHPdO4vBRVYeXaDle2el9gJM+EL4MxC2bwcOQrZzu/30 - fnt77ySIJbSMXwLY8bTgNPiGFvmSuhe44she1WP5sbzQvK4PMt993T5X+RDxoJoLd+3E - 4CSGE2vzP4hjX8khH7dXF3fvTo6fU93c0wY38z7Ztf5G7sWnH88//br95h/HaX98D/tn - 1PZgyy2g3721/sps1z1sYzyUs414BKgXjZ1zQlhZzqm80O2oFh6f8xnc1MKf2AdfnZW8 - Og+nsTvVg6ghf+fAUMc3PJBDvfy+7+dYBm889KPTDDvC2Cv+omTh2Hu2gs/sRzTysRFf - IB+ZMSoEGhECN+X1vwFViXzVavAKmTFsz4/FPMm7f3/B/3tYIrxdoL/w1fsEPHx+ePIM - agC0bx83w4PEz/nlxfvzu55shenIf7YyzNWfwWrSmX8Hw5i23b9zhWGWAg+c8hsZ60gJ - OU7cHOl7Ea0jrEEcjUOekTtktInrCONtXLokXD9+D0Uki6sQ/rKF0Sz+lkQiH0YBIAnE - ydicQUFElQKI6RHSp0XupvSTh50fc8ulByIEOGOYQOw1T4elIhyJEuPwmVimwxUZcY/c - TYfpaufH/DIoL7b+CSk8wn7oT2BB9k7xp78AQQi6fAplbmRzdHJlYW0KZW5kb2JqCjYg - MCBvYmoKMzIxNwplbmRvYmoKMyAwIG9iago8PCAvVHlwZSAvUGFnZSAvUGFyZW50IDQg - MCBSIC9SZXNvdXJjZXMgNyAwIFIgL0NvbnRlbnRzIDUgMCBSIC9NZWRpYUJveCBbMCAw - IDU3NiA3MzNdCj4+CmVuZG9iago3IDAgb2JqCjw8IC9Qcm9jU2V0IFsgL1BERiAvVGV4 - dCAvSW1hZ2VCIC9JbWFnZUMgL0ltYWdlSSBdIC9Db2xvclNwYWNlIDw8IC9DczIgOSAw - IFIKL0NzMyAxMCAwIFIgL0NzMSA4IDAgUiA+PiAvRm9udCA8PCAvRjMuMCAxNyAwIFIg - L0YyLjAgMTQgMCBSIC9GMS4wIDExIDAgUgo+PiAvWE9iamVjdCA8PCAvSW0xIDEyIDAg - UiAvSW0yIDE1IDAgUiA+PiA+PgplbmRvYmoKMTIgMCBvYmoKPDwgL0xlbmd0aCAxMyAw - IFIgL1R5cGUgL1hPYmplY3QgL1N1YnR5cGUgL0ltYWdlIC9XaWR0aCAyMzggL0hlaWdo - dCAxMTQgL0ludGVycG9sYXRlCnRydWUgL0NvbG9yU3BhY2UgMTggMCBSIC9JbnRlbnQg - L1BlcmNlcHR1YWwgL1NNYXNrIDE5IDAgUiAvQml0c1BlckNvbXBvbmVudAo4IC9GaWx0 - ZXIgL0ZsYXRlRGVjb2RlID4+CnN0cmVhbQp4Ae3QMQEAAADCoPVPbQwfiEBhwIABAwYM - GDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIAB - AwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBg - wIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYM - GDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIAB - AwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBg - wIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYM - GDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwMBzYD4DAAEKZW5k - c3RyZWFtCmVuZG9iagoxMyAwIG9iagozNzgKZW5kb2JqCjE1IDAgb2JqCjw8IC9MZW5n - dGggMTYgMCBSIC9UeXBlIC9YT2JqZWN0IC9TdWJ0eXBlIC9JbWFnZSAvV2lkdGggMjM4 - IC9IZWlnaHQgMTE0IC9JbnRlcnBvbGF0ZQp0cnVlIC9Db2xvclNwYWNlIDE4IDAgUiAv - SW50ZW50IC9QZXJjZXB0dWFsIC9TTWFzayAyMSAwIFIgL0JpdHNQZXJDb21wb25lbnQK - OCAvRmlsdGVyIC9GbGF0ZURlY29kZSA+PgpzdHJlYW0KeAHt0DEBAAAAwqD1T20MH4hA - YcCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG - DBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA - AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw - YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG - DBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA - AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw - YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMDAc2A+ - AwABCmVuZHN0cmVhbQplbmRvYmoKMTYgMCBvYmoKMzc4CmVuZG9iagoyMSAwIG9iago8 - PCAvTGVuZ3RoIDIyIDAgUiAvVHlwZSAvWE9iamVjdCAvU3VidHlwZSAvSW1hZ2UgL1dp - ZHRoIDIzOCAvSGVpZ2h0IDExNCAvQ29sb3JTcGFjZQovRGV2aWNlR3JheSAvSW50ZXJw - b2xhdGUgdHJ1ZSAvQml0c1BlckNvbXBvbmVudCA4IC9GaWx0ZXIgL0ZsYXRlRGVjb2Rl - ID4+CnN0cmVhbQp4Ae2c+Ttb+RfHVY2tliC2JLbQEMtE1Iillkp5LDFqN0ztrS2G0uBh - RKla4rGXGlWqdhr73s4z/9r3nM9NULTVmX5ddZ1f+rT15HNe933O+3xu3PvR0bmO6ytw - fQWur8D1Ffhhr8CNSxT/t4uIjLpHcZPmOMpEFzP7ntgazps39fT0frpUAQndvEnIvw8x - JSmAIqW+voGBoTaMaAttBoYGBvr6mBeF/J81JqoSUn3ANDIyvoVhAmFKa2AGJBVjIyND - QwNE1kON/4vCyIqohBRATUzNzMzNWSyLSxEslrm5mZkpUBtriBH43/JqWUFUYwQ1B0pL - Kzbb2toGwpbWwAysrdlsK0sLC5Y5IhuDxJTA/4b3iNUIUVkWlmxrQLTncDhcLg/CgcbA - 9blcSMXe1tbGmm1pwUJgo3/Ni9MGatjAEFgB1YptA6BA6OTs7OLC57vSHny+i4uzs5OD - Aw+QbdhWAKzlxf79ppFENaw+sJqagao2dkDq5Mx3dRMI3D2EEJ5UeF14aBbGHDzcBQI3 - Vz4g8zh2NqCwmSnoq0/86htwsYr10JtQV0u2rT3XAUgF7kJPb5+fRSJfMYYfjUES8BWJ - fvbx9hS6C4DYgWtvy7ZEfdGh9b7BrQAWnFgfvImwcnhOLq4CoZePSOzn7x8gkQQGBQUf - i5ALi2OLBgcFBUokAf7+fmKRj5dQ4OrixOMQXvArIu85zYqqYiKsBejKc+Lf9vDy8fXz - lwQF3w0Ni4i4FyklcZ+moFaPvBcRERZ6NzhI4u/n6+PlcZvvxAN9LYi8565mSlkD6FiW - pbUd15F/W+gt8vslMDg0IlIaFR0TGxcvk8kSEhJ+pS1gcUghPi42JjpKGhkRGhz4i5/I - W3ib78i1s7ZkQfcaIO451D2ENbOwsuE4OLt5eIvuSABVGh0bn5CYlJySlpaekZFJc2Rk - pKelpSQnJSbEx0ZLAVhyR+Tt4ebswLGxsjA7Ny7pWfBiM6hirpOrwAtYQ8Kl0XEJD1LS - M7N+z8nJy8svKMQooinI4gX5eXk5Ob9nZaanPEiIi5aGhwCvl8DViYvVDN5M1P3KICJu - DGUMsHY8ZzehjzggJOJ+jOxBamZ2Tl5h0eOS0rJyubziD4hKmgLXrpDLy8tKSx4XFebl - ZGemPpDF3I8ICRD7CN2ceXYEF4r5a3P3OKyDi8BT5B8UJo1JSE7Pysl/VFwmr6yqrlEo - auvq6mmOurpahaKmuqpSXlb8KD8nKz05IUYaFuQv8hS4OJwTF+34J0pZe4D1RmGjZUnp - 2bmFxeWVT57W1jc0NimVzc9aaI9nzUplU2NDfe3TJ5XlxYW52elJsmiU1xtw7TXq4l3C - 54sZmhbmLCljB767t1gSKo1NTM3KLSyVP1HUNzY1tzxva+/o6OzqUtEcXV2dHR3tbc9b - mpsa6xVP5KWFuVmpibHSUInY251PqQtzF4z5s7Skjg2NTVlsO1TWLzDsflxSxsOCYnm1 - oqGppa29U9Xd09vX198/MDBIawwM9Pf39fX2dKs629tamhoU1fLigocZSXH3wwL9UF07 - NsvUGJzqC+KitAZGJuZWtjxnhA2PkiVn5j4qr1I0KFvbu7p7+waHXg6PvBrF+IvGIAm8 - Ghl+OTTY19vd1d6qbFBUlT/KzUyWRYUjrjPP1srcBMbu58XV1rGlDQdgxYHh0bKUrLzi - ipp6ZWuHqqd/aPjV6Njr8TcTExOTEG9pC1wdkngz/nps9NXwUH+PqqNVWV9TUZyXlSKL - Dg+E3nXm2Fia3fpSLd+AWwFsWmuOo5unWBIWJUvNzi+pVDS2vFD1Dg6Pjo1PTE5NTU/P - zMzMQszRFrg6JDE9PTU1OTE+Njo82Kt60dKoqCzJz06VRYVJxJ5ujhxrGLtYy2d3rraO - oWldhaKA0PuylOyC0qraptbOnoHh0dcTb9/NzM7PLywuLmEs0xgkgcXFhfn52Zl3byde - jw4P9HS2NtVWlRZkp8juhwaIhK7Qul+qZY20ljZcZ4GPf4g0PjkLYOuUbaq+IWCdmpmb - X1xaVqvVKyurq6trtAYksLICqSwvLc7PzUwB71Cfqk1ZB7hZyfHSEH8fgTOX1PLnxNXV - RYtise0d3bzEQRGxSZl5FGz/8Biwzi8uq1cAcn1jY/NSxMbG+tra6op6eXEeeMeG+ync - vMyk2IggsZeboz2bhUalq3vGEMJChq61tOXxPUQBYdGJGbnFlbXKtu6BkdeT0/OL79UA - urm1tb2jiV3aQpvB9tbWJiCr3y/OT0++HhnoblPWVhbnZiRGhwWIPPg8WzSqs20ZClkf - peU43fa+EyyVpT58VKFoalMB7NTMwrJ6DVB3dnZ39/YvTezt7u7sAPCaenlhZgpwVW1N - iopHD1Nl0uA73redOCiu/pk+dSStUCQJj0n6raC8prFV1Q+ws4vq1fXN7R0kPTj4gPGR - 5iBJHBzs7+/t7mxvrq+qF2cBt1/V2lhTXvBbUky45Li4p0qZKmRz6FqQNkQqS88trqp/ - 1tE3DLBL6jXQFVGPUf5NYxxd6g8IDPquqZcAd7iv41l9VXFuukwaAuJC55qfXcqkkE0t - bLguHkTa7EK5QvmiZ+ivyZlFgN3e1bKegvznwuLU0kiNvLvbgLs4M/nXUM8LpUJemE2J - 68K1sTA9s5Rv6KJHWdk6uHqKoWvTckuqG1pVA6MT0wsAu7Or0fX4ghdGeWKh4zloeHd3 - AHdhemJ0QNXa8KQkNw06V+zp6mBrhT51eoNB2hY8CmdtaPSDLJS2vRfqeH55FZUlRXx8 - nb//PpHEhf310ywoeUHd1eV5qOXedhQ360F0KM5c8ClSyicbFx2ZFDJ4VERcak7xE5B2 - cHQC6nh96wzYC2M7c6HjwBrcrXWo5YnRQRS3OCc1LkIiEh6W8glaaFsDYxi2Dq5efsHS - hMz88qdN7T0o7Xuo472Typ6ZwoX+4zFegrsHtfwexe1pb3panp+ZIA3284JStjQzNjg1 - g6BtDW6Zse1h2GIhZxf9Ud/S1U9JC3WMXqz9/AuF+uJi2owQF5yKEre/q6X+j6JsLGUY - ufZss1uwnTpxZ0BMCtvWHRw5NgUKufF59+DY27ml1c2d/YNLCfvPP8dwD/Z3NleX5t6O - DXY/b4RSTomFkeuuadxTtLBtNIH5wxf6Bt6LT8srI4U8/m5evQZdC9JqP/iLF/vC/1Ob - FRF3a009/26clHJZXlr8vUBfIR9mkAlsHk9oq3sTTUozfxIyC+S1zZ19r9CjNrb3QFrt - x144z1cW1Ob18ePB3vYG+tSrvo7mWnkBNi6ZQThxb564MUBaNCk37zt3oxKziirrW8CR - J2dJIV9aaY/X8gdSyrOT4Mot9ZVFWYlRd+94u6FNnUGLlmxlB9tGYlKPqxqwbafmlsGR - oZA1l/ArF5qW/9akBj4Frrw8N4WN21D1WGNTjnZWxJQ/HUEwgIglC3wCwmKSH5ZUN7b1 - vCTzB9pWW8i00Hx1UQr348f93S0yg172tDVWlzxMjgkL8BFQpqx3spKB1pyy5Aiw5NKa - P1/0DI+/W1CvH7XtV9el6QcILmncdfUC2tSLP2tKwZRhf4GmbH4LBu5JbQ0JLdwSwE4K - LFnZ0TvyZho2UkhLPo8mlnMsS+GCTcHEnX4z0tuhfFqWR3ZTHoTW8BQt3BOwrDlwA0QG - ULlC2dE3Apa8srGzp2nbcyxL049QtB/2djZWwJRH+jqUinIygkQeLhxr3Cmf1JbQcl2E - vkGR8Wn5cgU1gJaAVmtSNKGcY1kN7T7QLuEI6mxWyPPT4iODfGGn/BlaE5Y1bC7EQZGy - dDJucd+4tHJkyedYlqYfOaTdRNrR/k4cuOmyyCAxbC+sWbC9OK0ttZXCm9uMAnndM7JL - 1oxb/DiaSM61LOZHRtAqoe16VicvyMBbXO1m6kxaHmiLtIUVFK12c/ED0c6CtkBbUaih - 5ZGt49m0rp/QHm6lLrm0ZEul0RY2U8dpXa9pdeBbKehbZlUyejJTXIpREwj2UgzaXTBp - 56jHqLsCht3xMexunknf1DDrWzhGfcN6g1HfnjPsNyMM+60Xk36jqcOo31brMOtJBGY9 - ZXIFnyByP3zs4sSvb3V0mPV0GNW45KFOBjz5B+Iy6alOZj2xq8Oop7GxlMnj2Mx40h5L - Gd8GYsZbFFpxP31DpvRHekOm9PxvyJCRi2/xMePtJ4LLmDfbgBaNiilvLR7WMrxYffXf - SEVxGfS2MVXLmtfmr/yb5HgrBK3LlFMCyJ0fOBVDToDQYdbpHke4TDi5hbQuHEH0uVN5 - wi/TqTzh//lUHsCF+wPGnLhEcMGZqdO04OSwH+c0Leq4pW87TQueXMZtBsrLhJPSKFyQ - lyGn4FHVDPJSvFf9hEOUlypn4L36p1fiawdaXiacTKrlRb/SnMV6pU+dpXihoHWZcaIw - 8lIVTSFf9dOiKV4kxi4+DJoPAsezkrWBmWmz/O5/4odflvjucNcfeH0Frq/A9RW4vgIX - dwX+B0Voq7YKZW5kc3RyZWFtCmVuZG9iagoyMiAwIG9iagozMzYzCmVuZG9iagoxOSAw - IG9iago8PCAvTGVuZ3RoIDIwIDAgUiAvVHlwZSAvWE9iamVjdCAvU3VidHlwZSAvSW1h - Z2UgL1dpZHRoIDIzOCAvSGVpZ2h0IDExNCAvQ29sb3JTcGFjZQovRGV2aWNlR3JheSAv - SW50ZXJwb2xhdGUgdHJ1ZSAvQml0c1BlckNvbXBvbmVudCA4IC9GaWx0ZXIgL0ZsYXRl - RGVjb2RlID4+CnN0cmVhbQp4Ae2c+T9b6RfHVY2tRRBbEluiIZaJqBFLLRW8LDFqN0yt - bUPF0GrwYkSpWuJFLKVGW6p2Gvvadl7zr33PeW5SirY606+rrvNLX8XrPs/7fs75nOcm - 93mMjC7i4g5c3IGLO3BxB37YO3DpDMX/7SYio/F+XKY59mdijDP7nth6zsuXTUxMfjpT - ARO6fJmQfx9iSlIARUpTUzMzc0NY0BaGGZibmZma4rwo5P+sMVGVkJoCpoWF5RWMqxBW - tAbOgEzF0sLC3NwMkU1Q4/+iMLIiKiEF0KtW1tY2NiyW7ZkIFsvGxtraCqgt9cQI/G95 - DawgqiWC2gClnT2b7eDgCOFEa+AMHBzYbHs7W1uWDSJbgsSUwP+Gd5/VAlFZtnZsB0B0 - 4XA4XC4PwpXGwPG5XJiKi5OTowPbzpaFwBb/mhe7DeSwmTmwAqo92xFAgdDdw8PTk88X - 0B58vqenh4e7qysPkB3Z9gBs4MX6/aaWRBWsKbBaWYOqjs5A6u7BF3gJhd4+IghfKvxO - PfQD4xx8vIVCLwEfkHkcZ0dQ2NoK9DUlfvUNuJjFJuhNqKsd28mF6wqkQm+Rr3/Az2Jx - oAQjiMYgEwgUi38O8PcVeQuB2JXr4sS2Q33RoU2+wa0AFpzYFLyJsHJ47p4CocgvQCwJ - Cg4OkUpDw8LCD0TEqcWBQcPDwkKl0pDg4CCJOMBPJBR4uvM4hBf8ish7QrOispgIawu6 - 8tz513z8AgKDgqVh4Tcio2JibsbKSMTRFNTosTdjYqIib4SHSYODAgP8fK7x3Xmgry2R - 98TZTClrBhXLsnNw5rrxr4n8xUG/hIZHxsTK4hMSk5JT5HJ5amrqr7QFDA5TSElOSkyI - l8XGRIaH/hIk9hdd47txnR3sWFC9Zoh7AnU/wlrb2jtyXD28fPzF16WAKktISklNS8/I - zM7Oyc3Nozlyc3OyszMz0tNSU5ISZAAsvS729/HycOU42ttanxiX1Cx4sTVkMdddIPQD - 1ohoWUJy6q3MnLz83wsLi4tLSssw7tAUZPDSkuLiwsLf8/NyMm+lJifIoiOA108ocOdi - NoM3E3W/0oiIG0MaA6wzz8NLFCAJiYiJS5TfysorKCwuu3OvvOJ+pVJZ9QdENU2BY1cp - lZX3K8rv3SkrLizIy7olT4yLiQiRBIi8PHjOBBeS+Wt99yCsq6fQVxwcFiVLTM3IyS8s - uau4r6yueVirUtXV1zfQHPX1dSpV7cOaauV9xd2SwvycjNREWVRYsNhX6Ol6Qly0458o - ZV0A1h+FTZCn5xQUlSkqqx88qmtobGpWq1set9Iej1vU6uamxoa6Rw+qKxVlRQU56fIE - lNcfcF306uJTwueTGYoW+ixJY1e+t79EGilLSsvKLyqrUD5QNTQ1t7Q+ae/o7Ozq7tbQ - HN3dXZ2dHe1PWluamxpUD5QVZUX5WWlJskipxN+bT6kLfReM+bO0JI/NLa1YbGdUNig0 - Ki45Pfd2qUL5UNXY3Nre0aXp6e3Tavv7BwYGaY2Bgf5+rbavt0fT1dHe2tyoeqhUlN7O - TU+OiwoNQnWd2SwrS3CqL4iL0ppZXLWxd+J5IGx0vDwjr+huZY2qUd3W0d3Tpx0cejY8 - 8nwU4y8ag0zg+cjws6FBbV9Pd0ebulFVU3m3KC9DHh+NuB48J3ubq9B2Py+uIY/tHDkA - KwmNTpBn5hcrqmob1G2dmt7+oeHno2MvXr4aHx+fgHhNW+DoMIlXL1+MjT4fHurv1XS2 - qRtqqxTF+ZnyhOhQqF0PjqOd9ZUv5fIleBTAonXguHn5SqRR8fKsgpLyalVT61NN3+Dw - 6NjL8YnJyamp6enpGYhZ2gJHh0lMTU1OToy/HBsdHuzTPG1tUlWXlxRkyeOjpBJfLzeO - A7RdzOXjK9eQx1C0ApE4JDJOnllQWlFT19zW1TswPPpi/PWb6Zm5ufmFhUWMJRqDTGBh - YX5ubmb6zevxF6PDA71dbc11NRWlBZnyuMgQsUgApfulXNZLa+fI9RAGBEfIUjLyAbZe - 3a7RDgHr5PTs3MLikk6nW15eWVlZpTVgAsvLMJWlxYW52elJ4B3SatrV9YCbn5EiiwgO - EHpwSS5/TlxjY7QoFtvFzctPEhaTlJ5XTMH2D48B69zCkm4ZINfW1zfORKyvr62urizr - lhbmgHdsuJ/CLc5LT4oJk/h5ubmwWWhUxsbHNCFMZKhaOyce30ccEpWQllukqK5Tt/cM - jLyYmJpbeKsD0I3Nza1tfezQFoYZbG1ubgCy7u3C3NTEi5GBnnZ1XbWiKDctISpE7MPn - OaFRHW/LkMimKC3H/Zr/9XCZPOv23SpVc7sGYCen55d0q4C6vb2zs7t3ZmJ3Z2d7G4BX - dUvz05OAq2lvVlXdvZ0ll4Vf97/mzkFxTY/1qX1pRWJpdGL6b6WVtU1tmn6AnVnQraxt - bG0j6bt37zE+0BxkEu/e7e3t7mxvbayt6BZmALdf09ZUW1n6W3pitPSguEdSmUpkG6ha - kDZCJs8pUtQ0PO7UDgPsom4VdEXUA5R/0xj7t/o9AoO+q7pFwB3Wdj5uqFEU5chlESAu - VK7N8alMEtnK1pHr6UOkLShTqtRPe4f+mpheANitHQPrEch/Ti2ODI3UyLuzBbgL0xN/ - DfU+VauUZQWUuJ5cR1urY1P5kjF6lL2Tq8BXAlWbXVT+sLFNMzA6PjUPsNs7el0PDnhq - lIcGOjgHPe/ONuDOT42PDmjaGh+UF2VD5Up8Ba5O9uhTRxcYpGzBo7DXRibcykdpO/og - j+eWVlBZksQHx/n770OTOLX/fjoLSl5Qd2VpDnK5rwPFzb+VEIk9F3yKpPLhwkVHJokM - HhWTnFWoeADSDo6OQx6vbR4De2psxw50EFiPu7kGuTw+OojiKgqzkmOkYtHHVD5EC2Vr - ZgnN1lXgFxQuS80rqXzU3NGL0r6FPN49rOyxUzjVHx7gJbi7kMtvUdzejuZHlSV5qbLw - ID9IZTtrS7MjPQjK1uyKNdsFmi0mcsGdPxpau/spaSGP0YsN1z9VqC8OZpgR4oJTUeL2 - d7c2/HGnAFMZWq4L2/oKLKcOPRkQk8Ky9QZHTsqERG560jM49np2cWVje+/dmYT9558D - uO/2tjdWFmdfjw32PGmCVM5MgpbrrS/cI7SwbLwK/YcvCgy9mZJdfJ8k8ss3c7pVqFqQ - 1nDhL97sU/+lYVZE3M1V3dyblySV7xdnp9wMDRTxoQddhcXjIW2NL6NJ6ftPal6psq6l - S/scPWp9axekNVz21Hm+MqBhXh8+vNvdWkefeq7tbKlTlmLhkh6EHffyoQcDpEWT8vK/ - fiM+Lf9OdUMrOPLEDEnkMyvtwVx+T1J5ZgJcubWh+k5+WvyN6/5eaFPH0KIl2zvDspGY - 1L2aRizbydklcGRIZP0t/MqNpuXX+qmBT4ErL81OYuE21tzT25Sbsz0x5U9bEDQgYsnC - gJCoxIzb5Q+b2nufkf4DZWtIZFpovjoohfvhw97OJulBz3rbmx6W385IjAoJEFKmbHI4 - k4HWhrLkGLDkito/n/YOv3wzr1vbL9uvjkvTHxBcUrhrunm0qad/1laAKcP6Ak3Z5go0 - 3MPamhNaeCSAlRRYsrqzb+TVFCykkJZcjyaWEwxL4YJNQcedejXS16l+dL+YrKZ8CK35 - EVp4JmA5cOABiDSgSpW6UzsClry8vr2rL9sTDEvTn1C073e315fBlEe0nWpVJWlBYh9P - jgOulA9rS2i5nqLAsNiU7BKlimpAi0BrMCmaUE4wrJ52D2gXsQV1taiUJdkpsWGBsFL+ - DO1VlgMsLiRhsfIc0m5x3bi4vG/JJxiWpj/5SLuBtKP9Xdhwc+SxYRJYXjiwYHlxVFtq - KYUPt7mlyvrHZJWsb7d4OZpITjQszo+0oBVC2/24Xlmai4+4hsXUsbQ80BZpy6ooWsPi - 4geinQFtgbaqTE/LI0vH42kFn9B+XEqdcWnJkkqvLSymDtIKLmiN4FMpqFtmZTJ6MlNc - ilEdCNZSDFpdMGnlaMKopwKGPfEx7GmeSZ/UMOtTOEZ9wnqJUZ+eM+ybEYZ968WkbzSN - GPVttRGz3kRg1lsm5/ANIu+Pr10c+vrWyIhZb4dRhUte6mTAm38gLpPe6mTWG7tGjHob - G1OZvI7NjDftMZVxNxAzdlEYxP10h0zFj7RDpuLkO2RIy8VdfMzY/URwGbOzDWjRqI7u - Wiw/l7sWP+YybKw+/ztSUVwG7Tamclm/bf7c7yTHRyEoXaacEkCe/MCpGHIChBGzTvfY - x2XCyS2kdOEIos+dyhN9lk7lif7Pp/IALjwfMObEJYILzkydpgUnh/04p2lRxy1922la - 8OYyLjNQXiaclEbhgrzkFDw88O98n4JHZTPIS536d95POER5qXQG3vN/eiVuOzDwMuFk - UgMv+pX+LNZzfeosxQsJbcyME4WRl8poCvm8nxZN8SIxVvHHoPkgcDwr2RA4M8Msv/u/ - ePGzEt8d7uKCF3fg4g5c3IGLO3B6d+B/bC6ruAplbmRzdHJlYW0KZW5kb2JqCjIwIDAg - b2JqCjMzNzcKZW5kb2JqCjIzIDAgb2JqCjw8IC9MZW5ndGggMjQgMCBSIC9OIDMgL0Fs - dGVybmF0ZSAvRGV2aWNlUkdCIC9GaWx0ZXIgL0ZsYXRlRGVjb2RlID4+CnN0cmVhbQp4 - AZ2Wd1RT2RaHz703vdASIiAl9Bp6CSDSO0gVBFGJSYBQAoaEJnZEBUYUESlWZFTAAUeH - ImNFFAuDgmLXCfIQUMbBUURF5d2MawnvrTXz3pr9x1nf2ee319ln733XugBQ/IIEwnRY - AYA0oVgU7uvBXBITy8T3AhgQAQ5YAcDhZmYER/hEAtT8vT2ZmahIxrP27i6AZLvbLL9Q - JnPW/3+RIjdDJAYACkXVNjx+JhflApRTs8UZMv8EyvSVKTKGMTIWoQmirCLjxK9s9qfm - K7vJmJcm5KEaWc4ZvDSejLtQ3pol4aOMBKFcmCXgZ6N8B2W9VEmaAOX3KNPT+JxMADAU - mV/M5yahbIkyRRQZ7onyAgAIlMQ5vHIOi/k5aJ4AeKZn5IoEiUliphHXmGnl6Mhm+vGz - U/liMSuUw03hiHhMz/S0DI4wF4Cvb5ZFASVZbZloke2tHO3tWdbmaPm/2d8eflP9Pch6 - +1XxJuzPnkGMnlnfbOysL70WAPYkWpsds76VVQC0bQZA5eGsT+8gAPIFALTenPMehmxe - ksTiDCcLi+zsbHMBn2suK+g3+5+Cb8q/hjn3mcvu+1Y7phc/gSNJFTNlReWmp6ZLRMzM - DA6Xz2T99xD/48A5ac3Jwyycn8AX8YXoVVHolAmEiWi7hTyBWJAuZAqEf9Xhfxg2JwcZ - fp1rFGh1XwB9hTlQuEkHyG89AEMjAyRuP3oCfetbEDEKyL68aK2Rr3OPMnr+5/ofC1yK - buFMQSJT5vYMj2RyJaIsGaPfhGzBAhKQB3SgCjSBLjACLGANHIAzcAPeIACEgEgQA5YD - LkgCaUAEskE+2AAKQTHYAXaDanAA1IF60AROgjZwBlwEV8ANcAsMgEdACobBSzAB3oFp - CILwEBWiQaqQFqQPmULWEBtaCHlDQVA4FAPFQ4mQEJJA+dAmqBgqg6qhQ1A99CN0GroI - XYP6oAfQIDQG/QF9hBGYAtNhDdgAtoDZsDscCEfCy+BEeBWcBxfA2+FKuBY+DrfCF+Eb - 8AAshV/CkwhAyAgD0UZYCBvxREKQWCQBESFrkSKkAqlFmpAOpBu5jUiRceQDBoehYZgY - FsYZ44dZjOFiVmHWYkow1ZhjmFZMF+Y2ZhAzgfmCpWLVsaZYJ6w/dgk2EZuNLcRWYI9g - W7CXsQPYYew7HA7HwBniHHB+uBhcMm41rgS3D9eMu4Drww3hJvF4vCreFO+CD8Fz8GJ8 - Ib4Kfxx/Ht+PH8a/J5AJWgRrgg8hliAkbCRUEBoI5wj9hBHCNFGBqE90IoYQecRcYimx - jthBvEkcJk6TFEmGJBdSJCmZtIFUSWoiXSY9Jr0hk8k6ZEdyGFlAXk+uJJ8gXyUPkj9Q - lCgmFE9KHEVC2U45SrlAeUB5Q6VSDahu1FiqmLqdWk+9RH1KfS9HkzOX85fjya2Tq5Fr - leuXeyVPlNeXd5dfLp8nXyF/Sv6m/LgCUcFAwVOBo7BWoUbhtMI9hUlFmqKVYohimmKJ - YoPiNcVRJbySgZK3Ek+pQOmw0iWlIRpC06V50ri0TbQ62mXaMB1HN6T705PpxfQf6L30 - CWUlZVvlKOUc5Rrls8pSBsIwYPgzUhmljJOMu4yP8zTmuc/jz9s2r2le/7wplfkqbip8 - lSKVZpUBlY+qTFVv1RTVnaptqk/UMGomamFq2Wr71S6rjc+nz3eez51fNP/k/IfqsLqJ - erj6avXD6j3qkxqaGr4aGRpVGpc0xjUZmm6ayZrlmuc0x7RoWgu1BFrlWue1XjCVme7M - VGYls4s5oa2u7act0T6k3as9rWOos1hno06zzhNdki5bN0G3XLdTd0JPSy9YL1+vUe+h - PlGfrZ+kv0e/W3/KwNAg2mCLQZvBqKGKob9hnmGj4WMjqpGr0SqjWqM7xjhjtnGK8T7j - WyawiZ1JkkmNyU1T2NTeVGC6z7TPDGvmaCY0qzW7x6Kw3FlZrEbWoDnDPMh8o3mb+SsL - PYtYi50W3RZfLO0sUy3rLB9ZKVkFWG206rD6w9rEmmtdY33HhmrjY7POpt3mta2pLd92 - v+19O5pdsN0Wu067z/YO9iL7JvsxBz2HeIe9DvfYdHYou4R91RHr6OG4zvGM4wcneyex - 00mn351ZzinODc6jCwwX8BfULRhy0XHhuBxykS5kLoxfeHCh1FXbleNa6/rMTdeN53bE - bcTd2D3Z/bj7Kw9LD5FHi8eUp5PnGs8LXoiXr1eRV6+3kvdi72rvpz46Pok+jT4Tvna+ - q30v+GH9Av12+t3z1/Dn+tf7TwQ4BKwJ6AqkBEYEVgc+CzIJEgV1BMPBAcG7gh8v0l8k - XNQWAkL8Q3aFPAk1DF0V+nMYLiw0rCbsebhVeH54dwQtYkVEQ8S7SI/I0shHi40WSxZ3 - RslHxUXVR01Fe0WXRUuXWCxZs+RGjFqMIKY9Fh8bFXskdnKp99LdS4fj7OIK4+4uM1yW - s+zacrXlqcvPrpBfwVlxKh4bHx3fEP+JE8Kp5Uyu9F+5d+UE15O7h/uS58Yr543xXfhl - /JEEl4SyhNFEl8RdiWNJrkkVSeMCT0G14HWyX/KB5KmUkJSjKTOp0anNaYS0+LTTQiVh - irArXTM9J70vwzSjMEO6ymnV7lUTokDRkUwoc1lmu5iO/kz1SIwkmyWDWQuzarLeZ0dl - n8pRzBHm9OSa5G7LHcnzyft+NWY1d3Vnvnb+hvzBNe5rDq2F1q5c27lOd13BuuH1vuuP - bSBtSNnwy0bLjWUb326K3tRRoFGwvmBos+/mxkK5QlHhvS3OWw5sxWwVbO3dZrOtatuX - Il7R9WLL4oriTyXckuvfWX1X+d3M9oTtvaX2pft34HYId9zd6brzWJliWV7Z0K7gXa3l - zPKi8re7V+y+VmFbcWAPaY9kj7QyqLK9Sq9qR9Wn6qTqgRqPmua96nu37Z3ax9vXv99t - f9MBjQPFBz4eFBy8f8j3UGutQW3FYdzhrMPP66Lqur9nf19/RO1I8ZHPR4VHpcfCj3XV - O9TXN6g3lDbCjZLGseNxx2/94PVDexOr6VAzo7n4BDghOfHix/gf754MPNl5in2q6Sf9 - n/a20FqKWqHW3NaJtqQ2aXtMe9/pgNOdHc4dLT+b/3z0jPaZmrPKZ0vPkc4VnJs5n3d+ - 8kLGhfGLiReHOld0Prq05NKdrrCu3suBl69e8blyqdu9+/xVl6tnrjldO32dfb3thv2N - 1h67npZf7H5p6bXvbb3pcLP9luOtjr4Ffef6Xfsv3va6feWO/50bA4sG+u4uvnv/Xtw9 - 6X3e/dEHqQ9eP8x6OP1o/WPs46InCk8qnqo/rf3V+Ndmqb307KDXYM+ziGePhrhDL/+V - +a9PwwXPqc8rRrRG6ketR8+M+YzderH0xfDLjJfT44W/Kf6295XRq59+d/u9Z2LJxPBr - 0euZP0reqL45+tb2bedk6OTTd2nvpqeK3qu+P/aB/aH7Y/THkensT/hPlZ+NP3d8Cfzy - eCZtZubf94Tz+wplbmRzdHJlYW0KZW5kb2JqCjI0IDAgb2JqCjI2MTIKZW5kb2JqCjkg - MCBvYmoKWyAvSUNDQmFzZWQgMjMgMCBSIF0KZW5kb2JqCjI1IDAgb2JqCjw8IC9MZW5n - dGggMjYgMCBSIC9OIDEgL0FsdGVybmF0ZSAvRGV2aWNlR3JheSAvRmlsdGVyIC9GbGF0 - ZURlY29kZSA+PgpzdHJlYW0KeAGFUk9IFFEc/s02EoSIQYV4iHcKCZUprKyg2nZ1WZVt - W5XSohhn37qjszPTm9k1xZMEXaI8dQ+iY3Ts0KGbl6LArEvXIKkgCDx16PvN7OoohG95 - O9/7/f1+33tEbZ2m7zspQVRzQ5UrpaduTk2Lgx8pRR3UTlimFfjpYnGMseu5kr+719Zn - 0tiy3se1dvv2PbWVZWAh6i22txD6IZFmAB+ZnyhlgLPAHZav2D4BPFgOrBrwI6IDD5q5 - MNPRnHSlsi2RU+aiKCqvYjtJrvv5uca+i7WJg/5cj2bWjr2z6qrRTNS090ShvA+uRBnP - X1T2bDUUpw3jnEhDGinyrtXfK0zHEZErEEoGUjVkuZ9qTp114HUYu126k+P49hClPslg - qIm16bKZHYV9AHYqy+wQ8AXo8bJiD+eBe2H/W1HDk8AnYT9kh3nWrR/2F65T4HuEPTXg - zhSuxfHaih9eLQFD91QjaIxzTcTT1zlzpIjvMdQZmPdGOaYLMXeWqhM3gDthH1mqZgqx - Xfuu6iXuewJ30+M70Zs5C1ygHElysRXZFNA8CVgUfYuwSQ48Ps4eVeB3qJjAHLmJ3M0o - 9x7VERtno1KBVnqNV8ZP47nxxfhlbBjPgH6sdtd7fP/p4xV117Y+PPmNetw5rr2dG1Vh - VnFlC93/xzKEj9knOabB06FZWGvYduQPmsxMsAwoxH8FPpf6khNV3NXu7bhFEsxQPixs - JbpLVG4p1Oo9g0qsHCvYAHZwksQsWhy4U2u6OXh32CJ6bflNV7Lrhv769nr72vIebcqo - KSgTzbNEZpSxW6Pk3Xjb/WaREZ84Or7nvYpayf5JRRA/hTlaKvIUVfRWUNbEb2cOfhu2 - flw/pef1Qf08CT2tn9Gv6KMRvgx0Sc/Cc1Efo0nwsGkh4hKgioMz1E5UY40D4inx8rRb - ZJH9D0AZ/WYKZW5kc3RyZWFtCmVuZG9iagoyNiAwIG9iago3MDQKZW5kb2JqCjEwIDAg - b2JqClsgL0lDQ0Jhc2VkIDI1IDAgUiBdCmVuZG9iagoyNyAwIG9iago8PCAvTGVuZ3Ro - IDI4IDAgUiAvTiAzIC9BbHRlcm5hdGUgL0RldmljZVJHQiAvRmlsdGVyIC9GbGF0ZURl - Y29kZSA+PgpzdHJlYW0KeAGFVM9rE0EU/jZuqdAiCFprDrJ4kCJJWatoRdQ2/RFiawzb - H7ZFkGQzSdZuNuvuJrWliOTi0SreRe2hB/+AHnrwZC9KhVpFKN6rKGKhFy3xzW5MtqXq - wM5+8943731vdt8ADXLSNPWABOQNx1KiEWlsfEJq/IgAjqIJQTQlVdvsTiQGQYNz+Xvn - 2HoPgVtWw3v7d7J3rZrStpoHhP1A4Eea2Sqw7xdxClkSAog836Epx3QI3+PY8uyPOU55 - eMG1Dys9xFkifEA1Lc5/TbhTzSXTQINIOJT1cVI+nNeLlNcdB2luZsbIEL1PkKa7zO6r - YqGcTvYOkL2d9H5Os94+wiHCCxmtP0a4jZ71jNU/4mHhpObEhj0cGDX0+GAVtxqp+DXC - FF8QTSeiVHHZLg3xmK79VvJKgnCQOMpkYYBzWkhP10xu+LqHBX0m1xOv4ndWUeF5jxNn - 3tTd70XaAq8wDh0MGgyaDUhQEEUEYZiwUECGPBoxNLJyPyOrBhuTezJ1JGq7dGJEsUF7 - Ntw9t1Gk3Tz+KCJxlEO1CJL8Qf4qr8lP5Xn5y1yw2Fb3lK2bmrry4DvF5Zm5Gh7X08jj - c01efJXUdpNXR5aseXq8muwaP+xXlzHmgjWPxHOw+/EtX5XMlymMFMXjVfPqS4R1WjE3 - 359sfzs94i7PLrXWc62JizdWm5dn/WpI++6qvJPmVflPXvXx/GfNxGPiKTEmdornIYmX - xS7xkthLqwviYG3HCJ2VhinSbZH6JNVgYJq89S9dP1t4vUZ/DPVRlBnM0lSJ93/CKmQ0 - nbkOb/qP28f8F+T3iuefKAIvbODImbptU3HvEKFlpW5zrgIXv9F98LZua6N+OPwEWDyr - Fq1SNZ8gvAEcdod6HugpmNOWls05Uocsn5O66cpiUsxQ20NSUtcl12VLFrOZVWLpdtiZ - 0x1uHKE5QvfEp0plk/qv8RGw/bBS+fmsUtl+ThrWgZf6b8C8/UUKZW5kc3RyZWFtCmVu - ZG9iagoyOCAwIG9iago3MzcKZW5kb2JqCjggMCBvYmoKWyAvSUNDQmFzZWQgMjcgMCBS - IF0KZW5kb2JqCjI5IDAgb2JqCjw8IC9MZW5ndGggMzAgMCBSIC9OIDMgL0FsdGVybmF0 - ZSAvRGV2aWNlUkdCIC9GaWx0ZXIgL0ZsYXRlRGVjb2RlID4+CnN0cmVhbQp4AdWWZ1hT - yRrH55yTXigJXUrovXeQXkOXDjZCQocYQkdUVMQVWFFEREARdEFEwVUpshZEEBVEsPcN - siio62JBVFTuCVxcn+fe/Xa/3DfPzPzynzfvmczMeZ4/AJReFo+XDIsBkMJN5wd6ODPC - IyIZ+IeAAKQBDegCORY7jecUEOAD/jE+3AGQcPKmvrDWP6b99wlxTkwaGwAoAJ2O5qSx - U1A+hTbA5vHTAYBRBsNZ6TyUkQKUJfjoAlGuFHLcAh8VcvQCd8/nBAe6oDm3ACBQWCx+ - HABkAaozMtlxaB0KisCIy0ngomyEsj07nsVBmYeyXkrKGiHXoKwV/UOduB+YxYr+XpPF - ivvOC/8F/SX6YNeENF4yK2f+y/+yS0nOQPdrPmhoT+Em+/mgowzaJjgsV+9F5iXPn9m8 - HsMNCVrUudF+/oscy3cPXGReuvMPHBC8qOfGu/gtckya2/c6iSwv4ZnN1+dnBIYsclpm - kNsi58YHhy0yJ8b1ux6b4M5c1BPSmd+flbTG+/sagCtwAz7ohwFMgBkwAubAHQSAsPSY - bPQMAXBZw8vhJ8TFpzOc0FsXo8dgctkGegwTI2Nj4fT/TQjft4XFvrs+/x5BMsKr/G8t - Fb3H1g/Qu1z/txbVB0B7BQBSZ//W1K4BILoDgM5r7Ax+5kI9jHDAAhIQBRJAFigCVaAF - 9NHdtAC2wBHdXS/gD4JBBFgF2CAepAA+yAJ5YCMoBMVgB9gNqkAtOAgOg2PgBOgAZ8AF - cAkMgGFwGzwEAjAOXoIp8AHMQhCEh6gQHZKFlCB1SBcygawge8gN8oECoQgoCoqDuFAG - lAdthoqhMqgKqoOaoF+h09AF6Ao0At2HRqFJ6C30GUZgCiwBK8AasCFsBTvB3nAwvBKO - g1PhXLgA3g5XwvXwUbgdvgAPwLdhAfwSnkYAQkakEGVEH7FCXBB/JBKJRfjIeqQIqUDq - kRakC+lHbiIC5BXyCYPD0DEMjD7GFuOJCcGwMamY9ZgSTBXmMKYd04u5iRnFTGG+YalY - eawu1gbLxIZj47BZ2EJsBbYB24btw97GjmM/4HA4KZwmzhLniYvAJeLW4kpw+3CtuG7c - CG4MN43H42Xxung7vD+ehU/HF+L34o/iz+Nv4MfxHwlkghLBhOBOiCRwCZsIFYQjhHOE - G4TnhFmiGFGdaEP0J3KIOcRS4iFiF/E6cZw4SxInaZLsSMGkRNJGUiWphdRHekR6RyaT - VcjW5GXkBHI+uZJ8nHyZPEr+RKFRdCgulBWUDMp2SiOlm3Kf8o5KpWpQHamR1HTqdmoT - 9SL1CfWjCF3EQIQpwhHZIFIt0i5yQ+S1KFFUXdRJdJVormiF6EnR66KvxIhiGmIuYiyx - 9WLVYqfF7opNi9PFjcX9xVPES8SPiF8Rn6DhaRo0NxqHVkA7SLtIG6MjdFW6C51N30w/ - RO+jj0vgJDQlmBKJEsUSxySGJKYkaZJmkqGS2ZLVkmclBVKIlIYUUypZqlTqhNQdqc/S - CtJO0jHS26RbpG9Iz8gskXGUiZEpkmmVuS3zWZYh6yabJLtTtkP2sRxGTkdumVyW3H65 - PrlXSySW2C5hLylacmLJA3lYXkc+UH6t/EH5QflpBUUFDwWewl6FiwqvFKUUHRUTFcsV - zylOKtGV7JUSlMqVziu9YEgynBjJjEpGL2NKWV7ZUzlDuU55SHlWRVMlRGWTSqvKY1WS - qpVqrGq5ao/qlJqSmq9anlqz2gN1orqVerz6HvV+9RkNTY0wja0aHRoTmjKaTM1czWbN - R1pULQetVK16rVvaOG0r7STtfdrDOrCOuU68TrXOdV1Y10I3QXef7ogeVs9aj6tXr3dX - n6LvpJ+p36w/aiBl4GOwyaDD4LWhmmGk4U7DfsNvRuZGyUaHjB4a04y9jDcZdxm/NdEx - YZtUm9wypZq6m24w7TR9Y6ZrFmO23+yeOd3c13yreY/5VwtLC75Fi8WkpZpllGWN5V0r - CasAqxKry9ZYa2frDdZnrD/ZWNik25yw+ctW3zbJ9ojtxFLNpTFLDy0ds1OxY9nV2Qns - GfZR9gfsBQ7KDiyHeoenjqqOHMcGx+dO2k6JTkedXjsbOfOd25xnXGxc1rl0uyKuHq5F - rkNuNLcQtyq3J+4q7nHuze5THuYeaz26PbGe3p47Pe8yFZhsZhNzysvSa51XrzfFO8i7 - yvupj44P36fLF/b18t3l+8hP3Y/r1+EP/Jn+u/wfB2gGpAb8tgy3LGBZ9bJngcaBeYH9 - QfSg1UFHgj4EOweXBj8M0QrJCOkJFQ1dEdoUOhPmGlYWJgg3DF8XPhAhF5EQ0RmJjwyN - bIicXu62fPfy8RXmKwpX3FmpuTJ75ZVVcquSV51dLbqatfpkFDYqLOpI1BeWP6ueNR3N - jK6JnmK7sPewX3IcOeWcyRi7mLKY57F2sWWxE3F2cbviJuMd4iviXyW4JFQlvEn0TKxN - nEnyT2pMmksOS25NIaREpZzm0rhJ3N41imuy14zwdHmFPEGqTeru1Cm+N78hDUpbmdaZ - LoEam8EMrYwtGaOZ9pnVmR+zQrNOZotnc7MHc3RytuU8z3XP/WUtZi17bU+ect7GvNF1 - Tuvq1kPro9f3bFDdULBhPN8j//BG0sakjdc2GW0q2/R+c9jmrgKFgvyCsS0eW5oLRQr5 - hXe32m6t/QnzU8JPQ9tMt+3d9q2IU3S12Ki4ovhLCbvk6s/GP1f+PLc9dvtQqUXp/h24 - Hdwdd3Y67DxcJl6WWza2y3dXezmjvKj8/e7Vu69UmFXU7iHtydgjqPSp7NyrtnfH3i9V - 8VW3q52rW2vka7bVzOzj7Lux33F/S61CbXHt5wMJB+7VedS112vUVxzEHcw8+OxQ6KH+ - X6x+aWqQayhu+NrIbRQcDjzc22TZ1HRE/khpM9yc0Tx5dMXR4WOuxzpb9FvqWqVai4+D - 4xnHX/wa9eudE94nek5anWw5pX6qpo3eVtQOtee0T3XEdwg6IzpHTnud7umy7Wr7zeC3 - xjPKZ6rPSp4tPUc6V3Bu7nzu+eluXverC3EXxnpW9zy8GH7xVu+y3qE+777Ll9wvXex3 - 6j9/2e7ymSs2V05ftbraMWAx0D5oPth2zfxa25DFUPt1y+udw9bDXSNLR87dcLhx4abr - zUu3mLcGbvvdHrkTcufe3RV3Bfc49ybuJ99/8yDzwezD/EfYR0WPxR5XPJF/Uv+79u+t - AgvB2VHX0cGnQU8fjrHHXv6R9seX8YJn1GcVz5WeN02YTJyZdJ8cfrH8xfhL3svZV4V/ - iv9Z81rr9am/HP8anAqfGn/DfzP3tuSd7LvG92bve6YDpp98SPkwO1P0Ufbj4U9Wn/o/ - h31+Ppv1Bf+l8qv2165v3t8ezaXMzfFYfNa8F0DQHo6NBeBtIwDUCADowwCQRBb88HwG - tODhURZ6+Xk//5+84Jnn8y0AONgNQHA+AD7oWI2OGo6oB0Gb0Bailg42Nf3eUEUYabGm - JvMAUeRQa9I9N/d2DgB8FABfh+bmZivn5r6ivgZ5D8B5vwUfLswWQ/39ATEjH6+gc3kD - +ULlx/gXSb7pbwplbmRzdHJlYW0KZW5kb2JqCjMwIDAgb2JqCjI2NjkKZW5kb2JqCjE4 - IDAgb2JqClsgL0lDQ0Jhc2VkIDI5IDAgUiBdCmVuZG9iago0IDAgb2JqCjw8IC9UeXBl - IC9QYWdlcyAvTWVkaWFCb3ggWzAgMCA2MTIgNzkyXSAvQ291bnQgMSAvS2lkcyBbIDMg - MCBSIF0gPj4KZW5kb2JqCjMxIDAgb2JqCjw8IC9UeXBlIC9DYXRhbG9nIC9PdXRsaW5l - cyAyIDAgUiAvUGFnZXMgNCAwIFIgL1ZlcnNpb24gLzEuNCA+PgplbmRvYmoKMiAwIG9i - ago8PCAvTGFzdCAzMiAwIFIgL0ZpcnN0IDMzIDAgUiA+PgplbmRvYmoKMzMgMCBvYmoK - PDwgL1BhcmVudCAzNCAwIFIgL0NvdW50IDAgL0Rlc3QgWyAzIDAgUiAvWFlaIDAgNzMz - IDAgXSAvVGl0bGUgKENhbnZhcyAxKQo+PgplbmRvYmoKMzQgMCBvYmoKPDwgPj4KZW5k - b2JqCjMyIDAgb2JqCjw8IC9QYXJlbnQgMzQgMCBSIC9Db3VudCAwIC9EZXN0IFsgMyAw - IFIgL1hZWiAwIDczMyAwIF0gL1RpdGxlIChDYW52YXMgMSkKPj4KZW5kb2JqCjM1IDAg - b2JqCjw8IC9MZW5ndGggMzYgMCBSIC9MZW5ndGgxIDEwMDQ4IC9GaWx0ZXIgL0ZsYXRl - RGVjb2RlID4+CnN0cmVhbQp4Ab1aeXiTVdY/975rlqZJmr1Jk5AmadrSlaWllYbSQim0 - ForQIsW2UCgIWrFWUeGriiJVGZFV8FNxoSxiQ+lAgIEPGRScRdFxZdTRsTqOYx9nvg8d - B0jynfdNqZTH8fEPn3nf3OXc9ZzfPffc5U378ttaIAE6gYGaOU1tC0F+vC8AkI3zlzW1 - xekkFsPfze9od8VpLg2AWbqwbdGyOC1uBFA6Fi1dMVg/6RKALtja0rQgng9Iw5hWTIjT - ZBSGqa3L2u+I0/o+DGuW3jx/MD/pLNLpy5ruGOwfPkDadVPTspZ4ee+DGKa23Xxr+yBd - jOG0tuUtg+VJHfL3OhBMNcDNoIAbQQAKWnwbAIQvlA5gMVfKx2dBpmrDDYnF34BOlOkb - qn4hh6+4f/XOdy2X/Kr14r8wQXG5vBTygWgAQE0wf0C1fihHroeeIQy1GWGYgq4E3Wh0 - GRkTLNBJdsKj6J5Gx8Bi8hCsQLcW3ePo2KHYbqQOk4d6WTF4hKwAG6kMqljnTIPVaVGq - nG+GCd/3pPN9y6dHiRVH7xNi7U0AxQQleZo8BQvASZ4HL7kTKiCNbDsQWOpsxKzd0Iau - Ex0j+4Ts7k3Jcx4nmeBlCdbxQQpLDjr/kjvS+VlumJJe50l/mMXgpRSkgonOE44nnf/j - WOQ8jm5vPGtPAEscdO52LHVuSAmTbb3OxxxhgnXWx4PbHFj1oHNZYLNzQa6cP21zmO7t - dRZi/qygyjmmwO0c7eh3ZvvDIkF6pGOaMz33985UrIjFXNioN6hz2h0bnOMwK8VR7h+H - 7ijZQ7ZDOtne6610HsEointgSqBgc5jcdaAiLdcbJncGx1SkbQ5U+L2BaU5vYJLfj/FZ - Z4TVwvXCBCFPyBDSBJ/gFpIFg6gXtaJGVItKURSFMHmht8TJHyV7oQRh2XtA5EUuTF7E - RPYo2Scn7jsksiIVQTSEYx+j8hIccbK3TyvFMHKQl2N8mOw7EE/aF3TiHCLAyhlaKsXR - Qx8oESlUQog8EubhflNHiaVEP15XOKns33mNcs5lP+PfPxbiCG2eWlsX2uOoD+VJkZij - /nJxy+XIvw3bb8OsltKMjKkzVhzoaFuysLzFU97oKW9B1xh6qKPVEupsdrn2L2mTMlwh - xtfYPL9VCptaQm2elrLQEk+Za3+HXO+q7IVSdoenbD8sLJ9Zt39hsKWstyPYUe5pKqs/ - 0Fy6vGFYX2uH+lpe+gN9lUqNLZf6apbrXdVXg5TdLPXVIPXVIPXVHGyW+5KEL19cW3pr - O2qnq3zxVFcorTY0ZfqcupCrqb4sTHZiYtltwJ0ALXcM0rhOsLHZ4ASIvY/unBRGr4t9 - zp0GbXRZ7B9MEQ7qYcnRaEkxnIBHYDv0AA+7MJ4G82ArvEqW4NyeC33wDkmBLLS9LIRh - GvyOxGJvwEJ4Dsu3w0nYBPtBjXWWgRFz1xFv7E6kgxhvhtWxZyAVCuABOAaF2Oo6GIjt - jh3A3BlwHeyBvVj/t8RD97NJsRdj/SDCdGxzNea8EZsW6wE9ZEIp1GDqajhOvMy5WCtY - oAi5ewKegh3wEnxF7iV9sdZYR+xs7BNUVQvYoRbflaSPfML0sA/Enoh9GYsiEmmQjr02 - wgZ4FtvvwfcEmtZyciNpJxvIJhqk99I+9n7OHI0gDgGYjG8FWuUHEYHDcAr+F/5FvqYW - Rsu0My/HRsf+D1QwFaWUJGmBDnzX4LsOZTpKeJJDJpIaspJsJJvIH2g6vY7W0dvpHfRz - ppqZy6xg/sDeyvZyD3NbeVX0m9jR2OnY22AGB1wPy2EVSncSzsJ5uEAYbMtOvKSIlJJ5 - +HaS7fQw2UEO0xpygpyle8ifyKfka3KRclRNjTSDttMNdC89SV9jFjObmMeZPzHfsOM5 - yu3gPuO9wh+jzdG10ddiRbFPYt+hiRXBjSNTCtVwAzShtG0wCv4LpdiHbw+O2il4GV6V - 30+JHQbgO0QBiJ7YSB6pwreaXEsWksXkSXIE3+MyL99SHAiqoDpqpnZaS5vpMtpJ36ad - TDKTzlQyc5gefM8w7zAXmYssxyaxRnYyOwUeZpex2/Ddye5ie9nXuUJuPFfNzeI6ubXc - w8x87g3uHX4Vv47v5b/m/45mcZpws/Awjs6rqLMvoS5//7AkFbnPg5tgPikjzbAZR2MH - aYIu1K4F5EHEqw3SYg3MKmYyzUFtOA53obZug5WwlpkLO2LvMXvgXdSUpdhkJ3SzpeDg - tuDo3As5qEWDbzCQHkjz+7ypnhFuF5p8e7LNajGbjIYkvU6boFYpFaLAcyxDCWSWeyY1 - ukK+xhDr81RUjJRoTxMmNF2R0IhT2RWaNLxMyCXVa8KsYSWDWHLhVSWD8ZLBoZJE6yqG - 4pGZrnKPK/T7Mo8rTOZMr8P4I2WeeldoQI5XyfFH5XgCxt1urOAqt7SWuUKk0VUemtTR - 2lXeWDYykxwOIhzKkZmS4QiCSmo4BBObVqKBhYlSifKQzVNWHrJ6MI55jLe8aUGoZnpd - eVmy212PaZg0ow77GJm5OIR8wkPqBZ4FD4WD0NwoxZrm1oWYpvoQbZTa0mWEzJ6ykPnO - zyzfk5dj5Q9fkRmi3klNLV2TQsHGhxBciWyUqKaHkZpa68Jm6f31dSFy/yATEo9LkFOJ - 3fia4G1c4gopPKWe1q4ljQguzKjrtQVtsvENQU1drzVolYmRmYctq4rcKP3hkRNGTpDC - IrdlVTz8y33x9DdPSKFl1amPMZw6YwgAIiHgmYJ8hlzz5U48yGyB5LUUQNf8AsQJn3qC - Yi5GfiaGKOoM4w1x3ilNoc7ay2y0lsWZa1xS1quw2uRFqLQeyzd2acfhSGF5rcfV9Q2u - 1o2ega+GpzQNpvBe7TcgZUoDPaQrIdJ0Od4hLZZelLrV4mmVxrdDHlOkPZbyKxKQlqCR - eA4ZcAGvqXOHXPWYgLvJzKlhUNTU7SdkXX2YxO4PQ5njMO5RmRvmYXampGqLy7B/JEZm - YkK6G2NZma5J2PMkSVdcXa6uKQu6XJNcrahMrFcOMaOlqz4bEaytQ5xgJvYYrE8eirbU - 14/DdrKldrAKFu+qxxaWDLaAoZyUHcFCOZm4mDK+mrrpdaHOsuRQsKweRwHV90RNXegE - am59PZbKHeIUOV652DLIcx7ynJuO+fnxVnDv0olN1Hd1SW3W1nncoRNdXcld0nyL02EC - VycEBxPCIBWRIA+Tzhqsi4HHnSyPgdvjRrbqJUxHoUpf1ijcs/84wmOG+MaaY5HbMTLC - BT8TwoU/BeFxPwnhoiFOhyFcjDwXSQhf859DePwwhEt+HOHgEN/I5ATkNigjXPozITzx - pyBc9pMQLh/idBjCk5Dncgnhyf85hCuGITzlxxGuHOIbmZyK3FbKCE/7mRCu+ikIV/8k - hK8d4nQYwjXI87USwtP/cwjPGIZw7Y8jPHOIb2TyOuR2pozwrJ8J4dk/BeG6n4Rw/RCn - wxCegzzXSwhfP4RwMDkEV9rhzqvMLvzshnnuFZDjTonTQyktxPA0PM/Ngh5+D2zhC6GG - vRVmoOvAg3YRhgXoKjDeSU7DWiyzGmnJSXkdWN+MeSp0Rmzy8l2QGk8ox5F2wRzpaP6z - PBRPA8Mf7BS44Uk/SPF4ayXimq68IleFZ8AE0EAi3mXFHx0GejmaJPuj8KSxGc7h6aGf - vshYmG0sz57lglwz9xE/ju8VUoV2vOh4GstSPJ8A5h1DDgUoid9Zidm4sUAnasMAZ9FJ - NMaZD8LAogOMCx/AEawBMCvjCLbCYZiTm69z6/zoStl14Ut/5o5dmBhmqy7i/QeWeB4F - no/9JOA5clHQuUa3WU/zRFVKIoUUsyjmJtlsCV6N1Wp7x92xFm8mqs9XRaq131YNQEmk - JJKbM3FF0EdMOq/RxwucwAqMQAWOV2rFPEJM6Cn0qjwiGPBkkpFBMjLSMzLuafDmjR0j - vaO11OPWMW6X2aQzCDRA6NmWCe2VRbbE9/8RfeoMrSXZ3ZvqtkcfiPTsMfpvrn+odjLR - kayLW7mkd09G3/jyWLRXlqEHsRpAGaQRqA6mCiksq2JS8BpHIaYoVaKaqtUU+MW0SGHT - MKIXrAmaMFEdcG+6LFCxJNH5fp2+MBtKSoojxSXFAxhH8ZLcRrdu0JEeNvvSBibj0tvM - 3RdPUid3rC9auieq6cGu8SGwBW8fzUgkwW+D9WVkKkN5omBMxMq8S7gkYmcMqmT1bFLH - vEX+yLyl+qNaySrZhHL6AGWn0y2UBpRpCQXKgoTJdDbtoIJ3QYKSMnqGUJVaz/Ci0Wy2 - sSxeeG0PJiidjIqPqAmNJDj1mHIwCayGjjZLRrX2fHFVpN96vrAQf5b+CMpW3lL2OZSY - USq9uRCvjPYnqMNkTx8lVKnCSC+lzBquKuvOCLvy1BouHubmQMPyW8jyhluS3Ari1nl0 - o8aMJh5iNJiMOs8W4iA7ybPEdoyNNrwcncMd545d9LHnLkxk5o88e/vFAPvuyDEfjrr0 - 34gL3l/H3ua+4D7DmZGMdxVdwcw1aCBOk1/TM+KrSn6iaByXyCSPExR2arer9LmMLcWS - q7I6Ut5zL1kYV7kBWeXiwzNQMiCrXR7YEnzEq/ByPpPGkof3yfo8YhMxpuUxZlYb80gS - Rc+qTM4DHYuedKeEShh/7sEbZ1Q8rUDdLr9Ppx2rd4N+tBY8I0Bn0LsZdvvRx7pPRTdF - 953ct/E4Xpkk/y36j7/1Rz/+JzFquM8u/Dp6NnroXAw+fo9UkvS3iPbCM2TFN3h9URw9 - HX39fHQ/Nw9lnxH7QD7pJ+IdTjF8GCxIzyFKLeqB3Z9foV2sWKIVCkW9WsEk5wmpCodW - 7SjKoFmBokNFtCgv3avXCpxo948w28OkK+gxO5yC35Gloo7RqmKhuNhuEALpu1Jt45MD - 9spEf4H1mvG/IlvwguMw2QyD0J2XweuPnBqCr2QAtVuHutCAGp81kDVAMNSZC2VY08aM - NY4AYvWSMYlusKQku8HkMriJewSMpW6wOcxuYnSjJ6FJtMUSmPfcg2CShlRTPs7sa4iG - JBJe4I1EmuOjfJ4RAi94xpP8PLwq0BmwEHahIZ4Rfp9fCnyjR40Zm0Q0y6tvqN/sbs1b - 1pxbS/rGG9X33flIkVu5i/vns8c6bjN71Sm69ExfQ7pJMfa1uzcdO7Kl6/U5mVN2rjfa - eU2CPXsRWSpmWkbOrZ2WXvvK9oqKrZEt9hEMc7+aL/UEK5b88sFNzyWRfsnmdcQ+Yr3c - SdBBCrQFs3YK3fZ37cwIMTGFovE3OzhBp0xxqFQGv2hz2bK0WSQAOqvTtcZ9rEEGVZph - /YNWcKCkZKBEV6iLo2fRm3iliTf4iF6JnlEw+0iSIsUXt34STEn5OgkKvc5AZQSMntQ4 - SLzRYDbld/QUPdd45l/fnrtzZl7hTrpw/fpH7jrsm3ySOxn5W9X06ED0fDQaKvJUrV35 - xfHdHx18Y8u8/bINxNst5ixbDTacY93B7G4r2WrZJe6xMJWibruBYQy8wyYkONACCcnJ - Zq1fTxg/1dkcSr/Zascrf+GAe/nK7ydbcdVAYaFkA9Ee4oTDiDY+60aBVfSqjUofaJK0 - KKUuUStYkeKAcRNCWUZlSvBBoh49hYX3EZbwbnnKoapIyhL3M2R9AZPZk4UKgKoS14p8 - SR0ozsF8gb7zqblHu3zVC5U5Dz7Wdp+1J+XvR9+8QPRv2dnq0Lvz79u17OkdH6y9/e2X - Sf7neDU3jsNxLYidYwZwXFXggNuDeWM1kzWzNd3s7mTOKxpookMLosMhJCmpw6zispKy - tAGd3uZU+W3WFOca9/LSK8XHAQaU/MqxtVnsCiUQYlGhbHb0wEp9oEwWfSgg/uRZoJfU - W1Z63ojmxazL13lGS2LB6FH6/G8f27Fyx847H9xNumpzrtn3TMkLNx+IXvj6I3LDF+++ - +ttfn/0NHTsqZSp1XBi/aX4dGXnhSzIbbUhF7Bxrw9tCO94se4k6uGKL+Lit28lwGprI - GYwafaLREFQHDWLARqaqDjKnySvM6eT3xPcV7zjf83xh/sKjOq07radzRc6dmrjN5Egt - 5AXB5HbYBaXDpPIKW+zd9kM4B1ivKdFr56xKtaDT+BMdfs7mT80S/Farz/+We2dc+VH3 - ZdV/K1KoL0QzUohBdsOQnuDqqR3AVNmYTAIPyzF4FUs4lneikdVrk7QGLcurvSOSU324 - m3P4SIpDYRZ8oDJqfCRB47G5MYlDT7SgXiVo0Ysb7rj6oLlJz0i/h9zSALc0NKAK4Wt0 - p+CUwi0FKhDaGl4y4ahExOdH48MLhPa9UzBGr730Nffolkdm5hj2C9fmzlgxYcaZ6JfE - 8mfiVKVV7rt7F0c87OQbr5u+tPKZZ19uGDO5aH1WjV2Lax5PKCmN+m6bdO+BLiJ98MS1 - vhMXtu/kPUd3cEE9JeNEYqXYuZmfzS3iVvB3CGu4w8yrzDlGyXE8frxSMHQ13Uifowwt - 1CsULIcXpfwyvSBgHl6ZcrxC5HD64I6SZXilwCt5W4KCKgOgsqoTet3Nh4kpbtHR+BQX - W6u1n1ugpBjX9BLJkhN0a6qyMsSV2pfYNVmWjAZupfaEViwWi3NziATVcjQ8JF+B4gg6 - T+c+8trn0YVk/+fR3i37uGOX9pLT0ZsjzdTeFb1Jlm8tCnkNysdAIIj7cJQCdx+EBoCx - stwed3N8ski8VMe3FyW4WUJdX9vXJ20w5TZW437Iy04GH9wfLBJEQcMnmkWzxpzoF/2o - XhXWWapFKrXHq7Q5PFYlZc1et8PsSOAF4JPtXiZJmYZ96gL4AY/02gLSd8sgzr8sb8AH - Vn9amCQcuIKPfu35gfORQWZwr1OCJgz1EKFBZZTUUTK9RlyRpGXIfHk1wm2NpCK4pdGN - kpUFY6t7g6Pqb+mszkwtfqblver0ozdWLXn8kC3QtrC7j83eem3qNSWpk2bVPjFzXWQs - /eLGmnU7I+vp0WV5U598PXJGWl9QbmYA56sVrfG8YO4h/jRPWd7A+w0dfLvAGdTUYNHi - KgO8RaW0CTYbqAMKm51kWQJWsCbjUs8Pk+yKzQ/KNaArxOGWBSKSSFeIIkmA+q8hKAVZ - vXfantb+msxDjpxVwUBlwcjkPtKN/M+b8dTsZyLT6bPNxQsSTKWjb1kceR2ZxZEuir3P - unENUeNZwAqPBvO3ipu1j5ueZ3eJO7W7TWHxjPgu+5nmrwb1OJF3WAS1Q6+yClarkfoT - bckKv9FqSw4TBa4kg5bih7ZtmXi886mSFDirddRHBDPGuASMKQ1qHxAteqIJFw5Gg560 - uZA9acFI1Y8eHCNcLfQ4wynuSeKLxcf350w78vzmzc/ih7tL0X9+GL1E9H/h20nizs3z - Nl7q3dvPnIt+hUtnJPoiybiEG5SgtF50RK9jvSi6BkZAezBzt9htpmmiy67T8A6jkMhr - HHbVCA31W2ypStwFuAMjEq2e1B/cBchLhU7WMzwR2U3JwNl8rA+SUTDOhB6xanzAmGWZ - ZImkvYC08sfHTF77yaB+4scUyYbh9kjnoa90eycdOVruRT+a1TMmeP1dB6OH2retmJFT - 1LfiD292zt1/dMG2u2fvZPavm5JWHP0ryvjM5htGp0yJfCjZKXPsa6rg5uCIzvhlQpby - hIaESUnQy5oKzQyvUepsOMXwi1sAjBpjIuNkKHPJhKe9S+5Fg7uBSEPhqWzJqMenVrY0 - sSLFA9pIvzzh840enbRvubyn843G9S5/18G9e33G3IQUg3Oif9Wc9eu5OdG3N0TKC5JU - hK5TiPcsoi9vkG2EChXvSzYb0MYGs0rJy4TCImilrcwifg37INcNu6iIXyVpOVvJPcCu - 5U6zZzhxStqtaYIoq9qiVbhq45kmHGvrw0XGxYbJfYcYZpkeTzd4VLovmMKjlUUkOJ5l - COEowzOAplcpSoL30CMEZytZfYD08FZr9XlLVeTjjyNWWVbJvuKpST9oQQQ0r9rq/ioh - HmRMnb4i6KUBPcOwENDzPK5xwxpHY97DwfftFhZGCguvapkTtBn4QxONyxketRQkHw30 - BySFZLwcXXoiehueOLcyrRffQIQoGKNTmC9QX6XZ+ZvgTV3GBy3dFkZacwr0Ffo6/SLh - duZ24WHDVtjCbTVuMW0x74JdJm0FTDVONr9qZMu4Vzi6htsJO0k3t8vMpaZxFqPZRIA3 - qlWJDlEjTWZTMgIj8W02WnrUvzDhnH7LLaOM8FT1W1CI7+WIbxCrIoV51mwLrkYIViHB - 0QjqjUYwmZbpzWYLR4g0AJY1iNvKU3IgYkgabsnNuQWXpgaSzzNUoKjxPv9oaSEfM3Y8 - GYtIMIz7tO++5tInOp/wBVKy07V52VpuvCba/jviJGz2ouj66FcvRhf28eJzCbzbIm5M - ZasRrnslGyw/sRb8Tv1DjwETGfDjF/IcvJkog3KYJH/7roZr5W/vM/B7+myoh7lyZYK3 - OPE7J16625kwtbRyRmVGRcvSjpb2xfObsEw8VyqM/2/C//kAfnUFaR2AjeieQ4d/RcEv - ywBvoetHdx4rsegM6FLRjUJXhm4mugXo2tGtjg0+WB6G4gRcV9FYb1h++VV01VX0tVfR - kgRXtt98FT3/Khr5G1ZexvgK/m68Kl/6pnxl+/J/064oL+04rsy/+Sq67SoasRlWvuMq - eoVE/z9X+zr7CmVuZHN0cmVhbQplbmRvYmoKMzYgMCBvYmoKNjQ2OQplbmRvYmoKMzcg - MCBvYmoKPDwgL1R5cGUgL0ZvbnREZXNjcmlwdG9yIC9Bc2NlbnQgNzcwIC9DYXBIZWln - aHQgNzM3IC9EZXNjZW50IC0yMzAgL0ZsYWdzIDMyCi9Gb250QkJveCBbLTk1MSAtNDgx - IDE0NDUgMTEyMl0gL0ZvbnROYW1lIC9BS0JKUkorSGVsdmV0aWNhIC9JdGFsaWNBbmds - ZSAwCi9TdGVtViAwIC9NYXhXaWR0aCAxNTAwIC9YSGVpZ2h0IDYzNyAvRm9udEZpbGUy - IDM1IDAgUiA+PgplbmRvYmoKMzggMCBvYmoKWyAyNzggMCAwIDAgMCAwIDAgMCAwIDAg - MCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMAow - IDcyMiA2NjcgMCAwIDAgMCAwIDAgMCA4MzMgMCA3NzggMCAwIDAgMCAwIDAgMCAwIDAg - MCAwIDAgMCAwIDAgMCAwIDU1NiA1NTYKNTAwIDU1NiA1NTYgMCAwIDAgMCAwIDUwMCAy - MjIgODMzIDU1NiA1NTYgNTU2IDAgMCAwIDI3OCAwIDUwMCAwIDAgNTAwIF0KZW5kb2Jq - CjE3IDAgb2JqCjw8IC9UeXBlIC9Gb250IC9TdWJ0eXBlIC9UcnVlVHlwZSAvQmFzZUZv - bnQgL0FLQkpSSitIZWx2ZXRpY2EgL0ZvbnREZXNjcmlwdG9yCjM3IDAgUiAvV2lkdGhz - IDM4IDAgUiAvRmlyc3RDaGFyIDMyIC9MYXN0Q2hhciAxMjEgL0VuY29kaW5nIC9NYWNS - b21hbkVuY29kaW5nCj4+CmVuZG9iagozOSAwIG9iago8PCAvTGVuZ3RoIDQwIDAgUiAv - TGVuZ3RoMSAyMzcyOCAvRmlsdGVyIC9GbGF0ZURlY29kZSA+PgpzdHJlYW0KeAGtfAl8 - lNXV973PM3uSmWf2JcyemSyTZCbJJJAQmCcbIWFJ2CRBYoKAgKIJiLhLrAuKWnCv2r5g - 61qtThLEgAv4aq21Umm1Ctoa2vK61FLQF22tZOb73zsTFtv3W36/bybn7s8597n3nnPP - OfdONqy/bCXJJYNEJPLyi5cNEP4Jz0b01vKNG3yZvG0tIRr9BQOrLs7kPdcQou5etfbK - CzL5woWExH+7euWyFZk8OYm4ZjUKMnkaR1yw+uINV2TyoYOIN6ztX56tL3QgX3/xsiuy - 9MnvkfddsuzilZn2S29EXDrQf+mGbL4I8dKB9Suz7WkXIVbT2XnxbULRyk2+JPXkRqIk - ApFIlHTjTdYq3yEK5Fm9khDhZx8v6jXUf6XRajj6nyzqb2CJn+fsXp66/J/zlD/S/hxt - tbw9q8BzqifHHyBEsT91eTqm/NGpGlbLPu6hxd6GaQpKooAYQOSpBFIdgF5AH+BtwBjg - GEBDfAhZ262A7QBWoyReMU2igBhAJAmEvYCxU7mtSG0H7AAcByiJLKZGcvSV3oZWMYVH - U2QAsB2gwKOnc8d4ydZs3Q7EIjEolHiXKMIEYCvgGEBBfOJJlEvit6QfsAO5wwAFsP8T - XWLwLelA3MfhW8QnyV6UHQAcB+jS+8R/jMxbUEka6sVvgOgb9PIb0gkYAAwCkoDDAIwD - wqg4jjf+BojHeas+pLcB9iK/D/EBAGudAzysxThIjpNnAQzPRCvW4jhAC/LfDE+9r3I3 - T+QZeeKrkbr6ygMNFvErvNs2HhoQRgEJQAdgK+BZgApkTgxrc/lzJ4Zr6yob2CudwNKq - Sg8iXoAY+ZF58zHuHhQkAB0AVnkAoATeE+jkCVA6gVc4gdEzINwK2A44xkqA4svhmjpO - 5cvhuQsrG+ayIvIux/4leScb78rGP87GN2fjm7LxJdl4dTY+JxtnevklmZ7NT8vG7C0Y - ncpsXJGNQ9k4kI192djL4y+GF1RtaygWv8Dw9YmfYSY/w+t+hmXUifDMkm3I7wAkAfsA - BwBask2hIDS9DyH6Jf5dWEwWES/6cZzjzRePc7yfAu+nwPspx/sp8J4u2Yb0DkASsA9w - QPx0WGvyNcjijVg9N2LSbkRfbsRQ94kPAs+DwPMgJuBBlBCEEsAHiAFkQCdAhZr3UfM+ - BMRh8R2sn3eQIgglgA8QA8gA5Vk5UXxV6CUrwK+PCD3DK7xRLINhLINhLINh9P2w+C5w - vctxvQtc7+Lpd4HrXeB6l+M6nRPFJcPiCu+o+J/DTSx6ZcS/wmtoqBCbgL4JK6kJL9SE - l/CJjRikfQgPAwSsqEbUNgJlI1o04pUbiVJsFSMkjCfrhXNINeKpyLO4TizlcW02niJG - hqtBJyDGgCWGtRljMkEsRK4QuUKeK0CuALkCIooxhAXAVIi4CnGBGGR5TKJv2Ozk69g3 - 7A9lE+WVlS+JfmERmcqb+EdaWiv7GnLESejnJPS+UMwn7wMEPJ8/XFHJH8sfntGaTUB+ - NBhFu7CW07IKXxEvaFoQFyM2Z2PvsKfRu5s2CF2YBdKQL+ZitHMxVLkY7VwMTS7mORfD - kwuy2PoA2wA7AEnAPsABMXdEbzLJo8Ivhwuqtu8R3iDHhDfkRYLPT7crjymF7YpjCmG7 - eEwUtgvHBGGvaq9a8KoSql5Vv2qrSulVJ9S96n71VrUyISTEDqFDVPg8voCv0Ffqa1VK - HskvBaRCqVRqVfU2rBEuwiT2Cr8nVPi90I9NyEsGhQ9R5hMOIYwhlAEC6UM4wFODCLfx - 1A6ESZ7ahzDzDKvFdodQ5inW8gDgMEDk5axEEA4Jazk1n3AQVA6i9UEiCgeFJ3ipJLyP - HjA+YGEMIAM6AQrhfeFB3uYJ4T0yCjgIEIX3hIvAWF7hd8Nxg7dhXPidcA7PvyW8JfwK - 3zfx/SW+b2BADRze5G/1S7JP+CVJA7DDobwPMADYBtgHUGJ03sS77RDeQhhFKAP6AKz9 - m2QrYC8AuyxaR5FKcFy9CCnZJFxDrhKGQGmTcAXgSsBVgKvBQJuEDYDLABsBl/OSAaTW - AdYDLuUla5G6GHAJoJ+XrEZqDeBCwEUo6QeNlZxGP2j0g0Y/aPRzGv2g0Q8a/aDRz2n0 - CwNIrQOsBzAa/VjU/aDRDxr9nEa/sBqpNYALAYxGO2hQhFcArgRcBWDv0A787cDfDvzt - HH878LcDfzvwt3P87cDfDvztwN/O8bcDfzvwtwN/O8dfx/HXAX8d8NcBfx3HXwf8dcBf - B/x1HH8d8NcBfx3w13H8dcBfB/x1wF8n9A8p6hrSIFAHAnUgUMcJRDmBKAhEQSAKAlFO - IAoCURCIgkCUE4iCQBQEoiAQ5QSiIBAFgSgIRPkLRIE/CvxR4I9y/GMc/xjwjwH/GPCP - cfxjwD8G/GPAP8bxjwH/GPCPAf8Yxz8G/GPAPwb8Yxz/GPCPAf8Y8I9x/JuEVVhITwGe - wVLbJCwHrACsBFyAidiEDWCT0AdYBjifl5yL1FJAD+A8XrIYqS5AN2AJL1mA1ELAIsA5 - KOkHnQtBZyWn0w86/aDTDzr9nE4/6PSDTj/o9HM6/cK5SC0F9AAYnX5sp/2g0w86/ZxO - v7AAqYWARQBGpxd0eoUnyRLQEpFaDlgBWAlg79MLOr2g0ws6vZxOL+j0gk4v6PRyOr2g - 0ws6vaDTy+n0gk6vsLABiioo9XJKHaDUAUrtnFIHKHWAUgcodXBKHaDUAUodoNTBKXWA - UgcodYBSB6fUAUodoNQBSh2cUgcodeCNOkCng9NJgE4daAgQAMsBKwArAextEqCRAI0E - aCQ4jQRoJEAjARoJTiMBGgnQSIBGgtNIgEYCNBKgkeA0oqBRwmlEQSMKGlHQiHIaUdCI - gkYUNKKcRhQ0oqARBY0opxEFjShoREEjymlEQSMKGlHQiHIaY6DxAacxBhpjoDEGGmOc - xhhojIHGGGiMcRpjoDEGGmOgMcZpjIHGGGiMgcYYpzEGGmOgMQYaY4yGcA19TLiausAl - 34Jb/gmueRi8sQM8sh28sgI8sxic0QoOaQKn1INjYuCLMvBHKfikEPwSAlcEwB1+cIkP - 3OIRVgHnBcC5knzbEESv/4neP4w+7kBft6PPK9D3xehhK3rahB7Xo+cx9K8M/SxFfwvR - 7xB6F0Av/eitT1ggOz33/WOF91bAesA6QAWgHDBKXXI1NKNvATsArYB6QAxQCAgBAgAf - wAMgNhtsM5NRIzfYhWkC9ACSR1/i4VYefp+Hl/NwNg9beVgn2zvzXurM29KZ19+Z19uZ - 192ZN6Mzr64z7wWaItcByyey+7q8e6/Lu/m6vKXX5bVfl9d4XV7DdXm11+XVXJcXRdpH - /0rr0fDHPLyPh3eykHzLw3/w8DAPz+NhPQ99PPTQ+uE8oh2lXw37p+G9Twz7OxAdHfaf - j+jJYX/c+yJ9jPhhMXrpI8P+81D6k2H/fESrhv3ViC4Y9lcgahz2NyFq2OmPef/pH1VQ - 2eD9o3+997f+dm/SX+t9mJUNe7fzqhzven/Eu9Jf4l2RKV6ciZpYtMs7zf+UtyxTUpop - WWTWmrXbRuluuUq97RfqbX3qbTH1toh6W4l6W1i9rUC9zave5lZbNCaNpNFrcjU6jUaj - 0ig0goZoLKPpw3Ips64tKolFKugOlCh4WoIKTsHWLCQC1QiknfTtEaZBTZg2JExOmsVZ - wqwFjXRWct9yMut8X/LrBcFRqpu3JKkMNtKkaRaZtbAxcqljVtK5YFZywbwlXaPCtORg - 8ywfPknnfJ7d19ydDPPkKCVIV2bTMtJ12fQg0q3ZNNp3JydHZo2q0/OTUyKzktrOc7uG - KP1+N3JJ4RZgWdg1StOs6Kb8pKmpazeh1HvTHfksTt90R3c3sW1MOBKm6cbaGc3/Jujj - hX3NkdMfx+kko915pZzrfUbtbVF7q9TeoJrVzlqAwm3PqLe1qLdhIjKFDnfyvlkLupJp - N14sm5iFeVzgW9q1W0gI01qadwvTWdTdtdu5Q0i0zGflzh14yVPtwJwJtANvIuLtSIi1 - I6HvtAsI01m7QhZl2gV4u8BZ7YZa/S3NQ34EmTatvE3r2W12nN1mB2+zI9tG5P3nKCbw - mKcQP2/jN0/hfT+zTSBD63/bpvDftjk97N9JrWz8TsG/z9LdZD4dG5q6sWVlsKUv2LIS - 0Je8beNqR3LwfJ9vN5lKx1iVLymG+85fvprFy1aO0rHgyubk1GCzb2g+f/Ts+uRGVj0/ - 2DxENrYs7BraKK9sHp4vz28JLmvuHulYlVh7FrlbJ8gNJVb9K7HkKoYswWh18Oe+Q2st - q+5gtNYyWmsZrQ65g9NqWcO4r7NrSEMau5uWZuIRIUeHVd+X7+9utEkD0zkLTPU7rsvf - A9P/CZIT6U7mBhuTeQDGHWUNZQ2sCozPqvQoNmSrHNdN9efvoU9kqyQUG4ONBCzwL5+W - 5v//3w38c+n/xef/piXZkEW0wdGypvnMv0iEvdGGyKX4i1wGXJmGyF26YQMB8IINl0YI - xljO7SvsK+1rFfs8fX7h0ku7WeFLsKyY1cPsK4oyuoFEIjQ7SHgw+wHeTIoA86VoApIb - LkU7FuHDUO2B2+M6IOmml264DC0uQwdY/G8+ExWZmIUAIJ5IXBaBt/QTwF0kH7FHPJ94 - CEmPZeFPqet4vTU1DvH+PsT8/iwgwucCsp8Woox97yM/RdgN2Ew205upk5feTZ5EfBU8 - vfewlyebmDEIv/DTpBjlh0iEnEPux/cb5EzkddTvT39BGuFSW8jbF6HsfuRfo9cKbsGL - rWa/IkTeoWnF59QkPko20k30v8Ve4L8fGFLC3nQbmU9uIj/UlKafIWEik4vJNeRO8iNq - oIH0JelDcCTZQLsl/Wj6DbIMtUNklP5M7FRcm96OJxeQS8hdZCctV/Qpfjn+59QN6f70 - b+GJv5U8RnOoX0AHlCXpxWQSmUISZCn5FajiS32K4vF06g/pIeCPkAZg2gSqd5L/JAfI - F7SZvqMIK0mKpr3pX6U/IGq4+paSe6mIr0QDdAZ9SrCLb8NLqyQO0oqnl5KVZBXpJ+vJ - 4/g+jV4eo3FaTZuFZqFHuEW4V3hVvFtxreI6zMwm8gIlVEFLqExn0QX0Kfpb+luM1pXi - tSm4xIkP79tEWshs0oP33YqZeoP3+hAZpxQ9uID202vpQ3QH3U//KLwmLlTMVHyeviB9 - I15WwKzYiJ8UkmnAsBDz+wwZIbvx/B9B0Ym+V9EE3u97wmxhoxgXO8VzxWvEbeKj4ruK - xYpnUvHU39I3pR9Ov5h+L/1h+ijwGUmAlJFZGOmFpItcjZm7k/wYWF8h75MvaZA20kvo - 9+g90Mh+Rp+hL9L3aErIE54Sa8S7xV0KqpAV9ypeTxlTP0mNpo6lW9Ld6ZN4v/PJDeQW - cjf5CXkMK24nsI3RVjqbzqNLaB8w3kxvpY/TV+lfBYWwVHhODIvrxKvEq8V7xa8UIcVV - it8pN6Z6Unendqdj6UvR41vSf0FfDcRJJkOlWUjOI2uwMgbIRnIF+nwNxvx76PlN/HsH - 3uBnoPk8eQHjcpj8lXxFtTSP6qmbxvCdQqfjrbroBno7fYA+Qv9EP6F/Fyh6EhFqhLnC - Ksznw8JrwjvCH8WF4tPii+I74jsKm2KOYhFW4eOKZ5REaVRN07z17aGTz47/YPzBlJAq - TvWk1en89KR0a/rZ9KvpQ+m/gXN9pBTrci546hqyDatmFDP1K6zAA+C0/yKfYA0psd6M - tICG6Ry6lF6Pkb4ZY/1D+hN8n8TKeZaO4vsivvvoz+kBjP779DD9L/otxeIVwkIUPV4q - XCBcLTwhvCS8KqTEHDFfDGI868WVGNNrxc3iY3iH34pfiH9X6BVmRVgxVbFScZfiKcUr - ikOKb5WtyjnKy1VG1e2qrXwVMv4540NbhDjwC7Qb/A9XIHlOeF0oA0dwPvv/HN5K/07e - oI3kv+g4Vvmt+F5PPgUfLRaa6MdYST+mk+ld9GFBhOV0K91HdpCHxafpe8IN5HZwfzn5 - HCEVVtNyeoswCdLwTmGE/BkrYz/45QuhFen9mGkH2S/upwPkH/RLegc5hnfpE6xkFf0t - mUJvoc1krVBMgmQD3Y8Vho9SVlDluZC3q5jsVdwr/EW4lx6Dbbadv/3tdBnZQYux3vbT - c8mzwpiiRvESVukMcKkLrecLKnol1uYPBQV5XHgda3cIfDYXXHE/uHcH+KQBvS4iG0gT - nQd99+9US4z0Vqz288CZt6I/T5Gn6DjOnfaTGek9HD4VYljp95IfoHu7SQH5afr75GV6 - Pvh4J9WRH5I/ktniCYUVu8ZxhVvZkhZS55OD6XnkTUgsSfyIzCQf0tsgN2aSD6iNPJRe - m45jNe5Pd6OfN5LVZJGyQemBNF4G6/UV9Q7VR6p6VYWKKq9SrlDOV85SNiknKyuUxUq/ - 0qk0KHXw8v5BcUDxsuIRxffAu+UKqyJX/Ajyc0h8QLxN7BfniAmxHGvSLSqEb4S/CZ/B - gXtQ2Cc8KWyiSfTyw/Qb6QfSnelp6clpcyqV+ir1auqZ1EOpe1PfTw2mBlJ946+d/MPJ - d04OnXyUfj1+EPLrFfpm6lvsAZell6Rnp78Gv1nSd6enpd6nW/GOITIO/noLcvVuzMsj - GNsuSDhZmEklkiJfkaMYofdQv5s8gTV2Oekj56jgH8F8h8GZN2RX9UrI2seREzFXJuwA - CYz4bMzJUlhWIi3ETvsaeTr9sLgIOIY4yzwuvE19qZ+QQkiZS7A/zSJ/ptPJX/DdSXaO - PwhqT6geB9XdqifJV6of4cTvXuRuE1qURkUUa35c6Kd3pM9NnQuZdjXZrfgvHPUQeXbX - 4nMWLVwwf15nx9z2tsT0afVT62qnTK6OV1VWxKLlZaWRkuKiwnCoIBjw+7we96R8l9Nh - t1ktZpNRMujzcnN0Wo1apVSIAiWlLcEZfb5kuC+pCAdnzixj+eAyFCw7o6Av6UPRjLPb - JH3suWWoOquljJYXfKelnGkpn2pJJV89qS8r9bUEfcn9zUHfKF0yrwvpO5qD3b7kUZ6e - w9OKMM/kIeP34wlfi2N1sy9J+3wtyRkbV29p6WsuK6VDObqmYNNKXVkpGdLlIJmDVNIe - HBii9umUJwR7S92QQDR5eMekK9jcknQG8SjQiKGWZSuSnfO6Wprz/f7ustIkbVoePD9J - mCId4U1IEyeTVDUl1ZyMb00Sr0Nu8w2V7tty+6hEzu+L5K4Irli2tCspLgOOlqQxArrN - SftVRxyns0AOlX3zmbX54pYWxxofa7xly2Zfcse8rjOezfczDN3dwIFnhdCMvi0zQPp2 - TBV1RNE51n32KpmXyphCob4LfUltsDG4esuFfZgQ15YkmX+lf9jlknenDxNXi2/Lwq6g - P5nID3Yva540ZCFb5l854pR9zrNrykqHJGNmNIf0hmwiN+/MxEqMdKaOp3hzlpo1/9Rw - UtbHYFtSxjpa7kNPuoJ4kSksWDmFbFk+BaOOTzfFU8kVmIY1SW1T3xapjpVjKGlSGZKC - vi1fEUx78Ohfzy5Zli1RhSRwMirZ4ji1wJJ02UQ6CSuhpIStC3UTJhJ9nM7z1WWlG0eF - /cEByYcIliTp7MJj3XVRjLnfz2b1tlGZnI9McnBeVybvI+fnDxM5CntL6GM1+yZqrItY - zeBEzanH+4JYvjuxa+LSRVITPvVnkGzmltV1SWr731SvzNTPWhCcBSeMr2VLX3apzlp4 - Vi5TzwYU44a6bCppbuoS8wW2tJES8kVei5W4dMmpJsh05SYVIfyp+EpeMarWYCnyEuqb - kZT6ZmbCbp3fn2WU/9NDo+nj7CkenX4s+xrJuki2o5luJ6eelT+re7lbxFkLIWiEWQuX - bNmiO6suOTeSzA0ltSGsk2ReKKnnaXNo2KZfFPEl9X0hSBbDqZAlqbSo613Y174uX3Jh - CSRLveN49Hh9shPsnswJYb2yEOiAy8BD4AUBayhpDzmoVH+yvnZa1HH4OGumCzHyaIZQ - E0pKoaSRp22hYaeR9cDIaZtOhUkkyb/0gHVAqv8/9wGE8GcPJZ0hB5HqNSdJti9cPiRp - ZsY64T9YBlmKN8GfMrSoK6niwwueQsPMeOHt0H90GH8ZtAvBt8mOCP7Apd3XMw7kHwzR - mR9gEMNUaptaVhpEivCULxzEH0rYovT1gQ1DW6bkB/3do+k0eITlMRFCXwij7uvb0odk - MLmghNWGffkQB33hbjwmou0M7EpbtswI+mZs6duybDQ9eH7QJwW37BZtom3LQAv2kwyT - jqb33JafnHF7N1bnaloHUSSQxqEgvWXekExvWbCkazf8oL5bFnYNQ6Fv6mvsZiwgNC3s - yi5Bzh/8JbvLwJiK/WQVgMWPKWBtKfYLbqS/RPphxLJif/oDwG+Q7gasB0wHNGbBhXgQ - cD3afIS4CnAO0scQrwXcD7gH4AGARvokYlj4kAlMKhDo0yryMmIfWZItgZrJa0Q4d3Dn - Ch9ctPh/+Kj/TVucQH/no/1OPpPVIcpBn/IQ62FrYSTxMUL3MRMLgTYJndwOe9hJXCQf - uUmsmlSSSrocltSYgJMJ0axsVrWoK9V/0fxR+xfdP3Jezp2dO6R/yXCXFDB2m+ZZ7Jan - rWttlzseda3BmzKNehVeU4QFPlX2qNTHoaEoFcdFolMpj4ui4NKqFccpcWpmXe2IzJVO - 1M8Zr58rfV0/RxqvJ4n68XoGFbEqo98Y8hv9qxTkpE/cd1JWkm9xT2wfG+nH0gS2/lYy - jw7KDVPbZrUJhfmr8q9o+cHMJ72jM1XqfLvTlD+pxdo24Pkd/aD4CP2K6gzG3MlV97m2 - NwsbXBsahOYGl11hrCNVtGqPsJWUUv3zJbLNES/5omCP8H1Sl94naw2WhFTnqxPqRulj - z/uKcmWnO547Sr99TslaKvdQPbuvsQtp4Qsyd1TokHOMMh7yGqNGwYiHZBNJtNP2wqKi - 9vZZfp+PkHnTR4Xznnd/sdWw3SAY9gibcRXhDtmkMWi92g7tgHa7dkyr2qSl2tH0vhGb - M45zj41y3iyPYV50ntA7b/s8Yd4eupFYhPPkPNLqaxVavxicvG2yMJmhKhFWyUbcX9ka - 3REVB6LJqBCL0uiLwu0wh+6mvcQRkb5ev66n/ujR9SfWHR3vWTc+HunJZI9KEFsTXxJF - 4brIEelE5ETkaCTKM0ciJ472GE322p71plqjqbYiRnpozzpqs9fUVFXarFaLKhgIF4aD - AZXVYrfZ8Qd1VaXOlFdXhwtZfXV1nLVGna2qcnJNdbwwXIi/MIqh/HJEwv7WZsmtL6+t - LSuuVc5cu26Nz3fBLU/POn/ksdrystrOzkioora2PFRps3iublg/uyoQuPjBn8ye/cit - rFrxNkZSm2hvbE/UxGvnVYQ9Hqs7OKP7rsFf+J5pTyTanzEWFExvv749UbTA6otMLZxe - 5ffZvL5Fiy7fOOqY0pZItGGFwUdzm/CZ4giu5BXKkvIgrIMnhQrNk1EsPqd2D1XRJRhN - LN6eOSfGj5DE0YoY9YsqPgL0j1TToPTnO/1KxZHx4yVebzEwCu4Urn8pg/AgNMg5Vymo - 2mg36SwnDWyinYaEYVR4SjYSiI0YHGp9MMpVxOlduJt+NEFoPHIC/JEApR4an1wzOTPs - FrVKsFpMfKyDATaUhWHBXRdZ0jA9XFrvWLt8+VpHfWloUlFjb3Ay/fLZkRt/vKG6vsRd - NJR6c/uO1JtDhZ6SekfwqqFLYbRR8mVqn/Ay72W1nGc3qk0W3UmDPNG/3CgMpl6yF4LM - BXW/ZegONghf98w53Tf0R83HoRp9NFXHBT63VZVsOdhtwsv/c8923vjwhpr6Ek/hEK3Z - sZ3WDBW50bPA1UPrYYhR+nDqeXEmteDyXESWcDZ2kNCXiXAXeZGoqXqPsI3o6MtD32dL - vOfIUekoiY5LkCLUT/myi08WaqgpdchV6AqpqWX83YqA1eBibyyn/6S4RfEhrPt3ZP8V - k6k3AA5eS9bQFYUrii+cfDW93Lqh8IrJu5273DnRALyATNrTaXKeubBa1P2nKOQXRrS4 - CNQtG1RRfULfoe/V9+s36VX6F3CyqyJq4YaRkKvW/jJyFcTBwxikhsEU98JzNUo/HZly - yWO835F6dBzjOedE/dEevELiKPsekbC6ZiUNOO4KlMYtrvJoWVRQWUNVYVepo4RY4vYS - 4ozmlxBbpbkEXmzu8C65/nraEwGHnsGcmcXBGFQFbuX8d3oRqTFMWDngT1MBGFR8wlzm - KmMs6HTmqq3Fd7cvfXDj+3vXd5THfQX24ukl0/qu/+GuuzY+di/V3NP9kOIWl2t6O/jL - bk+U2MtqOndec9M9r3tN1T7z9JKS2Iyimln1VHzgth3Ueh/jBvhniWIcPpVK8a3niENy - CA7GB0Wl8crR9Ke76qorHHXVSO6SH8Laq2ALcHHlG5UHK0WlPcdptec7FS671VliDzkV - pphcVBcnLIjJgRBSCGKyy4cUAgOhDkNMcvgcsuOAQ72VbI3dVnFb5XayPfZAxQOVz5Bn - Yk9XPF25l+yNHXYcd0grKy6svAkN7q54sPInFT+tfK/iUKXuXfvvHR86P6gYq1QSjVaX - k5unNxikPcKDwkPCD+U8TxtxuvInuT1en88/UWr1tMlaWSfrZYOisKi4JFJaVh6N7c08 - AzHQlt5H9Nhmcg3CaVN+4mGGcsLcl7BPnCY04RXw+yZKtZ42Z6yitYJW4Bh5pKgyjnjf - SLwuEycWIBY+lCc5nBaHw2knlTMraaUPzSpltKmU0aCSNah02NHA7qyIVdppTF5QvR3L - k7AYXGKvqNQYHF7Mk0Njj9virrhTqMBjX8o5tFRTVFio1Wo0mMPDw33VPFqQiToz0YxM - VM+jkcamOGsjT55SG1c4LI4VjnscOx1HHCccaoujwLHQcSMveM3xrkNT4IijgLVgWbUD - cxllr2fJTbBY1ppyEtFoIipER4VzZItv0H/ALxC/5Pf5Y36FXy6u9oPFZClOfHDEy3iM - yniEstZOySA3tsQNcklpfKuBeg1R7MnOql+CG5loXxeJQDeJRHrqpa8jPevqx3tQ4DTV - RrGHZs+BiCOR2TXHv65PnDhxxFgb7THV1ppq10fwR3mydnM5a71u87WvbS7nR9gsmT3L - HlIxRXY3ceBV8nLysW4REB7gmW4IsHU9hPWEfWDc8ZYjwRkJDOCgrPc3JGIyAsICFO2T - 9WV2FCEgLMgUFVlQhAA8YuFFIwZnpsqdy6oQEBZUOnJMSCFAN0yZFnmQhoQpNTEWZPpx - dtiNLq5nRSTSQ41MFYAm4MdWj+3cGOaRnVI7L1cbz6quMopBGm5n23Lqv9sT0xtqJifa - /0jt1PTn9sSU6obpKP+SbcmzPh8WY+M/Yhs8AzGgnFJSXkvH7xcupFPKS6YoT35UV5ap - E5aPH2cS5jeQMCchYQL07t1wR34kNxoxKFCAcbHX6EG6xlwTWC2tMt8i3Wx+3vQG/UXg - M6rLoVqjIuAw1tJaqcZYZ9LIWppheIMkGRuks7g3FxyM+/XEBrACZMbNdlVWEvgDJMuh - I5AEuZicnTrZJlv5LFllu+o01790Jlo5V0sz3j6L2WzKotgFFFQyGkeFi2QdwTZIaMBs - MrFsGwkgGwiYzNQI9V5ryo9r4y6XRsBtHyLFpAFpUEpKh6XjktonUelV82BltcGcMG8y - bzXvNR8zp83qqJmaX/UR3rPKagUsgzgZJElYK6NC20hw2xRHxAmGiLiOYuUD2LLHwj9y - BHogBWDBs1WeXeGIXHx5Tyxukn5vOAccyNdzD9uWIpQyZRArRMkWBDYfnEph/zlVogoG - cZuqOMqWBjW3J2L21tS5P08tnWmPocAKj2l7jEaE12rLsQymlE/2SSeN4jHJO4Vny2uZ - zdUN++0H4uOkmEzGfl1doqSxcqqssdUEaxIliUiidFrZxfpr9Fqlz+q7X/Oq6pe+d1VH - VF/XwLY65XudkLEWT5vRHCuZHCD05mJaXDI5nmvSsfGKenxxSdepE2TdoE7Q+XtLaUcp - LS0ttshllXHLSpPk96iLdYNxGvcrcvIwoIt3+nsDNMAeZsIrAN1gc2xUWCSb1LJdn/Cq - feqYWlQ7pyR2ZeRQZM440wogh2ApQSlYl0gchSiQDZJctiQhyQYPCzhzdh+NQD6tW390 - 3fqMtMBPNUbQiHV1BO14LOVnYyuPhyf4uptNo7FW+uvElEaYjr8O7O2vzqp0UA3s1XGo - EExdYLM1oYZO8L3I65gBUFVZM1n0ztkz+9FfU/WnPVd19J97Z42nuNZSUDv7P+S97wTZ - 1B6/evW1S6bkVy5uf6EtVlz87IXX/8FSUV5XkDe13BW2S1bno1tTSxjH037HtMIit8lf - V4ndaD1m9jbMbIQck+ccMr5jeb/gUOFnpo8tHxd8Vvit5dugTmPRBoUa00rjKtNK6wVF - 3+aqcnKpqc00p7Db9AfLoYLPLZ8VqF3OvFyiVJmd+bbcPEkr5dP8UerfGSBXFetHhX/u - lPzFahhg7bJWUNn8gRzVXA+bNclZPeA57BE6PQc8gsdVZuaTNxCmJOwLx8IDYUXYWfrr - a7KbyBzMXWp9T2QOMxPwHT8iQaODJYWx5txj56YUm1BJI+fZEjoWaFmQD2rDWBJMuDIp - S9ZBnztlaxWGoepza4urcrwCnOTnbESYDvdYqLAU8rLEbXWUz7vuzmefeHVwXuycYMm0 - ni2pr4/dtJMWfL7oLnFVMNF2Y/t0h6k/P/bT711xm0uaM72kedq5y2/65EPqhc0qkOnp - McVnSiOUlhI6IEd1ORq90iqe0FMpx2v1+qQSX07UGvX5Sj4Mf1jyefjzkpPGcd/JAoNP - 1uXES/hKR8IHizrBcw4k8mVzIF8uygtqyP8oCG2UnDr6mOBEh6dNd7PGZvaQgN+s1uiK - /Hk5sCa9WnCWbCD9dIAK+3CeKlBXaYjNjMsrdUi9Uj8E4Zh0TEpLmr0Qg85I21Y+Q+t6 - 2Ax9DTsY3IXNnM0S/hgfRCIZCfacTob4srHZ4GKMybGmK2VHsFBvCppCXlKoR1BgDHhp - 2FDkhYXAlPDrrydtC6+UpeKSnNySnKKgojjXG6Q5OjgesVVO1Pr8FqvPGggq/RbUWm2n - atmkw8Am607tqUHOhaQ6zibXXp0VoGbGjjC5GcMppgXbZHDVjAfmf5L6mBb9rvPBWZzP - gsPXDw7vuOvOHyuN377I+KmyuITm/OIADVdUpGvLymtPPrgpmbxm3Z13YrYbMdsXgrvc - pIA+JOtGTaOW5/N/ka/IYzpb2yRPfIWw1vIL1fuqg5aDzk9Un1o+df638JXqv00nLf/w - fhM01KhaVYJpjWWN40LXhd4LgvcI273bgk97Hwn+05njVivFHHOBh2ownCMldXEWy7nO - QHxQc0AjHNeggtqeM3lkdzXnNoMbAtZDZc+gR9jqoZ5R6pCriWwKQi3xIzGp2kuoAQd9 - bxP8BBD2XK4BP7mE5gdxh8CS8PttaoVfyvGMCn3D5PIcKE5MgeLxrDCLQT9YED+cQ3Nc - 4YLLoRr2yRazHKz2mgfMglnOM8TNzlDbWr5cIuDk8SNswWB+5pzgRhp0RCh+UBGZGnSU - R2Dn5zyy059g7zBiKcrE6DTPB008HoY6xqY50v03rmxK9ZC8TBzQHjy/G86ld2UtNBVv - KYLgaPrdYcSsORMEWBz+jBOFq1xqlSIYmFgbsLStEA9YF2rFmpPP+35y2/qX5nqKp3iK - Um9u/Tp1iCYOXPubqplR35+jP1iz+gcxel7n+RWWutKiSaEmavvVQWroqmq/ePaKjV2L - F3exFZFaqHhF/CkJkQp6h1yrLxQqBHWuPddvqjA1mka9o/43vG/4vyn8piJHyveGfPnR - 0H25J7zf+v9Z+G3kRNlXFTmFjPeZXSJrkSgchDhAblDOQ8IhB4vz5ag7mFkKbkoFUaFU - qaF3TTC939NmsYdNFpsr6raVGor9QTV+ikBVUb87x6APX06d4P5hKEZMCAR127XPavdq - 39YqBrT7tIe1olcbhXdN1LqqOk19JsH0eikTDBavr8PX6+v3DfiUe33U56xsWzUhEsY/ - 7sEcr8tIBTgmIbwhFOqPJGChQ2xn1Z4J+eBi8oGpT2fLh5JyT6AkUOol5R4EEX+xl5Z5 - o9+VD7GK/EkV+dGgIjYpHITmd0oCMOmhLygqDBUHlUUFqAuRbB27s5YVDtV89qEuGS3Y - o7MyAaKg+kxhcaaMEGceZztv8NwXN37KEn86b3XzHe2/gbhw/WbuHYnHL7vscQZixzQm - J8Ztax/ewATEBXNXlJZS+/5fU3tZqm3dY4+tW//oo9BC4TcmiqexN0whf5WdY1qqUtlU - hSqRmb6CZDSZLVY7zM49+NnUhKmcsYWjsVjFd/ReGxRYdratgzE5MfPMEM5oYwE/M3lP - oyFTmP+QnZdn2+70tE0hcEs9KRvoV26/Ql1cVGQ0Sjqng60KSdOhpQNYGFgPWlcd8bNC - fSw2WEG9MJ2dtR2ZyYehxzzRjMOR4i5p5hdNHD1xNMOsGccnNXLPis1qhGuLWTx86CfX - 2I1waTLG+5fy7NzQu+Ubmi587OK5jtj09r+0JWLOOQXRpc1rujvsFYn2z9oTFY65XGYr - jalZ4dDMhzamNhm8tcy4meKVKL20wxep7koNnlEmXs6mCnw6iLmYhbkQ4cd/FRetIXpy - 8qYLjO2sSHRqqZwn6wXmvchMzdneiDwmCW3C6csFZ06C4tQVhIlSnactitvTHbi6s0dY - DOkLE1Zfm8CFOzJJhVlUvoBSCxzci4fpFQo23Aar1WeJWfososXpXvJIRkNiw32Ceexg - UyTWQX5ibTMRyHZRa7D61PaXNSmrjNmBFJInqPQ1W8LjrSz8+lG29ymNhw6lrh5vYCPC - gH7Jx4bi1hFRzMbYOMh1cs4pJ45knHgbttBOKyJnlpJTFy8mSuFxcaBxVt64jBJzKUjM - ueCDwdUn7ZAUktM58YLcjcCONtj6wZtN6Mr/8kL7/83bZLZr9g7ZWabpj3B/iYpPkEZx - mWwbM9DHVE+5nyp9wb3b80LpfvevSjUmNdt0XME4ZTPvtwbjpn5vf/km76byrd6t5du9 - 28vHvGPlugrN2JQx/EqTtdbq41NYazMSJhkBiVfXwEFTN3Vq/UvCdsa8GZ8VVgjFguf3 - UAz6Bv2ZddwSNsISNgEktpoMyok7LF7Pv2lryLQjeEbONSknrr+Ul+3JoOWuNdLYILMb - MvVTs6XDnjbDbjR4UJ7kKSuppupGl19X4ldcrlM3qqrj8VDIqsMSx4p7zm6TK6uZ5ibn - h6ttsqcu/rZtzHbMlrYp+mwDtkHbNpvCZBulx2Wjx+eNeQUvm0Uvm08vnt9VaAoDQZgh - KAhXhzmC8Fj4WDgdVvRB1R8Mb4O6z54Js2fCwDRMysrx6HC9NJU95ghXb59KDVN3TB2b - enjq8anKt3lC5JWlS8oSU+VpifhUuaExPnWwqRWpmbOQmr0Aqc6FCM7tiU91NiWy6geT - /PgwFxROeUf6p9Kpu4UUaYJ53s012K+xMzAWYhpIWLbloU+YXpubx3IeCIaZOzXMbE2O - qrse+ktP/dfsARt7gA+XHU/YWEMba2hjb2hjb8gfiXRzEjinY8uai8cEY2Ejt2lqW5rR - NTZB21uSRbiMz59hbumeCY+AmkmmfL4+h5nDi7u6oFL7HG5N3qRQbihf63ETt0ejdubY - 3dStcblFR57LTblqzQgCG3Nxcz0pwYYZ9lJgEEEFCwKywTS9ggVscQ8jzvYbz/NHWAfQ - jjEIi8EwH41Y8nl+GDFrDS0LJy1WLubtLIScz7qvgsaMDTzhzsrkmcw/vRXA+ZXxcNCS - ynnVZV0l1RfXrm89T54+vf3VQDDgDlXzZDBYMKNChvjazfxfzOMl3l5XESotLY1M6/xe - qpq5tYTN0QKTsyW1PJMpD5U1ZdIZAcdK2U5cBQnH/B3V1Crns234frc4ph3zCnwvzkp8 - HL2duYmGuWe6rLw8+i978cQ1M63mX6oyF9N8Xq/nTFzQPvnttWh5Vk6CT6GuPykb6Vf5 - 2I6rVdBJJcmgs9sYa2q0UPHZOadsgkGd2ZgNOPl0TfYQxnuyvrx8MEq9OMJ01py9ObPd - mflgz9yf2QbNJ3lijWH3y6wt5kXFdpKdyzNmMeuj/Pcb9qnpu3/K5o5dFy5kU8PnqCB6 - XutF8yd265ijIzNpLbHYuiV3pW5gc8Ln5YYmb9Hk7tQNBk9dZvM20C/5VAnkHFhYV2Om - DNin/1M+73lhVPWe7pD+A9PvrO85fuf8IP/gpE/0fxe+UeW97nw9XzAdNR+xfuz8PF/x - geO9SZ8Jn6g+1n2u/8ykXuG4cNKjyse1j+X8NO8Jg3qNcIFqpe4i/YWmFTaVxZ+rdsHl - JDFVF9cAJBwtHsbB3Qv4XwEeYhcWPe/VxDQDGlGzGyVuqDtHGXAnBdt+8QGnwBMdMGgT - JhbAc/nRCGIn4mHEGSaBjUotzPiAfIQ/qKpSYVNnRjRrk159Q2r8jtvT5OZb0rfdTsUb - 97cu+4/b9rx465YX6XMb/3DD9R9defXRW277/NrlCwaGL+t7/HGYPcdgb9yL8QmTOD0o - R8e9JwLjxeNlJ2In4ipVvi4s7PK/7j9Y/H7Zp8Ufl6m8+VI4mu8LK0xlzK6IMbvCgQRM - yEi+XFlQil/YZc9sJOPZGg+8t3Ku7n84fzl94XJi33fhpMVBbi6I+N2ur5xXuNUOVaW/ - ADcx9YVslIMxn+zr9InEJ+GndYd9iiSsCldN/lUul9NJwl/iYic3UJxGIjFF4e2sQ0K9 - nTkkqpdnXEY4oGeeiPqPmTdCYqYmzJA5XD2CZ+IEnEfSX7n8yzon4LCX4i4m5s50Tniq - 4kUlnmBxOBDGkaqXVgURFHkjXvghKydMECZDs16KWEUIvqvKoKIiFA1i4M+yQkyl5fmT - ykLl+ZGgsnQS6iesFObGyEpUnGmO6IwJjP4+2Q4br0xGrpwFZcz2K2cB509sHsyt0RP6 - n/SgKi5zCXcLB8I0zgxZddbDQVdfzXS91L3tCbktmPEhznxw3m9p0bN3Pd/xoGBpvqP3 - gSXTnr3+e8+sSyU5L8J4Ef+DpWZUxFJ/Hv3VjZeU0+9Hbuq+tKNt/kMPQm7iPzzx1VZM - r3geh0Q/UFETV5xCrmqd1C4Jz0rPGqEXKPT8OC9HzpXzlBPHff5AQ+6ZznuSA42GnQtk - dGnF6Vu7E2uI6Zn/6l92etpy8zQmo68sGjfKDa0I/KG4Ue/iO1Sskm+VI54wj3dZnHFa - rM8ZpW7Zr2eGjsrl1BGNDwzdqekDU6u2wY/iiuCw2ogzgsWyMUD4gVinv88/4Ff5nSWj - lA5lXZR8uUmQqR+vx4/BoYTPOcpsXExWJuTuYOTOEqzmjDufu7hMBkkQJUEfVBpEY5BI - RoFi+Uy4ueDaYILEIjFtwsgCrikbmUqRFSHrMttsxpAKZMwn/3dOiia0/vrr721YcZ48 - LRJe6I88NUgLuAWA9ZBov4qfJIm3D/ZMb6+Ml06bvXZt6len5HHGEMB83w/pWw/p0iq8 - IldrTapqp8lWfUHs5th9sUfKd5a/Wv6e9l3dexUfaz+pOJH7ddSoo2qlWquuKYrVRFuL - Z0Q1BWyND+QY2FmZIaEjBqoJTibTi2cQVZQEC4qqozOirZsr7q/4hqTpP4I6kzJHzNVG - c2P2HEuu2+F1umKmuptybov9NufDqP7j2j/WfRMVfTh0LbCLVeW5OqKIqAv8tlxnTCj3 - Ye5jLMAB0uGR8sq4LhuzA6XhumpkWcRra2oztYhZ7UjnApbnMa9v78jUI+ZPt7Kn9wzz - 6LCc01QdA3FFIWmpy9Jgsax1Fcbr6sVcnW5UWCu3xMotsVi56J+MH95uajnWIhpaOloE - bwttkYOheItcU93y3rRp9Sq7nF8Wt18hYb0d9ovEn/AL/vdcukK/JUfGKUjfcMPcCBOa - RnY+tQ0nVPtwRqWSXG3qF4RF0GUK4IXL8bjneqt8VbEqsQovImv9wXiVc2ZHxnMbweWb - 7I0JyMcTR7nrFqdTRyLQSaELQEdOHN2sL49cK70GPsCChuPGztb1mZ/1OOtjXjf8rePn - HWyxuoisy0s0sWAGC1pY0MwCdm4zgpitARb7srGf9w8FMaZCs2GXtVCcowEctcJxio3T - yVx4XEZmcBgT7BkmMxkO2Y4ECBoTrSwAVSOjaszKzDN7jHQ3bl7hwBVuwAnhmLlfkzlL - wzWszHkNO06Dq/iMu1Y4MmAXc1gpV2xxEYQf5YjNlZfUXz7DW+Lrf6tzzfplt33UfX/C - EDDFoMuEKvXRG8+5Y26ouvqxvy9Y0HPdW6031Jv9+pIpkm9yaIrwQ6+30IgTH8kwaVLo - rnmXtF/k9eTpE+0t7YniyqLiUpujyOUyudrbLrqkbUX+JD2qKpsc5eVMZ70HvLhH8Wv8 - purpYacGR/XDsjeEH8OFQyG3SvuV0m/MGXBSp9NSVlxMB3IP5wps5cparHhXeagg4/AL - uz1WYmGehU74FgYsScs+y2HLcYtOQiErGLQoLc6yPbgAUJ25TYU9tj6zy86V/hbpgfcW - 6yMK6QffLjNoxrHxch+/ZDILChGqBXUTwax0k4xnn7L3ZRfYTvtew9UTjomqzLBbrVkR - JsTzS9b+6KYqd9FUX0VqbPnevVxOtXMtkW9nwt7Uykarv8lVHylyRzsevYK+yiqhbkLn - ZCmMlAcj9YB4OymmGjmgC+jNOCNCoNO79Gt0a3xf+5TF+in668Jj9KDhU4OKjRIs9Ynf - iNCJs2i4xdtkNz29L52t3Afy2BG1bJHNskk2ynbZIU+S3bIh98wtK+ODg/vH7yl2qtQ6 - TNuTsk77lcefm6MJBOBZ68NJzAB+6HaYioMYdVfE/4KghaswX4BabzQOmqjXRE3OkrPV - +o+5rsPmhR/DwOGWqOf7UGbn2amFuJ04RcYZcoRO2Fvc18mW9qkpMPLzkMkTeYWLKemv - du2YufKeiDejNiQapm9dk90xxhuYZh4tKlo0q2Ye5UM+/h8N0ypk+mM+/Bh/fBS/w/gH - 6NO7DBIxCyZ+Xm7J0ccPEAqXSfaeAHOtnT2mOM/PXAnwB9iVgMzosWmAscPnB9sleSlT - PuFjmbgCwBwtWc0B7k30gu3mOUbJgp94GqVAJm+Cl9WEPpiJKd/lgvNURTAjO00mbF1I - 7JI7cfgvwBBQyzqfcfNxDP1mEmBN5F6c/LNyydeJn7fCW9d56uB/x0hwEwQtO/hf5xrv - cTlg4PccdTl5kpn98IezXd5Uu1lTHlFCyCJ28MR3Tv+zmimzwyBcn8M/3vBwOSrrkcCd - HNjdsr0sW4SE5IBqQFlghOR8fsL+OCUDYZlz9wYZRBWbhRE8xGMctLD4lAlPe0Lm7LWC - LDOyiwZZVYKXQPoJq/8w316JawVOxm+B1JPvpZ50syQ1wz3rWPANfV3v5TYc/OENwl62 - ImrLaz24WYbfxRLFb7AqwuKf5Iu2mbZZBa1gEFUhp+AVbaH7zT+wHBIOmt63vhf6i/Cp - 6RPrxyHpQXqfcJ/5AcsDofvCKtM+0z7rGDlgOmA9Rg6bDlvxnyxNX1pzyGBdL+4BYUcl - g7hhQAYnVZNBV7VFdlWbATDFBkdae+OmbMwulYzgCeR5zPPOTF6+AQl2QDZoGsySUnuJ - ZJKsvaTT1GndTli/tSVCKFQr1ITahBmhpcYFtu+Zb7e8TfFPy0yvmd+yvG79eWhf+Bua - Nlrg4he0IVXYST2CMWQLT6VV4XbaHD6HXkb1B+iY+YBljAnMgBVdxQuEcUTHtNjnJ1Xb - PM66OOb0TyOIQ4ifRyywQtTLuQ6aMdNwzwWL/tFTBwbsXp0/ECwoCO0VHjntiWR3b5j1 - Zsq6bZkbmldzr2Hm4Bh7nzWLCvxTEMKJ8FpZZ7VZrAASDo8Kh2St1YKsRRQEXmkyWsA5 - ZkJhqx2SixhvmcwFoSJL2CraiCgUmk1UZDforWLYQswSjgjNgtYySi+UJY/H7dbptCps - X/h5rc62R/iAGIUPZL8MxhrgrHWYHCdqZowzTtuGSzb4MUBR4a934+ehYDa2DUGDOTJx - sSzDYhK7aBNdVw8dhesq3M9mx12NM27dMP4D+2Xv4CB3BhM+R2StO84XBWK2SIYRw3Lj - N3Im+Iqb+zaH3p4wO/KMCfxTmjdhtHkS5hoEyH3EL5eZA7hXxp2CmEhwnj6BifzoeZMj - ITgQTCADauhfZH326lq2mGQcdlasXpDhqxcx7xj2Mr56EfM8esDziHkerM3ziHkefeJ5 - xMgPjqBXyPOY56Fv8Txi3t7M8/tGEPM8+sqfR8zywzm1LDuU8139kPe8m8I0Wk/Zj7CZ - l6Mqu+0HzeYq84SA4WUqtQh58v1Xnp5Sm2jf254oyO+Yu2nXYOdsB+4tvdKemFzzxMv0 - qtTNwl6xNsLESLnPkXqBzkmN0JbsiU5xrWK8gelGEXhBnoBsKRMF+cZGw1pyqeFmg8LA - 7hXhcl9l/Bz3Rs/Nhps897qVhkFWeB8CwyC7AnsfggHD3YYfG3aTnYbXDSqFx+LZrL9P - /wuPMkrL9cXSfe57PI94drl/RV53f+zRmXDJ02eoMDQY5hvWGp4lPzMcI8cM2qCh2rCJ - bDLcZfg9URkwPvLlOdWlUthdr59hWGxYIi32XETW6Fd5riJX6Z8kTxo+J38xfEOM+ZLZ - gwtd+imGGYZmz0HyOw/+N6nWp/Pl+HJ9eVFT1By1RK3aqDGBWU6YE5aEtcPcYdF0GDtM - HdZeY6+p19xr6bVqDAY9hqKsTGK0c3MpOxRmt2/1hu/ssbn4IYKDW+VuOCUz12WN2GNx - M0oIZbycpWWnlCBmhP+LavQc25Jx34FTEpkxyg45JEOD7iwLH3d2Cc4t5FxJnDjb8Lgn - SGJbL/O44TqlanVYKisbFX4vw5VtgWDAjWGWc7Pbe1AgaLYd0YQhpDToTTikh476JP6X - 2A9kyS3hF8MX4Uxv8w4DNaT0TMXKGXBTyb3JfdgtukeF+3dtgt4A7epF+hB+J5+g70OA - sFNL3EAYd57ocRztwS84uN8os0/bT2/UEBQZo8hem72IqpY09Rp2YT7j99tN3OlPR+xe - dk/h3WzMPeRuxuzYsaWAoVaP9JAhyzDd4PYIboJCiuzm46PH06Qd7GwYZAEbVrbfkyPw - ABh4gCJmFqHqo11AaZDPYL7MfSfGfBS3Ksj6ECydU5ynAuNlnLdZpqPZQ9iJIzV6IvWj - ynii/QVs481fHm/EZv5KW6KmOlUyhzFiqoFt72+p4XedUoQfmmBDTxXT9zMbO/jv5PkZ - XoTrCGqfwHQ/QlJB/Iac8eV3P24UsF876Qj7pZUBzrMYqSXN+G8Brfg1fjt+pT4bu28n - mYef4SzAr7/PIYvx2/Vu/D5sKccH1Y2jVLGz9PlNXZ1z50ea+i9bv2bl+rkrL+9cUNbY - v3bFnIX/C1uK8MIKZW5kc3RyZWFtCmVuZG9iago0MCAwIG9iagoxNjAzMQplbmRvYmoK - NDEgMCBvYmoKPDwgL1R5cGUgL0ZvbnREZXNjcmlwdG9yIC9Bc2NlbnQgODMzIC9DYXBI - ZWlnaHQgNjI1IC9EZXNjZW50IC0zMDAgL0ZsYWdzIDMyCi9Gb250QkJveCBbLTE5MiAt - NzEwIDcwMiAxMjIyXSAvRm9udE5hbWUgL1JDWFBOUitDb3VyaWVyTmV3UFMtQm9sZE1U - IC9JdGFsaWNBbmdsZQowIC9TdGVtViAwIC9NYXhXaWR0aCA2MDAgL1hIZWlnaHQgNTQ5 - IC9Gb250RmlsZTIgMzkgMCBSID4+CmVuZG9iago0MiAwIG9iagpbIDYwMCAwIDAgMCA2 - MDAgMCAwIDYwMCA2MDAgNjAwIDAgMCA2MDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAg - MCAwIDAgMCAwCjAgMCAwIDAgMCA2MDAgMCAwIDAgMCAwIDAgMCAwIDAgNjAwIDAgMCAw - IDAgMCAwIDAgMCA2MDAgMCAwIDAgMCAwIDAgMCAwIDAKMCA2MDAgMCA2MDAgNjAwIDYw - MCAwIDYwMCA2MDAgNjAwIDAgMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDAgNjAwIDYwMCA2 - MDAgNjAwCjYwMCA2MDAgMCA2MDAgXQplbmRvYmoKMTQgMCBvYmoKPDwgL1R5cGUgL0Zv - bnQgL1N1YnR5cGUgL1RydWVUeXBlIC9CYXNlRm9udCAvUkNYUE5SK0NvdXJpZXJOZXdQ - Uy1Cb2xkTVQgL0ZvbnREZXNjcmlwdG9yCjQxIDAgUiAvV2lkdGhzIDQyIDAgUiAvRmly - c3RDaGFyIDMyIC9MYXN0Q2hhciAxMjEgL0VuY29kaW5nIC9NYWNSb21hbkVuY29kaW5n - Cj4+CmVuZG9iago0MyAwIG9iago8PCAvTGVuZ3RoIDQ0IDAgUiAvTGVuZ3RoMSA4ODQ4 - IC9GaWx0ZXIgL0ZsYXRlRGVjb2RlID4+CnN0cmVhbQp4Ab1aC3hU1bVe+zznlck8knkl - kzOTmbwn72RCIJBDmAmBEAgJgQQTzRCCgQIGxAgiFAEJBG3ttQpSWxSppajtJCAOUr18 - lPqo8tU3FfFRRXxgpNoICszMXedMiISv14/7Xb+ek3XWXvu5zr/WXnufPVmx/JZOiIN1 - QEP93ED3ApAvpxuALO5YEuiOycZk5Ec6elY4YjKbCUBvWtB945KYrAgCqNw3Ll413D5B - AaB5vKszMD9WDpeQe7swIyaTEuTuriUrVsZkwxvIaxbf1DFcbvwA5fQlgZXD48NJlB1L - A0s6kUtJqb/M7ptuXiGL4NiPvKZ7eedwfdKM+v0NCOYaYBEoYTEogAId3q0A/KcqNzBY - KpUjTcxteuiG+IpvQI9q47UrI2+dxJ9z/um78ycvZajXKquxnlKuLxVgGy4rkoXvSLD8 - HfXakRKpVLoMIWjICUEN0gSkEqTsnH6F+DS5BxLahkQlERhQC3+3fvksyUP8T8vPIMkT - NXGg7NhQIXRs2FCTNVFJaqGMISAQP7hl7htwPyaEyIQBtwvZ+BijBsrsKIGoLHML4bJ5 - wqWykIKIScK37nuF80jn3JXCN+5C4VWs90rZZOHYRCwfEF7KDlHI/uoOMUSMF15w3yE8 - WZYl7C8bJwxkYN6A0D8R2QFhd9kdwiMb5Zxd2TJ72B0iOwaEhyR2QNiJ/d+/QS64L9Zw - fYx1b5QHummfzJbuC1GPHRCWuNOFediQiGqhzb1YaHWXC7MmhkjagFAnNTsgTMs4JtRK - Qw8IYmwgb6z3UrescVFsWI/7kJAZGyFVqi0aBYd7mmDH/j0P3S943NcLE7NDZM9TNZnZ - 7pqM+70hMiSPITFUVGJLY6wj4xnyO5gMWWQupJEH9tVkoc7kngFhA7Id+2oyy9JC9Kei - QdiXUZOxEcmLlIbUFCKzRA+/jZ/PN/HFfA6fxafzTj6FT+ITFAaFTqFVaBQqhULBKRgF - pQBFQij6gZgjeVECp5MYx0hPRk7rKCmND3wCRRQUTIUQB3eaeiotlYYJ+vJq3795tMuZ - 7b6c7y/L98kcC7EH769tbA7utbcEi6RE1N5yRfn/J9lZha1rG1bta1h1Zra/0+Vvd/k7 - kdqDW3u6LMF18xyO/jOrpAJHkE5vn9fRJfFAZ3CVq9MXPOPyOfob5HZXFc+Wihtcvn6Y - 7Z/V3D9b7PQNNIgNflfA17Kv3l8zfdRYW0bGqvH/m7H8Umc10lj1crurxpouFddLY02X - xpoujVUv1stj5eT4FzZWAXsY9OwRyGW3gZ2pAjtA9ATSOxKPNEbPsq+AKhqODtIlaLlU - id6/SBLgj8DDU7AWo81rsJcowQWDpAjeJnaSDX+HCLwDH4INtsJD+PTDp+QcRpnPSCbW - 8cJ6+A3sjHZDN1Ti/SlhIRHGwGfR1dEXot9BFfTBUcITI7FHD0I+9OK9Ax4kGmpetB8s - MA1uxai+Hl6EE9GB6OfYvxc+JnqSz4yLvosOxmJOOWyBvfAUcRIXySbXRT/GfAvq2Ap7 - o3XRHmx3Fmvlw3RYjaP9gwgkneSQHeQ9ejC6LvozfLdkLGuCDryXwB2wHR6EJ+Ra85hk - NhH790Etlv0MXoZP4WsMuFmkiqyk3qQ/p//JjGN2RI+iHk04XjvsJDSi4iZNZD7pJk+Q - /eTP5BxVRgXocvpNppt5GHVrgs3wMDwDz8Pr8C6cgUG4AGHCoE4TyAyymvwa231IFVNt - 1BrqLuoEdZYupN9jeGYreyd7KMpE34xeQJ1TIBvG4UyfCc3QifcCWAq3wE9hI+FhG/TD - n1Hb9+F9oiI6kk8KyWQyi1xHfkJWwS/IbvI0OUlOkdPkM9TOSAmUi8qnenC89dQW6glq - gDpIDdJ6egW9hj5Mv0efYxKZNuYw3u+zuewKLpmr5WdGfhl5P5obvSe6A+1iwtsNWZAL - EwiDKC6BjWjJLYjZg7AbHoM/wAAMRC+ScjgKr6Je/4CzcB4tloy3kxSRMaSezEQNF5Ml - 5KdkO2q4lxxALQ+RQ3CcHCcX8Y6AlVJSudR1VIBahfcO2E69LuOjoZ10Jp1L19KN0a/o - J+h++msmjZnLLGNWM33MdmYnm8yOZ+ewc9lu9j72APsS+xZ7lh3i7Fwvt5vbz73OK/gS - fjsfIamoi4OkwX54Fr3ufrobZTdMIhvRqrPhZfTeQfgLXITv4DD8jtghQkvWTI8+DKHo - ZrTmM/AkfTtUwC+oe6mp0Up6D60kRdHz2FcB2uvyDWJ2VmZGeprblep0CCn25CSb1WI2 - JSYYDXpdvDZOo1YpFTzHMjRFwON3Vbc7guntQSbdVVOTK8muAGYErshoDzowq3p0naBD - ahfAolE1Ray54KqaYqymOFKT6BwVUJHrcfhdjuAxn8sRInNnNmP6bp+rxREclNN1cvoe - OR2HaacTGzj8li6fI0jaHf5gdU9Xn7/dl+shB0VcDFS5HjgIIIJa6jgIkwJrMLjCJKmG - P2hz+fxBqwvTWEan+QPzg/Uzm/2+JKezJdcTJJM6XPOC4KoKxucMN5faYRBMa2jGsXM9 - C4OoP2zVzHfN3xoSYV67lAq0NgfpQEuQapfG0OcEzS5f0Hzbx5bvxcsp/11XFAaptOpA - Z191UGzfiqBLYrskBe5CqbbRgd1Sd7Y0B8mdqJykhKx77C1iy0Ra+yJHUOmqcnX1LWpH - zKG+ecAm2vyudl9LEBqaB6yiVRZyPQcta8c5EZSDuRNzJ0p8nNOyNsY/2RDLf+2wxC1r - j36AvLZhBBcije2agmoGHR04CGKBuo6RHp1joK9jDMKHVwvBt1yI+kwKUuhKdFqQTZsS - CK5rHFYj0OUbVm6Rb0BptcnrUlUL1m/v041FA2J9ncvR9w2gZV2DX4zOCQzncGm6b0Aq - lOw/4kJBEric7pHWzzRckrosri7JfD2yqVF2WfxXZKAsrVu5uOH01IZAWd/cT8jPWkIk - emcIfPaDuMDQN1yPxTmSwy304XAoeDyYke3EFGpQjQNVS57h6HP0TZnf56h2dKFLMWky - x4LOvpZ8BKyxGWGBWc3OoNiSNJLsbGkZi/3kSf1gE6ze14I9LBruAbmclR/GSvmeWnyr - 9Prmmc3Bdb6koOhrQdDRiQ/XNwcPo/+2tGCtghFNUeM1Cy3DOheizgXZWF4U6wW3Neuw - i5a+PqnPxmaXM3i4ry+pT5p1MRl3yFdniMMZIZCqSAiHyLp6bIvM5UySIXe6nKhWi4Rp - MTrwZQfCbf0PI1w6oje29KK2pTLCZT8SwmOuBeHya0J47IimoxAehzqPlRCu+M8hPH4U - whN+GOHKEb1RSRG1rZQRnvgjIVx1LQhPuiaEfSOajkLYjzr7JISr/3MITx6FcM0PIzxl - RG9UcipqO0VGuPZHQnjatSBcd00ITx/RdBTCM1Dn6RLC9f85hGeOQrjhhxFuHNEblZyF - 2jbKCDf9SAjPvhaE51wTws0jmo5CuAV1bpYQnjuCsJgUhCvj8Lqrwi786IH5uisgZ5+H - HVQ5fj7vhTakRJRb+bshhbkZJjMfQSXyfORVWGcL0lZM90oy0hraDuuxvEpqh/uu2BkR - HvQAhztbAAd+g+CH+aiLwrOz//uF3/zXdLH/Sy0Ov2Sk4yolkkquo8anBs+StMjj8aRL - L+cClOB9O/yJ5FFa6nbqLXoRfYqxMGOYzcx7bAW7idNws7EmhV+PgHv9I/g2PEwQnSxn - xz00w9tpULGMnaYpm5Lj7QSsCuVe5+IKPGCYPlRRF66YrjtXUacLV0BlRbhCosKCYr1T - n4G0g3kkdOkYe+TChBDTcPEPkkIE2iIdVCd7AoxQLWZl0Om6W6lbdb1Ur45j9PHGBKtR - G8+wxqXKC/nsTpZibYkJiW86qw6SxwGH1E0/V7fsUlhfXl6uOwWVlYUFpM1g9FYSM8dz - +gSzSSCu9Iz00rb1NY2Td28tanQUrh3/+11N8+li4nn05nlU5N5zkVeO/jb8afd7xy+E - JX0SUZ86WZ8S0WLQK42JZrPNEKcwKumlcReU1iuHHxqShjaU4ymC73SdPD6Y8dOD5uKJ - y1tm0JdkpOeTYrJlxi1bp/snv76xpEVS4DjLhSJfR76MvB558Q/NgS+3E0KKjj4a/qQb - cW+NHmdXs2fxu1SAFWLWHNUv+V8q6OuolqRm+wLmVrKF/X3CAPOU6jnmefUJ6p2Edy3v - J31r0ZlDRC26bAqFTTNRoGnDRJtSMJWZFWVCCm9zxpelWB3OB5xPzJbtVDeIVqrTlw++ - MZgPlYOVFYOG8nzdoIQetBnKvE6H2WR2InCuVCoxwVRcVOYtc3LgdGSk60nr3/YTE1nx - +A185OWU/Fm/3XPk2G92NeULpDAz8lQkGjly4AB1DzPn1QNDW/oWedsjX3377flF5cu/ - irz28jHSSdsQ4xQ8db0JfctAFolfqxiWVWo43VTGz9ZoNjO9bJ9mc1xv/Cbd28xx9h3N - Wzq9CWxMAmuNM8ezhMIJxjAUx/OsQqnk4xRai5ZS0lIvHKdQc3reYFaZ1RbNKnoV08P2 - cD36p+mnmf3sk9yL9IvMc+xz3Nv028xb7FvcZ/RnzGn2NCc003OZJnYON0e/kF7ILGAX - cF3qBXq1pJVVY9I9qT6k/1j9sf686hv1v/RqtYqyqtIMSl6pN1BWQ5oBp4uWp2g9wypV - BhYovU6jViiUalrFchpaywPR0waa0dFaKgGdSfUsCQFP8FwPSUtCBwxWY+fHyy05PdN1 - Q5a68KlTYWvMo/QGczn+DTMLTqmKikpzBWaxvXk5a2obVt6mO9qru5yS7LdsGbRhlnYU - YcHyZcRoLjM65QdxqmknIZ1/zs55lPj/mJv7F1IeCURODJSUDEQ+jFzPHrm0/8xpeiY+ - P6SbLkygryf2yEeXdqHJ5NgwOXqCKWFuwHOvFFgq+h8w7TFRvclkSmKzocuwUrXKEEp8 - 3vhCosJCcYz9NcadYuNNWpVG95TGnaBO0XnjBfCmmO02h8JrtgqOXmfN9FF+GR6S/XJQ - mtfonDKXXw7aiOyVPJeIk7u4SHJLnnM6qFIdFBcxZkLrFM6CzntKk5OL754/S0lcqlmb - It9FvvuWGL46RlhLJIk6NL6w6ufT1q6csnnx7PUrDpEx3xErGRP6jOyW360y+h7TyR7G - iGmHGaLnUw3BweyUjgazW8dzKrtbpU6kbUaBE+gMxibYvHHWFGG7s8Z/xSuEh07pDeXS - 1MI/fbkeY0RhAbSByYxh0FmqJa5UkFQ2eEsxRLhS8XVMxdRtOwqIM3Jm/IMr/jtykZDj - T63tnNCw5pZbVzGtc+ooxQVxW6CZlH5NzES8tHz/z1+YXfLMXduexAidHz3JjEV74BSF - VHhMnFKt6E3YRh5QMRxRspyOtdWy1bopjk3kzvheQUWbaLPRZDTXKKaZppmn2FpNrea5 - tpPkHeYz+yeO8w7dVFKt28xu0DFUiNwnFs/Q3qC9SUtrtUmcO9XJmw2eJLWJplJpr3l1 - akq7Zp2G0tjclKC9L8XqciMUw9YMn8Iw04Zx5tRgfgyOY7FQ0xZGNJa1kWVtwPHOPIyV - Jgw4Jt6Jj+Fgw3MIkV4H4wh5ZYmWHOJXX7f5xGTRqKbCJi4wrrG5LMVMXOq5d116JXKE - CB8n0CtuX7TsljMLlgbW1d69uyqrKKkgMH8n0ZA8koQ/p+BFQ1WkirkecYrDU8wCmCvq - +lKI3sC6C/J5A5cW584KkUrRkezwWOILKMEgpGUUeIy2ouSNSblKr8daWHSFmYeGYyia - GmNo+FjlYHklvp0eDU3a3GhXNOuwmxrw5Uqd+gT01FR3xuWXHE/QdTHAlpYYisuoZ/o2 - LL2/PMUx9n71+C6RJE6+LfLoq5FvtcSrScpbsqMkNSu/afNrF79+77rPt/32V7vurl16 - w9Q+erk15+ZfXzz3+k9Cux8pMmXcWPVgdbVrIsm49C9SK29DKDw7BLKXfUlex8eJqdNg - GmmFVjwm7aeA4XiVEiMScBmEx4V8wFkf82J5IZcWNVzTKutwYcCJh44r097I++ilMjF4 - 5By59eKz0rq5FR975P1CmmikgKhYqeMMYmXYkW7rwnJckxfKLIL97Yl8ROxSVKHwlBOY - ANrGBGaoFXNZkkjSSBlpVnepOWLQcUo3OoiWUZlZrzmesln12ox4q8X67GWV68JHhxc1 - NAduPAYry2VTgCkR55w8y9Ac0vRL9JZ5izPovuORk+bsnl94kyOniLGssLl3IdPafyyc - Sm2bnTdr9cTO8AAj7pyVViUBib6DMe9BphPUqJ8F6sRMM00Ums2azTraHGeJXxBHs25L - Aq92a9UWi4Lymm02hVdvtdpCpGffyJSQnQadZHjZlQIzLF827C5yFHDjMgulJdIzkVBn - Nm1as6a3dw2VF/ki8gneX5AEDFdWkhB+/cWB3bv7+3fvHlgQeYw0/fMLMjfy6BeUiFiu - iTQyO5i56OcOmCpmmY0KVbKNcjt4G6dyG9VWrSLOEufV2VI5IUmwZFitztTtzvrLs3ZI - mrZ1g/KMlSPYSAD73qWLvKUGaXq6UjPSpa1dDFR6xc13/GpsSmdFw61r7EQZCb+8fnZ+ - buQ00eeV3LCB2nnk3ukrn63LDT1AlUdOR85GPoi8NtHtD7/Ann14ctYUhBn9aD06w0Wm - FfeDUw8CTSbvo+LjuBCZLFqNfBynUTmoAkqkaGlXRmnVGRrckIXI/H3O+gWx+Bs++kZs - 8WyTfBehfkNyXwy8GGakCTmiLPWu2piUHff4OGfkH0RXVVi/jmklJHKSprorN4TPM1XP - LsmcJOlEoe3fwXPwAOSAB9aKM5Q6Lt0aRysZp1pdq5qinuz0OWqyjtMKe6pDo2JMOYzJ - 5vEYeMaTqfZ44hNVDrupLpVPzOXr0mx5GrDXxedCXY41N++KlW8I92Ay7kO4L8OFD+GP - OUn4mO6Y3oy+fH3b9aSNyCFSXjbSpJ1tiVda92J7NXlRlAJpYgLncqSXEtKhTCn9+ayO - zMxI9OC0aYPHXybEGPmIs+Yva5uRnR3d2zTrq0uR6Df4o0DrNEd5UVGB1To+z+9bt+3t - R14oc4wdm1FoMo/JnNmwetext/fQOBFwfxz9nFrJduE8nXpA54kXNB7902QZMKRVNPHQ - yhHOgqaJ54YYZQb8F9rJEiLafc52yTxvVJwKVwxVSPb5ErfL+HEwWInxs7DAWCp9IxQn - uvTSbtNblshz+G76xO3E1t+fOifOru3969QCeslLpCDyykvhw5Nw9/Imy9cVLqB2on3k - Kyr9evPvLtyf4fxV49dQOoyFavytpwZ/Rp0GM/A3nwZoxG+42TBHbkjw/wOInOKk772q - 2VUNvqqcms7FPZ0rFnYEcqtuWjxfwuDyVY8J/A8C/H8CwG8qgLuQHkR6HOlPSC8jnUT6 - AukSNtQgJSN5kCqQpiG1RocvrAMjaYIzd7SM/2Mxqhz/32CULLvqFe3lN7pC7riqPr7I - qPYydlfUv/Gq8oVXyYuvkpdeJd90ldx9lbz8Kvnmq2T5fzn+BwhxZOwKZW5kc3RyZWFt - CmVuZG9iago0NCAwIG9iago1NjE5CmVuZG9iago0NSAwIG9iago8PCAvVHlwZSAvRm9u - dERlc2NyaXB0b3IgL0FzY2VudCA3NzAgL0NhcEhlaWdodCA3MjAgL0Rlc2NlbnQgLTIz - MCAvRmxhZ3MgMzIKL0ZvbnRCQm94IFstMTAxOCAtNDgxIDE0MzYgMTE1OV0gL0ZvbnRO - YW1lIC9CVkJSREIrSGVsdmV0aWNhLUJvbGQgL0l0YWxpY0FuZ2xlCjAgL1N0ZW1WIDAg - L01heFdpZHRoIDE1MDAgL1hIZWlnaHQgNjQ0IC9Gb250RmlsZTIgNDMgMCBSID4+CmVu - ZG9iago0NiAwIG9iagpbIDI3OCAwIDAgMCAwIDAgMCAwIDMzMyAzMzMgMCAwIDAgMCAw - IDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwCjAgMCA3MjIgMCAwIDAg - MCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCA5NDQgMCAwIDAgMCAwIDAgMCAw - IDAgMCAwIDU1Ngo2MTEgNTU2IDAgNjExIDAgMjc4IDAgMCAyNzggMCA2MTEgNjExIDYx - MSAwIDM4OSA1NTYgMzMzIF0KZW5kb2JqCjExIDAgb2JqCjw8IC9UeXBlIC9Gb250IC9T - dWJ0eXBlIC9UcnVlVHlwZSAvQmFzZUZvbnQgL0JWQlJEQitIZWx2ZXRpY2EtQm9sZCAv - Rm9udERlc2NyaXB0b3IKNDUgMCBSIC9XaWR0aHMgNDYgMCBSIC9GaXJzdENoYXIgMzIg - L0xhc3RDaGFyIDExNiAvRW5jb2RpbmcgL01hY1JvbWFuRW5jb2RpbmcKPj4KZW5kb2Jq - CjQ3IDAgb2JqCihNYWMgT1MgWCAxMC42LjggUXVhcnR6IFBERkNvbnRleHQpCmVuZG9i - ago0OCAwIG9iagooRDoyMDExMTAwNjA0MTkyOVowMCcwMCcpCmVuZG9iagoxIDAgb2Jq - Cjw8IC9Qcm9kdWNlciA0NyAwIFIgL0NyZWF0aW9uRGF0ZSA0OCAwIFIgL01vZERhdGUg - NDggMCBSID4+CmVuZG9iagp4cmVmCjAgNDkKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAw - MDUwMzMwIDAwMDAwIG4gCjAwMDAwMTk1NzggMDAwMDAgbiAKMDAwMDAwMzMzMyAwMDAw - MCBuIAowMDAwMDE5NDE1IDAwMDAwIG4gCjAwMDAwMDAwMjIgMDAwMDAgbiAKMDAwMDAw - MzMxMyAwMDAwMCBuIAowMDAwMDAzNDM3IDAwMDAwIG4gCjAwMDAwMTY1NDkgMDAwMDAg - biAKMDAwMDAxNDc4OCAwMDAwMCBuIAowMDAwMDE1NjUyIDAwMDAwIG4gCjAwMDAwNTAw - NTYgMDAwMDAgbiAKMDAwMDAwMzY0OCAwMDAwMCBuIAowMDAwMDA0MjQ3IDAwMDAwIG4g - CjAwMDAwNDM2ODYgMDAwMDAgbiAKMDAwMDAwNDI2NyAwMDAwMCBuIAowMDAwMDA0ODY2 - IDAwMDAwIG4gCjAwMDAwMjY4NzggMDAwMDAgbiAKMDAwMDAxOTM3OCAwMDAwMCBuIAow - MDAwMDA4NDYyIDAwMDAwIG4gCjAwMDAwMTIwMzEgMDAwMDAgbiAKMDAwMDAwNDg4NiAw - MDAwMCBuIAowMDAwMDA4NDQxIDAwMDAwIG4gCjAwMDAwMTIwNTIgMDAwMDAgbiAKMDAw - MDAxNDc2NyAwMDAwMCBuIAowMDAwMDE0ODI0IDAwMDAwIG4gCjAwMDAwMTU2MzIgMDAw - MDAgbiAKMDAwMDAxNTY4OSAwMDAwMCBuIAowMDAwMDE2NTI5IDAwMDAwIG4gCjAwMDAw - MTY1ODUgMDAwMDAgbiAKMDAwMDAxOTM1NyAwMDAwMCBuIAowMDAwMDE5NDk4IDAwMDAw - IG4gCjAwMDAwMTk3NDEgMDAwMDAgbiAKMDAwMDAxOTYyNiAwMDAwMCBuIAowMDAwMDE5 - NzE5IDAwMDAwIG4gCjAwMDAwMTk4MzQgMDAwMDAgbiAKMDAwMDAyNjM5NCAwMDAwMCBu - IAowMDAwMDI2NDE1IDAwMDAwIG4gCjAwMDAwMjY2NDAgMDAwMDAgbiAKMDAwMDAyNzA1 - MyAwMDAwMCBuIAowMDAwMDQzMTc1IDAwMDAwIG4gCjAwMDAwNDMxOTcgMDAwMDAgbiAK - MDAwMDA0MzQzMCAwMDAwMCBuIAowMDAwMDQzODcxIDAwMDAwIG4gCjAwMDAwNDk1ODAg - MDAwMDAgbiAKMDAwMDA0OTYwMSAwMDAwMCBuIAowMDAwMDQ5ODMyIDAwMDAwIG4gCjAw - MDAwNTAyMzYgMDAwMDAgbiAKMDAwMDA1MDI4OCAwMDAwMCBuIAp0cmFpbGVyCjw8IC9T - aXplIDQ5IC9Sb290IDMxIDAgUiAvSW5mbyAxIDAgUiAvSUQgWyA8M2M5NzBjNTI4YTY0 - NDFlNTJkMmUxNzY2M2MwMzFlM2Y+CjwzYzk3MGM1MjhhNjQ0MWU1MmQyZTE3NjYzYzAz - MWUzZj4gXSA+PgpzdGFydHhyZWYKNTA0MDUKJSVFT0YKMSAwIG9iago8PC9BdXRob3Ig - KE1pXDIzNWtvIEhldmVyeSkvQ3JlYXRpb25EYXRlIChEOjIwMTExMDA2MDM0NTAwWikv - Q3JlYXRvciAoT21uaUdyYWZmbGUgUHJvZmVzc2lvbmFsIDUuMy40KS9Nb2REYXRlIChE - OjIwMTExMDA2MDQxNjAwWikvUHJvZHVjZXIgNDcgMCBSID4+CmVuZG9iagp4cmVmCjEg - MQowMDAwMDUxNTQzIDAwMDAwIG4gCnRyYWlsZXIKPDwvSUQgWzwzYzk3MGM1MjhhNjQ0 - MWU1MmQyZTE3NjYzYzAzMWUzZj4gPDNjOTcwYzUyOGE2NDQxZTUyZDJlMTc2NjNjMDMx - ZTNmPl0gL0luZm8gMSAwIFIgL1ByZXYgNTA0MDUgL1Jvb3QgMzEgMCBSIC9TaXplIDQ5 - Pj4Kc3RhcnR4cmVmCjUxNzA3CiUlRU9GCg== - - QuickLookThumbnail - - TU0AKgAAE1aAPuBP9tuN1gADg4JgB9vp9gB/REAAYDgcAP+MAB9Pl8gACR8AAIBgOIP1 - +gCTSeKRaMP+NRyPSAByB+vx+ACbTeVgAAz2Xx2RySZgSUTacUadz0Az+QgIBAChyWTz - mJxWeT6Nx2nU8CAUC1KGQIAAUDAar0uGvqm1yvWCBQ+yWatwx9WqlVCQP+JW+x2W13S1 - ADBR623p/WG4W2P08Dv16gANBYJYPBOl3PN/stptkAPZ6PQAPd7vYADwgEQAN5t5wPiE - RyGRgBzONxAAPiLXuRxOEABYMBmY0S51SUwirPXkAB3u12AAOh8QZTpdPBPB3u4ARx8R - B/Sfqd/weHp06SAkEgsAA4Hg/xe33e/4fH2vB3c0OhCiBD9ABotlwH+XpfmCABjGCXwA - BIE4UsAiCMnM3Tgt634ADSOA7gAYpgl6ABWlOUTSiAIYAHYdZ1AACAIoWdEHgA5DHhLB - QAAkCYKAAJQnim9xuGkX70nYVwAAwBTsJa+UjOmlynmydb2AWFQzAADgSBfI8qytK7qH - xLQAAiAjtgoCQIAAahuHGf5+gGBMWs+hAEAQADrOwu5cloWAACKJQnAAB8UPS9QAHAbx - uOzLYKAsC6zqOm5lGOYbSh/ETRNI0bSBWFwYPAdzmAAeRjjwAAbBIw8sVI8BknEhYPCG - RCoNjUtX1g6a+AiAqOgiBwGAAb5zncf4BgUCNY2FUhumyawABMeBCAACYHze9qHJOXZk - HKAAKglN6TJcep7puu4hhsDT5G2c6bgAGJJT2/dh3ZLB8NEAAGACx4MgtGptHEdJ/gQB - 4LXbf74mqaJlgAFx8EfZlnPcfZ+MOYRnHQ9IFq+iKXHOdjSAyCgFAAG4W38+JtnKh57h - URMggzcWAZW+B7OS9DQA4DNEGcapuH+CgONflmeOobRsWOBJtkKAAZhKi2eyMWhlI6EA - jka3oLgxpOqVksT8O2CQHgaABuHIdZ/gMBsa6rpJ5nkeQAFwVGEBgCJogAFQPzUjOysG - ZRsNAbx/h+AAjikMgAAaBwHbtsq6rVWiO61rld17X9g8NljrHeABAjyOAABaF4ZtCeR0 - pwfaO6oAYDTUCAJg2AAUBYFwABkGocL/yWknrNgFH+eYAA8DbgGkbRwn+CALg92mVnke - J4gAUpPkyAArC2MKGH4h6a3NpKogUBT0HTFfdhAEQAHOchxpQ7qUJM0OXT2B9ggUBlct - m2oQBGEoAAQ8yLoytKjofGbZGVpaO2A8AY9zegTWCNMbY4h/r9A68ZgA4RvjeRkjRwTh - IIHgPodhSQABxKBMIV8eg83dKaIOSMogIgSAmAAM0ZIxgAP0BIiMdToB8l1ABCp+wDQG - nsUsphlis1apcVwrpXivlgQZVipQAA6RzjmhiCOGcSjwkRMON01YAH6gnUUWMtpdyqEf - KIZQ4pQYqGCXfAYBoAjSAYAqQtfC+l+MgjOliGrEYxQVgBHU8A4BuqDTinA68HoQGUN8 - cACKM4ov2gkN1UAOQeR1ZcY9mCUWZgAZqzdnLO12DBF4LkAAC4eLMUMAA3Q4FWkkkSip - 7wEgJI1hG2lPjkTByzj1KF+EfDxDjHDKgBL2juGHHZDWEKhDtgXZTMZ/RLgPAgBDHWIS - toikFHUP8hIFV/jNUYSEnwGgOPFGWMgYq1mpEeJmdkjZYJfscPMxxIsq14uDPSeuXR4V - BDahzCs8CK1qxOigAxP56j2D1hIVUi06wAKaObBsngAilqHOAZRFKNR1PeIqm8uYGANO - qO+4hLkQ3GRGcfEmeqVTmEHOKodqdJTB0elPPmFh34rAAF+LsW4AJ2pckUbSVEfhtwXP - Y1JcQFpkjQGYMk0Jo3VgqBYACNIAB1jrdAOwdLoA2B0D0+o0hVE+JidsaB3DuneO+eA8 - J4lLEjlUUCoOLaiZ6oldAkWlR8qPR5LnGR9MZj4lUOuO1ayhzpUzruYOASe4CwHWC794 - Lw3i1oSsg98r+E1P/pLPcyE337puPAK0VAo0/HsRnNgBx+xttAoSpuZszwfBCCM5KaMR - FcuOiRLSxyRqPQfgpCsFEdRojOYIKwUwoQACDEYJQ91JwANnbSXU7bhExPdHOAB7Z6C5 - 1tcNU+NcbY3gAmpNYB02LapYiwZwdI73yj7AIaQfr52qAFAIWYdI3CDgYApA80yIrwqv - knKEADMZLjPGsN0f7qXwxnvG+gk8PHCwkbSm5NSNJsALlyVQWQvrhANBkUsBYDz0UzcM - PYd5pACjjX8D8GYS3Z35Sra9W6uY4r7X6dKwqbln2EXhZKLtMyylmPiNka41QAIKBWdJ - ItX6oUVAALoWwsnXg0dkOgC40lrAgRqPofBagDAILNh4wdgz3j6HvlgBOPDxDoGrX4Io - IQuS4VzipKtHnFIya3SK2b4hyjkAAMOmuRCLnOA9M8GYNwdAAGgM1gg06jTzTEB2ZpfS - zXICOEsJ6gI/xRimfC4FwhuDcGw68NMMyFOFFoJYWhzgUQPSKBgETUxoi9bgP0fZJwDg - LIsA8Cp7C5gIAWm8ew8zSD5HsR0EQMHwgZBGcAdY36/A4AaFGv6iM3JHyNJUDoGmpwKg - ZA6pyWxyy8RPImJsT5UrqWCPZ9Y8h4DwmKBw56I0SmwKfCqFg1xqZSBGCa3eO5g1aU4P - HdRyDQQ1uiPMEkjgHgXPYOAacqAJAaMmTUk6ZyXDyHa2kBIDU1AKAcxwrpRB1DiRMd0w - /HTCFEbG1wBgEFcjnGw6AHIEQpMoZVtE+VhQHRsAABdMAALFVmsbFSJhuxv7jpng6z6e - wIrBfG+UXQ1hTLICHM/L1rh8kPGiK3ToXAlhx2/bTmh78WRFG8OYdo/wCALMn189pfBa - CyFUAAbQ6Rmm9BO2QAJLmqneHgN80ANQTGoBuDsH0Xiv9qPhU8B1h+dGTa82BsUe/DHU - 39uoM4XUch5ECycwz0yH3tK7Th7ZVzBAmBTkPyJ8r91hOdtaTDNmcM69OeCEbuhrDUbg - DEGgN99pFaoXePMjQAMpA56BjnsTxdhxcvnGEdPjGU26bUBk8qu0loZB0DIG/h/NPBR4 - CQBnE9i7J2btH2jpM/WPbrFMfKZ4HRggv8h1PUu59W1NMiZrv/ZPENYabcAUutrcPgRI - 5CIkrmeQeU30ACKcAA38cqK88KMGngG+iwAANcfsxVAip+m+OiNUM4BOqYPkSKssucRO - lc8IOkoYJcJcngVI5s5w8WP4P8H+AiAwA+PcE8EwXSpmBChUAAx8yAKoO02+MmAINisg - lwa4kMQmIoTecGcLBUMGBskgV1AlAozcgkgojMGOGIGA7gx+dCIe3kdWBWBa0I0MNSG4 - M4Bc9wyDA8HKN2V0NUlNDcCoCyC9BGIWAsN9BG7SSO+QzocgPcv2p4yC9KmWUS94MGLu - MpEOMELuSKLuoY9ERQWCNWGui0Rg/SjqSLEoWQBQBU3cRMqeA20Y/+MFEXFIyIIzEeHe - cqf1D0VLBYNJBc8abCbG/eMGHOzu9APREkpKr6M6OTFE5/FsMG/id02qamwAwEwJGG34 - iezxDAjOiYEmEWWWDiD0EDBLGYpahw+6++VyGyHCHQH+ASeHG0MGrXFaJwAGO3FMZYPI - OyHkIeFQFCE2uGuLHMasIezixbD8pJHMGGGUFwAAHaAakcAcAwVzBQckHYG4cqBGAIc6 - BoBi8HHwMpGK/mTGTKH+/vGYjuQwHWFa+CBU+YjqHUGk3UCSBWDBGzHMuw5wjcIWP6P/ - BlBpGHDOWOG+AmGQTgHS3UHKZEcEAia4JmJIAWAgPRJ+WqA0BIXEHoHe4CHCRMBEBifC - 4kIY6qcEAma4HYHIOaBM79AUHOd0B4AiCs67IrD6tlD/GG9sGcNkA0GgM6HiMeHQG+Yi - LnAQKWAeAoPYHVKjKya4veKJKINCHmgMJCMFAadCJuHmHad0BaB/DGHiHQd0BuAaCg5l - IqsKgIgMAsgQAAG6HKHYH+AKAYIXGGwOGQHWFmi0BxJql0GkFlEqCiB0DO2fIrIvGO9a - k09hGGyMFeFgQ+HiAaWqBABigfMQaqH+H4JcG6GSlQA4ACQWCQCUCozZIqzgpAzm56sZ - GY8mAADmDSC+AACGCQT038OwYY86aSAOyy5ymQMgA8eKBnChExGGL4Am+8T2AaPQYuHi - H+H2AKcLGGqeFgFUFKb8Ca5iJMJuKoaojypyRIdAkSRqoFIqPqRMBAAm1qnoI4HyH+G6 - HMOwAOAaMmXeO2jyKiesi6KSKwJgjMJEJIO6KmKQKsLuKyL+KjRmi64E3IsyTULmK6Yo - fSL4LiUSf5SCLbR3SKL8Lmf4f4HPFwhiNci7SNSchwMpSFEKf5StASf4MpSMpnS4i/AS - epPWMEKiKeJcAMH6NAA6AyvAMGJaTOfSHwJgHkHmNA3030o8o8AXT+OkRdBK30L4o8e0 - Y4Lu3MNIjy30KobQbSqiRMBMBMi4NEgNUYL9B+JhUOL/UUL+IqItU0I6PNSBATUsL+qq - dBT+Y4ouukmALmsKMoxowQ22O3VIL/ViMHVuOLVPVmjMsKSK30y0K/VBExTnGGHRWS3G - ArWYzcM+NAHZWiN7DwUSLux0L8HBWzPeUQh5COMGeTAML9UEOLFWcqBLXOAAHHXUhiBA - OiVjWObspmKo30PapmpmjyG3Xyd3PkOMaQvyo9WylQG/YGv6TYHdYOAAApYUSCAwanVT - NAG6kchId0BFYqUBW0pmBZY0OcA6geGfY/B4GyM4B1ZIlDUBUEF7ZSAAExZZA/HaZ6GV - ZiqgqiAAGnZtW3WmX9YqfDWeAAGPZ+AADdaEAAGraKAABXaQ7USKGxaYAABTaeOlWiOb - VmMoLvT+PREUbqOpESOpEcJ9a8KXbBZda0aqHVbM33UFZ6ldD2MFXBEKBbbg7gG0nxUm - pi5pQ8g8HENrSiujWKcIcLXyp+BJcGRaOSHNcOsyTfPkeLb4pwfzVmKpMValZNawMHWL - Vvae/cPhXgbKL4pmHLdAM63MhzYsjKNjYOOwA5dVaJaMBVddFOsdYmoTYQOLbcA1duAB - WSYjVnbxbxb/cSAAFzeEbjdfd/cCWtWbYeAzeWABXOftXUfKHJekAACherbG7wbLZ+GP - YKNBY+GfYYanYURrZsGmSjdXdQAADbfUa603X2eLXovzcbMU3S3UAvfscElGMpYCRlBJ - d/d1fBcKkpUAjPc4gzbFayJda4OncOig31fEzc02UHdU+GFxgrVqOyJhbMRMA/g4i6P0 - TFeg54GkykBfhKU4bQAAB9hUVABsBsclgK+1Z6qiIOBDhqtqL5YikcBRh3gDcpFRgSJ8 - PbZfEZiCeNTmHOHUOaHu866qJuf5CYOkeS3U6NWKsLRxQsMpAKTaTfWLd6S3ixW+3SlM - QgBREIKoS0gMPWTEMouU0deAo8g6cIPYLvjbS1Vuo8ieWq30ZSdU9mNgJJU4L43MMewU - L/Z6LnU4Ko4AXi+iQjdkLufgVyL5kWpzP4TUAeATKKmAMoHSHW7KHSHoMOfaIXgUZ5gO - SOpnI830sonqg+6GwhOvHwHgHWigBQA8mxMUHAHQV6FiFkFsS4gshMAA+weKbQeUj8UG - /6dcbOeVkG363URhE9jQ0UUIgMRQIXQkJ5m0AOs0oquiJ3mmCKCST0mGdAhkjrVPDPEq - BYBeBjdhFsL4AoAOLUVwPQ7G7KGMGS7nmcl46GOemfkKNWWPnaBpaI/2d2Na7gGwyBFF - BokPF+Medsd1j8AoAqX8kCM+d0ZcNAKoogAACYClLM26N5n+ImL8ggFyFqFiAAGApsAA - EOEgExIqMoiYkqA2AwX9GSwGA2wKbssKjyjyO/O+unBKcpLPlcAAGsHIYIAEAaJuOKao - KcKIHSGuIOB2BoCREtbtpmqeXkXoXs7g+UjnGYsKFcGCecA4B6RqyyzIdoHsHiNIHwGs - KICQByCzPtFs+5P1H5LVH8/fCtaIAKF4RkA068XaHwHqO210xqPCHUGwOaCAA2C0nmPZ - HxbxM4WsTDZqgWgaAtORFsGmGpLcHOAve+1COkFuEypuJEKeA8BUeKGqGGyAI2LU40Y4 - A6BSgeHeHQcqHvMM5KAACCC2CCfuAZsYqgG8IOBsAY2cakojHMyM9UrG54rLO7GHoXfK - G8AahgAkA5bZXSGufLtxs/FKIyHKGyWqA2BOdVlKSK4UlQBCBcmeO+HIGiigB4AwCrMz - Hwo8awWYAgcLr7sM+amGRNrNHqBKCMge4uTUghKcNAGyFiN48s65jBG1D7Fm8fGYpnuw - AAGCGXNYH2ANMOz7OUKeAWACTEB8BoCUi03xrw/fpqv7mHpxN29ek5G1Uc38uThRQYaq - I+K/igcGPZqDpmqcXhq8+DrAxfrHyNh+gzlLycMoKpG6T2AYY4XyHgJcX5yly62isKS6 - gMTAWCHRk8H+HWHtL0T7y9zZEyIyHiHYYi2OPZU5TmHJiQI07MI8Ipogi6+ia483j8xx - MUsLTMnj0AIzj9m4TeJ2HyS2f4oBQGIzjb0XpMLNT6Jhz/iIv7hRSN0rRx0cO3igMpj9 - S1VmL5q6lHAQKf1KJAxwf51Sa4LvZ6jNVuKppqlzRiTWNALmoR0Nq6AWTUA2AqcKvcjG - MGICAA4BAAADAAAAAQBCAAABAQADAAAAAQBGAAABAgADAAAABAAAFAQBAwADAAAAAQAF - AAABBgADAAAAAQACAAABEQAEAAAAAQAAAAgBEgADAAAAAQABAAABFQADAAAAAQAEAAAB - FgADAAAAAQBGAAABFwAEAAAAAQAAE04BHAADAAAAAQABAAABPQADAAAAAQACAAABUgAD - AAAAAQABAAABUwADAAAABAAAFAwAAAAAAAgACAAIAAgAAQABAAEAAQ== - ReadOnly NO RowAlign @@ -2261,29 +1173,22 @@ callback} CurrentSheet 0 - ExpandedCanvases - - - name - Canvas 1 - - + Expanded_Canvases + Frame - {{218, 122}, {831, 885}} - ListView + {{194, 0}, {1127, 877}} + ShowInfo - OutlineWidth - 142 - RightSidebar - ShowRuler Sidebar SidebarWidth - 120 + 200 + TopSlabHeight + 250 VisibleRegion - {{-53, 0}, {682, 731}} + {{-18, 0}, {613, 719}} Zoom 1 ZoomValues @@ -2295,7 +1200,5 @@ callback} - saveQuickLookFiles - YES diff --git a/images/docs/guide/form_data_flow.svg b/images/docs/guide/form_data_flow.svg new file mode 100644 index 000000000000..3c399ae8d8da --- /dev/null +++ b/images/docs/guide/form_data_flow.svg @@ -0,0 +1,3 @@ + + + Produced by OmniGraffle 6.5.2 2011-10-06 04:16:40 +0000Canvas 1Layer 1Controller (scope)Widget (scope)property$modelValue$viewValueDOM$watch callback$parseModel()$parseView()$render()DOM Event$emit( '$viewChange', value)copy $modelValue to model property$validate$validate diff --git a/images/docs/guide/form_data_flow.vdx b/images/docs/guide/form_data_flow.vdx new file mode 100644 index 000000000000..5a80369df90d --- /dev/null +++ b/images/docs/guide/form_data_flow.vdx @@ -0,0 +1,2075 @@ + + + + 12 + 52 + + + 8 + 10.1806 + 0 + 0.25 + 0.25 + 0.25 + 0.569444 + 1 + 1 + + + + + + + + + + + + + + 0.111111 + 0.111111 + + + 1 + 1 + 8 + 10.1806 + 3 + 0 + -0.0277778 + + + Layer 1 + 1 + 1 + 0 + + + + + + -0 + 3.840277777777778 + 3.265934722222222 + 5.069444444444445 + 1.218130555555555 + 2.534722222222222 + 0.6090652777777777 + + + 5.069444444444445 + 1.079241666666667 + -0 + + + 1 + + + 9 + 0.0138889 + 0 + 0 + 0.194444 + 0 + + + 1 + #dbedff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 1.218130555555556 + + + 5.069444444444445 + 1.218130555555556 + + + 5.069444444444445 + 0 + + + 0 + 0 + + + 0 + 1.218130555555556 + + + + 0 + + + 4.96893147561897 + 0.0241521373589756 + 0 + + + 4.968931501347565 + 1.193978424378873 + 0 + + + 0.1005129688254745 + 1.193978418196582 + 0 + + + 0.1005129430968819 + 0.02415213117668379 + 0 + + + 2.534722222222222 + 0 + 0 + + + 2.534722222222222 + 1.218130555555556 + 0 + + + 5.069444444444443 + 0.6090652777777782 + 0 + + + 0 + 0.6090652777777782 + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 0 + 0 + + 0.194444 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Controller (scope) + + + + -0 + 3.840277777777778 + 6.409722222222222 + 5.069444444444445 + 3.597222222222222 + 2.534722222222222 + 1.798611111111111 + + + 5.069444444444445 + 3.458333333333333 + -0 + + + 1 + + + 9 + 0.0138889 + 0 + 0 + 0.194444 + 0 + + + 1 + #dbedff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 3.597222222222222 + + + 5.069444444444445 + 3.597222222222222 + + + 5.069444444444445 + 0 + + + 0 + 0 + + + 0 + 3.597222222222222 + + + + 0 + + + 5.002417515987357 + 0.04756157389146725 + 0 + + + 5.002417537239436 + 3.549660663410998 + 0 + + + 0.06702692845708727 + 3.549660648330755 + 0 + + + 0.06702690720500747 + 0.04756155881122481 + 0 + + + 2.534722222222222 + 0 + 0 + + + 2.534722222222222 + 3.597222222222222 + 0 + + + 5.069444444444445 + 1.798611111111111 + 0 + + + 0 + 1.798611111111111 + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 0 + 0 + + 0.194444 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Widget (scope) + + + + -0 + 3.770833333333333 + 3.309652777777778 + 1.347222222222222 + 0.4861111111111111 + 0.6736111111111112 + 0.2430555555555556 + + + 1.347222222222222 + 0.3472222222222222 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0.194444 + 0 + + + 1 + #9bef99 + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.4861111111111103 + + + 1.347222222222222 + 0.4861111111111103 + + + 1.347222222222222 + 0 + + + 0 + 0 + + + 0 + 0.4861111111111103 + + + + 0 + + + 1.259277223888855 + 0.03173273135740039 + 0 + + + 1.259277248007126 + 0.4543783884561784 + 0 + + + 0.08794499833336683 + 0.4543783797537099 + 0 + + + 0.08794497421509778 + 0.03173272265493191 + 0 + + + 0.6736111111111112 + 0 + 0 + + + 0.6736111111111112 + 0.4861111111111111 + 0 + + + 1.347222222222222 + 0.2430555555555548 + 0 + + + 0 + 0.2430555555555548 + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + property + + + + -0 + 3.770833333333333 + 5.104166666666667 + 1.347222222222222 + 0.4861111111111111 + 0.6736111111111112 + 0.2430555555555556 + + + 1.347222222222222 + 0.3472222222222222 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0.194444 + 0 + + + 1 + #9bef99 + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.4861111111111111 + + + 1.347222222222222 + 0.4861111111111111 + + + 1.347222222222222 + 0 + + + 0 + 0 + + + 0 + 0.4861111111111111 + + + + 0 + + + 1.259277223888855 + 0.03173273135740039 + 0 + + + 1.259277248007126 + 0.4543783884561792 + 0 + + + 0.08794499833336683 + 0.4543783797537107 + 0 + + + 0.08794497421509659 + 0.03173272265493191 + 0 + + + 0.6736111111111112 + 0 + 0 + + + 0.6736111111111112 + 0.4861111111111111 + 0 + + + 1.347222222222222 + 0.2430555555555556 + 0 + + + 0 + 0.2430555555555556 + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + $modelValue + + + + -0 + 3.770833333333333 + 6.395833333333333 + 1.347222222222222 + 0.4861111111111111 + 0.6736111111111112 + 0.2430555555555556 + + + 1.347222222222222 + 0.3472222222222222 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0.194444 + 0 + + + 1 + #9bef99 + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.4861111111111111 + + + 1.347222222222222 + 0.4861111111111111 + + + 1.347222222222222 + 0 + + + 0 + 0 + + + 0 + 0.4861111111111111 + + + + 0 + + + 1.259277223888855 + 0.03173273135740039 + 0 + + + 1.259277248007126 + 0.4543783884561792 + 0 + + + 0.08794499833336683 + 0.4543783797537107 + 0 + + + 0.08794497421509659 + 0.03173272265493191 + 0 + + + 0.6736111111111112 + 0 + 0 + + + 0.6736111111111112 + 0.4861111111111111 + 0 + + + 1.347222222222222 + 0.2430555555555556 + 0 + + + 0 + 0.2430555555555556 + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + $viewValue + + + + -0 + 3.770833333333333 + 7.798611111111111 + 1.347222222222222 + 0.4861111111111111 + 0.6736111111111112 + 0.2430555555555556 + + + 1.347222222222222 + 0.3472222222222222 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0.194444 + 0 + + + 1 + #f6be4d + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.4861111111111111 + + + 1.347222222222222 + 0.4861111111111111 + + + 1.347222222222222 + 0 + + + 0 + 0 + + + 0 + 0.4861111111111111 + + + + 0 + + + 1.259277223888855 + 0.03173273135740039 + 0 + + + 1.259277248007126 + 0.4543783884561792 + 0 + + + 0.08794499833336683 + 0.4543783797537107 + 0 + + + 0.08794497421509659 + 0.03173272265493191 + 0 + + + 0.6736111111111112 + 0 + 0 + + + 0.6736111111111112 + 0.4861111111111111 + 0 + + + 1.347222222222222 + 0.2430555555555556 + 0 + + + 0 + 0.2430555555555556 + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + DOM + + + + -0 + 4.435194739447349 + 7.093957565297012 + 0.1573905384360014 + 0.9736027981261104 + 0.07869526921800071 + 0.4868013990630552 + + + 4.35886451304665 + 7.58075896436007 + 4.35649947022935 + 6.60715616623396 + + + 4 + 0 + 0 + 2 + 2 + + + 0.1573905384360014 + 0.9736027981261104 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0.002365042817305133 + 0.9736027981261104 + + + 0.157389418659541 + 0.5456216115438208 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.343316,0.853486,0,1, 1.002497,0.727065,0,1) + + + 0 + 0 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.997489,0.393765,0,1, 0.333298,0.186786,0,1) + + + + 0 + + + + + -0 + 4.43519468073321 + 5.74671304765591 + 0.1573904210077244 + 0.8624470961772394 + 0.07869521050386218 + 0.4312235480886197 + + + 4.35873758321019 + 6.17793659574453 + 4.35649947022935 + 5.31548949956729 + + + 4 + 0 + 0 + 0 + 2 + + + 0.1573904210077244 + 0.8624470961772394 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0.002238112980838499 + 0.8624470961772394 + + + 0.1573894186595403 + 0.4067327226549319 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.342778,0.823885,0,1, 1.002363,0.638253,0,1) + + + -7.894919286223335e-16 + 0 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.997624,0.304953,0,1, 0.333298,0.157185,0,1) + + + + 0 + + + + + -0 + 4.462972456265214 + 4.203689833784285 + 0.2129459720717309 + 1.365428446211765 + 0.1064729860358654 + 0.6827142231058825 + + + 4.35909843747065 + 4.88640405689017 + 4.35649947022935 + 3.5209756106784 + + + 4 + 0 + 0 + 2 + 2 + + + 0.2129459720717309 + 1.365428446211765 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0.002598967241305495 + 1.365428446211764 + + + 0.2129449742150958 + 0.8442327226549311 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341435,0.872777,0,1, 1.002029,0.784941,0,1) + + + -7.894919286223335e-16 + -7.894919286223335e-16 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.997961,0.451641,0,1, 0.333298,0.206077,0,1) + + + + 0 + + + + + -0 + 3.078694442120485 + 4.210248926587021 + 0.2129455086336674 + 1.365189814358043 + 0.1064727543168337 + 0.6825949071790214 + + + 3.18326345136955 + 3.527654019408 + 3.18516719643732 + 4.89284383376604 + + + 4 + 0 + 0 + 2 + 2 + + + 0.2129455086336674 + 1.365189814358043 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0.211041763565896 + 7.894919286223335e-16 + + + 5.344185712235433e-07 + 0.7403320917031119 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.660741,0.180746,0,1, -0.001487,0.375642,0,1) + + + 0.2129455086336678 + 1.365189814358044 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.001492,0.708942,0,1, 0.666701,0.847446,0,1) + + + + 0 + + + + + -0 + 3.113416379387617 + 5.753286244139707 + 0.1435016340994031 + 0.8624485125860054 + 0.07175081704970153 + 0.4312242562930027 + + + 3.1829249274543 + 5.3220619878467 + 3.18516719643732 + 6.18451050043271 + + + 4 + 0 + 0 + 2 + 2 + + + 0.1435016340994031 + 0.8624485125860054 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0.1412593651163796 + 0 + + + 1.104328751308812e-06 + 0.4140491232644068 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.656285,0.160013,0,1, -0.002596,0.313436,0,1) + + + 0.1435016340994034 + 0.8624485125860054 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.002612,0.646736,0,1, 0.666703,0.826713,0,1) + + + + 0 + + + + + -0 + 3.092583086147927 + 7.100470326225159 + 0.1851682205787838 + 0.9736359039706576 + 0.0925841102893919 + 0.4868179519853288 + + + 3.18271268130328 + 6.61365237423983 + 3.18516719643732 + 7.58728827821049 + + + 4 + 0 + 0 + 2 + 2 + + + 0.1851682205787838 + 0.9736359039706576 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0.1827137054447397 + 0 + + + 1.024141464572242e-06 + 0.4835698479823923 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.657864,0.165538,0,1, -0.002204,0.330014,0,1) + + + 0.1851682205787834 + 0.9736359039706576 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.002215,0.663314,0,1, 0.666702,0.832238,0,1) + + + + 0 + + + + + -0 + 2.631944444444445 + 4.229166666666667 + 0.7083333333333334 + 0.3888888888888889 + 0.3541666666666667 + 0.1944444444444444 + + + 0.7083333333333334 + 0.3888888888888889 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3888888888888889 + + + 0.7083333333333334 + 0.3888888888888889 + + + 0.7083333333333334 + 0 + + + 0 + 0 + + + 0 + 0.3888888888888889 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + $watch +callback + + + + -0 + 2.333333333333333 + 5.708333333333333 + 1.305555555555556 + 0.1944444444444444 + 0.6527777777777778 + 0.09722222222222222 + + + 1.305555555555556 + 0.1944444444444444 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.1944444444444444 + + + 1.305555555555556 + 0.1944444444444444 + + + 1.305555555555556 + 0 + + + 0 + 0 + + + 0 + 0.1944444444444444 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + $parseModel() + + + + -0 + 5.1875 + 5.708333333333333 + 1.208333333333333 + 0.1944444444444444 + 0.6041666666666666 + 0.09722222222222222 + + + 1.208333333333333 + 0.1944444444444444 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.1944444444444444 + + + 1.208333333333333 + 0.1944444444444444 + + + 1.208333333333333 + 0 + + + 0 + 0 + + + 0 + 0.1944444444444444 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + $parseView() + + + + -0 + 2.548611111111111 + 7.090277777777778 + 0.9027777777777778 + 0.1944444444444444 + 0.4513888888888889 + 0.09722222222222222 + + + 0.9027777777777778 + 0.1944444444444444 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.1944444444444444 + + + 0.9027777777777778 + 0.1944444444444444 + + + 0.9027777777777778 + 0 + + + 0 + 0 + + + 0 + 0.1944444444444444 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + $render() + + + + -0 + 5.444444444444445 + 7.090277777777778 + 1.722222222222222 + 0.9236111111111112 + 0.8611111111111112 + 0.4618055555555556 + + + 1.722222222222222 + 0.9236111111111112 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.9236111111111112 + + + 1.722222222222222 + 0.9236111111111112 + + + 1.722222222222222 + 0 + + + 0 + 0 + + + 0 + 0.9236111111111112 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + DOM Event +$emit( + '$viewChange', + value) + + + + -0 + 5.583333333333333 + 4.243055555555555 + 1.888888888888889 + 0.6111111111111112 + 0.9444444444444444 + 0.3055555555555556 + + + 1.888888888888889 + 0.6111111111111112 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.6111111111111112 + + + 1.888888888888889 + 0.6111111111111112 + + + 1.888888888888889 + 0 + + + 0 + 0 + + + 0 + 0.6111111111111112 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + copy $modelValue +to model property +$validate + + + + -0 + 2.791666666666667 + 6.42072264259382 + 0.6111111111111112 + 0.3572943994714659 + 0.3055555555555556 + 0.1786471997357329 + + + 3.09722222222222 + 6.39583333333333 + 3.09722222222222 + 6.39583333333333 + + + 4 + 0 + 0 + 2 + 2 + + + 0.6111111111111112 + 0.3572943994714659 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0.6111111111111112 + 0.1537578904752463 + + + 0 + 0.1884801126974686 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.000000,0.430339,0,1, 0.000000,-0.599779,0,1) + + + 0.6111111111111112 + 0.1468134460308019 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.000001,1.654824,0,1, 1.000000,0.410903,0,1) + + + 0.6111111111111112 + 0.1537578904752463 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.000000,0.410903,0,1, 1.000000,0.430339,0,1) + + + + 0 + + + + + -0 + 1.9375 + 6.395833333333333 + 0.9027777777777778 + 0.1944444444444444 + 0.4513888888888889 + 0.09722222222222222 + + + 0.9027777777777778 + 0.1944444444444444 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.1944444444444444 + + + 0.9027777777777778 + 0.1944444444444444 + + + 0.9027777777777778 + 0 + + + 0 + 0 + + + 0 + 0.1944444444444444 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + $validate + + + + + + + + + + + + + + + + + + + + + + + 1 + 0 + 1 + 0 + 12 + 52 + 0.5 + + + diff --git a/images/docs/guide/hashbang_vs_regular_url.svg b/images/docs/guide/hashbang_vs_regular_url.svg new file mode 100644 index 000000000000..f60f8e10f55e --- /dev/null +++ b/images/docs/guide/hashbang_vs_regular_url.svg @@ -0,0 +1,3 @@ + + + Produced by OmniGraffle 6.5.2 2011-07-22 08:32:29 +0000Canvas 1Layer 1http://foo.com/bar?baz=23#bazhttp://foo.com/#!/bar?baz=23#baz$location.path()$location.search()Hashbang URL:Regular URL:HTML5 ModeHashbang Mode(HTML5 Fallback Mode)$location.hash() diff --git a/images/docs/guide/hashbang_vs_regular_url.vdx b/images/docs/guide/hashbang_vs_regular_url.vdx new file mode 100644 index 000000000000..cb02bee4394b --- /dev/null +++ b/images/docs/guide/hashbang_vs_regular_url.vdx @@ -0,0 +1,1660 @@ + + + + 12 + 52 + + + 7.68056 + 10.5 + 1 + 0.25 + 0.25 + 0.25 + 0.569444 + 1 + 1 + + + + + + + + + + + + + + 0.111111 + 0.111111 + + + 1 + 1 + 10.5 + 7.68056 + 3 + 0 + -0.0277778 + + + Layer 1 + 1 + 1 + 0 + + + + + + -0 + 3.923611111111111 + 5.826388888888889 + 7.541666666666667 + 0.01388888888888889 + 3.770833333333333 + 0.006944444444444444 + + + 0.152777777777778 + 5.83333333333333 + 7.69444444444444 + 5.83333333333333 + + + 4 + 0 + 0 + 2 + 2 + + + 7.541666666666667 + 0.01388888888888889 + -0 + + + 2 + + + 9 + 0.0277778 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.01388888888888889 + + + 7.541666666666667 + 0.01388888888888889 + + + + 0 + + + + + -0 + 3.787486111111111 + 5.833333333333333 + 2 + 0.7222222222222222 + 1 + 0.3611111111111111 + + + 2 + 0.5833333333333334 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.7222222222222222 + + + 2 + 0.7222222222222222 + + + 2 + 0 + + + 0 + 0 + + + 0 + 0.7222222222222222 + + + + 0 + + + + + -0 + 1.4375 + 5.763888888888889 + 1.736111111111111 + 0.7222222222222222 + 0.8680555555555556 + 0.3611111111111111 + + + 1.736111111111111 + 0.5833333333333334 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.7222222222222222 + + + 1.736111111111111 + 0.7222222222222222 + + + 1.736111111111111 + 0 + + + 0 + 0 + + + 0 + 0.7222222222222222 + + + + 0 + + + + + -0 + 2.784722222222222 + 6.243055555555555 + 1.430555555555556 + 0.4583333333333333 + 0.7152777777777778 + 0.2291666666666667 + + + 3.5 + 6.47222222222222 + 2.06944444444444 + 6.01388888888889 + + + 4 + 0 + 0 + 2 + 2 + + + 1.430555555555556 + 0.4583333333333333 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 1.430555555555556 + 0.4583333333333333 + + + 0 + 0 + + + + 0 + + + + + -0 + 1.638888888888889 + 3.499972222222222 + 0.02777777777777778 + 0.1666666666666667 + 0.01388888888888889 + 0.08333333333333333 + + + 0.02777777777777778 + 0.1666666666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.1666666666666667 + + + 0.02777777777777778 + 0.1666666666666667 + + + 0.02777777777777778 + 0 + + + 0 + 0 + + + 0 + 0.1666666666666667 + + + + 0 + + + + + -0 + 3.416666666666667 + 6.762170833333333 + 3.055555555555555 + 0.3055555555555556 + 1.527777777777778 + 0.1527777777777778 + + + 3.055555555555555 + 0.3055555555555556 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 3.055555555555555 + 0.3055555555555556 + + + 3.055555555555555 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0.0694444 + 0.0694444 + 2 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + #8000ff + + 0.166667 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + #408000 + + 0.166667 + 0 + + + 0 + #0000ff + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + http://foo.com/bar?baz=23#baz + + + + -0 + 3.319444444444445 + 4.908849305555555 + 3.361111111111111 + 0.2396347222222222 + 1.680555555555556 + 0.1198173611111111 + + + 3.361111111111111 + 0.2396347222222222 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.239634722222222 + + + 3.361111111111111 + 0.239634722222222 + + + 3.361111111111111 + 0 + + + 0 + 0 + + + 0 + 0.239634722222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 2 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + #8000ff + + 0.166667 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + #408000 + + 0.166667 + 0 + + + 0 + #0000ff + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + http://foo.com/#!/bar?baz=23#baz + + + + -0 + 1.5 + 5.888888888888889 + 2 + 0.3055555555555556 + 1 + 0.1527777777777778 + + + 2 + 0.3055555555555556 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 2 + 0.3055555555555556 + + + 2 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0.0694444 + 0.0694444 + 2 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + #8000ff + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + $location.path() + + + + -0 + 4.201388888888889 + 6.243055555555555 + 0.01388888888888889 + 0.4583333333333333 + 0.006944444444444444 + 0.2291666666666667 + + + 4.19444444444444 + 6.47222222222222 + 4.19444444444444 + 6.01388888888889 + + + 4 + 0 + 0 + 2 + 2 + + + 0.01388888888888889 + 0.4583333333333333 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.4583333333333333 + + + 0 + 0 + + + + 0 + + + + + -0 + 2.819444444444445 + 5.312944444444444 + 1.5 + 0.5685555555555557 + 0.75 + 0.2842777777777779 + + + 3.56944444444444 + 5.02866666666667 + 2.06944444444444 + 5.59722222222222 + + + 4 + 0 + 0 + 2 + 2 + + + 1.5 + 0.5685555555555557 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 1.5 + 3.947459643111667e-16 + + + 0 + 0.568555555555556 + + + + 0 + + + + + -0 + 3.819444444444445 + 5.888888888888889 + 2 + 0.3055555555555556 + 1 + 0.1527777777777778 + + + 2 + 0.3055555555555556 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 2 + 0.3055555555555556 + + + 2 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0.0694444 + 0.0694444 + 2 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + #408000 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + $location.search() + + + + -0 + 4.201388888888889 + 5.368055555555555 + 0.01388888888888889 + 0.4583333333333333 + 0.006944444444444444 + 0.2291666666666667 + + + 4.19444444444444 + 5.13888888888889 + 4.19444444444444 + 5.59722222222222 + + + 4 + 0 + 0 + 2 + 2 + + + 0.01388888888888889 + 0.4583333333333333 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0 + + + 0 + 0.4583333333333333 + + + + 0 + + + + + -0 + 0.8402777777777778 + 4.902777777777778 + 1.291666666666667 + 0.2222222222222222 + 0.6458333333333334 + 0.1111111111111111 + + + 1.291666666666667 + 0.2222222222222222 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2222222222222222 + + + 1.291666666666667 + 0.2222222222222222 + + + 1.291666666666667 + 0 + + + 0 + 0 + + + 0 + 0.2222222222222222 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 1 + 0 + + 0.180556 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Hashbang URL: + + + + -0 + 0.7430555555555556 + 6.720504166666667 + 1.097222222222222 + 0.2222222222222222 + 0.5486111111111112 + 0.1111111111111111 + + + 1.097222222222222 + 0.2222222222222222 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2222222222222222 + + + 1.097222222222222 + 0.2222222222222222 + + + 1.097222222222222 + 0 + + + 0 + 0 + + + 0 + 0.2222222222222222 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 1 + 0 + + 0.180556 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Regular URL: + + + + -0 + 4.201388888888889 + 7.319444444444445 + 1.555555555555556 + 0.3055555555555556 + 0.7777777777777778 + 0.1527777777777778 + + + 1.555555555555556 + 0.3055555555555556 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 1.555555555555556 + 0.3055555555555556 + + + 1.555555555555556 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 1 + 0 + + 0.25 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + HTML5 Mode + + + + -0 + 4.201388888888889 + 4.039916666666667 + 2.805555555555555 + 0.6111111111111112 + 1.402777777777778 + 0.3055555555555556 + + + 2.805555555555555 + 0.6111111111111112 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.6111111111111112 + + + 2.805555555555555 + 0.6111111111111112 + + + 2.805555555555555 + 0 + + + 0 + 0 + + + 0 + 0.6111111111111112 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 1 + 0 + + 0.25 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Hashbang Mode +(HTML5 Fallback Mode) + + + + -0 + 6.25 + 5.763888888888889 + 2 + 0.7222222222222222 + 1 + 0.3611111111111111 + + + 2 + 0.5833333333333334 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.7222222222222222 + + + 2 + 0.7222222222222222 + + + 2 + 0 + + + 0 + 0 + + + 0 + 0.7222222222222222 + + + + 0 + + + + + -0 + 6.194444444444445 + 5.888888888888889 + 2 + 0.3055555555555556 + 1 + 0.1527777777777778 + + + 2 + 0.3055555555555556 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 2 + 0.3055555555555556 + + + 2 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0.0694444 + 0.0694444 + 2 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + #0000ff + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + $location.hash() + + + + -0 + 5.75 + 5.333777777777778 + 1.611111111111111 + 0.6102222222222223 + 0.8055555555555556 + 0.3051111111111112 + + + 4.94444444444444 + 5.02866666666667 + 6.55555555555556 + 5.63888888888889 + + + 4 + 0 + 0 + 2 + 2 + + + 1.611111111111111 + 0.6102222222222223 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 3.947459643111667e-16 + + + 1.611111111111111 + 0.6102222222222227 + + + + 0 + + + + + -0 + 5.6875 + 6.256944444444445 + 1.736111111111111 + 0.4861111111111111 + 0.8680555555555556 + 0.2430555555555556 + + + 4.81944444444444 + 6.5 + 6.55555555555556 + 6.01388888888889 + + + 4 + 0 + 0 + 2 + 2 + + + 1.736111111111111 + 0.4861111111111111 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.4861111111111111 + + + 1.736111111111111 + 0 + + + + 0 + + + + + + + + + 0 + 0 + 1 + 0 + 12 + 52 + 0.5 + + + diff --git a/images/docs/guide/simple_scope.graffle/data.plist b/images/docs/guide/simple_scope.graffle/data.plist index 8282d625ee67..e8769d8b02af 100644 --- a/images/docs/guide/simple_scope.graffle/data.plist +++ b/images/docs/guide/simple_scope.graffle/data.plist @@ -88,7 +88,7 @@ {\colortbl;\red255\green255\blue255;} \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural -\f0\b\fs20 \cf0 angular applies MyCtrlr function to MyCtrlr scope object.} +\f0\b\fs20 \cf0 AngularJS applies MyCtrlr function to MyCtrlr scope object.} TextPlacement 0 diff --git a/images/docs/guide/simple_scope.graffle/image7.png b/images/docs/guide/simple_scope.graffle/image7.png index 3a9618137f85..6d3ff1c228c7 100644 Binary files a/images/docs/guide/simple_scope.graffle/image7.png and b/images/docs/guide/simple_scope.graffle/image7.png differ diff --git a/images/docs/guide/simple_scope.svg/image7.png b/images/docs/guide/simple_scope.svg/image7.png new file mode 100644 index 000000000000..6d3ff1c228c7 Binary files /dev/null and b/images/docs/guide/simple_scope.svg/image7.png differ diff --git a/images/docs/guide/simple_scope.svg/simple_scope.svg b/images/docs/guide/simple_scope.svg/simple_scope.svg new file mode 100644 index 000000000000..e67128e53437 --- /dev/null +++ b/images/docs/guide/simple_scope.svg/simple_scope.svg @@ -0,0 +1,3 @@ + + + Produced by OmniGraffle 6.5.2 2011-05-13 21:08:22 +0000Canvas 1Layer 1function MyCtrlr(){ this.guy = 'Hank'; this.save = function(){ //do something nice }}ControllerModelroot scope DOM Element to ScopeViewData-binding<html></body></html>TemplateInput: <input name="guy" type="text">Name = <span ng:bind="guy"> </span><body ng:controller="MyCtrlr"><button ng:click="save()"> Save</button>MyCtrlr scopeguy: 'Hank'save: Function Scope Inheritanceng:autobindangular applies MyCtrlr function to MyCtrlr scope object. diff --git a/images/docs/guide/simple_scope.vdx b/images/docs/guide/simple_scope.vdx new file mode 100644 index 000000000000..7ff6e4728ade --- /dev/null +++ b/images/docs/guide/simple_scope.vdx @@ -0,0 +1,3839 @@ + + + + 12 + 52 + + + 7.68056 + 10.5 + 1 + 0.25 + 0.25 + 0.25 + 0.569444 + 1 + 1 + + + + + + + + + + + + + + 0.111111 + 0.111111 + + + 1 + 1 + 10.5 + 7.68056 + 3 + 0 + -0.0277778 + + + Layer 1 + 1 + 1 + 0 + + + + + + -0 + 1 + 1 + 4.569444444444445 + 5.531680555555556 + 2.402777777777778 + 1.603277777777778 + 1.201388888888889 + 0.8016388888888889 + + + 2.402777777777778 + 1.464388888888889 + -0 + + + 1 + + + 1 + 0.0138889 + #ff0d10 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 1.603277777777778 + + + 2.402777777777778 + 1.603277777777778 + + + 2.402777777777778 + 0 + + + 0 + 0 + + + 0 + 1.603277777777778 + + + + 0 + + + + + -0 + 4.569444444444445 + 5.726125 + 2.236111111111111 + 1.103277777777778 + 1.118055555555556 + 0.5516388888888889 + + + 2.236111111111111 + 0.964388888888889 + -0 + + + 1 + + + 1 + 0.0138889 + #ff0c1b + 0 + 0 + 0 + + + 1 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 1.103277777777778 + + + 2.236111111111111 + 1.103277777777778 + + + 2.236111111111111 + 0 + + + 0 + 0 + + + 0 + 1.103277777777778 + + + + 0 + + + + + -0 + 4.631944444444445 + 5.743041666666667 + 2.180555555555555 + 0.9166666666666666 + 1.090277777777778 + 0.4583333333333333 + + + 2.180555555555555 + 0.9166666666666666 + -0 + + + 1 + + + 0 + 0.0138889 + #ff0c1b + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.9166666666666666 + + + 2.180555555555555 + 0.9166666666666666 + + + 2.180555555555555 + 0 + + + 0 + 0 + + + 0 + 0.9166666666666666 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 0 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + function MyCtrlr(){ + this.guy = 'Hank'; + this.save = function(){ + //do something nice + } +} + + + + -0 + 4.506944444444445 + 4.930555555555555 + 1.277777777777778 + 0.3055555555555556 + 0.6388888888888888 + 0.1527777777777778 + + + 1.277777777777778 + 0.3055555555555556 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 1.277777777777778 + 0.3055555555555556 + + + 1.277777777777778 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 1 + 0 + + 0.25 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Controller + + + + -0 + 1 + 1 + 7.048611111111111 + 5.854166666666667 + 1.875 + 3.013888888888889 + 0.9375 + 1.506944444444444 + + + 1.875 + 2.875 + -0 + + + 1 + + + 1 + 0.0138889 + #4fff75 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 3.013888888888889 + + + 1.875 + 3.013888888888889 + + + 1.875 + 0 + + + 0 + 0 + + + 0 + 3.013888888888889 + + + + 0 + + + + + -0 + 1.555555555555556 + 4.826388888888889 + 2.916666666666667 + 5.069444444444445 + 1.458333333333333 + 2.534722222222222 + + + 2.916666666666667 + 4.930555555555555 + -0 + + + 1 + + + 1 + 0.0138889 + #f8ff29 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 5.069444444444445 + + + 2.916666666666667 + 5.069444444444445 + + + 2.916666666666667 + 0 + + + 0 + 0 + + + 0 + 5.069444444444445 + + + + 0 + + + + + -0 + 0.7638888888888888 + 2.069416666666667 + 0.02777777777777778 + 0.1666666666666667 + 0.01388888888888889 + 0.08333333333333333 + + + 0.02777777777777778 + 0.1666666666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.1666666666666667 + + + 0.02777777777777778 + 0.1666666666666667 + + + 0.02777777777777778 + 0 + + + 0 + 0 + + + 0 + 0.1666666666666667 + + + + 0 + + + + + -0 + 7.044770053286448 + 6.540841750467613 + 0.01388888888888889 + 0.3525186114648843 + 0.006944444444444444 + 0.1762593057324422 + + + 7.037825608842 + 6.71710105620005 + 7.04176406875325 + 6.36458244473517 + + + 4 + 0 + 2 + 0 + 1 + + + 0.01388888888888889 + 0.3525186114648843 + -0 + + + 2 + + + 1 + 0.0277778 + #29ff3e + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.3525186114648843 + + + 0.00393845991124427 + 0 + + + + 0 + + + + + -0 + 7.076388888888889 + 4.581052777777778 + 0.9583333333333334 + 0.3101166666666667 + 0.4791666666666667 + 0.1550583333333333 + + + 0.9583333333333334 + 0.3101166666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3101166666666665 + + + 0.9583333333333334 + 0.3101166666666665 + + + 0.9583333333333334 + 0 + + + 0 + 0 + + + 0 + 0.3101166666666665 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 1 + 0 + + 0.25 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Model + + + + -0 + 7.034722222222222 + 6.994875 + 1.180555555555556 + 0.5416666666666666 + 0.5902777777777778 + 0.2708333333333333 + + + 0.9444444444444444 + 0.2402777777777777 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #ffffff + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 1.007666736111111 + 0.4623412083333334 + + + 1.007666736111111 + 0.07932545833333332 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.1728888194444443 + 0.07932545833333332 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.1728888194444443 + 0.4623412083333334 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 1.007666736111111 + 0.4623412083333334 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + + + -0 + 7.069444444444445 + 7.004099305555555 + 0.8055555555555556 + 0.2396347222222222 + 0.4027777777777778 + 0.1198173611111111 + + + 0.8055555555555556 + 0.1007458333333333 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2396347222222222 + + + 0.8055555555555556 + 0.2396347222222222 + + + 0.8055555555555556 + 0 + + + 0 + 0 + + + 0 + 0.2396347222222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + root scope + + + + -0 + 0.4444444444444444 + 1.812472222222222 + 0.6666666666666666 + 0.01388888888888889 + 0.3333333333333333 + 0.006944444444444444 + + + 0.111111111111111 + 1.81941666666667 + 0.777777777777778 + 1.81941666666667 + + + 4 + 0 + 2 + 2 + 1 + + + 0.6666666666666666 + 0.01388888888888889 + -0 + + + 2 + + + 9 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.01388888888888889 + + + 0.6666666666666666 + 0.01388888888888889 + + + + 0 + + + + + -0 + 1.868055555555556 + 1.810710416666667 + 1.958333333333333 + 0.2396347222222222 + 0.9791666666666666 + 0.1198173611111111 + + + 1.958333333333333 + 0.1007458333333333 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.239634722222222 + + + 1.958333333333333 + 0.239634722222222 + + + 1.958333333333333 + 0 + + + 0 + 0 + + + 0 + 0.239634722222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + DOM Element to Scope + + + + -0 + 1 + 1 + 9.409722222222221 + 5.630263888888889 + 1.875 + 3.461694444444444 + 0.9375 + 1.730847222222222 + + + 1.875 + 3.322805555555556 + -0 + + + 1 + + + 1 + 0.0138889 + #2222ff + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 3.461694444444444 + + + 1.875 + 3.461694444444444 + + + 1.875 + 0 + + + 0 + 0 + + + 0 + 3.461694444444444 + + + + 0 + + + + + -0 + 9.375 + 4.069444444444445 + 0.6666666666666666 + 0.3055555555555556 + 0.3333333333333333 + 0.1527777777777778 + + + 0.6666666666666666 + 0.3055555555555556 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 0.6666666666666666 + 0.3055555555555556 + + + 0.6666666666666666 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 1 + 0 + + 0.25 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + View + + + + -0 + 9.409722222222221 + 5.484381944444444 + 1.625 + 2.447902777777778 + 0.8125 + 1.223951388888889 + + + 1.625 + 2.309013888888889 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 2.447902777777778 + + + 1.625 + 2.447902777777778 + + + 1.625 + 0 + + + 0 + 0 + + + 0 + 2.447902777777778 + + + + 0 + + + + + -0 + 8.534722222222221 + 1.743027777777778 + 0.6666666666666666 + 0.01388888888888889 + 0.3333333333333333 + 0.006944444444444444 + + + 8.20138888888889 + 1.74997222222222 + 8.86805555555556 + 1.74997222222222 + + + 4 + 0 + 2 + 2 + 1 + + + 0.6666666666666666 + 0.01388888888888889 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.01388888888888889 + + + 0.6666666666666666 + 0.01388888888888889 + + + + 0 + + + + + -0 + 9.680555555555555 + 1.810710416666667 + 1.208333333333333 + 0.2396347222222222 + 0.6041666666666666 + 0.1198173611111111 + + + 1.208333333333333 + 0.1007458333333333 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.239634722222222 + + + 1.208333333333333 + 0.239634722222222 + + + 1.208333333333333 + 0 + + + 0 + 0 + + + 0 + 0.239634722222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Data-binding + + + + -0 + 8.548611111111111 + 1.909694444444444 + 0.6666666666666666 + 0.01388888888888889 + 0.3333333333333333 + 0.006944444444444444 + + + 8.21527777777778 + 1.91663888888889 + 8.88194444444444 + 1.91663888888889 + + + 4 + 0 + 2 + 2 + 1 + + + 0.6666666666666666 + 0.01388888888888889 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.01388888888888889 + + + 0.6666666666666666 + 0.01388888888888889 + + + + 0 + + + + + -0 + 5.229166666666667 + 7.534722222222222 + 10.23611111111111 + 0.01388888888888889 + 5.118055555555555 + 0.006944444444444444 + + + 0.111111111111111 + 7.52777777777778 + 10.3472222222222 + 7.54166666666667 + + + 4 + 0 + 2 + 2 + 1 + + + 10.23611111111111 + 0.01388888888888889 + -0 + + + 2 + + + 1 + 0.0277778 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0 + + + 10.23611111111111 + 0.01388888888888889 + + + + 0 + + + + + -0 + 0.5277777777777778 + 7 + 0.6666666666666666 + 0.3055555555555556 + 0.3333333333333333 + 0.1527777777777778 + + + 0.6666666666666666 + 0.1666666666666667 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #fff82f + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 0.6666666666666666 + 0.3055555555555556 + + + 0.6666666666666666 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + <html> + + + + -0 + 0.5972222222222222 + 3.499986111111111 + 0.75 + 0.3055555555555556 + 0.375 + 0.1527777777777778 + + + 0.75 + 0.1666666666666667 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #f5ff36 + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 0.75 + 0.3055555555555556 + + + 0.75 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + </body> + + + + -0 + 0.5694444444444444 + 3.104152777777778 + 0.75 + 0.3055555555555556 + 0.375 + 0.1527777777777778 + + + 0.75 + 0.1666666666666667 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #f5ff36 + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 0.75 + 0.3055555555555556 + + + 0.75 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + </html> + + + + -0 + 1.479166666666667 + 2.541652777777778 + 1.208333333333333 + 0.3055555555555556 + 0.6041666666666666 + 0.1527777777777778 + + + 1.208333333333333 + 0.3055555555555556 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 1.208333333333333 + 0.3055555555555556 + + + 1.208333333333333 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 1 + 0 + + 0.25 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Template + + + + -0 + 1.340277777777778 + 5.28125 + 2.180555555555555 + 0.4027777777777778 + 1.090277777777778 + 0.2013888888888889 + + + 2.180555555555555 + 0.2638888888888889 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #f5ff36 + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.4027777777777778 + + + 2.180555555555555 + 0.4027777777777778 + + + 2.180555555555555 + 0 + + + 0 + 0 + + + 0 + 0.4027777777777778 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Input: <input name="guy" + type="text"> + + + + -0 + 1.451388888888889 + 4.798611111111111 + 2.402777777777778 + 0.4027777777777778 + 1.201388888888889 + 0.2013888888888889 + + + 2.402777777777778 + 0.2638888888888889 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #f5ff36 + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.4027777777777778 + + + 2.402777777777778 + 0.4027777777777778 + + + 2.402777777777778 + 0 + + + 0 + 0 + + + 0 + 0.4027777777777778 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Name = <span ng:bind="guy"> + </span> + + + + -0 + 1.548611111111111 + 5.763875000000001 + 2.652777777777778 + 0.3055555555555556 + 1.326388888888889 + 0.1527777777777778 + + + 2.652777777777778 + 0.1666666666666667 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #f5ff36 + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 2.652777777777778 + 0.3055555555555556 + + + 2.652777777777778 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + <body ng:controller="MyCtrlr"> + + + + -0 + 1.1875 + 4.125 + 1.875 + 0.7777777777777778 + 0.9375 + 0.3888888888888889 + + + 1.875 + 0.6388888888888888 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #f5ff36 + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.7777777777777778 + + + 1.875 + 0.7777777777777778 + + + 1.875 + 0 + + + 0 + 0 + + + 0 + 0.7777777777777778 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + <button + ng:click="save()"> + Save +</button> + + + + -0 + 7.048611111111111 + 5.751738888888889 + 1.652777777777778 + 1.211838888888889 + 0.8263888888888888 + 0.6059194444444443 + + + 4 + 0 + 2 + 2 + 1 + + + 1.652777777777778 + 1.211838888888889 + -0 + + + 1 + + + 0 + + + + + -0 + 0.8263888888888888 + 0.6059194444444445 + 1.652777777777778 + 1.211838888888889 + 0.8263888888888888 + 0.6059194444444445 + + + 1.322222222222222 + 0.7093983333333331 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #ffffff + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 1.410733430555556 + 1.034368719127778 + + + 1.410733430555556 + 0.177470169761111 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.2420443472222221 + 0.177470169761111 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.2420443472222221 + 1.034368719127778 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 1.410733430555556 + 1.034368719127778 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + + + -0 + 0.8084124999999998 + 0.899579861111111 + 1.078408333333333 + 0.2819513888888889 + 0.5392041666666666 + 0.1409756944444444 + + + 1.078408333333333 + 0.1430625 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2819513888888889 + + + 1.078408333333333 + 0.2819513888888889 + + + 1.078408333333333 + 0 + + + 0 + 0 + + + 0 + 0.2819513888888889 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + MyCtrlr scope + + + + -0 + 0.9582631944444446 + 0.6447131944444444 + 0.8615541666666666 + 0.3443791666666667 + 0.4307770833333333 + 0.1721895833333333 + + + 0.8615541666666666 + 0.2054902777777778 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3443791666666666 + + + 0.861554166666666 + 0.3443791666666666 + + + 0.861554166666666 + 0 + + + 0 + 0 + + + 0 + 0.3443791666666666 + + + + 0 + + + + + -0 + 1.066690277777778 + 0.4407131944444441 + 1.078408333333333 + 0.3443791666666667 + 0.5392041666666666 + 0.1721895833333333 + + + 1.078408333333333 + 0.2054902777777778 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3443791666666666 + + + 1.078408333333333 + 0.3443791666666666 + + + 1.078408333333333 + 0 + + + 0 + 0 + + + 0 + 0.3443791666666666 + + + + 0 + + + + + + + -0 + 7.097222222222222 + 5.678138888888889 + 1.402777777777778 + 0.3055555555555556 + 0.7013888888888888 + 0.1527777777777778 + + + 1.402777777777778 + 0.1666666666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 1.402777777777778 + 0.3055555555555556 + + + 1.402777777777778 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 0 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + guy: 'Hank' + + + + + -0 + 3.211805476338775 + 5.747923850257302 + 0.659722380655784 + 0.01388888888888889 + 0.329861190327892 + 0.006944444444444444 + + + 2.88194428601088 + 5.75486829470175 + 3.54166666666667 + 5.75041185037629 + + + 4 + 0 + 2 + 0 + 1 + + + 0.659722380655784 + 0.01388888888888889 + -0 + + + 2 + + + 9 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.01388888888888889 + + + 0.659722380655784 + 0.009432444563429558 + + + + 0 + + + + + -0 + 5.968754767324385 + 5.741793798889471 + 0.4930650902043254 + 0.01388888888888889 + 0.2465325451021627 + 0.006944444444444444 + + + 5.72222222222222 + 5.74696428575019 + 6.21528731242655 + 5.74873824333392 + + + 4 + 0 + 2 + 0 + 1 + + + 0.4930650902043254 + 0.01388888888888889 + -0 + + + 2 + + + 9 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.01211493130516435 + + + 0.4930650902043254 + 0.01388888888888889 + + + + 0 + + + + + -0 + 3.652778062386409 + 6.992787546096337 + 5.569445017969653 + 0.01388888888888889 + 2.784722508984827 + 0.006944444444444444 + + + 0.868055553401582 + 6.99973199054078 + 6.43750057137123 + 6.99534538625939 + + + 4 + 0 + 2 + 0 + 1 + + + 5.569445017969653 + 0.01388888888888889 + -0 + + + 2 + + + 9 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + -9.868649107779169e-17 + 0.01388888888888889 + + + 5.569445017969652 + 0.009502284607499491 + + + + 0 + + + + + -0 + 7.097222222222222 + 5.536983333333334 + 1.402777777777778 + 0.3101166666666667 + 0.7013888888888888 + 0.1550583333333333 + + + 1.402777777777778 + 0.1712277777777778 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3101166666666665 + + + 1.402777777777778 + 0.3101166666666665 + + + 1.402777777777778 + 0 + + + 0 + 0 + + + 0 + 0.3101166666666665 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + save: Function + + + + -0 + 9.680555555555555 + 6.379701388888889 + 0.75 + 0.3101166666666667 + 0.375 + 0.1550583333333333 + + + 0.75 + 0.3101166666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3101166666666665 + + + 0.75 + 0.3101166666666665 + + + 0.75 + 0 + + + 0 + 0 + + + 0 + 0.3101166666666665 + + + + 0 + + + + + -0 + 9.680555555555555 + 5.640613194444445 + 0.7083333333333334 + 0.2396347222222222 + 0.3541666666666667 + 0.1198173611111111 + + + 0.7083333333333334 + 0.2396347222222222 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.239634722222222 + + + 0.7083333333333334 + 0.239634722222222 + + + 0.7083333333333334 + 0 + + + 0 + 0 + + + 0 + 0.239634722222222 + + + + 0 + + + + + -0 + 9.395833333333334 + 5.537143055555556 + 1.513888888888889 + 2.152777777777778 + 0.7569444444444444 + 1.076388888888889 + + + 1.513888888888889 + 2.013888888888889 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 2.152777777777778 + + + 1.513888888888889 + 2.152777777777778 + + + 1.513888888888889 + 0 + + + 0 + 0 + + + 0 + 2.152777777777778 + + + + 0 + 0 + 1.51389 + 2.15278 + + Qk0AAAAAAAAAADYAAAAoAAAAcQAAAJsAAAABABgAAAAAANzNAAAAAAAAAAAAAAAAAAAAAAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A/////////////////////////////////////////v7+/v7++/v7+fn5+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+fn5+/v7/v7+/v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP////////////////////////////////39/fb29urq6t7e3tTU1MzMzMnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJyczMzNTU1N7e3urq6vb29v39/f///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD////////////////////////////6+vro6OjHx8ecnJx9fX1ubm5qamppaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlqampubm59fX2cnJzHx8fo6Oj6+vr///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////+fn529vbo6OjcnJyhISEvLy84+Pj/Pz8/////////////////////////////////////////////////////////////////////////////////////////Pz84+PjvLy8hISEcnJyo6Oj29vb+fn5////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP////////////////////r6+tvb25aWlnp6etzc3Pn5+f39/f7+/v////////////////////////////////////////////////////////////////////////////////////////////////7+/v39/fn5+dzc3Hp6epaWltvb2/r6+v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD////////////////9/f3o6OiioqKJiYnr6+v7+/v9/f39/f39/f39/f38/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz7+/v8/Pz8/Pz8/Pz9/f38/Pz7+/vr6+uJiYmioqLo6Oj9/f3///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////9vb2xsbGf39/3d3d9PT09/f3+Pj49/f3+Pj4+Pj46u/24uHr7+vk9vb29vb29vb26u/2+O/p9/f36ur5+PPs9vb29vb29vb29vb29vb29/f39/f39/f36+ry7+vr9/f39/f39/f39/f39/f39/f39PT03t7ef39/xsbG9vb2////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP////////////7+/urq6pqamry8vOjo6PLy8vPz8/T09PX19fX19TWK5wAAAAAAAAAAAKh0APX31nKr7gAAAAAAAGxuRQAAPM6SAPT09Mvy9QAAjMSDAPT09PT09NTs+ABOrgAAAAAAAJUzAPX23vX19fT09PT09PPz8/Ly8unp6b29vZqamurq6v7+/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD////////////9/f3e3t6JiYnOzs7u7u7w8PDx8fHx8fHx8fHy8vLAyenn2cHx8fG54foAAGPXwwAAALiyaQDt8fE4jNaNEgDy9NPx8fF4tfMAAABaABb07aTt8fEAXs+URgDz8Mbx8fHl4Ojx8urx8fHx8fHx8fHx8fHw8PDu7u7Ozs6JiYne3t79/f3///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////+/v709PTl5eX2NjY7Ozs7e3t7u7u7+/v7+/v8PDw7+/v7+/v7+/vt9/4AABx17AARZDgTAARyLiDaqXPjBIA8PHZ5vDuADa4qpMAADym16oAxu3wAAB+sIsAv8XMwMDA2MjD7/Do7+/v7+/v7+/v7e3t7e3t7Ozs2NjYmJiY09PT+/v7////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP////////////n5+czMzKCgoODg4Onp6evr6+zs7O3t7e3t7e3t7e3t7eDu7Hqc0QAAAGIAGfDgou3t7bfL6IaLoTVogZExAO7wz6TZ+AAAAPHib2Or94QAJMvu0AAAiGI9AHFxcQBHeIQAJO7wz+3t7e3t7e3t7ezs7Ovr6+np6eHh4aCgoMzMzPn5+f///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD////////////7+/vS0tKdnZ3j4+Po6Ojp6enp6enp6enq6urq6urH5O8ALZMAAACnhy3t6sLr6+u+0u3Vwanr6+sgf9SQCwbs7dUdftuWLwDs7NzD6ewAAG/fxUcAW8qoZwDr7OQ0jdudQQDr69vq6urq6urp6enp6enp6enn5+fj4+OdnZ3S0tL7+/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A/////////////f393d3djo6O29vb5eXl5+fn5+fn6Ojo6enp6enpT5niVwAV6NOf6enp6enp6enpocz0ACBoAAAAPQAM1bRk1OvnFzmh2blG6enp6enpRYXWwIwAy+fqE1ejAAAAaiIA6Nia6enp6enp6Ojo6Ojo5+fn5ubm5OTk29vbjo6O3d3d/f39////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP////////////7+/unp6YiIiMjIyOPj4+Tk5OXl5ejo6O3t7fDw8Gaw7G0AHfLrueLr8cS9z+/s1O7v7+/v7+7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7v7+/v7+7u7u7u7u/v7/Dw8PDw8PDw8O/v7+3t7efn5+Xl5eXl5ePj48jIyIiIiOnp6f7+/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD////////////////19fWkpKSjo6Pk5eXp6Ojt7e/z8/Pz8/Pz8/PP7PkAQZ4AAAAAAABAAA3266Hz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Py8vLt7e3l5eXi4uKjo6Ojo6P19fX///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A/////////////////f394eHhgICA0tLS7Ozs9PT09PX19fX19fX19fX19fX1397w5d/g9vHq9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19PT08/Pz6urqzs/Nfn5+4eHh/f39////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP////////////////////n5+bOzs4iIiOfn5/X19fb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vX19eTk5IWFhbOzs/n5+f///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD////////////////////+/v74+PiioqKDg4Pg4OD5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4+Pje3t6BgYGgoKD4+Pj+/v7///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////+vr6tra2bm5un5+f0tLS7e3t+fn5/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8+fn57e3t0dHRnp6ebGxstra2+vr6////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP////////////////////////////////39/e3t7aioqHp6emZmZl1dXV5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl1dXWZmZnp6eqioqO3t7f39/f///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD////////////////////////////////////////+/v79/f36+vr39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f6+vr9/f3+/v7///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP////////////////////////////////////////////////fw//////////////b//vfx8v////////f2/v///////////////////////////////////////////////////////////+3x/+rq6v/86/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////b//vfx8v////////f2/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD////////e/f8YUq0AAAAAAACGPAD/+7r///////////+q3/+NED3//9////+x3/8AAGgAAACGPAB1oacAAABmABpWfqYAAAAAAACpgy+NscwAAD4AAAB0JQCxxawAOIcAAAAwAAfgwGJmm+AAAAAAAAAAAADWrFj////////////////////////////////////////////////////////////////////2//5BcM8AAAAAAAAAAAC1dxn///Cr2/8AAFcAAAAAAABRABP734ex3/8AAGgAAACGPAB1oacAAABmABpHd6IAAAAAAAC1ky5plckAAAAAAACgeQAaVKUAAAAAAADBkjN6tuIAAAAAAACGPAD/+sT///////////////////////////////////////////////////////////////////////////8A////////////////AHnjqkYA///w////////////1P7/AACSnTUA///n////SpnuAAAAu5sMp87cAABXQwAOv7SB9ezHADnEnTUA///n////N5HyMAAH/+6P////t+r/AAA+6roAfsb/AAAAMAAHwK5nnLfJAABX78EA////////////////9/v78vLy9/f39/f39/f39/f39/f38vH7+/z0////////////////////OYnuAAAA05IA////////////yfn/AABoXwAY//yj////SpnuAAAAu5sMp87cAABXQwAOv7SB8e3HACC+nTUA///w9v/+AEzIcwAf//+67f/+ACa1jQAo///wPHfkAAAAwosA///4////////////////////////////////////////////////////////////////////////////////AP///////////////2u5/9OIAP///////////+3//gBPwAAAAJ1KAP//3////1We+wAAAP/qeP///zWP+VEAE//8o/H//gA5xJ01AP//5////4fF/1EAE//2qv///8n5/wAAaO/YHwBMyAAAAPbbbv///////73v/5QtYP//3////////////wB/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAM6DAP///////////////////0qQ8gAAAPPRPf///////////8n5/wAAeZ1KAP//5////1We+wAAAP/qeP///zWP+VEAE//8o/H//gA5xJ01AP//3////zeR8p0LCP//5/H//gA5xKplAIK93gAAAKplAP//5////////////////////////////////////////////////////////////////////////////////////wD///////////////99y//OgAD///////////86iuYAAAAAAACVACv//+f////Z/f8AAKV9ACL/+7pJmPZRABP/9qrx//4AOcSdNQD//+f///+O1v9DAA7/9qr////J+f8AAFfm0zcAT8CkSAD///j///////////////////////////////+50PqxsqaxsbGxsbGxsbGxsbGxsbGrsrDt063///////////////////9KkPIAAADz0T3////////////J8/8AAHmdSgD//+f////Z/f8AAKV9ACL/+7pJmPZRABP/9qrx//4AOcSdNQD//+f///8bkfGdCwj//+fx//4AT8AAAAAAAABpABv//K7///////////////////////////////////////////////////////////////////////////////////////8A////////////////fcv/zoAA////////d7r8AAAAAAAArL13lEFr///f////////9v/+i67mAABXAAAAXwAY//aq8f/+ADnEnTUA///n////Yqb4UQAT//aq////zvn/AABo5tM3ADnEfVAApa2gpaWlq6ygq6q27c2m////////////////////////////////////////////////////////////////////////SpDyAAAA/NZP////////////z/7/AABonUoA///n////////9v/+i67mAABXAAAAXwAY//aq8f/+ADnEnTUA///n////N5HynQsI///n8f/+AE/AAAAAAAAA/Ntc////////////////////////////////////////////////////////////////////////////////////////////AP///////////////33L/86AAP///6Tb/wAAAAAAANynAMn/+4wAZ///3////73q/wAAV//gZfv//zyB4UMADv/3nvv//wA5xI06AP//2P///zeR8kMADv/uj////7Dk/wAAAPPRPSKA6UMADrmzj7e4rABhqAAAAM6KAP///////////////3mm8V1eQ2ZmZmZmZmZmZmZmZmZmZk5dW9ytO////////////////////0qQ8gAAADAABy4uLi4uLi4uLgAAPgAAAJ1KAP//5////73q/wAAV//gZfv//zyB4UMADv/3nvH//gAAuJU4AP//3/v//wBMyJ01AP//5/H//gA5xHQlADhvl6pYAP//3////////////////////////////////////////////////////////////////////////////////////////wD///////////////99y//YhwDU/v8AAIYAAAC2bgD///DD8/+MAGf//9////+w5P8AAADvwQD///8AeeOGACX9/81xmuAAAD4AAACNOgCwy7sAHX8AAABRABPKxZYUXrIAAAD30T697/8AAFfvzEzj//0AQLEAAAD84WT///////////////9unvRRQhhPT09PT09PT09PT09PT09APljXpyL///////////////////9KkPIAAADGqEXS19fS0tLX0dKbwtsAAD6dSgD//+f///+w5P8AAADvwQD///8AeeOGACX9/82KtOoAAD4AAACdZwCVuMgAAFedNQD//+fx//4AOcSkMwD///gned19IgD67bP///////////////////////////////////////////////////////////////////////////////////8A////////////////h8v/qYQAAGCyAAAAjRkA///N////w/P/lC1g///n////+///gq7mLABYK1FNQwAO7tB+////ytr6a5CxlVgsjbLEAAA+QzAA5L9jrNf1ACNyAAAAvIIA///n////veT/ITKUAAAAXysA6cqF////////////////////////////////////////////////////////////////////////////SpDyAAAA99ZN////////////z/7/AAB5nUoA///n////+///gq7mLABYK1FNQwAO7tB++///rcfpWG2YhkwAf6etAAAAUQAT8s9/////8f/+ADnEnTUA///wcZLbT09PUEBCwZBT///w////////////////////////////////////////////////////////////////////////////AP///////////////47W/wAAAAAAAFEAE//ypP///////8n5/2cAbP//v////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////0qQ8gAAAPPRPf///////////8n5/wAAeZ1KAP//5/////////////////////////////////////////////////////////////////H//gA5xJ01AP//3////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////9ZmucAAAAAAAD31mb///////////+d3P8wAAf/7o////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////85kuoAAADOiQD////////////J8/8AAGhRABP/9qr////////////////////////////////////////////////////////////////U8/8ACZmdNQD//+f///////////////////////////////////////////////////////////////////////////////////////////////8A////////3v3/GFKtAAAAAAAA4bQl////////////eKz1AAAAAAAAAAAA5blY////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9v/+QXDPAAAAAAAAAAAAtngA///wpNv/AABXAAAAAAAAUQAT+9+H////////////////////////////////////////////////////////3v3/NmCpAAAAlRMA///f////////////////////////////////////////////////////////////////////////////////////////////////AP////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////H7/+re6v//+P///////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+5ubnPz8/d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3Pz8+5ubn///////////////////////////////8A////////////////////////////////////////////////////////////6Pz/qqjKt7issbi3uKOn//3c////////////////////////////////////////////////////////////////////////////////////////////////////w8PD8PDw/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+8PDww8PD////////////////////////////////AP////////////////////////////////////////////////////////////b//oG16gAAAFEAE9/Kkf//5////////////////////////////////////////////////////////////////////////////////////////////////////8PDw/Dw8P////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Dw8MPDw////////////////////////////////wD////////////////////////////////////////////////////////////////t//4AALi9egD////////////////////////////////////////////////////////////////////////////////////////////////////////////Dw8Pw8PD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////w8PDDw8P///////////////////////////////8A////////////////////////////////////////////////////////////////8f/+ACC+2JoA9v/+8u7u///4////////////////8ff++PLr////+/b+////////////+///8u31///4////9v/+/Pfu////////////////////////////w8PD8PDw////////////////////////////////////////////9vv/9/Hy////8fv//Pfu////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8PDww8PD////////////////////////////////AP////////b//kF8ywAAAAAAAAAAAII9AEZ7qwAAAAAAALWTLmmVyQAAAAAAALZ4APL/7wA5xAAAAAAAAAAAAGkAG/7oov///////26m8AAAAAAAAIV0AAAAeXNfANWxhPv//yd53QAAAFEAE+7qlABMyEMADv/vj////////////////////////8PDw/Dw8P///////8n5/wAAaPfWTf///////8n5/0EAWf/3nrHf/wAAVwAAAHNfAAAjcqQzAMr860AAav/3nv///4fR/5UTAP//54fR/5UTAP//59n9/wAApZ1KAP//2P////////////////////////////////////////////////////////////////////////////////////////////////////Dw8MPDw////////////////////////////////wD///////////////9+v/8AAADHgQD////x//4AIL6dNQD///D2//4ATMhzAB///7rx//4APbp9IgD/+sTt//4AW8VzAB///7/U/v8AAIZpABvi2qYojdUAAABpKADx36HJ+f8AAGidWwCv1c/Tq30ATMhDAA7/74/////////////////////////Dw8Pw8PD////////J+f8AAFfz0T3////////J+f9BAFn/9543mu59ACL//82Qxv5DAA7/957J+f9BAFn/957///+H0f+VACv//+eHy/+dCwjp/+8AAK6GHQD//8j////////////////////////////////////////////////////////////////////////////////////////////////////////w8PDDw8P///////////////////////////////8A////////////////j9H/AAAA0poA////8f/+ADnEnTUA///f////N5HynQsI///n8f/+ACC+2JIA////////sOT/AAAA4bQAyfP/AABo2JoA////9v/+ADnEnTUA///nyfn/AABo2JkA////////+/////v0////////////////////////////w8PD8PDw////////yfn/AABX/NZP////////z/7/QQBZ//eej9H/AAAAxq5Up87cQgBB//eeyfn/QQBZ//aq////h9H/lQAr///nh9H/XwAYAEyCjToA//+/////////////////////////////////////////////////////////////////////////////////////////////////////////////8PDww8PD////////////////////////////////AP///////////////4/R/wAAANKRAP////H//gA5xJ01AP//5////xuR8Z0LCP//5/H//gAgvtOSAP///////875/wAAedOSAMn5/wAAaNOSAP////H//gA5xJ01AP//58n5/wAAaNOSAP///////////////////////////////////////////8PDw/Dw8P///////8n5/wAAaLWUAMLBzcLDuZW4yEMADv/3nv///9rt/5acvW2KlVEAE//3nsn5/wAAV//qeP///4bQ/5UAK///54/R/1EAEwA/asJ4AP//+P////////////////////////////////////////////////////////////////////////////////////////////////////////////Dw8MPDw////////////////////////////////wD///////////////+P0f8AAADSkQD////x//4AOcSdNQD//+f///83kfKdCwj//+fx//4AIL7TkgD////////O+f8AAGjTkgDJ+f8AAGjTkgD////x//4AOcSdNQD//+fJ+f8AAGjTkgD////////////////////////////////////////////Dw8Pw8PD////////J+f8AAGhpUwBvenhwcHBMc25RABP/957j/P/TwMP//+eHxf9RABP//KPJ8/8AAGhfABjt36FYqeiNACj//9+H0f+kARDe/vIAAJLHigD////////////////////////////////////////////////////////////////////////////////////////////////////////////w8PDDw8P///////////////////////////////8A////////////////j9H/AAAA0pEA////8f/+AAC4lTgA///f+///AEzInTUA///n7f/+AACuvW8A////////frj/AAAA0pEAyfP/AABo0pEA////8f/+ADnEnTUA///nzvn/AABo0poA////////6fH/7+Xd////////////////////////////w8PD8PDw////////yfn/AABX/NZP////////z//8QQBZ//ee3v3/HFWhAAAAAAAAxpoY///41Pn/cCuLpMGlAABoAAAA4LJj////h9H/lQAr///nye7/AACG6sY7////////////////////////////////////////////////////////////////////////////////////////////////////////8PDww8PD////////////////////////////////AP///////////////4/R/wAAANKRAPv//4q06gAAPgAAAJ1nAJW4yAAAV501AO7/5miU0wAAAAAAAK+LFYWsvgAAPgAAAPzbb730/wAAANKRAP///+n//QAmtZ01AP//36vc/wAAPryDAO7v5/L/7wAgvkMADv/3nv///////////////////////8PDw/Dw8P///////8n5/wAAV/PRPf///////8n5/0EAWf/3nv///////////////////////////////////////////////////4fR/5UAK///5/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Dw8MPDw////////////////////////////////wD///////////////+P0f8AAADSkQD7//+tx+lYbZiGTAB/p60AAABRABPyz3/x//6uwOVJbpipgy9Uh7UAAABDAA7guG3e/f9HXqksQ0Dcpibj//02Ua1BQUGvbTL//+cAV9YAAAAwAAdQAEPz4IUscM90JQD/+7r////////////////////////Dw8Pw8PD////////J+f8AAGj31k3////////J+f9BAFn/957///////////////////////////////////////////////////99y/+NACj//9/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////w8PDDw8P///////////////////////////////8A////////////////j9H/AAAA0poA////////////////////////////////////////////////////////////////////////////////////////////////////8f/+AFnN04kA////////////////////////////////////////////w8PD8PDw////////////////////////////////////////////////////////////////////////////////////////////yer/yqKe///w////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8PDww8PD////////////////////////////////AP///////////////364/wAAAMKCAP///////////////////////////////////////////////////////////////////////////////////////////////////////979/967tf///////////////////////////////////////////8PDw/Dw8P////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Dw8MPDw////////////////////////////////wD////////2//5BfMsAAAAAAAAAAACGPAD/+7r////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Dw8Pw8PD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////w8PDDw8P///////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////w8PD8PDw////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8PDww8PD////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////5qamrm5ucPDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw7m5uZqamv///////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9paWl3d3d8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx3d3dpaWn///////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wA= + + 0 + + + + + -0 + 8.340277777777779 + 6.027777777777778 + 1.930555555555556 + 0.6111111111111112 + 0.9652777777777778 + 0.3055555555555556 + + + 7.375 + 5.72222222222222 + 9.30555555555556 + 6.33333333333333 + + + 4 + 0 + 2 + 2 + 1 + + + 1.930555555555556 + 0.6111111111111112 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0 + + + 1.930555555555556 + 0.6111111111111112 + + + + 0 + + + + + -0 + 8.395833333333334 + 5.534722222222222 + 2.041666666666667 + 0.3194444444444444 + 1.020833333333333 + 0.1597222222222222 + + + 7.375 + 5.69444444444444 + 9.41666666666667 + 5.375 + + + 4 + 0 + 2 + 2 + 1 + + + 2.041666666666667 + 0.3194444444444444 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.3194444444444444 + + + 2.041666666666667 + 0 + + + + 0 + + + + + -0 + 7.826388888888889 + 5.065958333333334 + 1.875 + 0.7847500000000002 + 0.9375 + 0.3923750000000001 + + + 6.88888888888889 + 5.45833333333333 + 8.76388888888889 + 4.67358333333333 + + + 4 + 0 + 2 + 2 + 1 + + + 1.875 + 0.7847500000000002 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.7847500000000002 + + + 1.875 + 0 + + + + 0 + + + + + -0 + 5.572916666666667 + 1.810710416666667 + 2.402777777777778 + 0.239634722222222 + 1.201388888888889 + 0.119817361111111 + + + 4 + 0 + 2 + 2 + 1 + + + 2.402777777777778 + 0.239634722222222 + -0 + + + 1 + + + 0 + + + + + -0 + 0.3333333333333333 + 0.1215791666666664 + 0.6666666666666666 + 0.01388888888888889 + 0.3333333333333333 + 0.006944444444444444 + + + 0 + 0.128523611111111 + 0.666666666666667 + 0.128523611111111 + + + 4 + 0 + 2 + 2 + 1 + + + 0.6666666666666666 + 0.01388888888888889 + -0 + + + 2 + + + 1 + 0.0277778 + #17ff1c + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.01388888888888889 + + + 0.6666666666666666 + 0.01388888888888889 + + + + 0 + + + + + -0 + 1.590277777777778 + 0.119817361111111 + 1.625 + 0.2396347222222222 + 0.8125 + 0.1198173611111111 + + + 1.625 + 0.1007458333333333 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.239634722222222 + + + 1.625 + 0.239634722222222 + + + 1.625 + 0 + + + 0 + 0 + + + 0 + 0.239634722222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Scope Inheritance + + + + + + -0 + 5.229166666666667 + 2.104166666666667 + 10.23611111111111 + 0.01388888888888889 + 5.118055555555555 + 0.006944444444444444 + + + 0.111111111111111 + 2.09722222222222 + 10.3472222222222 + 2.11111111111111 + + + 4 + 0 + 2 + 2 + 1 + + + 10.23611111111111 + 0.01388888888888889 + -0 + + + 2 + + + 1 + 0.0277778 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0 + + + 10.23611111111111 + 0.01388888888888889 + + + + 0 + + + + + -0 + 2.111111111111111 + 7.0625 + 1.111111111111111 + 0.1944444444444444 + 0.5555555555555556 + 0.09722222222222222 + + + 1.111111111111111 + 0.05555555555555555 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.1944444444444444 + + + 1.111111111111111 + 0.1944444444444444 + + + 1.111111111111111 + 0 + + + 0 + 0 + + + 0 + 0.1944444444444444 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + ng:autobind + + + + -0 + 4.743055555555555 + 4.465277777777778 + 1.958333333333333 + 0.5416666666666666 + 0.9791666666666666 + 0.2708333333333333 + + + 1.958333333333333 + 0.4027777777777778 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.5416666666666666 + + + 1.958333333333333 + 0.5416666666666666 + + + 1.958333333333333 + 0 + + + 0 + 0 + + + 0 + 0.5416666666666666 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 0 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + angular applies MyCtrlr function to MyCtrlr scope object. + + + + + + + + + + + + + + + + + 0 + 0 + 1 + 0 + 12 + 52 + 0.5 + + + diff --git a/images/docs/tutorial/di_sequence.svg b/images/docs/tutorial/di_sequence.svg new file mode 100644 index 000000000000..6abb01b581ad --- /dev/null +++ b/images/docs/tutorial/di_sequence.svg @@ -0,0 +1,3 @@ + + + Produced by OmniGraffle 6.5.2 2011-05-10 23:30:21 +0000Canvas 1Layer 1Root ScopeDIfunction PhoneListCtrl($xhr){ ...}ControllerModel Implicit Scope Declaration<html>TemplatePhoneListCtrl scopephones: Array Scope Inheritance<body ng:controller = "PhoneListCtrl">Service Factory Repository$xhr$browser Dependency Injection</html>Service InstancesService factory functions are registered with angular's service repositoryng:autobind triggers angular's bootstrap sequence, which includes template compilation, and creation of the root scope and dependency injectorng:controller directive creates new child scope augmented by the PhoneListCtrl controllerng:autobindng:controller12243Dependency injector identifies $xhr service as PhoneListCtrl controller's only dependency4DI checks if $xhr service has already been instantiated, and if not uses the factory function from the service factory repository to construct it556angular.service('$xhr', function(...) {...})3DI provides the instance of $xhr service to the PhoneListCtrl controller constructor.6$route...1 diff --git a/images/docs/tutorial/di_sequence.vdx b/images/docs/tutorial/di_sequence.vdx new file mode 100644 index 000000000000..4ef0758758d0 --- /dev/null +++ b/images/docs/tutorial/di_sequence.vdx @@ -0,0 +1,5295 @@ + + + + 12 + 52 + + + 7.68056 + 10.5 + 1 + 0.25 + 0.25 + 0.25 + 0.569444 + 1 + 1 + + + + + + + + + + + + + + 0.111111 + 0.111111 + + + 1 + 1 + 10.5 + 7.68056 + 3 + 0 + -0.0277778 + + + Layer 1 + 1 + 1 + 0 + + + + + + -0 + 8.604166666666666 + 4.546769444444444 + 3.319444444444445 + 4.426861111111111 + 1.659722222222222 + 2.213430555555556 + + + 3.319444444444445 + 4.287972222222222 + -0 + + + 1 + + + 1 + 0.0138889 + #6dff6b + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 4.426861111111111 + + + 3.319444444444445 + 4.426861111111111 + + + 3.319444444444445 + 0 + + + 0 + 0 + + + 0 + 4.426861111111111 + + + + 0 + + + + + -0 + 8.631944444444445 + 5.682377777777777 + 3.013888888888889 + 1.689513888888889 + 1.506944444444444 + 0.8447569444444445 + + + 4 + 0 + 2 + 2 + 1 + + + 3.013888888888889 + 1.689513888888889 + -0 + + + 1 + + + 0 + + + + + -0 + 1.506944444444444 + 0.8447569444444449 + 3.013888888888889 + 1.689513888888889 + 1.506944444444444 + 0.8447569444444444 + + + 2.411111111111111 + 1.043770833333333 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #ffffff + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 2.572513902777778 + 1.442089648402778 + + + 2.572513902777778 + 0.2474242404861112 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.4413749861111111 + 0.2474242404861112 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.4413749861111111 + 1.442089648402778 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 2.572513902777778 + 1.442089648402778 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + + + -0 + 1.505881944444444 + 1.391321527777778 + 1.016013888888889 + 0.2396347222222222 + 0.5080069444444445 + 0.1198173611111111 + + + 1.016013888888889 + 0.1007458333333333 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2396347222222223 + + + 1.016013888888889 + 0.2396347222222223 + + + 1.016013888888889 + 0 + + + 0 + 0 + + + 0 + 0.2396347222222223 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Root Scope + + + + + + -0 + 8.614583333333334 + 5.363252083333333 + 1.444444444444444 + 0.9123847222222222 + 0.7222222222222222 + 0.4561923611111111 + + + 1.155555555555556 + 0.7734958333333333 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0.216666666666667 + 0.9123847222222218 + + + 1.227777777777777 + 0.9123847222222218 + + + 1.444444444444444 + 0.4561923611111109 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.932800,1.000000,0,1, 1.000000,0.776000,0,1) + + + 1.227777777777777 + 0 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.000000,0.224000,0,1, 0.932800,0.000000,0,1) + + + 0.216666666666667 + 0 + + + 0 + 0.4561923611111109 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.067200,0.000000,0,1, 0.000000,0.224000,0,1) + + + 0.216666666666667 + 0.9123847222222218 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.000000,0.776000,0,1, 0.067200,1.000000,0,1) + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + DI + + + + -0 + 1 + 1 + 5.263888888888889 + 3.680541666666666 + 2.736111111111111 + 1.611083333333333 + 1.368055555555556 + 0.8055416666666667 + + + 2.736111111111111 + 1.472194444444445 + -0 + + + 1 + + + 1 + 0.0138889 + #ff0d10 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 1.611083333333334 + + + 2.736111111111111 + 1.611083333333334 + + + 2.736111111111111 + 0 + + + 0 + 0 + + + 0 + 1.611083333333334 + + + + 0 + + + + + -0 + 5.270833333333333 + 3.90775 + 2.555555555555555 + 0.9683055555555556 + 1.277777777777778 + 0.4841527777777778 + + + 2.555555555555555 + 0.8294166666666667 + -0 + + + 1 + + + 1 + 0.0138889 + #ff0c1b + 0 + 0 + 0 + + + 1 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.9683055555555554 + + + 2.555555555555555 + 0.9683055555555554 + + + 2.555555555555555 + 0 + + + 0 + 0 + + + 0 + 0.9683055555555554 + + + + 0 + + + + + -0 + 5.3125 + 3.928791666666667 + 2.472222222222222 + 0.4583333333333333 + 1.236111111111111 + 0.2291666666666667 + + + 2.472222222222222 + 0.4583333333333333 + -0 + + + 1 + + + 0 + 0.0138889 + #ff0c1b + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.4583333333333333 + + + 2.472222222222222 + 0.4583333333333333 + + + 2.472222222222222 + 0 + + + 0 + 0 + + + 0 + 0.4583333333333333 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + function PhoneListCtrl($xhr){ + ... +} + + + + -0 + 5.263888888888889 + 3.184777777777777 + 1.277777777777778 + 0.3055555555555556 + 0.6388888888888888 + 0.1527777777777778 + + + 1.277777777777778 + 0.3055555555555556 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 1.277777777777778 + 0.3055555555555556 + + + 1.277777777777778 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 0 + 0 + + 0.25 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Controller + + + + -0 + 1.881944444444444 + 4.585208333333333 + 3.319444444444445 + 4.426861111111111 + 1.659722222222222 + 2.213430555555556 + + + 3.319444444444445 + 4.287972222222222 + -0 + + + 1 + + + 1 + 0.0138889 + #f8ff29 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 4.426861111111111 + + + 3.319444444444445 + 4.426861111111111 + + + 3.319444444444445 + 0 + + + 0 + 0 + + + 0 + 4.426861111111111 + + + + 0 + + + + + -0 + 8.854166666666666 + 2.622455555555556 + 0.9583333333333334 + 0.3101166666666667 + 0.4791666666666667 + 0.1550583333333333 + + + 0.9583333333333334 + 0.3101166666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3101166666666665 + + + 0.9583333333333334 + 0.3101166666666665 + + + 0.9583333333333334 + 0 + + + 0 + 0 + + + 0 + 0.3101166666666665 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 0 + 0 + + 0.25 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Model + + + + -0 + 1.493055555555556 + 0.3523770833333341 + 2.708333333333333 + 0.239634722222222 + 1.354166666666667 + 0.119817361111111 + + + 4 + 0 + 2 + 2 + 1 + + + 2.708333333333333 + 0.239634722222222 + -0 + + + 1 + + + 0 + + + + + -0 + 0.2152777777777778 + 0.1354680555555553 + 0.4305555555555556 + 0.01388888888888889 + 0.2152777777777778 + 0.006944444444444444 + + + 0 + 0.1424125 + 0.430555555555556 + 0.128523611111111 + + + 4 + 0 + 2 + 2 + 1 + + + 0.4305555555555556 + 0.01388888888888889 + -0 + + + 2 + + + 9 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.01388888888888889 + + + 0.4305555555555556 + 0 + + + + 0 + + + + + -0 + 1.625 + 0.119817361111111 + 2.166666666666667 + 0.2396347222222222 + 1.083333333333333 + 0.1198173611111111 + + + 2.166666666666667 + 0.1007458333333333 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.239634722222222 + + + 2.166666666666667 + 0.239634722222222 + + + 2.166666666666667 + 0 + + + 0 + 0 + + + 0 + 0.239634722222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Implicit Scope Declaration + + + + + + -0 + 0.6597222222222222 + 5.682375 + 0.6666666666666666 + 0.3055555555555556 + 0.3333333333333333 + 0.1527777777777778 + + + 0.6666666666666666 + 0.1666666666666667 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #fff82f + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 0.6666666666666666 + 0.3055555555555556 + + + 0.6666666666666666 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + <html> + + + + -0 + 1.819444444444444 + 2.620180555555556 + 1.208333333333333 + 0.3055555555555556 + 0.6041666666666666 + 0.1527777777777778 + + + 1.208333333333333 + 0.3055555555555556 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 1.208333333333333 + 0.3055555555555556 + + + 1.208333333333333 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 0 + 0 + + 0.25 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Template + + + + -0 + 8.652777777777779 + 3.904886111111111 + 2.138888888888889 + 1.211838888888889 + 1.069444444444444 + 0.6059194444444445 + + + 4 + 0 + 2 + 2 + 1 + + + 2.138888888888889 + 1.211838888888889 + -0 + + + 1 + + + 0 + + + + + -0 + 1.069444444444444 + 0.6059194444444446 + 2.138888888888889 + 1.211838888888889 + 1.069444444444444 + 0.6059194444444445 + + + 1.711111111111111 + 0.7093983333333331 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #ffffff + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 1.825655027777779 + 1.034368719127778 + + + 1.825655027777779 + 0.177470169761111 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.3132338611111105 + 0.177470169761111 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.3132338611111105 + 1.034368719127778 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 1.825655027777779 + 1.034368719127778 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + + + -0 + 1.126083333333333 + 0.8579187500000004 + 1.395583333333333 + 0.2819513888888889 + 0.6977916666666667 + 0.1409756944444444 + + + 1.395583333333333 + 0.1430625 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2819513888888893 + + + 1.395583333333333 + 0.2819513888888893 + + + 1.395583333333333 + 0 + + + 0 + 0 + + + 0 + 0.2819513888888893 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + PhoneListCtrl scope + + + + -0 + 1.240101388888888 + 0.6447187500000007 + 1.114952777777778 + 0.3443791666666667 + 0.557476388888889 + 0.1721895833333333 + + + 1.114952777777778 + 0.2054902777777778 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3443791666666666 + + + 1.114952777777777 + 0.3443791666666666 + + + 1.114952777777777 + 0 + + + 0 + 0 + + + 0 + 0.3443791666666666 + + + + 0 + + + + + + + -0 + 4.05902740104179 + 5.675432782327094 + 6.118054802083582 + 0.01388888888888889 + 3.059027401041791 + 0.006944444444444444 + + + 1 + 5.68237511732454 + 7.11805480208358 + 5.68237722677154 + + + 4 + 0 + 2 + 0 + 1 + + + 6.118054802083582 + 0.01388888888888889 + -0 + + + 2 + + + 9 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 3.947459643111667e-16 + 0.01388677944188564 + + + 6.118054802083583 + 0.01388888888888889 + + + + 0 + + + + + -0 + 8.791666666666666 + 3.676413888888889 + 1.319444444444444 + 0.3101166666666667 + 0.6597222222222222 + 0.1550583333333333 + + + 1.319444444444444 + 0.1712277777777778 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3101166666666665 + + + 1.319444444444444 + 0.3101166666666665 + + + 1.319444444444444 + 0 + + + 0 + 0 + + + 0 + 0.3101166666666665 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + phones: Array + + + + -0 + 5.486111111111111 + 0.3523770833333341 + 2.166666666666667 + 0.239634722222222 + 1.083333333333333 + 0.119817361111111 + + + 4 + 0 + 2 + 2 + 1 + + + 2.166666666666667 + 0.239634722222222 + -0 + + + 1 + + + 0 + + + + + -0 + 0.2430555555555556 + 0.1215791666666664 + 0.4861111111111111 + 0.01388888888888889 + 0.2430555555555556 + 0.006944444444444444 + + + 0 + 0.128523611111111 + 0.486111111111111 + 0.128523611111111 + + + 4 + 0 + 2 + 2 + 1 + + + 0.4861111111111111 + 0.01388888888888889 + -0 + + + 2 + + + 1 + 0.0277778 + #17ff1c + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.01388888888888889 + + + 0.4861111111111111 + 0.01388888888888889 + + + + 0 + + + + + -0 + 1.354166666666667 + 0.119817361111111 + 1.625 + 0.2396347222222222 + 0.8125 + 0.1198173611111111 + + + 1.625 + 0.1007458333333333 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.239634722222222 + + + 1.625 + 0.239634722222222 + + + 1.625 + 0 + + + 0 + 0 + + + 0 + 0.239634722222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Scope Inheritance + + + + + + -0 + 5.229166666666667 + 0.6458333333333334 + 10.23611111111111 + 0.01388888888888889 + 5.118055555555555 + 0.006944444444444444 + + + 0.111111111111111 + 0.638888888888889 + 10.3472222222222 + 0.652777777777778 + + + 4 + 0 + 2 + 2 + 1 + + + 10.23611111111111 + 0.01388888888888889 + -0 + + + 2 + + + 1 + 0.0277778 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0 + + + 10.23611111111111 + 0.01388888888888889 + + + + 0 + + + + + -0 + 1.375 + 3.934013888888889 + 1.944444444444444 + 0.6388888888888888 + 0.9722222222222222 + 0.3194444444444444 + + + 1.944444444444444 + 0.5 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #fff82f + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.6388888888888888 + + + 1.944444444444444 + 0.6388888888888888 + + + 1.944444444444444 + 0 + + + 0 + 0 + + + 0 + 0.6388888888888888 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + <body ng:controller = + "PhoneListCtrl"> + + + + -0 + 3.170138888914346 + 3.920468712311032 + 1.631944760063988 + 0.01388888888888889 + 0.8159723800319938 + 0.006944444444444444 + + + 2.35416650888235 + 3.92741315675548 + 3.98611126894634 + 3.91641193263272 + + + 4 + 0 + 2 + 0 + 1 + + + 1.631944760063988 + 0.01388888888888889 + -0 + + + 2 + + + 9 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.01388888888888889 + + + 1.631944760063988 + 0.00288766476613489 + + + + 0 + + + + + -0 + 5.25 + 6.187527777777778 + 2.166666666666667 + 0.6388888888888888 + 1.083333333333333 + 0.3194444444444444 + + + 2.166666666666667 + 0.5 + -0 + + + 1 + + + 1 + 0.0138889 + #fbc872 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.6388888888888887 + + + 2.166666666666667 + 0.6388888888888887 + + + 2.166666666666667 + 0 + + + 0 + 0 + + + 0 + 0.6388888888888887 + + + + 0 + + + + + -0 + 5.357638888888889 + 6.428709722222222 + 2.166666666666667 + 0.1481527777777778 + 1.083333333333333 + 0.07407638888888889 + + + 2.166666666666667 + 0.1481527777777778 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.1481527777777778 + + + 2.166666666666667 + 0.1481527777777778 + + + 2.166666666666667 + 0 + + + 0 + 0 + + + 0 + 0.1481527777777778 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 0 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Service Factory Repository + + + + -0 + 4.642361111111111 + 6.037361111111111 + 0.75 + 0.3055555555555556 + 0.375 + 0.1527777777777778 + + + 0.75 + 0.3055555555555556 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 0.75 + 0.3055555555555556 + + + 0.75 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0 + 0 + 0 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + $xhr +$browser + + + + -0 + 9.131944444444445 + 0.3523770833333341 + 2.430555555555555 + 0.239634722222222 + 1.215277777777778 + 0.119817361111111 + + + 4 + 0 + 2 + 2 + 1 + + + 2.430555555555555 + 0.239634722222222 + -0 + + + 1 + + + 0 + + + + + -0 + 0.2708333333333333 + 0.1216069444444435 + 0.5416666666666666 + 0.01388888888888889 + 0.2708333333333333 + 0.006944444444444444 + + + 0 + 0.128551388888888 + 0.541666666666667 + 0.128523611111111 + + + 4 + 0 + 2 + 2 + 1 + + + 0.5416666666666666 + 0.01388888888888889 + -0 + + + 2 + + + 1 + 0.0555556 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.01388888888888889 + + + 0.5416666666666666 + 0.01386111111111177 + + + + 0 + + + + + -0 + 1.510416666666667 + 0.119817361111111 + 1.840277777777778 + 0.2396347222222222 + 0.9201388888888888 + 0.1198173611111111 + + + 1.840277777777778 + 0.1007458333333333 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.239634722222222 + + + 1.840277777777778 + 0.239634722222222 + + + 1.840277777777778 + 0 + + + 0 + 0 + + + 0 + 0.239634722222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Dependency Injection + + + + + + -0 + 0.7013888888888888 + 3.131944444444445 + 0.75 + 0.3055555555555556 + 0.375 + 0.1527777777777778 + + + 0.75 + 0.1666666666666667 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #fff82f + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 0.75 + 0.3055555555555556 + + + 0.75 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + </html> + + + + -0 + 8.625868055555555 + 5.156361111111112 + 1.026041666666667 + 0.4305555555555556 + 0.5130208333333334 + 0.2152777777777778 + + + 0.8208333333333333 + 0.1625 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0.8757809427083332 + 0.367501986111111 + + + 0.8757809427083332 + 0.06305356944444461 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.1502607239583335 + 0.06305356944444461 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.1502607239583335 + 0.367501986111111 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 0.8757809427083332 + 0.367501986111111 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Service Instances + + + + -0 + 1.979166666666667 + 1.798638888888889 + 2.902777777777778 + 0.4305555555555556 + 1.451388888888889 + 0.2152777777777778 + + + 2.902777777777778 + 0.2916666666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.4305555555555556 + + + 2.902777777777778 + 0.4305555555555556 + + + 2.902777777777778 + 0 + + + 0 + 0 + + + 0 + 0.4305555555555556 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 0 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Service factory functions are registered with angular's service repository + + + + -0 + 2.236111111111111 + 1.048597222222223 + 3.388888888888889 + 0.6388888888888888 + 1.694444444444444 + 0.3194444444444444 + + + 3.388888888888889 + 0.5 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.6388888888888888 + + + 3.388888888888889 + 0.6388888888888888 + + + 3.388888888888889 + 0 + + + 0 + 0 + + + 0 + 0.6388888888888888 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + ng:autobind triggers angular's bootstrap sequence, which includes template compilation, and creation of the root scope and dependency injector + + + + -0 + 5.819444444444445 + 1.867916666666667 + 2.472222222222222 + 0.4305555555555556 + 1.236111111111111 + 0.2152777777777778 + + + 2.472222222222222 + 0.2916666666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.4305555555555556 + + + 2.472222222222222 + 0.4305555555555556 + + + 2.472222222222222 + 0 + + + 0 + 0 + + + 0 + 0.4305555555555556 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + ng:controller directive creates new child scope augmented by the PhoneListCtrl controller + + + + -0 + 2.173611111111111 + 5.796849305555556 + 1.319444444444444 + 0.2396347222222222 + 0.6597222222222222 + 0.1198173611111111 + + + 1.319444444444444 + 0.2396347222222222 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2396347222222222 + + + 1.319444444444444 + 0.2396347222222222 + + + 1.319444444444444 + 0 + + + 0 + 0 + + + 0 + 0.2396347222222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 2 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + ng:autobind + + + + -0 + 3.173611111111111 + 4.039902777777778 + 1.444444444444444 + 0.2083333333333333 + 0.7222222222222222 + 0.1041666666666667 + + + 1.444444444444444 + 0.2083333333333333 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2083333333333333 + + + 1.444444444444444 + 0.2083333333333333 + + + 1.444444444444444 + 0 + + + 0 + 0 + + + 0 + 0.2083333333333333 + + + + 0 + + + 0.0694444 + 0.0694444 + 2 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + ng:controller + + + + -0 + 7.127335921235844 + 5.905143015067122 + 1.588005175805018 + 0.5786028587546469 + 0.7940025879025091 + 0.2893014293773234 + + + 7.92133850913835 + 5.6158415856898 + 6.33333333333333 + 6.19444444444444 + + + 4 + 0 + 2 + 0 + 1 + + + 1.588005175805018 + 0.5786028587546469 + -0 + + + 2 + + + 1 + 0.0277778 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 1.588005175805017 + 0 + + + -7.894919286223335e-16 + 0.5786028587546469 + + + + 0 + + + + + -0 + 7.065972551425154 + 3.89971889593764 + 1.020833996707475 + 0.01388888888888889 + 0.5104169983537375 + 0.006944444444444444 + + + 6.55555555307142 + 3.90666334038208 + 7.57638954977889 + 3.90579988596075 + + + 4 + 0 + 2 + 0 + 1 + + + 1.020833996707475 + 0.01388888888888889 + -0 + + + 2 + + + 9 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 7.894919286223335e-16 + 0.01388888888888889 + + + 1.020833996707476 + 0.0130254344675554 + + + + 0 + + + + + -0 + 8.648873017140609 + 4.674215562142503 + 0.01388888888888889 + 0.3129580144542159 + 0.006944444444444444 + 0.1564790072271079 + + + 8.64559601130127 + 4.51773655491539 + 8.64192857269616 + 4.83069456936961 + + + 4 + 0 + 2 + 0 + 1 + + + 0.01388888888888889 + 0.3129580144542159 + -0 + + + 2 + + + 1 + 0.0138889 + #6dff83 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0.00366743860510452 + 0 + + + 0 + 0.3129580144542159 + + + + 0 + + + + + -0 + 0.3194444444444444 + 1.831 + 0.3611111111111111 + 0.3055555555555556 + 0.1805555555555556 + 0.1527777777777778 + + + 0.2888888888888889 + 0.07499999999999998 + -0 + + + 1 + + + 1 + 0.0138889 + #65f9ff + 0 + 0 + 0 + + + 1 + #81ffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0.3082274722222222 + 0.2608078611111111 + + + 0.3082274722222222 + 0.04474769444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.05288363888888889 + 0.04474769444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.05288363888888889 + 0.2608078611111111 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 0.3082274722222222 + 0.2608078611111111 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.194444 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + 1 + + + + -0 + 2.166666666666667 + 5.477166666666666 + 0.3611111111111111 + 0.3055555555555556 + 0.1805555555555556 + 0.1527777777777778 + + + 0.2888888888888889 + 0.07499999999999998 + -0 + + + 1 + + + 1 + 0.0138889 + #65f9ff + 0 + 0 + 0 + + + 1 + #81ffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0.3082274722222221 + 0.2608078611111111 + + + 0.3082274722222221 + 0.04474769444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.05288363888888901 + 0.04474769444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.05288363888888901 + 0.2608078611111111 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 0.3082274722222221 + 0.2608078611111111 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.194444 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + 2 + + + + -0 + 0.3055555555555556 + 1.106430555555556 + 0.3611111111111111 + 0.3055555555555556 + 0.1805555555555556 + 0.1527777777777778 + + + 0.2888888888888889 + 0.07499999999999998 + -0 + + + 1 + + + 1 + 0.0138889 + #65f9ff + 0 + 0 + 0 + + + 1 + #81ffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0.3082274722222222 + 0.2608078611111111 + + + 0.3082274722222222 + 0.04474769444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.05288363888888889 + 0.04474769444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.05288363888888889 + 0.2608078611111111 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 0.3082274722222222 + 0.2608078611111111 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.194444 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + 2 + + + + -0 + 7.305555555555555 + 4.916666666666667 + 0.3611111111111111 + 0.3055555555555556 + 0.1805555555555556 + 0.1527777777777778 + + + 0.2888888888888889 + 0.07499999999999998 + -0 + + + 1 + + + 1 + 0.0138889 + #65f9ff + 0 + 0 + 0 + + + 1 + #81ffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0.3082274722222217 + 0.2608078611111111 + + + 0.3082274722222217 + 0.04474769444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.05288363888888941 + 0.04474769444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.05288363888888941 + 0.2608078611111111 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 0.3082274722222217 + 0.2608078611111111 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.194444 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + 4 + + + + -0 + 4.298611111111111 + 1.830861111111111 + 0.3611111111111111 + 0.3055555555555556 + 0.1805555555555556 + 0.1527777777777778 + + + 0.2888888888888889 + 0.07499999999999998 + -0 + + + 1 + + + 1 + 0.0138889 + #65f9ff + 0 + 0 + 0 + + + 1 + #81ffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0.3082274722222225 + 0.2608078611111111 + + + 0.3082274722222225 + 0.04474769444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.05288363888888862 + 0.04474769444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.05288363888888862 + 0.2608078611111111 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 0.3082274722222225 + 0.2608078611111111 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.194444 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + 3 + + + + -0 + 5.847222222222222 + 1.131944444444444 + 2.472222222222222 + 0.4305555555555556 + 1.236111111111111 + 0.2152777777777778 + + + 2.472222222222222 + 0.2916666666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.4305555555555556 + + + 2.472222222222222 + 0.4305555555555556 + + + 2.472222222222222 + 0 + + + 0 + 0 + + + 0 + 0.4305555555555556 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 0 + 0 + + 0.138889 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Dependency injector identifies $xhr service as PhoneListCtrl controller's only dependency + + + + -0 + 4.326388888888889 + 1.081 + 0.3611111111111111 + 0.3055555555555556 + 0.1805555555555556 + 0.1527777777777778 + + + 0.2888888888888889 + 0.07499999999999998 + -0 + + + 1 + + + 1 + 0.0138889 + #65f9ff + 0 + 0 + 0 + + + 1 + #81ffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0.3082274722222225 + 0.2608078611111111 + + + 0.3082274722222225 + 0.04474769444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.05288363888888862 + 0.04474769444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.05288363888888862 + 0.2608078611111111 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 0.3082274722222225 + 0.2608078611111111 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.194444 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + 4 + + + + -0 + 9.09375 + 1.829083333333334 + 2.506944444444445 + 0.6388888888888888 + 1.253472222222222 + 0.3194444444444444 + + + 2.506944444444445 + 0.5 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.6388888888888888 + + + 2.506944444444445 + 0.6388888888888888 + + + 2.506944444444445 + 0 + + + 0 + 0 + + + 0 + 0.6388888888888888 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 0 + 0 + + 0.138889 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + DI checks if $xhr service has already been instantiated, and if not uses the factory function from the service factory repository to construct it + + + + -0 + 7.555555555555555 + 1.882305555555556 + 0.3611111111111111 + 0.3055555555555556 + 0.1805555555555556 + 0.1527777777777778 + + + 0.2888888888888889 + 0.07499999999999998 + -0 + + + 1 + + + 1 + 0.0138889 + #65f9ff + 0 + 0 + 0 + + + 1 + #81ffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0.3082274722222217 + 0.2608078611111111 + + + 0.3082274722222217 + 0.04474769444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.05288363888888941 + 0.04474769444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.05288363888888941 + 0.2608078611111111 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 0.3082274722222217 + 0.2608078611111111 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.194444 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + 5 + + + + -0 + 7.555555555555555 + 5.927472222222223 + 0.3611111111111111 + 0.3055555555555556 + 0.1805555555555556 + 0.1527777777777778 + + + 0.2888888888888889 + 0.07499999999999998 + -0 + + + 1 + + + 1 + 0.0138889 + #65f9ff + 0 + 0 + 0 + + + 1 + #81ffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0.3082274722222217 + 0.2608078611111109 + + + 0.3082274722222217 + 0.04474769444444407 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.05288363888888941 + 0.04474769444444407 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.05288363888888941 + 0.2608078611111109 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 0.3082274722222217 + 0.2608078611111109 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.194444 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + 5 + + + + -0 + 6.909722222222222 + 4.239125 + 0.3611111111111111 + 0.3055555555555556 + 0.1805555555555556 + 0.1527777777777778 + + + 0.2888888888888889 + 0.07499999999999998 + -0 + + + 1 + + + 1 + 0.0138889 + #65f9ff + 0 + 0 + 0 + + + 1 + #81ffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0.3082274722222225 + 0.2608078611111115 + + + 0.3082274722222225 + 0.04474769444444485 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.05288363888888862 + 0.04474769444444485 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.05288363888888862 + 0.2608078611111115 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 0.3082274722222225 + 0.2608078611111115 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.194444 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + 6 + + + + -0 + 7.154006308842252 + 4.586832151640138 + 1.61356817324006 + 0.8577476366136089 + 0.8067840866200302 + 0.4288738183068044 + + + 7.96079039546228 + 5.01570596994694 + 6.34722222222222 + 4.15795833333333 + + + 4 + 0 + 2 + 0 + 1 + + + 1.61356817324006 + 0.8577476366136089 + -0 + + + 2 + + + 1 + 0.0555556 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 1.61356817324006 + 0.8577476366136089 + + + 0 + 0 + + + + 0 + + + + + -0 + 5.248263888888889 + 7.236394305555556 + 3.447916666666667 + 0.6388888888888888 + 1.723958333333333 + 0.3194444444444444 + + + 3.447916666666667 + 0.5 + -0 + + + 1 + + + 1 + 0.0138889 + #ff0c1b + 0 + 0 + 0 + + + 1 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.6388888888888888 + + + 3.447916666666667 + 0.6388888888888888 + + + 3.447916666666667 + 0 + + + 0 + 0 + + + 0 + 0.6388888888888888 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + angular.service('$xhr', function(...) { +... +}) + + + + -0 + 5.255748870393808 + 6.711961041674074 + 0.01388888888888889 + 0.396088769031759 + 0.006944444444444444 + 0.1980443845158795 + + + 5.24945988353348 + 6.51391665715819 + 5.24880442594936 + 6.91000542618995 + + + 4 + 0 + 2 + 0 + 1 + + + 0.01388888888888889 + 0.396088769031759 + -0 + + + 2 + + + 1 + 0.0277778 + 0 + 0 + 0 + 0 + 4 + 1 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0.0006554575841117108 + 0 + + + 0 + 0.396088769031759 + + + + 0 + + + + + -0 + 3.236111111111111 + 4.333305555555556 + 0.3611111111111111 + 0.3055555555555556 + 0.1805555555555556 + 0.1527777777777778 + + + 0.2888888888888889 + 0.07499999999999998 + -0 + + + 1 + + + 1 + 0.0138889 + #65f9ff + 0 + 0 + 0 + + + 1 + #81ffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0.3082274722222221 + 0.2608078611111111 + + + 0.3082274722222221 + 0.04474769444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.05288363888888901 + 0.04474769444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.05288363888888901 + 0.2608078611111111 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 0.3082274722222221 + 0.2608078611111111 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.194444 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + 3 + + + + -0 + 9.046875 + 1.134138888888889 + 2.472222222222222 + 0.4305555555555556 + 1.236111111111111 + 0.2152777777777778 + + + 2.472222222222222 + 0.2916666666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.4305555555555556 + + + 2.472222222222222 + 0.4305555555555556 + + + 2.472222222222222 + 0 + + + 0 + 0 + + + 0 + 0.4305555555555556 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 0 + 0 + + 0.138889 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + DI provides the instance of $xhr service to the PhoneListCtrl controller constructor. + + + + -0 + 7.553819444444445 + 1.083194444444445 + 0.3611111111111111 + 0.3055555555555556 + 0.1805555555555556 + 0.1527777777777778 + + + 0.2888888888888889 + 0.07499999999999998 + -0 + + + 1 + + + 1 + 0.0138889 + #65f9ff + 0 + 0 + 0 + + + 1 + #81ffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0.3082274722222217 + 0.2608078611111111 + + + 0.3082274722222217 + 0.04474769444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.05288363888888941 + 0.04474769444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.05288363888888941 + 0.2608078611111111 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 0.3082274722222217 + 0.2608078611111111 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.194444 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + 6 + + + + -0 + 5.888888888888889 + 6.037361111111111 + 0.75 + 0.3055555555555556 + 0.375 + 0.1527777777777778 + + + 0.75 + 0.3055555555555556 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 0.75 + 0.3055555555555556 + + + 0.75 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0 + 0 + 0 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + $route +... + + + + -0 + 5.583333333333333 + 6.761876388888889 + 0.3611111111111111 + 0.3055555555555556 + 0.1805555555555556 + 0.1527777777777778 + + + 0.2888888888888889 + 0.07499999999999998 + -0 + + + 1 + + + 1 + 0.0138889 + #65f9ff + 0 + 0 + 0 + + + 1 + #81ffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0.3082274722222225 + 0.2608078611111111 + + + 0.3082274722222225 + 0.04474769444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.05288363888888862 + 0.04474769444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.05288363888888862 + 0.2608078611111111 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 0.3082274722222225 + 0.2608078611111111 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.194444 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + 1 + + + + + + + + + + + + + + + + + + + + + 0 + 0 + 1 + 0 + 12 + 52 + 0.5 + + + diff --git a/images/docs/tutorial/simple_scope.graffle/image7.png b/images/docs/tutorial/simple_scope.graffle/image7.png index 3a9618137f85..6d3ff1c228c7 100644 Binary files a/images/docs/tutorial/simple_scope.graffle/image7.png and b/images/docs/tutorial/simple_scope.graffle/image7.png differ diff --git a/images/docs/tutorial/simple_scope.svg/image7.png b/images/docs/tutorial/simple_scope.svg/image7.png new file mode 100644 index 000000000000..6d3ff1c228c7 Binary files /dev/null and b/images/docs/tutorial/simple_scope.svg/image7.png differ diff --git a/images/docs/tutorial/simple_scope.svg/simple_scope.svg b/images/docs/tutorial/simple_scope.svg/simple_scope.svg new file mode 100644 index 000000000000..6b976593710e --- /dev/null +++ b/images/docs/tutorial/simple_scope.svg/simple_scope.svg @@ -0,0 +1,3 @@ + + + Produced by OmniGraffle 6.5.2 2011-05-04 19:00:55 +0000Canvas 1Layer 1function MyController(){ this.guy = 'Hank'; this.save = function(){ //do something nice }}ControllerModelroot scope DOM Element to ScopeViewData-binding<html></body></html>TemplateInput: <input name="guy" type="text">Name = <span ng:bind="guy"> </span><body ng:controller="MyCtrlr"><button ng:click="save()"> Save</button>child scopeguy: 'Hank'save: Function Scope Inheritance diff --git a/images/docs/tutorial/simple_scope.vdx b/images/docs/tutorial/simple_scope.vdx new file mode 100644 index 000000000000..11748d30f233 --- /dev/null +++ b/images/docs/tutorial/simple_scope.vdx @@ -0,0 +1,3634 @@ + + + + 12 + 52 + + + 7.68056 + 10.5 + 1 + 0.25 + 0.25 + 0.25 + 0.569444 + 1 + 1 + + + + + + + + + + + + + + 0.111111 + 0.111111 + + + 1 + 1 + 10.5 + 7.68056 + 3 + 0 + -0.0277778 + + + Layer 1 + 1 + 1 + 0 + + + + + + -0 + 1 + 1 + 4.513888888888889 + 5.531680555555556 + 2.402777777777778 + 1.603277777777778 + 1.201388888888889 + 0.8016388888888889 + + + 2.402777777777778 + 1.464388888888889 + -0 + + + 1 + + + 1 + 0.0138889 + #ff0d10 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 1.603277777777778 + + + 2.402777777777778 + 1.603277777777778 + + + 2.402777777777778 + 0 + + + 0 + 0 + + + 0 + 1.603277777777778 + + + + 0 + + + + + -0 + 4.513888888888889 + 5.726125 + 2.236111111111111 + 1.103277777777778 + 1.118055555555556 + 0.5516388888888889 + + + 2.236111111111111 + 0.964388888888889 + -0 + + + 1 + + + 1 + 0.0138889 + #ff0c1b + 0 + 0 + 0 + + + 1 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 1.103277777777778 + + + 2.236111111111111 + 1.103277777777778 + + + 2.236111111111111 + 0 + + + 0 + 0 + + + 0 + 1.103277777777778 + + + + 0 + + + + + -0 + 4.576388888888889 + 5.743041666666667 + 2.180555555555555 + 0.9166666666666666 + 1.090277777777778 + 0.4583333333333333 + + + 2.180555555555555 + 0.9166666666666666 + -0 + + + 1 + + + 0 + 0.0138889 + #ff0c1b + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.9166666666666666 + + + 2.180555555555555 + 0.9166666666666666 + + + 2.180555555555555 + 0 + + + 0 + 0 + + + 0 + 0.9166666666666666 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 0 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + function MyController(){ + this.guy = 'Hank'; + this.save = function(){ + //do something nice + } +} + + + + -0 + 4.451388888888889 + 4.930555555555555 + 1.277777777777778 + 0.3055555555555556 + 0.6388888888888888 + 0.1527777777777778 + + + 1.277777777777778 + 0.3055555555555556 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 1.277777777777778 + 0.3055555555555556 + + + 1.277777777777778 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 1 + 0 + + 0.25 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Controller + + + + -0 + 1 + 1 + 7.048611111111111 + 5.854166666666667 + 1.875 + 3.013888888888889 + 0.9375 + 1.506944444444444 + + + 1.875 + 2.875 + -0 + + + 1 + + + 1 + 0.0138889 + #4fff75 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 3.013888888888889 + + + 1.875 + 3.013888888888889 + + + 1.875 + 0 + + + 0 + 0 + + + 0 + 3.013888888888889 + + + + 0 + + + + + -0 + 1.555555555555556 + 4.826388888888889 + 2.916666666666667 + 5.069444444444445 + 1.458333333333333 + 2.534722222222222 + + + 2.916666666666667 + 4.930555555555555 + -0 + + + 1 + + + 1 + 0.0138889 + #f8ff29 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 5.069444444444445 + + + 2.916666666666667 + 5.069444444444445 + + + 2.916666666666667 + 0 + + + 0 + 0 + + + 0 + 5.069444444444445 + + + + 0 + + + + + -0 + 0.7638888888888888 + 2.069416666666667 + 0.02777777777777778 + 0.1666666666666667 + 0.01388888888888889 + 0.08333333333333333 + + + 0.02777777777777778 + 0.1666666666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.1666666666666667 + + + 0.02777777777777778 + 0.1666666666666667 + + + 0.02777777777777778 + 0 + + + 0 + 0 + + + 0 + 0.1666666666666667 + + + + 0 + + + + + -0 + 7.044770053286448 + 6.540841750467613 + 0.01388888888888889 + 0.3525186114648843 + 0.006944444444444444 + 0.1762593057324422 + + + 7.037825608842 + 6.71710105620005 + 7.04176406875325 + 6.36458244473517 + + + 4 + 0 + 2 + 0 + 1 + + + 0.01388888888888889 + 0.3525186114648843 + -0 + + + 2 + + + 1 + 0.0277778 + #29ff3e + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.3525186114648843 + + + 0.00393845991124427 + 0 + + + + 0 + + + + + -0 + 7.076388888888889 + 4.581052777777778 + 0.9583333333333334 + 0.3101166666666667 + 0.4791666666666667 + 0.1550583333333333 + + + 0.9583333333333334 + 0.3101166666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3101166666666665 + + + 0.9583333333333334 + 0.3101166666666665 + + + 0.9583333333333334 + 0 + + + 0 + 0 + + + 0 + 0.3101166666666665 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 1 + 0 + + 0.25 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Model + + + + -0 + 7.034722222222222 + 6.994875 + 1.180555555555556 + 0.5416666666666666 + 0.5902777777777778 + 0.2708333333333333 + + + 0.9444444444444444 + 0.2402777777777777 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #ffffff + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 1.007666736111111 + 0.4623412083333334 + + + 1.007666736111111 + 0.07932545833333332 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.1728888194444443 + 0.07932545833333332 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.1728888194444443 + 0.4623412083333334 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 1.007666736111111 + 0.4623412083333334 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + + + -0 + 7.069444444444445 + 7.004099305555555 + 0.8055555555555556 + 0.2396347222222222 + 0.4027777777777778 + 0.1198173611111111 + + + 0.8055555555555556 + 0.1007458333333333 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2396347222222222 + + + 0.8055555555555556 + 0.2396347222222222 + + + 0.8055555555555556 + 0 + + + 0 + 0 + + + 0 + 0.2396347222222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + root scope + + + + -0 + 0.4444444444444444 + 1.812472222222222 + 0.6666666666666666 + 0.01388888888888889 + 0.3333333333333333 + 0.006944444444444444 + + + 0.111111111111111 + 1.81941666666667 + 0.777777777777778 + 1.81941666666667 + + + 4 + 0 + 2 + 2 + 1 + + + 0.6666666666666666 + 0.01388888888888889 + -0 + + + 2 + + + 9 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.01388888888888889 + + + 0.6666666666666666 + 0.01388888888888889 + + + + 0 + + + + + -0 + 1.868055555555556 + 1.810710416666667 + 1.958333333333333 + 0.2396347222222222 + 0.9791666666666666 + 0.1198173611111111 + + + 1.958333333333333 + 0.1007458333333333 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.239634722222222 + + + 1.958333333333333 + 0.239634722222222 + + + 1.958333333333333 + 0 + + + 0 + 0 + + + 0 + 0.239634722222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + DOM Element to Scope + + + + -0 + 1 + 1 + 9.409722222222221 + 5.630263888888889 + 1.875 + 3.461694444444444 + 0.9375 + 1.730847222222222 + + + 1.875 + 3.322805555555556 + -0 + + + 1 + + + 1 + 0.0138889 + #2222ff + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 3.461694444444444 + + + 1.875 + 3.461694444444444 + + + 1.875 + 0 + + + 0 + 0 + + + 0 + 3.461694444444444 + + + + 0 + + + + + -0 + 9.375 + 4.069444444444445 + 0.6666666666666666 + 0.3055555555555556 + 0.3333333333333333 + 0.1527777777777778 + + + 0.6666666666666666 + 0.3055555555555556 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 0.6666666666666666 + 0.3055555555555556 + + + 0.6666666666666666 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 1 + 0 + + 0.25 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + View + + + + -0 + 9.409722222222221 + 5.484381944444444 + 1.625 + 2.447902777777778 + 0.8125 + 1.223951388888889 + + + 1.625 + 2.309013888888889 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 2.447902777777778 + + + 1.625 + 2.447902777777778 + + + 1.625 + 0 + + + 0 + 0 + + + 0 + 2.447902777777778 + + + + 0 + + + + + -0 + 8.534722222222221 + 1.743027777777778 + 0.6666666666666666 + 0.01388888888888889 + 0.3333333333333333 + 0.006944444444444444 + + + 8.20138888888889 + 1.74997222222222 + 8.86805555555556 + 1.74997222222222 + + + 4 + 0 + 2 + 2 + 1 + + + 0.6666666666666666 + 0.01388888888888889 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.01388888888888889 + + + 0.6666666666666666 + 0.01388888888888889 + + + + 0 + + + + + -0 + 9.680555555555555 + 1.810710416666667 + 1.208333333333333 + 0.2396347222222222 + 0.6041666666666666 + 0.1198173611111111 + + + 1.208333333333333 + 0.1007458333333333 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.239634722222222 + + + 1.208333333333333 + 0.239634722222222 + + + 1.208333333333333 + 0 + + + 0 + 0 + + + 0 + 0.239634722222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Data-binding + + + + -0 + 8.548611111111111 + 1.909694444444444 + 0.6666666666666666 + 0.01388888888888889 + 0.3333333333333333 + 0.006944444444444444 + + + 8.21527777777778 + 1.91663888888889 + 8.88194444444444 + 1.91663888888889 + + + 4 + 0 + 2 + 2 + 1 + + + 0.6666666666666666 + 0.01388888888888889 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.01388888888888889 + + + 0.6666666666666666 + 0.01388888888888889 + + + + 0 + + + + + -0 + 5.229166666666667 + 7.534722222222222 + 10.23611111111111 + 0.01388888888888889 + 5.118055555555555 + 0.006944444444444444 + + + 0.111111111111111 + 7.52777777777778 + 10.3472222222222 + 7.54166666666667 + + + 4 + 0 + 2 + 2 + 1 + + + 10.23611111111111 + 0.01388888888888889 + -0 + + + 2 + + + 1 + 0.0277778 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0 + + + 10.23611111111111 + 0.01388888888888889 + + + + 0 + + + + + -0 + 0.5277777777777778 + 7 + 0.6666666666666666 + 0.3055555555555556 + 0.3333333333333333 + 0.1527777777777778 + + + 0.6666666666666666 + 0.1666666666666667 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #fff82f + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 0.6666666666666666 + 0.3055555555555556 + + + 0.6666666666666666 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + <html> + + + + -0 + 0.5972222222222222 + 3.499986111111111 + 0.75 + 0.3055555555555556 + 0.375 + 0.1527777777777778 + + + 0.75 + 0.1666666666666667 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #f5ff36 + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 0.75 + 0.3055555555555556 + + + 0.75 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + </body> + + + + -0 + 0.5694444444444444 + 3.104152777777778 + 0.75 + 0.3055555555555556 + 0.375 + 0.1527777777777778 + + + 0.75 + 0.1666666666666667 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #f5ff36 + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 0.75 + 0.3055555555555556 + + + 0.75 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + </html> + + + + -0 + 1.479166666666667 + 2.541652777777778 + 1.208333333333333 + 0.3055555555555556 + 0.6041666666666666 + 0.1527777777777778 + + + 1.208333333333333 + 0.3055555555555556 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 1.208333333333333 + 0.3055555555555556 + + + 1.208333333333333 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 1 + 0 + + 0.25 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Template + + + + -0 + 1.340277777777778 + 5.28125 + 2.180555555555555 + 0.4027777777777778 + 1.090277777777778 + 0.2013888888888889 + + + 2.180555555555555 + 0.2638888888888889 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #f5ff36 + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.4027777777777778 + + + 2.180555555555555 + 0.4027777777777778 + + + 2.180555555555555 + 0 + + + 0 + 0 + + + 0 + 0.4027777777777778 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Input: <input name="guy" + type="text"> + + + + -0 + 1.451388888888889 + 4.798611111111111 + 2.402777777777778 + 0.4027777777777778 + 1.201388888888889 + 0.2013888888888889 + + + 2.402777777777778 + 0.2638888888888889 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #f5ff36 + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.4027777777777778 + + + 2.402777777777778 + 0.4027777777777778 + + + 2.402777777777778 + 0 + + + 0 + 0 + + + 0 + 0.4027777777777778 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Name = <span ng:bind="guy"> + </span> + + + + -0 + 1.548611111111111 + 5.763875000000001 + 2.652777777777778 + 0.3055555555555556 + 1.326388888888889 + 0.1527777777777778 + + + 2.652777777777778 + 0.1666666666666667 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #f5ff36 + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 2.652777777777778 + 0.3055555555555556 + + + 2.652777777777778 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + <body ng:controller="MyCtrlr"> + + + + -0 + 1.1875 + 4.125 + 1.875 + 0.7777777777777778 + 0.9375 + 0.3888888888888889 + + + 1.875 + 0.6388888888888888 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #f5ff36 + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.7777777777777778 + + + 1.875 + 0.7777777777777778 + + + 1.875 + 0 + + + 0 + 0 + + + 0 + 0.7777777777777778 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + <button + ng:click="save()"> + Save +</button> + + + + -0 + 7.048611111111111 + 5.751738888888889 + 1.652777777777778 + 1.211838888888889 + 0.8263888888888888 + 0.6059194444444443 + + + 4 + 0 + 2 + 2 + 1 + + + 1.652777777777778 + 1.211838888888889 + -0 + + + 1 + + + 0 + + + + + -0 + 0.8263888888888888 + 0.6059194444444445 + 1.652777777777778 + 1.211838888888889 + 0.8263888888888888 + 0.6059194444444445 + + + 1.322222222222222 + 0.7093983333333331 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #ffffff + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 1.410733430555556 + 1.034368719127778 + + + 1.410733430555556 + 0.177470169761111 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.2420443472222221 + 0.177470169761111 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.2420443472222221 + 1.034368719127778 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 1.410733430555556 + 1.034368719127778 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + + + -0 + 0.8527631944444438 + 0.9829131944444442 + 0.8615541666666666 + 0.2819513888888889 + 0.4307770833333333 + 0.1409756944444444 + + + 0.8615541666666666 + 0.1430625 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2819513888888889 + + + 0.8615541666666667 + 0.2819513888888889 + + + 0.8615541666666667 + 0 + + + 0 + 0 + + + 0 + 0.2819513888888889 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + child scope + + + + -0 + 0.9582631944444446 + 0.6447131944444444 + 0.8615541666666666 + 0.3443791666666667 + 0.4307770833333333 + 0.1721895833333333 + + + 0.8615541666666666 + 0.2054902777777778 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3443791666666666 + + + 0.861554166666666 + 0.3443791666666666 + + + 0.861554166666666 + 0 + + + 0 + 0 + + + 0 + 0.3443791666666666 + + + + 0 + + + + + -0 + 1.066690277777778 + 0.4407131944444441 + 1.078408333333333 + 0.3443791666666667 + 0.5392041666666666 + 0.1721895833333333 + + + 1.078408333333333 + 0.2054902777777778 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3443791666666666 + + + 1.078408333333333 + 0.3443791666666666 + + + 1.078408333333333 + 0 + + + 0 + 0 + + + 0 + 0.3443791666666666 + + + + 0 + + + + + + + -0 + 7.097222222222222 + 5.678138888888889 + 1.402777777777778 + 0.3055555555555556 + 0.7013888888888888 + 0.1527777777777778 + + + 1.402777777777778 + 0.1666666666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 1.402777777777778 + 0.3055555555555556 + + + 1.402777777777778 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 0 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + guy: 'Hank' + + + + + -0 + 3.184027695499096 + 5.747751430092417 + 0.6041668312240304 + 0.01388888888888889 + 0.3020834156120152 + 0.006944444444444444 + + + 2.88194427988708 + 5.75469587453686 + 3.48611111111111 + 5.75053658166518 + + + 4 + 0 + 2 + 0 + 1 + + + 0.6041668312240304 + 0.01388888888888889 + -0 + + + 2 + + + 9 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + -3.947459643111667e-16 + 0.01388888888888889 + + + 0.6041668312240299 + 0.009729596017203098 + + + + 0 + + + + + -0 + 5.940976765578696 + 5.741862132774235 + 0.548620197824058 + 0.01388888888888889 + 0.274310098912029 + 0.006944444444444444 + + + 5.66666666666667 + 5.74687677657546 + 6.21528686449073 + 5.74880657721868 + + + 4 + 0 + 2 + 0 + 1 + + + 0.548620197824058 + 0.01388888888888889 + -0 + + + 2 + + + 9 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.01195908824567206 + + + 0.548620197824058 + 0.01388888888888889 + + + + 0 + + + + + -0 + 3.652778062386409 + 6.992787546096337 + 5.569445017969653 + 0.01388888888888889 + 2.784722508984827 + 0.006944444444444444 + + + 0.868055553401582 + 6.99973199054078 + 6.43750057137123 + 6.99534538625939 + + + 4 + 0 + 2 + 0 + 1 + + + 5.569445017969653 + 0.01388888888888889 + -0 + + + 2 + + + 9 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + -9.868649107779169e-17 + 0.01388888888888889 + + + 5.569445017969652 + 0.009502284607499491 + + + + 0 + + + + + -0 + 7.097222222222222 + 5.536983333333334 + 1.402777777777778 + 0.3101166666666667 + 0.7013888888888888 + 0.1550583333333333 + + + 1.402777777777778 + 0.1712277777777778 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3101166666666665 + + + 1.402777777777778 + 0.3101166666666665 + + + 1.402777777777778 + 0 + + + 0 + 0 + + + 0 + 0.3101166666666665 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + save: Function + + + + -0 + 9.680555555555555 + 6.379701388888889 + 0.75 + 0.3101166666666667 + 0.375 + 0.1550583333333333 + + + 0.75 + 0.3101166666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3101166666666665 + + + 0.75 + 0.3101166666666665 + + + 0.75 + 0 + + + 0 + 0 + + + 0 + 0.3101166666666665 + + + + 0 + + + + + -0 + 9.680555555555555 + 5.640613194444445 + 0.7083333333333334 + 0.2396347222222222 + 0.3541666666666667 + 0.1198173611111111 + + + 0.7083333333333334 + 0.2396347222222222 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.239634722222222 + + + 0.7083333333333334 + 0.239634722222222 + + + 0.7083333333333334 + 0 + + + 0 + 0 + + + 0 + 0.239634722222222 + + + + 0 + + + + + -0 + 9.395833333333334 + 5.537143055555556 + 1.513888888888889 + 2.152777777777778 + 0.7569444444444444 + 1.076388888888889 + + + 1.513888888888889 + 2.013888888888889 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 2.152777777777778 + + + 1.513888888888889 + 2.152777777777778 + + + 1.513888888888889 + 0 + + + 0 + 0 + + + 0 + 2.152777777777778 + + + + 0 + 0 + 1.51389 + 2.15278 + + Qk0AAAAAAAAAADYAAAAoAAAAcQAAAJsAAAABABgAAAAAANzNAAAAAAAAAAAAAAAAAAAAAAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A/////////////////////////////////////////v7+/v7++/v7+fn5+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+fn5+/v7/v7+/v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP////////////////////////////////39/fb29urq6t7e3tTU1MzMzMnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJyczMzNTU1N7e3urq6vb29v39/f///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD////////////////////////////6+vro6OjHx8ecnJx9fX1ubm5qamppaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlqampubm59fX2cnJzHx8fo6Oj6+vr///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////+fn529vbo6OjcnJyhISEvLy84+Pj/Pz8/////////////////////////////////////////////////////////////////////////////////////////Pz84+PjvLy8hISEcnJyo6Oj29vb+fn5////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP////////////////////r6+tvb25aWlnp6etzc3Pn5+f39/f7+/v////////////////////////////////////////////////////////////////////////////////////////////////7+/v39/fn5+dzc3Hp6epaWltvb2/r6+v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD////////////////9/f3o6OiioqKJiYnr6+v7+/v9/f39/f39/f39/f38/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz7+/v8/Pz8/Pz8/Pz9/f38/Pz7+/vr6+uJiYmioqLo6Oj9/f3///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////9vb2xsbGf39/3d3d9PT09/f3+Pj49/f3+Pj4+Pj46u/24uHr7+vk9vb29vb29vb26u/2+O/p9/f36ur5+PPs9vb29vb29vb29vb29vb29/f39/f39/f36+ry7+vr9/f39/f39/f39/f39/f39/f39PT03t7ef39/xsbG9vb2////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP////////////7+/urq6pqamry8vOjo6PLy8vPz8/T09PX19fX19TWK5wAAAAAAAAAAAKh0APX31nKr7gAAAAAAAGxuRQAAPM6SAPT09Mvy9QAAjMSDAPT09PT09NTs+ABOrgAAAAAAAJUzAPX23vX19fT09PT09PPz8/Ly8unp6b29vZqamurq6v7+/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD////////////9/f3e3t6JiYnOzs7u7u7w8PDx8fHx8fHx8fHy8vLAyenn2cHx8fG54foAAGPXwwAAALiyaQDt8fE4jNaNEgDy9NPx8fF4tfMAAABaABb07aTt8fEAXs+URgDz8Mbx8fHl4Ojx8urx8fHx8fHx8fHx8fHw8PDu7u7Ozs6JiYne3t79/f3///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////+/v709PTl5eX2NjY7Ozs7e3t7u7u7+/v7+/v8PDw7+/v7+/v7+/vt9/4AABx17AARZDgTAARyLiDaqXPjBIA8PHZ5vDuADa4qpMAADym16oAxu3wAAB+sIsAv8XMwMDA2MjD7/Do7+/v7+/v7+/v7e3t7e3t7Ozs2NjYmJiY09PT+/v7////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP////////////n5+czMzKCgoODg4Onp6evr6+zs7O3t7e3t7e3t7e3t7eDu7Hqc0QAAAGIAGfDgou3t7bfL6IaLoTVogZExAO7wz6TZ+AAAAPHib2Or94QAJMvu0AAAiGI9AHFxcQBHeIQAJO7wz+3t7e3t7e3t7ezs7Ovr6+np6eHh4aCgoMzMzPn5+f///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD////////////7+/vS0tKdnZ3j4+Po6Ojp6enp6enp6enq6urq6urH5O8ALZMAAACnhy3t6sLr6+u+0u3Vwanr6+sgf9SQCwbs7dUdftuWLwDs7NzD6ewAAG/fxUcAW8qoZwDr7OQ0jdudQQDr69vq6urq6urp6enp6enp6enn5+fj4+OdnZ3S0tL7+/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A/////////////f393d3djo6O29vb5eXl5+fn5+fn6Ojo6enp6enpT5niVwAV6NOf6enp6enp6enpocz0ACBoAAAAPQAM1bRk1OvnFzmh2blG6enp6enpRYXWwIwAy+fqE1ejAAAAaiIA6Nia6enp6enp6Ojo6Ojo5+fn5ubm5OTk29vbjo6O3d3d/f39////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP////////////7+/unp6YiIiMjIyOPj4+Tk5OXl5ejo6O3t7fDw8Gaw7G0AHfLrueLr8cS9z+/s1O7v7+/v7+7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7v7+/v7+7u7u7u7u/v7/Dw8PDw8PDw8O/v7+3t7efn5+Xl5eXl5ePj48jIyIiIiOnp6f7+/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD////////////////19fWkpKSjo6Pk5eXp6Ojt7e/z8/Pz8/Pz8/PP7PkAQZ4AAAAAAABAAA3266Hz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Py8vLt7e3l5eXi4uKjo6Ojo6P19fX///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A/////////////////f394eHhgICA0tLS7Ozs9PT09PX19fX19fX19fX19fX1397w5d/g9vHq9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19PT08/Pz6urqzs/Nfn5+4eHh/f39////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP////////////////////n5+bOzs4iIiOfn5/X19fb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vX19eTk5IWFhbOzs/n5+f///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD////////////////////+/v74+PiioqKDg4Pg4OD5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4+Pje3t6BgYGgoKD4+Pj+/v7///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////+vr6tra2bm5un5+f0tLS7e3t+fn5/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8+fn57e3t0dHRnp6ebGxstra2+vr6////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP////////////////////////////////39/e3t7aioqHp6emZmZl1dXV5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl1dXWZmZnp6eqioqO3t7f39/f///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD////////////////////////////////////////+/v79/f36+vr39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f6+vr9/f3+/v7///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP////////////////////////////////////////////////fw//////////////b//vfx8v////////f2/v///////////////////////////////////////////////////////////+3x/+rq6v/86/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////b//vfx8v////////f2/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD////////e/f8YUq0AAAAAAACGPAD/+7r///////////+q3/+NED3//9////+x3/8AAGgAAACGPAB1oacAAABmABpWfqYAAAAAAACpgy+NscwAAD4AAAB0JQCxxawAOIcAAAAwAAfgwGJmm+AAAAAAAAAAAADWrFj////////////////////////////////////////////////////////////////////2//5BcM8AAAAAAAAAAAC1dxn///Cr2/8AAFcAAAAAAABRABP734ex3/8AAGgAAACGPAB1oacAAABmABpHd6IAAAAAAAC1ky5plckAAAAAAACgeQAaVKUAAAAAAADBkjN6tuIAAAAAAACGPAD/+sT///////////////////////////////////////////////////////////////////////////8A////////////////AHnjqkYA///w////////////1P7/AACSnTUA///n////SpnuAAAAu5sMp87cAABXQwAOv7SB9ezHADnEnTUA///n////N5HyMAAH/+6P////t+r/AAA+6roAfsb/AAAAMAAHwK5nnLfJAABX78EA////////////////9/v78vLy9/f39/f39/f39/f39/f38vH7+/z0////////////////////OYnuAAAA05IA////////////yfn/AABoXwAY//yj////SpnuAAAAu5sMp87cAABXQwAOv7SB8e3HACC+nTUA///w9v/+AEzIcwAf//+67f/+ACa1jQAo///wPHfkAAAAwosA///4////////////////////////////////////////////////////////////////////////////////AP///////////////2u5/9OIAP///////////+3//gBPwAAAAJ1KAP//3////1We+wAAAP/qeP///zWP+VEAE//8o/H//gA5xJ01AP//5////4fF/1EAE//2qv///8n5/wAAaO/YHwBMyAAAAPbbbv///////73v/5QtYP//3////////////wB/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAM6DAP///////////////////0qQ8gAAAPPRPf///////////8n5/wAAeZ1KAP//5////1We+wAAAP/qeP///zWP+VEAE//8o/H//gA5xJ01AP//3////zeR8p0LCP//5/H//gA5xKplAIK93gAAAKplAP//5////////////////////////////////////////////////////////////////////////////////////wD///////////////99y//OgAD///////////86iuYAAAAAAACVACv//+f////Z/f8AAKV9ACL/+7pJmPZRABP/9qrx//4AOcSdNQD//+f///+O1v9DAA7/9qr////J+f8AAFfm0zcAT8CkSAD///j///////////////////////////////+50PqxsqaxsbGxsbGxsbGxsbGxsbGrsrDt063///////////////////9KkPIAAADz0T3////////////J8/8AAHmdSgD//+f////Z/f8AAKV9ACL/+7pJmPZRABP/9qrx//4AOcSdNQD//+f///8bkfGdCwj//+fx//4AT8AAAAAAAABpABv//K7///////////////////////////////////////////////////////////////////////////////////////8A////////////////fcv/zoAA////////d7r8AAAAAAAArL13lEFr///f////////9v/+i67mAABXAAAAXwAY//aq8f/+ADnEnTUA///n////Yqb4UQAT//aq////zvn/AABo5tM3ADnEfVAApa2gpaWlq6ygq6q27c2m////////////////////////////////////////////////////////////////////////SpDyAAAA/NZP////////////z/7/AABonUoA///n////////9v/+i67mAABXAAAAXwAY//aq8f/+ADnEnTUA///n////N5HynQsI///n8f/+AE/AAAAAAAAA/Ntc////////////////////////////////////////////////////////////////////////////////////////////AP///////////////33L/86AAP///6Tb/wAAAAAAANynAMn/+4wAZ///3////73q/wAAV//gZfv//zyB4UMADv/3nvv//wA5xI06AP//2P///zeR8kMADv/uj////7Dk/wAAAPPRPSKA6UMADrmzj7e4rABhqAAAAM6KAP///////////////3mm8V1eQ2ZmZmZmZmZmZmZmZmZmZk5dW9ytO////////////////////0qQ8gAAADAABy4uLi4uLi4uLgAAPgAAAJ1KAP//5////73q/wAAV//gZfv//zyB4UMADv/3nvH//gAAuJU4AP//3/v//wBMyJ01AP//5/H//gA5xHQlADhvl6pYAP//3////////////////////////////////////////////////////////////////////////////////////////wD///////////////99y//YhwDU/v8AAIYAAAC2bgD///DD8/+MAGf//9////+w5P8AAADvwQD///8AeeOGACX9/81xmuAAAD4AAACNOgCwy7sAHX8AAABRABPKxZYUXrIAAAD30T697/8AAFfvzEzj//0AQLEAAAD84WT///////////////9unvRRQhhPT09PT09PT09PT09PT09APljXpyL///////////////////9KkPIAAADGqEXS19fS0tLX0dKbwtsAAD6dSgD//+f///+w5P8AAADvwQD///8AeeOGACX9/82KtOoAAD4AAACdZwCVuMgAAFedNQD//+fx//4AOcSkMwD///gned19IgD67bP///////////////////////////////////////////////////////////////////////////////////8A////////////////h8v/qYQAAGCyAAAAjRkA///N////w/P/lC1g///n////+///gq7mLABYK1FNQwAO7tB+////ytr6a5CxlVgsjbLEAAA+QzAA5L9jrNf1ACNyAAAAvIIA///n////veT/ITKUAAAAXysA6cqF////////////////////////////////////////////////////////////////////////////SpDyAAAA99ZN////////////z/7/AAB5nUoA///n////+///gq7mLABYK1FNQwAO7tB++///rcfpWG2YhkwAf6etAAAAUQAT8s9/////8f/+ADnEnTUA///wcZLbT09PUEBCwZBT///w////////////////////////////////////////////////////////////////////////////AP///////////////47W/wAAAAAAAFEAE//ypP///////8n5/2cAbP//v////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////0qQ8gAAAPPRPf///////////8n5/wAAeZ1KAP//5/////////////////////////////////////////////////////////////////H//gA5xJ01AP//3////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////9ZmucAAAAAAAD31mb///////////+d3P8wAAf/7o////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////85kuoAAADOiQD////////////J8/8AAGhRABP/9qr////////////////////////////////////////////////////////////////U8/8ACZmdNQD//+f///////////////////////////////////////////////////////////////////////////////////////////////8A////////3v3/GFKtAAAAAAAA4bQl////////////eKz1AAAAAAAAAAAA5blY////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9v/+QXDPAAAAAAAAAAAAtngA///wpNv/AABXAAAAAAAAUQAT+9+H////////////////////////////////////////////////////////3v3/NmCpAAAAlRMA///f////////////////////////////////////////////////////////////////////////////////////////////////AP////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////H7/+re6v//+P///////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+5ubnPz8/d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3Pz8+5ubn///////////////////////////////8A////////////////////////////////////////////////////////////6Pz/qqjKt7issbi3uKOn//3c////////////////////////////////////////////////////////////////////////////////////////////////////w8PD8PDw/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+8PDww8PD////////////////////////////////AP////////////////////////////////////////////////////////////b//oG16gAAAFEAE9/Kkf//5////////////////////////////////////////////////////////////////////////////////////////////////////8PDw/Dw8P////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Dw8MPDw////////////////////////////////wD////////////////////////////////////////////////////////////////t//4AALi9egD////////////////////////////////////////////////////////////////////////////////////////////////////////////Dw8Pw8PD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////w8PDDw8P///////////////////////////////8A////////////////////////////////////////////////////////////////8f/+ACC+2JoA9v/+8u7u///4////////////////8ff++PLr////+/b+////////////+///8u31///4////9v/+/Pfu////////////////////////////w8PD8PDw////////////////////////////////////////////9vv/9/Hy////8fv//Pfu////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8PDww8PD////////////////////////////////AP////////b//kF8ywAAAAAAAAAAAII9AEZ7qwAAAAAAALWTLmmVyQAAAAAAALZ4APL/7wA5xAAAAAAAAAAAAGkAG/7oov///////26m8AAAAAAAAIV0AAAAeXNfANWxhPv//yd53QAAAFEAE+7qlABMyEMADv/vj////////////////////////8PDw/Dw8P///////8n5/wAAaPfWTf///////8n5/0EAWf/3nrHf/wAAVwAAAHNfAAAjcqQzAMr860AAav/3nv///4fR/5UTAP//54fR/5UTAP//59n9/wAApZ1KAP//2P////////////////////////////////////////////////////////////////////////////////////////////////////Dw8MPDw////////////////////////////////wD///////////////9+v/8AAADHgQD////x//4AIL6dNQD///D2//4ATMhzAB///7rx//4APbp9IgD/+sTt//4AW8VzAB///7/U/v8AAIZpABvi2qYojdUAAABpKADx36HJ+f8AAGidWwCv1c/Tq30ATMhDAA7/74/////////////////////////Dw8Pw8PD////////J+f8AAFfz0T3////////J+f9BAFn/9543mu59ACL//82Qxv5DAA7/957J+f9BAFn/957///+H0f+VACv//+eHy/+dCwjp/+8AAK6GHQD//8j////////////////////////////////////////////////////////////////////////////////////////////////////////w8PDDw8P///////////////////////////////8A////////////////j9H/AAAA0poA////8f/+ADnEnTUA///f////N5HynQsI///n8f/+ACC+2JIA////////sOT/AAAA4bQAyfP/AABo2JoA////9v/+ADnEnTUA///nyfn/AABo2JkA////////+/////v0////////////////////////////w8PD8PDw////////yfn/AABX/NZP////////z/7/QQBZ//eej9H/AAAAxq5Up87cQgBB//eeyfn/QQBZ//aq////h9H/lQAr///nh9H/XwAYAEyCjToA//+/////////////////////////////////////////////////////////////////////////////////////////////////////////////8PDww8PD////////////////////////////////AP///////////////4/R/wAAANKRAP////H//gA5xJ01AP//5////xuR8Z0LCP//5/H//gAgvtOSAP///////875/wAAedOSAMn5/wAAaNOSAP////H//gA5xJ01AP//58n5/wAAaNOSAP///////////////////////////////////////////8PDw/Dw8P///////8n5/wAAaLWUAMLBzcLDuZW4yEMADv/3nv///9rt/5acvW2KlVEAE//3nsn5/wAAV//qeP///4bQ/5UAK///54/R/1EAEwA/asJ4AP//+P////////////////////////////////////////////////////////////////////////////////////////////////////////////Dw8MPDw////////////////////////////////wD///////////////+P0f8AAADSkQD////x//4AOcSdNQD//+f///83kfKdCwj//+fx//4AIL7TkgD////////O+f8AAGjTkgDJ+f8AAGjTkgD////x//4AOcSdNQD//+fJ+f8AAGjTkgD////////////////////////////////////////////Dw8Pw8PD////////J+f8AAGhpUwBvenhwcHBMc25RABP/957j/P/TwMP//+eHxf9RABP//KPJ8/8AAGhfABjt36FYqeiNACj//9+H0f+kARDe/vIAAJLHigD////////////////////////////////////////////////////////////////////////////////////////////////////////////w8PDDw8P///////////////////////////////8A////////////////j9H/AAAA0pEA////8f/+AAC4lTgA///f+///AEzInTUA///n7f/+AACuvW8A////////frj/AAAA0pEAyfP/AABo0pEA////8f/+ADnEnTUA///nzvn/AABo0poA////////6fH/7+Xd////////////////////////////w8PD8PDw////////yfn/AABX/NZP////////z//8QQBZ//ee3v3/HFWhAAAAAAAAxpoY///41Pn/cCuLpMGlAABoAAAA4LJj////h9H/lQAr///nye7/AACG6sY7////////////////////////////////////////////////////////////////////////////////////////////////////////8PDww8PD////////////////////////////////AP///////////////4/R/wAAANKRAPv//4q06gAAPgAAAJ1nAJW4yAAAV501AO7/5miU0wAAAAAAAK+LFYWsvgAAPgAAAPzbb730/wAAANKRAP///+n//QAmtZ01AP//36vc/wAAPryDAO7v5/L/7wAgvkMADv/3nv///////////////////////8PDw/Dw8P///////8n5/wAAV/PRPf///////8n5/0EAWf/3nv///////////////////////////////////////////////////4fR/5UAK///5/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Dw8MPDw////////////////////////////////wD///////////////+P0f8AAADSkQD7//+tx+lYbZiGTAB/p60AAABRABPyz3/x//6uwOVJbpipgy9Uh7UAAABDAA7guG3e/f9HXqksQ0Dcpibj//02Ua1BQUGvbTL//+cAV9YAAAAwAAdQAEPz4IUscM90JQD/+7r////////////////////////Dw8Pw8PD////////J+f8AAGj31k3////////J+f9BAFn/957///////////////////////////////////////////////////99y/+NACj//9/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////w8PDDw8P///////////////////////////////8A////////////////j9H/AAAA0poA////////////////////////////////////////////////////////////////////////////////////////////////////8f/+AFnN04kA////////////////////////////////////////////w8PD8PDw////////////////////////////////////////////////////////////////////////////////////////////yer/yqKe///w////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8PDww8PD////////////////////////////////AP///////////////364/wAAAMKCAP///////////////////////////////////////////////////////////////////////////////////////////////////////979/967tf///////////////////////////////////////////8PDw/Dw8P////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Dw8MPDw////////////////////////////////wD////////2//5BfMsAAAAAAAAAAACGPAD/+7r////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Dw8Pw8PD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////w8PDDw8P///////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////w8PD8PDw////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8PDww8PD////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////5qamrm5ucPDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw7m5uZqamv///////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9paWl3d3d8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx3d3dpaWn///////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wA= + + 0 + + + + + -0 + 8.340277777777779 + 6.027777777777778 + 1.930555555555556 + 0.6111111111111112 + 0.9652777777777778 + 0.3055555555555556 + + + 7.375 + 5.72222222222222 + 9.30555555555556 + 6.33333333333333 + + + 4 + 0 + 2 + 2 + 1 + + + 1.930555555555556 + 0.6111111111111112 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0 + + + 1.930555555555556 + 0.6111111111111112 + + + + 0 + + + + + -0 + 8.395833333333334 + 5.534722222222222 + 2.041666666666667 + 0.3194444444444444 + 1.020833333333333 + 0.1597222222222222 + + + 7.375 + 5.69444444444444 + 9.41666666666667 + 5.375 + + + 4 + 0 + 2 + 2 + 1 + + + 2.041666666666667 + 0.3194444444444444 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.3194444444444444 + + + 2.041666666666667 + 0 + + + + 0 + + + + + -0 + 7.826388888888889 + 5.065958333333334 + 1.875 + 0.7847500000000002 + 0.9375 + 0.3923750000000001 + + + 6.88888888888889 + 5.45833333333333 + 8.76388888888889 + 4.67358333333333 + + + 4 + 0 + 2 + 2 + 1 + + + 1.875 + 0.7847500000000002 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.7847500000000002 + + + 1.875 + 0 + + + + 0 + + + + + -0 + 4.704861111111111 + 1.812472222222222 + 0.6666666666666666 + 0.01388888888888889 + 0.3333333333333333 + 0.006944444444444444 + + + 4.37152777777778 + 1.81941666666667 + 5.03819444444444 + 1.81941666666667 + + + 4 + 0 + 2 + 2 + 1 + + + 0.6666666666666666 + 0.01388888888888889 + -0 + + + 2 + + + 1 + 0.0277778 + #17ff1c + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.01388888888888889 + + + 0.6666666666666666 + 0.01388888888888889 + + + + 0 + + + + + -0 + 5.961805555555555 + 1.810710416666667 + 1.625 + 0.2396347222222222 + 0.8125 + 0.1198173611111111 + + + 1.625 + 0.1007458333333333 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.239634722222222 + + + 1.625 + 0.239634722222222 + + + 1.625 + 0 + + + 0 + 0 + + + 0 + 0.239634722222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Scope Inheritance + + + + -0 + 5.229166666666667 + 2.104166666666667 + 10.23611111111111 + 0.01388888888888889 + 5.118055555555555 + 0.006944444444444444 + + + 0.111111111111111 + 2.09722222222222 + 10.3472222222222 + 2.11111111111111 + + + 4 + 0 + 2 + 2 + 1 + + + 10.23611111111111 + 0.01388888888888889 + -0 + + + 2 + + + 1 + 0.0277778 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0 + + + 10.23611111111111 + 0.01388888888888889 + + + + 0 + + + + + + + + + + + + + + + + + + 0 + 0 + 1 + 0 + 12 + 52 + 0.5 + + + diff --git a/images/docs/tutorial/tutorial_00.svg b/images/docs/tutorial/tutorial_00.svg new file mode 100644 index 000000000000..e55917a66cc6 --- /dev/null +++ b/images/docs/tutorial/tutorial_00.svg @@ -0,0 +1,3 @@ + + + Produced by OmniGraffle 6.5.2 2012-04-03 00:54:05 +0000Canvas 1Layer 1Modelroot scope<html ng-app></body></html>Template<body>ng-app Implicit Scope Declaration{{ expression }} diff --git a/images/docs/tutorial/tutorial_00.vdx b/images/docs/tutorial/tutorial_00.vdx new file mode 100644 index 000000000000..7240696b36d2 --- /dev/null +++ b/images/docs/tutorial/tutorial_00.vdx @@ -0,0 +1,1496 @@ + + + + 12 + 52 + + + 7.68056 + 10.5 + 1 + 0.25 + 0.25 + 0.25 + 0.569444 + 1 + 1 + + + + + + + + + + + + + + 0.111111 + 0.111111 + + + 1 + 1 + 10.5 + 7.68056 + 3 + 0 + -0.0277778 + + + Layer 1 + 1 + 1 + 0 + + + + + + -0 + 1 + 1 + 3.461805555555555 + 5.979159722222223 + 1.604166666666667 + 3.152791666666667 + 0.8020833333333334 + 1.576395833333333 + + + 1.604166666666667 + 3.013902777777778 + -0 + + + 1 + + + 1 + 0.0138889 + #4fff75 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 3.152791666666667 + + + 1.604166666666667 + 3.152791666666667 + + + 1.604166666666667 + 0 + + + 0 + 0 + + + 0 + 3.152791666666667 + + + + 0 + + + + + -0 + 1.256944444444444 + 5.979159722222223 + 2.319444444444445 + 3.152791666666667 + 1.159722222222222 + 1.576395833333333 + + + 2.319444444444445 + 3.013902777777778 + -0 + + + 1 + + + 1 + 0.0138889 + #f8ff29 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 3.152791666666667 + + + 2.319444444444445 + 3.152791666666667 + + + 2.319444444444445 + 0 + + + 0 + 0 + + + 0 + 3.152791666666667 + + + + 0 + + + + + -0 + 1.638888888888889 + 3.499972222222222 + 0.02777777777777778 + 0.1666666666666667 + 0.01388888888888889 + 0.08333333333333333 + + + 0.02777777777777778 + 0.1666666666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.1666666666666667 + + + 0.02777777777777778 + 0.1666666666666667 + + + 0.02777777777777778 + 0 + + + 0 + 0 + + + 0 + 0.1666666666666667 + + + + 0 + + + + + -0 + 3.534722222222222 + 4.553275 + 0.9583333333333334 + 0.3101166666666667 + 0.4791666666666667 + 0.1550583333333333 + + + 0.9583333333333334 + 0.3101166666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3101166666666665 + + + 0.9583333333333334 + 0.3101166666666665 + + + 0.9583333333333334 + 0 + + + 0 + 0 + + + 0 + 0.3101166666666665 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 0 + 0 + + 0.25 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Model + + + + -0 + 3.5 + 7.189319444444444 + 1.180555555555556 + 0.5416666666666666 + 0.5902777777777778 + 0.2708333333333333 + + + 4 + 0 + 2 + 2 + 1 + + + 1.180555555555556 + 0.5416666666666666 + -0 + + + 1 + + + 0 + + + + + -0 + 0.5902777777777778 + 0.2708333333333333 + 1.180555555555556 + 0.5416666666666666 + 0.5902777777777778 + 0.2708333333333333 + + + 0.9444444444444444 + 0.2402777777777777 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #ffffff + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 1.007666736111111 + 0.4623412083333334 + + + 1.007666736111111 + 0.07932545833333332 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.1728888194444443 + 0.07932545833333332 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.1728888194444443 + 0.4623412083333334 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 1.007666736111111 + 0.4623412083333334 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + + + -0 + 0.625 + 0.2800576388888889 + 0.8055555555555556 + 0.2396347222222222 + 0.4027777777777778 + 0.1198173611111111 + + + 0.8055555555555556 + 0.1007458333333333 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2396347222222222 + + + 0.8055555555555556 + 0.2396347222222222 + + + 0.8055555555555556 + 0 + + + 0 + 0 + + + 0 + 0.2396347222222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + root scope + + + + + + -0 + 0.8541666666666666 + 7.194444444444445 + 1.319444444444444 + 0.3055555555555556 + 0.6597222222222222 + 0.1527777777777778 + + + 1.319444444444444 + 0.1666666666666667 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #fff82f + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 1.319444444444444 + 0.3055555555555556 + + + 1.319444444444444 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + <html ng-app> + + + + -0 + 0.6388888888888888 + 5.444430555555556 + 0.75 + 0.3055555555555556 + 0.375 + 0.1527777777777778 + + + 0.75 + 0.1666666666666667 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #f5ff36 + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 0.75 + 0.3055555555555556 + + + 0.75 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + </body> + + + + -0 + 0.5694444444444444 + 4.965263888888889 + 0.75 + 0.3055555555555556 + 0.375 + 0.1527777777777778 + + + 0.75 + 0.1666666666666667 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #f5ff36 + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 0.75 + 0.3055555555555556 + + + 0.75 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + </html> + + + + -0 + 1.298611111111111 + 4.555541666666667 + 1.208333333333333 + 0.3055555555555556 + 0.6041666666666666 + 0.1527777777777778 + + + 1.208333333333333 + 0.3055555555555556 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 1.208333333333333 + 0.3055555555555556 + + + 1.208333333333333 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 0 + 0 + + 0.25 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Template + + + + -0 + 0.5972222222222222 + 6.708319444444445 + 0.6666666666666666 + 0.3055555555555556 + 0.3333333333333333 + 0.1527777777777778 + + + 0.6666666666666666 + 0.1666666666666667 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #f5ff36 + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 0.6666666666666666 + 0.3055555555555556 + + + 0.6666666666666666 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + <body> + + + + -0 + 2.21180802115303 + 7.186208620903923 + 1.381949401696509 + 0.01388888888888889 + 0.6909747008482543 + 0.006944444444444444 + + + 1.52083332030478 + 7.19315306534837 + 2.90278272200128 + 7.19047613444227 + + + 4 + 0 + 2 + 0 + 1 + + + 1.381949401696509 + 0.01388888888888889 + -0 + + + 2 + + + 9 + 0.0277778 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.01388888888888889 + + + 1.381949401696509 + 0.01121195798279374 + + + + 0 + + + + + -0 + 2.194444444444445 + 4.229152777777778 + 4.166666666666667 + 0.01388888888888889 + 2.083333333333333 + 0.006944444444444444 + + + 0.111111111111111 + 4.23609722222222 + 4.27777777777778 + 4.22220833333333 + + + 4 + 0 + 2 + 2 + 1 + + + 4.166666666666667 + 0.01388888888888889 + -0 + + + 2 + + + 1 + 0.0277778 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.01388888888888889 + + + 4.166666666666667 + 0 + + + + 0 + + + + + -0 + 2.006944444444445 + 7.378523611111111 + 1.319444444444444 + 0.3055555555555556 + 0.6597222222222222 + 0.1527777777777778 + + + 1.319444444444444 + 0.3055555555555556 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 1.319444444444444 + 0.3055555555555556 + + + 1.319444444444444 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0.0694444 + 0.0694444 + 2 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + ng-app + + + + -0 + 2.118055555555555 + 3.959946527777778 + 2.930555555555555 + 0.239634722222222 + 1.465277777777778 + 0.119817361111111 + + + 4 + 0 + 2 + 2 + 1 + + + 2.930555555555555 + 0.239634722222222 + -0 + + + 1 + + + 0 + + + + + -0 + 0.3191916666666665 + 0.1215791666666664 + 0.6383833333333333 + 0.01388888888888889 + 0.3191916666666667 + 0.006944444444444444 + + + 0 + 0.128523611111111 + 0.638383333333333 + 0.128523611111111 + + + 4 + 0 + 2 + 2 + 1 + + + 0.6383833333333333 + 0.01388888888888889 + -0 + + + 2 + + + 9 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 9.868649107779169e-17 + 0.01388888888888889 + + + 0.6383833333333334 + 0.01388888888888889 + + + + 0 + + + + + -0 + 1.837666666666667 + 0.119817361111111 + 2.185777777777778 + 0.2396347222222222 + 1.092888888888889 + 0.1198173611111111 + + + 2.185777777777778 + 0.1007458333333333 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.239634722222222 + + + 2.185777777777778 + 0.239634722222222 + + + 2.185777777777778 + 0 + + + 0 + 0 + + + 0 + 0.239634722222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Implicit Scope Declaration + + + + + + -0 + 1.145833333333333 + 6.138888888888889 + 1.513888888888889 + 0.3055555555555556 + 0.7569444444444444 + 0.1527777777777778 + + + 1.513888888888889 + 0.1666666666666667 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #f5ff36 + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 1.513888888888889 + 0.3055555555555556 + + + 1.513888888888889 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + {{ expression }} + + + + + + + + + + + 0 + 0 + 1 + 0 + 12 + 52 + 0.5 + + + diff --git a/images/docs/tutorial/tutorial_02.graffle/image11.png b/images/docs/tutorial/tutorial_02.graffle/image11.png index 30541dc6a02c..7033bfb5a998 100644 Binary files a/images/docs/tutorial/tutorial_02.graffle/image11.png and b/images/docs/tutorial/tutorial_02.graffle/image11.png differ diff --git a/images/docs/tutorial/tutorial_02.svg/image11.png b/images/docs/tutorial/tutorial_02.svg/image11.png new file mode 100644 index 000000000000..a83e9e7f82ea Binary files /dev/null and b/images/docs/tutorial/tutorial_02.svg/image11.png differ diff --git a/images/docs/tutorial/tutorial_02.svg/tutorial_02.svg b/images/docs/tutorial/tutorial_02.svg/tutorial_02.svg new file mode 100644 index 000000000000..c1e8fe241cfc --- /dev/null +++ b/images/docs/tutorial/tutorial_02.svg/tutorial_02.svg @@ -0,0 +1,1352 @@ + + + + + + Produced by OmniGraffle 6.5.2 2012-04-04 22:31:40 +0000 + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Canvas 1 + + + Layer 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Model + + + T + emplate + + + + + + Scope Inheritance + + + + V + iew + + + + + + + + + Implicit Scope Declaration + + + + + Model / V + iew Data-binding + + + + + <html ng-app="phonecatApp"> + + + + ng-controller + + + + + <body ng-controller= "PhoneListController"> + + + + + + + <li ng-repeat="phone in phones"> <span>{{phone.name}}</span> <p>{{phone.snippet}}</p></li> + + <ul> + + </ul> + + + + </html> + + + + </body> + + + + + + + + + + + + RootScope + + + + + PhoneListControllerScopephones: Array + + + + + + + + RepeaterScopephone: Object + + + + ng-app + + + + + + ng-repeat + + + diff --git a/images/docs/tutorial/tutorial_02.vdx b/images/docs/tutorial/tutorial_02.vdx new file mode 100644 index 000000000000..948aab97a2c2 --- /dev/null +++ b/images/docs/tutorial/tutorial_02.vdx @@ -0,0 +1,4613 @@ + + + + 12 + 52 + + + 7.68056 + 10.5 + 1 + 0.25 + 0.25 + 0.25 + 0.569444 + 1 + 1 + + + + + + + + + + + + + + 0.111111 + 0.111111 + + + 1 + 1 + 10.5 + 7.68056 + 3 + 0 + -0.0277778 + + + Layer 1 + 1 + 1 + 0 + + + + + + -0 + 1 + 1 + 5.3125 + 4.902777777777778 + 3.152777777777778 + 5.388888888888889 + 1.576388888888889 + 2.694444444444445 + + + 3.152777777777778 + 5.25 + -0 + + + 1 + + + 1 + 0.0138889 + #4fff75 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 5.388888888888889 + + + 3.152777777777778 + 5.388888888888889 + + + 3.152777777777778 + 0 + + + 0 + 0 + + + 0 + 5.388888888888889 + + + + 0 + + + + + -0 + 1.8125 + 4.902777777777778 + 3.486111111111111 + 5.388888888888889 + 1.743055555555556 + 2.694444444444445 + + + 3.486111111111111 + 5.25 + -0 + + + 1 + + + 1 + 0.0138889 + #f8ff29 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 5.388888888888889 + + + 3.486111111111111 + 5.388888888888889 + + + 3.486111111111111 + 0 + + + 0 + 0 + + + 0 + 5.388888888888889 + + + + 0 + + + + + -0 + 1.638888888888889 + 4.041638888888889 + 0.02777777777777778 + 0.1666666666666667 + 0.01388888888888889 + 0.08333333333333333 + + + 0.02777777777777778 + 0.1666666666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.1666666666666667 + + + 0.02777777777777778 + 0.1666666666666667 + + + 0.02777777777777778 + 0 + + + 0 + 0 + + + 0 + 0.1666666666666667 + + + + 0 + + + + + -0 + 5.291666666666667 + 2.450177777777778 + 0.9583333333333334 + 0.3101166666666667 + 0.4791666666666667 + 0.1550583333333333 + + + 0.9583333333333334 + 0.3101166666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3101166666666665 + + + 0.9583333333333334 + 0.3101166666666665 + + + 0.9583333333333334 + 0 + + + 0 + 0 + + + 0 + 0.3101166666666665 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 0 + 0 + + 0.25 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Model + + + + -0 + 5.291666666666667 + 7.236111111111111 + 1.402777777777778 + 0.5416666666666666 + 0.7013888888888888 + 0.2708333333333333 + + + 4 + 0 + 2 + 2 + 1 + + + 1.402777777777778 + 0.5416666666666666 + -0 + + + 1 + + + 0 + + + + + -0 + 0.7013888888888888 + 0.2708333333333333 + 1.402777777777778 + 0.5416666666666666 + 0.7013888888888888 + 0.2708333333333333 + + + 1.122222222222222 + 0.2402777777777777 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #ffffff + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 1.197345180555555 + 0.4623412083333334 + + + 1.197345180555555 + 0.07932545833333332 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.2054325972222225 + 0.07932545833333332 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.2054325972222225 + 0.4623412083333334 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 1.197345180555555 + 0.4623412083333334 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + + + -0 + 0.7426499999999999 + 0.2800576388888889 + 0.9571888888888888 + 0.2396347222222222 + 0.4785944444444444 + 0.1198173611111111 + + + 0.9571888888888888 + 0.1007458333333333 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2396347222222222 + + + 0.9571888888888888 + 0.2396347222222222 + + + 0.9571888888888888 + 0 + + + 0 + 0 + + + 0 + 0.2396347222222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Root Scope + + + + + + -0 + 0.5277777777777778 + 7.236111111111111 + 0.6666666666666666 + 0.3055555555555556 + 0.3333333333333333 + 0.1527777777777778 + + + 0.6666666666666666 + 0.1666666666666667 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #fff82f + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 0.6666666666666666 + 0.3055555555555556 + + + 0.6666666666666666 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + <html> + + + + -0 + 0.7083333333333334 + 3.288736111111111 + 0.75 + 0.3055555555555556 + 0.375 + 0.1527777777777778 + + + 0.75 + 0.1666666666666667 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #f5ff36 + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 0.75 + 0.3055555555555556 + + + 0.75 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + </body> + + + + -0 + 0.5694444444444444 + 2.851236111111111 + 0.75 + 0.3055555555555556 + 0.375 + 0.1527777777777778 + + + 0.75 + 0.1666666666666667 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #f5ff36 + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 0.75 + 0.3055555555555556 + + + 0.75 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + </html> + + + + -0 + 2.020833333333333 + 2.452458333333333 + 1.208333333333333 + 0.3055555555555556 + 0.6041666666666666 + 0.1527777777777778 + + + 1.208333333333333 + 0.3055555555555556 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 1.208333333333333 + 0.3055555555555556 + + + 1.208333333333333 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 0 + 0 + + 0.25 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Template + + + + -0 + 2.725694269097223 + 7.229166666666667 + 3.715277427083335 + 0.01388888888888889 + 1.857638713541668 + 0.006944444444444444 + + + 0.868055555555556 + 7.23611111111111 + 4.58333298263889 + 7.23611111111111 + + + 4 + 0 + 2 + 0 + 1 + + + 3.715277427083335 + 0.01388888888888889 + -0 + + + 2 + + + 9 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.01388888888888889 + + + 3.715277427083335 + 0.01388888888888889 + + + + 0 + + + + + -0 + 9.680555555555555 + 6.615812500000001 + 0.75 + 0.3101166666666667 + 0.375 + 0.1550583333333333 + + + 0.75 + 0.3101166666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3101166666666665 + + + 0.75 + 0.3101166666666665 + + + 0.75 + 0 + + + 0 + 0 + + + 0 + 0.3101166666666665 + + + + 0 + + + + + -0 + 2.854166666666667 + 7.369817361111111 + 1.319444444444444 + 0.2396347222222222 + 0.6597222222222222 + 0.1198173611111111 + + + 1.319444444444444 + 0.2396347222222222 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2396347222222223 + + + 1.319444444444444 + 0.2396347222222223 + + + 1.319444444444444 + 0 + + + 0 + 0 + + + 0 + 0.2396347222222223 + + + + 0 + + + 0.0694444 + 0.0694444 + 2 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + ng-app + + + + -0 + 1.111111111111111 + 6.023763888888889 + 1.583333333333333 + 0.5416666666666666 + 0.7916666666666666 + 0.2708333333333333 + + + 1.583333333333333 + 0.4027777777777778 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #f5ff36 + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.5416666666666665 + + + 1.583333333333333 + 0.5416666666666665 + + + 1.583333333333333 + 0 + + + 0 + 0 + + + 0 + 0.5416666666666665 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + <body + ng-controller= + "PhoneListCtrl"> + + + + -0 + 5.215277777777778 + 2.034722222222222 + 10.18055555555556 + 0.01388888888888889 + 5.090277777777778 + 0.006944444444444444 + + + 0.125 + 2.04166666666667 + 10.3055555555556 + 2.02777777777778 + + + 4 + 0 + 2 + 2 + 1 + + + 10.18055555555556 + 0.01388888888888889 + -0 + + + 2 + + + 1 + 0.0277778 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.01388888888888889 + + + 10.18055555555556 + 0 + + + + 0 + + + + + -0 + 5.298027777777778 + 6.019080555555556 + 1.938666666666667 + 1.211838888888889 + 0.9693333333333334 + 0.6059194444444445 + + + 4 + 0 + 2 + 2 + 1 + + + 1.938666666666667 + 1.211838888888889 + -0 + + + 1 + + + 0 + + + + + -0 + 0.9693333333333337 + 0.6059194444444445 + 1.938666666666667 + 1.211838888888889 + 0.9693333333333334 + 0.6059194444444445 + + + 1.550933333333333 + 0.7093983333333331 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #ffffff + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 1.654754749333334 + 1.034368719127778 + + + 1.654754749333334 + 0.177470169761111 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.2839119173333337 + 0.177470169761111 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.2839119173333337 + 1.034368719127778 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 1.654754749333334 + 1.034368719127778 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + + + -0 + 1.016893750000001 + 0.7017048611111112 + 1.194870833333333 + 0.3443791666666667 + 0.5974354166666667 + 0.1721895833333333 + + + 1.194870833333333 + 0.2054902777777778 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3443791666666666 + + + 1.194870833333334 + 0.3443791666666666 + + + 1.194870833333334 + 0 + + + 0 + 0 + + + 0 + 0.3443791666666666 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + PhoneListCtrl Scope + + + + + + -0 + 5.332153472222222 + 5.722222222222222 + 1.340251388888889 + 0.3055555555555556 + 0.6701256944444444 + 0.1527777777777778 + + + 1.340251388888889 + 0.1666666666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 1.340251388888889 + 0.3055555555555556 + + + 1.340251388888889 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 1 + 0 + + 0.152778 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + phones: Array + + + + + -0 + 3.115736639380332 + 6.015926041488637 + 2.412028843007047 + 0.01388888888888889 + 1.206014421503524 + 0.006944444444444444 + + + 1.90972221787681 + 6.02287048593308 + 4.32175106088386 + 6.02017215920111 + + + 4 + 0 + 2 + 0 + 1 + + + 2.412028843007047 + 0.01388888888888889 + -0 + + + 2 + + + 9 + 0.0277778 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.01388888888888889 + + + 2.412028843007047 + 0.01119056215691473 + + + + 0 + + + + + -0 + 0.6944444444444444 + 5.027775 + 0.5 + 0.3101166666666667 + 0.25 + 0.1550583333333333 + + + 0.5 + 0.1712277777777778 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #f5ff36 + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3101166666666665 + + + 0.5 + 0.3101166666666665 + + + 0.5 + 0 + + + 0 + 0 + + + 0 + 0.3101166666666665 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + <ul> + + + + -0 + 2.020833333333333 + 4.375 + 2.902777777777778 + 0.75 + 1.451388888888889 + 0.375 + + + 2.902777777777778 + 0.6111111111111112 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #f5ff36 + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.75 + + + 2.902777777777778 + 0.75 + + + 2.902777777777778 + 0 + + + 0 + 0 + + + 0 + 0.75 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + <li ng-repeat="phone in phones"> + {{phone.name}} + <p>{{phone.snippet}}</p> +</li> + + + + -0 + 5.225694444444445 + 1.74479375 + 2.388888888888889 + 0.239634722222222 + 1.194444444444444 + 0.119817361111111 + + + 4 + 0 + 2 + 2 + 1 + + + 2.388888888888889 + 0.239634722222222 + -0 + + + 1 + + + 0 + + + + + -0 + 0.3333333333333333 + 0.1198291666666659 + 0.6666666666666666 + 0.01388888888888889 + 0.3333333333333333 + 0.006944444444444444 + + + 0 + 0.12677361111111 + 0.666666666666667 + 0.12677361111111 + + + 4 + 0 + 2 + 2 + 1 + + + 0.6666666666666666 + 0.01388888888888889 + -0 + + + 2 + + + 1 + 0.0277778 + #17ff1c + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.01388888888888889 + + + 0.6666666666666666 + 0.01388888888888889 + + + + 0 + + + + + -0 + 1.576388888888889 + 0.119817361111111 + 1.625 + 0.2396347222222222 + 0.8125 + 0.1198173611111111 + + + 1.625 + 0.1007458333333333 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.239634722222222 + + + 1.625 + 0.239634722222222 + + + 1.625 + 0 + + + 0 + 0 + + + 0 + 0.239634722222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Scope Inheritance + + + + + + -0 + 5.670138888888889 + 4.527777777777778 + 1.729166666666667 + 1.055555555555556 + 0.8645833333333334 + 0.5277777777777778 + + + 4 + 0 + 2 + 2 + 1 + + + 1.729166666666667 + 1.055555555555556 + -0 + + + 1 + + + 0 + + + + + -0 + 0.8645833333333334 + 0.5277777777777778 + 1.729166666666667 + 1.055555555555556 + 0.8645833333333334 + 0.5277777777777778 + + + 4 + 0 + 2 + 2 + 1 + + + 1.729166666666667 + 1.055555555555556 + -0 + + + 1 + + + 0 + + + + + -0 + 0.8645833333333334 + 0.5277777777777778 + 1.729166666666667 + 1.055555555555556 + 0.8645833333333334 + 0.5277777777777778 + + + 1.383333333333334 + 0.6 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #ffffff + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 1.475935395833334 + 0.9009726111111109 + + + 1.475935395833334 + 0.1545829444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.253231270833333 + 0.1545829444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.253231270833333 + 0.9009726111111109 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 1.475935395833334 + 0.9009726111111109 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + + + -0 + 0.8602083333333334 + 0.7277458333333335 + 1.208333333333333 + 0.4669805555555555 + 0.6041666666666666 + 0.2334902777777778 + + + 1.208333333333333 + 0.3280916666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.4669805555555552 + + + 1.208333333333333 + 0.4669805555555552 + + + 1.208333333333333 + 0 + + + 0 + 0 + + + 0 + 0.4669805555555552 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + phone scope + + + + + + -0 + 0.9930555555555556 + 0.3998444444444446 + 1.472222222222222 + 0.3101166666666667 + 0.7361111111111112 + 0.1550583333333333 + + + 1.472222222222222 + 0.1712277777777778 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3101166666666665 + + + 1.472222222222222 + 0.3101166666666665 + + + 1.472222222222222 + 0 + + + 0 + 0 + + + 0 + 0.3101166666666665 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.152778 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + phone: Object + + + + + + -0 + 5.795138888888889 + 4.402777777777778 + 1.729166666666667 + 1.055555555555556 + 0.8645833333333334 + 0.5277777777777778 + + + 4 + 0 + 2 + 2 + 1 + + + 1.729166666666667 + 1.055555555555556 + -0 + + + 1 + + + 0 + + + + + -0 + 0.8645833333333334 + 0.5277777777777778 + 1.729166666666667 + 1.055555555555556 + 0.8645833333333334 + 0.5277777777777778 + + + 4 + 0 + 2 + 2 + 1 + + + 1.729166666666667 + 1.055555555555556 + -0 + + + 1 + + + 0 + + + + + -0 + 0.8645833333333334 + 0.5277777777777778 + 1.729166666666667 + 1.055555555555556 + 0.8645833333333334 + 0.5277777777777778 + + + 1.383333333333334 + 0.6 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #ffffff + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 1.475935395833334 + 0.9009726111111109 + + + 1.475935395833334 + 0.1545829444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.253231270833333 + 0.1545829444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.253231270833333 + 0.9009726111111109 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 1.475935395833334 + 0.9009726111111109 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + + + -0 + 0.8602083333333334 + 0.7277458333333335 + 1.208333333333333 + 0.4669805555555555 + 0.6041666666666666 + 0.2334902777777778 + + + 1.208333333333333 + 0.3280916666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.4669805555555552 + + + 1.208333333333333 + 0.4669805555555552 + + + 1.208333333333333 + 0 + + + 0 + 0 + + + 0 + 0.4669805555555552 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + phone scope + + + + + + -0 + 0.9930555555555556 + 0.3998444444444446 + 1.472222222222222 + 0.3101166666666667 + 0.7361111111111112 + 0.1550583333333333 + + + 1.472222222222222 + 0.1712277777777778 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3101166666666669 + + + 1.472222222222222 + 0.3101166666666669 + + + 1.472222222222222 + 0 + + + 0 + 0 + + + 0 + 0.3101166666666669 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.152778 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + phone: Object + + + + + + -0 + 5.920138888888889 + 4.277777777777778 + 1.729166666666667 + 1.055555555555556 + 0.8645833333333334 + 0.5277777777777778 + + + 4 + 0 + 2 + 2 + 1 + + + 1.729166666666667 + 1.055555555555556 + -0 + + + 1 + + + 0 + + + + + -0 + 0.8645833333333334 + 0.5277777777777778 + 1.729166666666667 + 1.055555555555556 + 0.8645833333333334 + 0.5277777777777778 + + + 4 + 0 + 2 + 2 + 1 + + + 1.729166666666667 + 1.055555555555556 + -0 + + + 1 + + + 0 + + + + + -0 + 0.8645833333333334 + 0.5277777777777778 + 1.729166666666667 + 1.055555555555556 + 0.8645833333333334 + 0.5277777777777778 + + + 1.383333333333334 + 0.6 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #ffffff + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 1.475935395833334 + 0.9009726111111109 + + + 1.475935395833334 + 0.1545829444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.253231270833333 + 0.1545829444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.253231270833333 + 0.9009726111111109 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 1.475935395833334 + 0.9009726111111109 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + + + -0 + 0.8602083333333334 + 0.7277458333333335 + 1.208333333333333 + 0.4669805555555555 + 0.6041666666666666 + 0.2334902777777778 + + + 1.208333333333333 + 0.3280916666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.4669805555555552 + + + 1.208333333333333 + 0.4669805555555552 + + + 1.208333333333333 + 0 + + + 0 + 0 + + + 0 + 0.4669805555555552 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Repeater +Scope + + + + + + -0 + 0.9930555555555556 + 0.3303999999999997 + 1.472222222222222 + 0.3101166666666667 + 0.7361111111111112 + 0.1550583333333333 + + + 1.472222222222222 + 0.1712277777777778 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3101166666666665 + + + 1.472222222222222 + 0.3101166666666665 + + + 1.472222222222222 + 0 + + + 0 + 0 + + + 0 + 0.3101166666666665 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.152778 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + phone: Object + + + + + + -0 + 4.139895523651552 + 4.463714199765159 + 1.321469869277556 + 0.05532312477772194 + 0.660734934638778 + 0.02766156238886097 + + + 3.47916058901277 + 4.4360526373763 + 4.80063045829033 + 4.49137576215402 + + + 4 + 0 + 2 + 0 + 1 + + + 1.321469869277556 + 0.05532312477772194 + -0 + + + 2 + + + 9 + 0.0277778 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 3.947459643111667e-16 + 0 + + + 1.321469869277556 + 0.05532312477772194 + + + + 0 + + + + + -0 + 4.201419896589004 + 4.389419057374635 + 1.444506835957859 + 0.01388888888888889 + 0.7222534179789295 + 0.006944444444444444 + + + 3.47916647861007 + 4.38573262839266 + 4.92367331456793 + 4.39636350181908 + + + 4 + 0 + 2 + 0 + 1 + + + 1.444506835957859 + 0.01388888888888889 + -0 + + + 2 + + + 9 + 0.0277778 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.003258015462468301 + + + 1.444506835957859 + 0.01388888888888889 + + + + 0 + + + + + -0 + 4.264246562960143 + 4.319064032219704 + 1.570164107766123 + 0.03914956361222485 + 0.7850820538830613 + 0.01957478180611242 + + + 3.47916450907708 + 4.33863881402582 + 5.0493286168432 + 4.29948925041359 + + + 4 + 0 + 2 + 0 + 1 + + + 1.570164107766123 + 0.03914956361222485 + -0 + + + 2 + + + 9 + 0.0277778 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.03914956361222485 + + + 1.570164107766123 + 0 + + + + 0 + + + + + -0 + 5.300064920396768 + 6.795137642079719 + 0.01388888888888889 + 0.3263924010531976 + 0.006944444444444444 + 0.1631962005265988 + + + 5.29482577317895 + 6.63194144155312 + 5.29312047595232 + 6.95833384260632 + + + 4 + 0 + 2 + 0 + 1 + + + 0.01388888888888889 + 0.3263924010531976 + -0 + + + 2 + + + 1 + 0.0138889 + #2fff41 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0.001705297226621383 + 0 + + + 0 + 0.3263924010531976 + + + + 0 + + + + + -0 + 5.622607840074725 + 5.110575492477151 + 0.2218899004576984 + 0.6210760280398873 + 0.1109449502288492 + 0.3105380140199436 + + + 5.73355279030357 + 4.80003747845721 + 5.51166288984588 + 5.4211135064971 + + + 4 + 0 + 2 + 0 + 1 + + + 0.2218899004576984 + 0.6210760280398873 + -0 + + + 2 + + + 1 + 0.0138889 + #39ff42 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0.2218899004576984 + 0 + + + 0 + 0.6210760280398873 + + + + 0 + + + + + -0 + 5.558320375564575 + 5.172770429604866 + 0.1504523229245728 + 0.4891812784230665 + 0.07522616146228639 + 0.2445906392115332 + + + 5.63354653702686 + 4.92817979039333 + 5.48309421410229 + 5.4173610688164 + + + 4 + 0 + 2 + 0 + 1 + + + 0.1504523229245728 + 0.4891812784230665 + -0 + + + 2 + + + 1 + 0.0138889 + #45ff51 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0.1504523229245728 + 0 + + + 0 + 0.4891812784230665 + + + + 0 + + + + + -0 + 5.493683691519897 + 5.234965464780772 + 0.08915494182797169 + 0.3573103996725347 + 0.04457747091398585 + 0.1786551998362673 + + + 5.53826116243388 + 5.0563102649445 + 5.44910622060591 + 5.41362066461704 + + + 4 + 0 + 2 + 0 + 1 + + + 0.08915494182797169 + 0.3573103996725347 + -0 + + + 2 + + + 1 + 0.0138889 + #37ff37 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0.08915494182797248 + 0 + + + 7.894919286223335e-16 + 0.3573103996725347 + + + + 0 + + + + + -0 + 0.6944444444444444 + 3.722219444444444 + 0.5 + 0.3101166666666667 + 0.25 + 0.1550583333333333 + + + 0.5 + 0.1712277777777778 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #f5ff36 + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3101166666666665 + + + 0.5 + 0.3101166666666665 + + + 0.5 + 0 + + + 0 + 0 + + + 0 + 0.3101166666666665 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + <ul> + + + + -0 + 2.777777777777778 + 6.145833333333333 + 1.444444444444444 + 0.2083333333333333 + 0.7222222222222222 + 0.1041666666666667 + + + 1.444444444444444 + 0.2083333333333333 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2083333333333333 + + + 1.444444444444444 + 0.2083333333333333 + + + 1.444444444444444 + 0 + + + 0 + 0 + + + 0 + 0.2083333333333333 + + + + 0 + + + 0.0694444 + 0.0694444 + 2 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + ng-controller + + + + -0 + 1 + 1 + 8.692708333333334 + 4.902777777777778 + 3.274305555555555 + 5.388888888888889 + 1.637152777777778 + 2.694444444444445 + + + 3.274305555555555 + 5.25 + -0 + + + 1 + + + 1 + 0.0138889 + #1e23ff + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 5.388888888888889 + + + 3.274305555555555 + 5.388888888888889 + + + 3.274305555555555 + 0 + + + 0 + 0 + + + 0 + 5.388888888888889 + + + + 0 + + + + + -0 + 8.784722222222221 + 2.450177777777778 + 0.9583333333333334 + 0.3101166666666667 + 0.4791666666666667 + 0.1550583333333333 + + + 0.9583333333333334 + 0.3101166666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3101166666666665 + + + 0.9583333333333334 + 0.3101166666666665 + + + 0.9583333333333334 + 0 + + + 0 + 0 + + + 0 + 0.3101166666666665 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 0 + 0 + + 0.25 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + View + + + + -0 + 8.722222222222221 + 6.104166666666667 + 3 + 2.375 + 1.5 + 1.1875 + + + 3 + 2.236111111111111 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 2.375 + + + 3 + 2.375 + + + 3 + 0 + + + 0 + 0 + + + 0 + 2.375 + + + + 0 + 0 + 3 + 2.375 + + Qk0AAAAAAAAAADYAAAAoAAAA2AAAAKsAAAABABgAAAAAANiwAQAAAAAAAAAAAAAAAAAAAAAA/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////f//9PT0/vj2////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////kazKcl50+/fh////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7/f9xsfI1NPRyM7Q3dPM//75////2ubt0tDPy87P6ufi2dzg1tTS2dTS//r0/P//xc3TtLW13tXM////////////////9Pv9zNHX0M7Ny8jJ+O7m////////////+fn66t3i////////+///xs/TtLW13NPK////5/T9zcnJ8OPf////5erv0tXWz8rI//nz8//+w8bL28nF////yeLnUj9HvIhy////////8/r9zNDW0M7NzMjI+e/n////////////9/j5697i////////+v//xc3TtLW139XM////5vL7zcnJ8eXg/v//5Onu0tXW0MvJ//r08f/+wsXJ28nG////////////////////////4ezzr7a7p6Wmsqyr1srC//rz////////////3ebttbrAvbm2//jv////1dvh09PP2djX6u3u09LRzdLT7+Lc////4Orytr3Auriz/vXq/f//z9Pa1NTQz9DP/PLr////1+Htv7/D7d/Y5fHyx8rO+ebi9f/+w8fN1cfE2N7j0c/OzM3O9Onk////zNnos6yxu7i28+Ha////4+/3z87MzM/Q6ebi2t3f1dXR2NXT//jz////////////////yt3iwru/9/Ds2eTwwL7C7+Ha5PDyx8rM+Ojk+v//wszStLKyxbez//rv////5/D3y8rJztLS49fU////3unytrvBvLi1//Xs////////0uXqvr3B9ufh+v//zs/T8ujg////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////0Or4N1BdAAAAGQcDl3tp//zv////jrTJAAUZIgcBwrepXoacAAAAbDUk//vja5arAAAAJCAXIBwiyKuh////////////3PT6QmmGAAEGTx0X6sq1////////+v//cW6MtG1h////+///bJKjAAAAIh0WHxwhxbWlwe39ABc6n2ZH////Vo+qAAAAbj4r/+7aaJ/DCgAGazcs6OndKWyBAAAAy5uD////////2vL4PWSBAAAGVCAZ6865////////9///bGaDuHJm////+f//ZYqaAAAAJCAXIRwiyLyru+j5ABU2qm9Q////TIWiAAAAdUUx//DdYJa7CwACZTct9NvI/////////////v//lKu2DCQ4MikhOjo6Ojo6Lywrf2JW9enX////w+nvByU2CwABICcldFpa9fbpVYGeAAACeVJAwsrMDS9EBgAAzqeL1vTzFDJEBwABJSwnZk9Q4enfT3KPAAAASxwX89bE1PL2BSBJGRQNemZcJENDFQQE4racc6XACgUKXjcsYG59AQgUNhQK6cKwpsLTFwwwa0tDUGVlYTEw8N7ZrdDqAhgwHQUGvrOpXYWaAAAAaz0m/+vd////////////tNnuABs3NR0ZkJKHEiREHxcRe2hhIUBDGgYF27mhdp6zHRcXRzk7KzU5kW1Z/+jit9XpFS5ACgABqYZ0zeTgDi9DCQABIyomaFFS+fLo0O75BzJQGhkQwo99wu7uAAAFrnFP////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7P/+GyRMn1lJ////////////////KkRzqGpa////z/3+EB8/0YtvrejxAAAFcEI29u3fj6zGRy9A4cav////////////3v/9YXOA+rmd////////////aqrPBwAP0Zt6////mc/sAAAJaDs08+nclrHJRC1C7ci3o9fyWE5c1tvbM0p0Uw8P//jk/v//IDlnh1VI5fDi597djq++f2Bl/ejY////////////2v/9YXB6/L6h////////////YKLJCQAL16KB////kMjmAAACcEI39u3fj6zGSC0/78y8m9XvX1Fc1t7hK0RpWRUR//zq/P//HjJhkF5O4O3j69TP////////////d5u/AAAAZEo1///v////////hcPnAAAN2K+M8/v/FUhrEgkAyayh8Pv4SWSHvoBxwef4IiJF6aaJ////ZqPLfDQ29PvxH12BCAMAwqKW+P/7TW2TrXFn0vH2GiBF1YVw////g77iAAoJ5s+ssNjnCAwam1hJ+P//IzppiVZJ7PPp1ODgMUlowHRb9f/+ABE0jlc9////////K05mcjAZ///+SIK4iUpE////xPX/KSVA3ZV9////////////////aJW5MwEW8+jCbKvIAwIA79y5p9LjCAoXoWFO9P/+Gy5cpHNe////5P/+FzRJmk40////hL/lYSwu8/rsG1Z7DQUAxqec9f/6TmmOrX5vj7XKJgMe5sqm5OPh2N3keICD2b6s////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4//+IC9gk1pK////////////8//+Jjxoq3tp////2P3+MDlQxYVnYKjHOyIp//7k////////39vk3cHF////////////3v3+lqSi7rqg////////rtvxAA8qAAAAz4Nw////UJK6Nxsi//jd////////4eHn373A////W4euGygxAwAA66+Y/////P//KEVyn25g////////////////////////////////2/3+lqKe8L2k////////qNjsAAojBQAA1Yt5////R4qyPCAl//7k////////39vk4cLD////V4OpGyktBwAB7rme////9v//JkBtqXdm////////////////xefzAA0uRyEV///u////////////nszpBBch3rybxev7BRY5vIZq////////////07nBsNjqICZD2pp8////fbrYlFNNydjbAShMq3de////////////0brCu9rmITRTz5B1////zun1ACFGs2hY////P16FpVtH////JkZ5n25e////4P/9KjxYvXJblNvvCgsX58Sm////////X4ytPBUX//7YSIi2e0U9///vyPf/UFBd3ZOB////////////////a5e6QB4s//fR0/X/AB1DvnJf////OVR6qmJM////JkJ0onFh///5////YI6tORsY//rffLvdXS4tvcvFAiJEtH9j////////////0LvDjLLFMBky/966////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////3//+HixbkldI////////////8//+Jjxopnll////2v3+JTROuIJiZqbEak5EycC4xsTE0c7N8evo////////////////3//+j5+d57Ka////0fL/DS1AAAAAa1hSwH1/////T466Ykg8yr60xcXE0c7M8Onn////////vvL/AAAAgkc1/////////P//KEVzlmNV///1////////////////////////////3P/+kJyZ6bWe////zu78DCg6AAAAb1lSxISE////Soi0ak0+ycC4xsTE0c7N8evo////////tev4AAAAjFA/////////9///JkBtn2tb///4////////////jL3gAAcRt3NV////////////////otXwAhcg7Mmlv+X6Jj1Sw5R0w8rNzcjD39fY///9sd30IihC25qA////fLnUj01JwtPXK0ljvYprw8rPzcfC3NfV///5wuf4IjBO0oxz////////0eDycGV7Nz1YExcdsWpc////J0d5lWRV///73P7+Kj1ZvnVchc7iLQoZ7sqz////////T3+dRxkY//3dSIe2fEY+///zyPf/TUpa2ZF+////////////////bZm8OhUm/+PD////zd3vbWJ4ODtaExQbuHRi////JkJxoXFg///6////W4u0Qhcl//bSfrzeWy4ttsbDKkVcwI5ww8rNzcfE3tbX///+krzVLBQr/dGv////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////3//+HixbkldI////////////8//+JjxomGlX////vO3/Exgy3IxxjM7pLBcirJaGnLO2DjpTWi0Z/+TO////////////3v7+j52b97mf8f/+Lk5aAAAAqJp/vcDCrXOA////fLbaKBUfqZB/obW4DUBYVCkX/+HJ////QWGUBQIBgDkx///z////////K0Z1mWxc///9////////////////////////////2/7+j5qX+byj7f/+KEdVAAAAr6OIurq+r3eF////da/ULBgfrJaGnLO2DjpTWiwY/+bN/P//OlmNBQEAh0A4///4/////P//KkFvonRj////////////////Y5S+AAAKxJx8////////////xt3lL0RnAAQGjlpD1OLjID9gckEyzs7FT4WWFRwi1Z96tdfxFxI31pp7////VpO5gEY/4enoKlBwaTks0c/FXI+dFBwnw4xqxOHwGCRHy4tv////5v/+aHCJ1dDGnrTBFiI4n1xM////K0h6mWxc////3P7+LT5ZuG1Vt/L7HRIk37qi////8//+EkhjVB4G///vP26pcz04///1teP7KSs/356E////////////////c5u9Ohsr//LN6//+aG+I29TJmbC/FB0yp2ZT////JkJylGhZ////8v/+E0pqThoK//zifLrcWiss1NrSJEdqbT0w0M/FVoqaFRwkyZp3nMDVLRkx/9y5////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////3//+HixbkldI////////////9f/+Jj9yGRMPp5h/THKPHQAC87mf7f/+LTxhtJuPn8PMAAEkaUwx//v2////////////3P7+nqah99SzWoe4AAAAk2FG////rbPBrmx5////5fz+LT5krJOIp8XMAAYrYkcu8/TzgK7KAAESmINtY3KBnlFE+vPw3Pn7FilLdEo+4dHL/vv5////////////////////////2f3+nqOd9ta2VIGzAAAAmGZL////qKm6sXF8////3/38LT1gtJuPn8PMAAEkak0z8vTzeafEAAISmop2Xmx7olVI+/Tx1vj5FCRFe1FE4tPN//z4////////fK3SAAQQuodm////////////3ufture/0s/Nz8nG/Pv5aY2uTDdG19bWMm6PAgQJ3cepepq3AAAAWTIWq6ybDyhRgTs0///9eqG9RDJD2NfTQHyfAQAFvrCUYombBQYKT0czLDZEaWZgJCUiwpeBzO3uLzJLyXlo6fX7FSpMeE1A3dTQgam6BAUTrGdX+v//N1OFgVVK2tjTZpCmEBARzJB42vz7DydQEAMCnYhqSW6LHgAC6bqe////////////+fz+SnaYKgcP27ah0vTuFyQtyZuBxOvvLSpDy35p////K0d7FhAPkYl4RmZtBAQFqntj///9eLHSUiQn/vfgcpi2SDNF2NbVOXaXAgAG3MWncp63HQYSyaSO8+3s////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9vD0/PT3////4P/+Hi1ck1pK////////9/b17/j0K0NwfGRXb4uTLS0up3Fl//79////0+v4Wm6JNTY3mHFj/fTp////////////////6//+nK+uWmllAAYibBsZ/+ra////r669sHKA////////1u/6XXKNNTc3lG5e+/3uwN/0Z3J6ZGRgtqWbi6SxaE9P6L+vptfrABY1LQsLgkxa/Orc////////////////////////6f7+m6yqVmhlAAMeciQc/+/d////q6e2s3aE////////0+v4Wm6JNTY3mXFj/Pzzu9vwZnB3Z2VjuKiehqKtaU5M7MSyn9DoABMwMAsNhVFd/+/g////////r9rxAAoiik43////////////////////1djm9vXv/////f7/lLHNNTZHWDw02b2s////p8PSeWxrpJiOUWptSCkv4Lyr/////v//nbvVNTlNUDY10rSi/f//ssnUjo+QsLevJEZWm3pnvMrNWFJySVBRilpT//z7m8zqABYyLwoMgk9cytLHh4SWvZqe////5vv/coibQjQ1Pzc21LSn////2Ov0fY2bjHRtf5ORLS0upWxg/v34////////////3vP9AlN6BwACXyMn17mytcrSVk5tSU9Qj11W//zw/P//K0V3b1ZRaH+EKSorpYh3///z////eK/NTiIm/+fS/f//mLbRNTZKUzk02rqp9f/+KG+WAAEGUx8gxJ2c////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////oKjFkoCO/////f//IS9jolpM////w/b/iHx/9OfPMFCEq3pn////////////////////////////////////////////////////////////VIqdAAAAMgoL7tTE////////nq3DllNh////////////////////////////////////////////////////////////e7nTrY1////4////////////////////////////////ToGXAAAAOA4P8djJ////////l6G7m1hm////////////////////////////////////////////////////////////eLXOs5GA///7/////////////v//TW6aAAAAvI96////////////rs7mMhc448y5////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////e7nTrY1////6/P//7PDt//jx////////////////////////////////////////////////////////////////////////uOL1bnd7/9nA////////////////////////////JkFhpnNh////////////////////gsDeUSUp9+LP////////////////////////z+76Z4CK/Miu////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////hL3fAAYma1I8V2ltAAAEJwAEbW1tAyVCQCoetbOsAAInnWJG///+////////////////////////////////////////////////5ff7dJWmAAwZEwIA0MKn////////ssjTDyMtFQACrZyT///4////////////////////////////////////////////////////////8urr/fr6////////////////////////4/b6b5KjAAkXFwYA1Met/////v//rsTPCx4nGAACsaCX///6////////////////////////////////////////////////////////8ens/fv7////////////////7f/+UmyJDgIPY1NGcHFxaXBvByA/IQAD7dK4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8urr///+v+b4BREypG1S////////////////////////////////////////////////////////////////////////////+Pf19Ovt////////////////////////pMzXAAAAl1s2///7////////////x9zqEztSJAAD+ObP////////////////////////////+/z78efq////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////3fL6gpKhZ2xxa2dmiIeAeIKFZmZmfXVvwLSjvMDKfoSK0bei//79////////////////////////////////////////////////5Pb8f5GihH57yris////////////r8XSfHh2fIOGqJeO///4////////////////////////////////////////////////////////////////////////////////////////4vX6fY6ehX98zbyv/////////v//q8HOfXp4e4KFrZyS///6////////////////////////////////////////////////////////////////////////////////////////rMbTXGNoWFZWZF9esLGgs5+b8+jf////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2O/5Z2uGwaSZ////////////////////////////////////////////////////////////////////////////////////////////////////////////uMfWfoKJzbGf//37////////////xNrpeHp/h3Z0+vLl///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7+/////////////////////////v//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////yeTubnaBd3l6moB3//Tj9Pb7zrrT////0OT1b3R8gn9+bXJ4waeY///+////ueT1WWFvamZfUk5NjH9z///6////////////////rsXTcWpngYODbGpv2MCv////////////////0ff/X25+aGNcWVdVdmpk//Dm////////sM7ebm1zg4GAbW1u2L6v////9P/+iZ6ra25xzrio////////1fn/X3CBZ2NbW1lXcWli/ezi////////tdLhbW1zg4F/aG1wXl5eXl5eY2Bfknp7/ubclMLUenVvlHp6+OTZ////////ssfbfX18gYGBgIB+//vs////////9v//fJ+yd3NufXt82cK2////1ev5foGBg4ODbnx+nYB7///x////////k8PWUl1ha2hiWVNQs5+W////////////////////1fn/X3CBZ2NbW1lXcWli/ezi////////tdLhcm51c3h5q42C///45eHv1MHV////u9Hlb3BygIGBcGxy1rur////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////vb29ycnJ////////////////////////////////////////0ejxLGKDBgAAo2tX//XokrfNPBkk//Lh1+n3Sm+HAAAAQh0My7So////jbC9BhwwY0A6lJGKcnt6Bh8uaT82/OHM////////////us7aIkBRAAAAZj4x3sq7////////////qM3WEC9CUi0pko2Gg4SDEi8/TC4f7Mqz////vdbjL05pAAAAXkEv3si7////bJiyAAAAOCcZ1sO1////rNHaFDJDTysmko2FhYaDFDJDRiob5sWt////wdnmM1d0AAAASzQkd3d3dHR0XGxyAAAAqnlbps7gAAcmhk84+ejf////////wtPhABE7AAAAim9W//vv////////9///hq++ABIkNAAG5dnR////4e/7I1J2AAAAIgADrZWH///0+f//ZIOREgkNc2VYlpSPYHV6AA4XlGRO//rq////////rNHaFDJDTysmko2FhYaDFDJDRiob5sWt////wdnmF0lpGQEBuYt3///5YoajUiUm///xxtjoLlBnAAAAXjUl3MW5////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////39/fPz8/EBAQFhYWZGRk9/f3////////////////////////////////////vfn+kH50//DZ9f/+FVaGAAAAxYJt////4f/9EyYwvoFh////sdLpAAgQfkQw///5////////v+D1AAIneUsr///u////////////m87tFQAS+MGc////////////zuj0ABU2VyEW//bq////////4fj/AilJUy4U//Dc////qNn4AhQh7cSj////nsLZAAQKWDgh//bk////0uv2Ahc/UB0Q//Tn////////5vv/BzBQSyoS/+3Y////seP/ABQj4Lea////////////gLrTfmJM//XkgrDOrWpW////////////3//+FzBFaDIn////////////////////////tdvxQEZT4bKe////6P/+LlFoAAAA5bGZ////////d6LGAAAAvYFj////////////ga/PAAAAsodi////0u78Ahc/UB0Q//Tn////////5vv/BzBQSyoS/+3Y////peb/qoV0///94Pb/ADNgEgAB366X////tuT9GxoX5q6Q/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+e3t7AAAAAAAAAAAAAAAApqam////////////////////////////////////wvT/n5KB/97Nrd/xAAsXBQYFWjoo//vh0//9FCYusHdb+///NXOTIQAD+9C3////////////////ToehEwAC6sGp////////////kL3aFgAZ3q6K/////////v//X5m2DQAB4ayS////////////////erLKBQAA1J6F////mMbkBhUf6sakyej5Aw5GQBcE+Na/////////Zp+6CwAB26aM////////////////g7rRBAAAzpZ8////oM3pABMgy6qN/////////////v//497b/fjyz+f0MTBdtqmTuLi8v766RXqVAQAC1qiG////////////////////////////eqjKRiA38uvDX4m/AAAAn3NZ////////3f3+ADNTURkM//no/////////////f//HkZeSAAJ++zfbKzGCwAB26aM////////////////g7rRBAAAzpZ8////sun8spN+//buirzSAAAGCAgIglxD//30rN/1GhkXzpuD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+Pj4TU1NAAAAAAAAAAAAAAAAenp6////////////////////////////////////v/T/nIx9/eLRLm2UGQQAyMWzXWV0xnpv5f/+EiYvs3lc9P/+D1J0QxkG/+zU////////////////g7DMAAAAwY1x////////////jrvYFgAX3q2K////////+v//O3mZJxAC+NG2////////////////qdLkAAAKn2NN////mMfnBhchkop4FkxoDAAB6LOS/////////f//Qn+fIxAC9Myw////////////////sNjpAAAPl1pH////oM7tABMgyaiL////////////////////////+///T3+fLh0ZrqGaW3+UAAsdWwsT/u/f/////////////////////////////v//cI+tDhspAA0SaSki/+7b////////xu7/AB05f0gp///z////////////////RW+XFQAC5sy0To2pIxED9Myw////////////////sNjpAAAPl1pH////sOn/spF86ujjAEFnQRUJzNzOWkpb26KWuPH/GRkXzpuB////9Pv/3+Lh2tDV+fDv7PT5zsrR7eXh/v//4+Tr09rf8ezm////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////hISEAAAAAAAAAAAAAAAAsbGx////////////////////////////////////uvD/sZyJvc/JBhkgbyci////cqTRbFRf9PntGDI8sXdb9v//GlN4Qx4I/+3V////////////////fKjCAAAAvIxy////////////jrvYFgAX3q2K/////////P//RXmdKRUG+dO4////////////////o8vdAAAFmmJO////msjoAhMgKSQeNDg4HBAZk2ZR6ujd/////v//S4CjJBQH9c20////////////////qtHiAAAJkllI////oM7tABMgyaiL////////////////////////////or7WVklh///7pdb/AAgZtIVi////////////////////////////////////yPf/ACBJEgAB78mv////////////y+3/AB88fk8v///x////////////////QmeLDwAB5Mq0V42tJBQI9c20////////////////qtHiAAAJkllI////rOf/v6GLmcDFAAAAmlZH////SoC5kXFryOLbHB8czpuB////2/P/N2F4PQYZ68q5tdjqOTBKjIR9o62qfomWKiI0yqKL///+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////6urqWlpaGxsbIyMjfHx8/v7+////////////////////////////////////yPX/nZqTP05pCgMO3K6O////3Pz/YlRfpZSMKUNQsXli9v//D05wRBMG//DZ////////////////i7rcAAAAxoVp////////////jrvYFgAX3q2K////////////PHaaKA0A/NW8////////////////s9zvAAAJo1tF////l8bmAxQe4L2d////nrvQABEdWC8e/fHo////Q3ydJQ4A+NC0////////////////uuHzAAASm1FA////os/tABUhyKeK////////////////////////////3/f/Z3d34q99QXekLAIC9+DK////////////////////////////////////VY2xBwABHxQXwI96////////////yO//ABkzgkgn///4////////////////S3ipGAAC682yT4qqJQ4A+NC0////////////////uuHzAAASm1FA////t+n/mI6HJEBcJAsJ9tW2////yfP/Y0NMlpyYJywzzJqE////////V5DDfWZb///o+f//3e7wgbPHDQYTs7SanmRf8tLK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////0tLS29vb////////////////////////////////////////////5v/+RF1pAAAAayon//rr////////g5/DGSs8FBkkuIRu/P//S4apEAAB876k////////////////K3GdHgAC9NS92cvb+/X0////j7zaFwAZ37CM////7//+5dXOdaW8AAAA05V9////////////////XZ3DCAAB56mP////mcfkAhYf1bCV////////NnuVIgAD+M63////fLHLAAAAzI92////////////////aKXLBgAA4qCI////lcblABEezq+Q////////////////////////////////qLnIICE1AB0XpG9V////////////////////////////////////nM3mAAAUgzwkp83KJzBM0J+C////////6vz/DUFqNw0G//Xb////////////9P/+BDNgWxEW/fHogb3XAAAAzI92////////////////aKXLBgAA4qCI////z/n/LTtIAAAAjktB////////////YXqkHig1GRId06KL////////V4/AeVpY//rl////uuHxUF5qSS4nY4F8hU869NzO////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////3//9CDJHAAAAzaiI////////////6f/+DSw2AAAAxo9x////3/P9CDVGPBAI/dbI////////d63EAAAAtoJe////VG2gs5+U////lsbpEgAM7a6M////XJfDqX5p7/b5KFJyIAAC7bqq////////n83eAAUVj18////5////l8zsABAd476d////tdXnARcnUhwT/u/c////8v7/LVV4GwAC6bOm////////ptLiAAkZh1g5///2////mNLvAA0c1quJ////////////////////////////////5//+AEBfGgAC9dG/////////////////////////////////w+DrCR8rPicU/+7a////qdrwPzFI48Gq////////sdnuAAYTfics//rt/////f//NHGREAAB4L2Z////8v//LVV4GwAC6bOm////////ptLiAAkZh1g5///2////vu//ABIgAAAA7Meq////////////yPz+AAUNAAAA8rqZ1Oj/0NXTcKHAj3lzv87L9ezcV6PAOBcJ/+zdMmqOXQAT//Lj////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////1er4MlFuAAEGWzEj/fHi////////////////eqG3AAEOJBgRrpF/////2OrxL2B/KRgfUUs7NDc3LBgdupWC///2////QYevEQwUNzcxGiQrAAAALBwWNzc3AAISqX5k////5vn8SnyWIRIfUEc3QD86JBYen3pm//bq////nrzRFyQ7AAAALCMcNzc3GCIneFdK59TD////////////6Pr9Tn+ZHxIfT0Y2QUI8JBYfmHVf//Pn////pMjaGzBEAAAALRsUxqSW////////////////////////////////WHyrZ0JT///r////////////////////////////h6i9Dx0lAAAAIxAN0LKX////sdDgAAQ0HQ4GnWlg///0////tM7ZGjJRMi0pT1FBKjY3Qicj3L6n////////////6Pr9Tn+ZHxIfT0Y2QUI8JBYfmHVf//Pn////vtnsHThQAAAAd0g5///1////////////////VH2TAAAASCcclZeZO2JyFh0fGxoXNyQklJmNAiBAezor////gq7UDAQSx6GL////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8/n+0NLW29nX+ezo////////////////////9///3N/hzdHT5+Da////////7//+vsjPt7ezurWz5tbQ////////////6vP20NLWxsbH0M3J29zcys/RxsbG19PQ9fDr////////+f//w8/Ytre0uLWx3c3I////////////5Ozy0M3O3Nvays3RxsbG1dHO//v1////////////////////+v//xNHbtre0uLWx28zG////////////5O/10M7P3NvaztDS7uTh////////////////////////////////5+356+3y////////////////////////////////3ebs0M3M3Nzc19fY7+Tf////6Ozz2drfzNDS49TR///9////////4PX6uMDDt7eywLu29eXh////////////////////+v//xNHbtre0uLWx28zG////////////7fT6z9DR3Nva//Lu////////////////////8/r/3Nzdz8/Q7Onk2eHl09DO0dLT2tDP5unp2NXZ9+zq////+v//1d/h7ujj/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////f///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////f//k6vGloiY////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wdnoWD1O0qmQ/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v//+fb5//38/////////////////////////P7//////////////////////////////////////////////////P//////////////////////////////////////////////////////////////////////////////////////////////8fb4/Pj1/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////P7/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////z+n4QVBZMDAwMzExlXhm//zv////jrLIMTA8PDIwwbWocY2bLi8veFJE//LfpsvdJiwzLCwqWkxF+uTX////////////2/P5UGyELi8wVjUy6cmz////////////p6m3voaC////////pcXVJy41LCsqVkhC+e/duuH4KjZJsIFr////ep+0LC0tbUw//+7ZmsvkLSs2fkc+9Pjub6CrEQgJuYJv////////2fL4TGh/Li8vWjgz7M23/////////v//pKOwwIqE////////n7/PJiwyLCwqW0xF+vbhtdzzKjVHt4lx////dJitLC0tclBD//Dck8TeLSwxekhA/vHi////////////////0+fxVm+DLi4uLSwtMS8vVEI4vp+Q/vzy////5vz/TWl4JyUmLy8uuZ+S+P//ZIeeMDAxf2lbwMrLPU9YMC8vzKWP8//+WHSFJiUlLzAurJSF6vr4WnOOMC8wWEA689bB7v/9QliALi0tnYFwZYaJMy4v57Sgo9HiLDE7bkU+cYORMTI2STcx4b+u2/H4QEhvXj5AUVpalWNb///+q8/mMDpGOjAyvbGncY2bLi4veFhI/+rd////////////1e/9LlhvQC0vt6+jSmCBMy4uoIV1X4OHNy4x4rmmqs3aNDpAPjAyQDMxzqeP////ttTmNEFKMTAwp4N27PTuU3KEJyUlLy8urpaI///+5vv/P22FLi4t0aGQ1/38ND9Fw5Z5////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9fr9r9HcAwkkbjMo6eTe//78////3/DzECRPdD0w8vDupNTmAAAar2lP0fbyBSAwKQECrKOTTmV/YERO9ezT////////+Pz+qc/kLz5LwX9p+vTv////////pdLqGwgyxYVn////v+r7BiIyIwADqZ+PVGqBXENP5+TaTYyxd1hP9/fzPGqPGgAC4Laf//v4K098Uyoktq2d4dnVT4OYMxEY8NC5////////9/z+o83jLztHxYVt+/Xw////////nszmGgMry4xu////t+P3Ax0qKQECrKOTTmV/YEhP5uTdSIisgF9T9/n5M2GFHwAC5Lum/vz4Jkh1WDIor6qe6MrA////////////rc7jAxUdJBsWybSm2NjY19fXXoulCg4U372c/P7/ToGZAAAAe1tPpbKvN0Bc1q2YnMbdCgckxYds8vT0OXOZSAsU7OTQX5SrAAAAc1BFr7qyNEJgwJyNp8vaAgIgp1lK/PfymcvmAAQTl4VojaavAAcNZTIn7/HcMlJ9Uy4mt7ChqbG2FitHkE049vPxJEFjVSci49vHx+LgLjVInWdR7vX4JVeHYCkn8e/onM7lAgAYtXJZ//v4////////////eKbGFQAPr5+CbZikAAAEoI90hqGuAAYKazks5+7eLUZscks92tfXncrVLDI7x4Fs8ff8WoyuPA8U4NnIV4qfAAAAd1ZJq7axNkBfyaiWoMbZEAIdmYhr0b+2xdrhJjQ3wZN3////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////6P/+IC1dl1pK////////////9///Jz5rrHpo////2P/+KjROyYdqcrbRFQ0Y7M+2////////rKKv1K+t////////////3v/+ipmb9L2h////////2fn/Aj5gAAAA0ZB2////YKDGFAgU58iv////////raay2K2q////RmKIVGJqCAAavXVi/////P//JUFvnGtd///9/v7+/Pz8/Pv7////////////////2/7+i5eX9cCm////////0/X/ADdYAwAA15h+////WJi+FgoV7M+2////////rKGu3LGv+v//RGCFVWVpBwAWwn9o////+P//IzxppnRj/////v39////////4ff7FzFZFQQA69O7////////////mc3rABEd3biX0vD+ABlAhF5G////////2O/4wJSYtdvsISZE3p1/////erbXkU5J1uLiAC1Uc1A8////////3/n/upCXwd3nIDFR0Y50////rdfuABAn05yA////M0tupFxH////JEJ1nGtd////3//9LD9cvnNas+n7AAsf0KiI////////T3uXRxcQ///jSIe5gEdA///1yfj/SkdY3ZWC////////////////aZa5PRgp//jSrd74AA8i3qaK/P//LkNlqmNN////Ij1to3Ni////////THaOTiYY///rfr3fXy4uzdfQACVNe1c/////////3PX9uZWai7DCLhUv/9y5/////v3+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////3//+HixbkldI////////////8//+Jjxop3hk////2v7+JzZQuYJiY6XDb05E5dnQ5eHh+/Xy////////////////////3//+j5+d57Ka////+P//PGeAAAAAOyQixnp2////TI+5Z0c95dfK5OLh+/Tx////////////vPH9AAAAWjQl//7v/////P//KEVzlmNV///1////////////////////////////3P/+kJyZ6bWe////9///OGJ6AAAAQCYhy4J8////Roiyb0w/5dnQ5eHh+/Xy////////////s+v2AAAAYzwu///z////9v//JkBtn2tb///4////////////m8roAAwZoVtB////////////////q9/6BBgk8dCsvuf7JDlN1J6A3uPm8efl///+////sNzyIilD2pp/////fbvYj01JwdPWKEVdy5R23ePm8Obj//78////wOX3IjFO0Yxy////////la7Ka0JQeIGPIi48rGRV////J0d5lmNV///73P7+KjxYv3Vdf8zgKQsY7siw////////XYqtRRsi//zYSIm2fEY+///wyPj/TUxa2Y99////////////////bZm8OhUm/+TE////kanFbUFQeYOUICk3smxa////JkJxoHBf///5////ZpK8Qhkr//bRfbzeWy4utcbCJ0FX0Jl73uPm8ebk//79////kLvTLBQr/dGv////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////3//+HixbkldI////////////8//+JjtmtoJs////0//9GyhFzIRocrjZPSYmnY+Ckp6eSmlzgVxN/+PP////////////3v7+jJ2c7bCZ////YYudAAAAZFxCuLWwsX2I////Xp3JNyIinIx9lJ+gSmt2fFpM/+DK////cpjHAAAAlDYw////////////K0h3mWpb///5////////////////////////////2/7+jZqY8LOe////W4OWAAAAbGZNt7Kts4CM////WJXDPCYinY+Ckp6eSmlzgVxN/+TP////aZC/AAAAnUI5/////////P//KkNxoXJi///7////////////bp7FAAMNwZV2////////////1+juPmGHAAAApG5PyN/nGTVThVg+sLWvboqOU1ZY4rCSvuP7IB5F766S////bavMiU9G09/fH0NjflE4srSvdI6SUldc1qKH1vP/IjFX5Zt+////////tbvPt8rTSldyCg0Zo2ZW////Kkp9mGpa////7//+NElnum9Woeb1JA0X7s+3////////KGR+PgoD///oTIW+i0tF////yPX/PD5T3JeC////////////////cpy/Oxss/+zJ9v//trvNt8rTR1JuCQsXrHBe////JUFwsX5s////////L2qPPw0F//vcfbzeXC4sxc/LHTxcgFQ9sbSvcYyQU1dc1KuRmr/VLhkz/9e1////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////3//+HixbkldI////////////9P/+JT9xLhsV3cWshLjZBwAG8aCE0vj/Dwwt3LWdzff/AAAtOQ4C//Ll////////////3P7+k56b/9ewmL/jAAAAUisW//3ssLnHqWV2////x+/3DQwv0qqT1fr/AAI2MAYC//XkvOL5AAYrbmFQZFxi15mB/////P//JT5omGpY////////////////////////////////2f3+lJuX/9q0kLrfAAAAVy4c///vq67ArWl4////wOz0Dwws3LWdzff/AAAtOgwC//jnst30AAYocGdXY1lf2p6H////+P//IzpioXNf////////////////bZvCAAENvZFy////////////xtribm+BhoB+oYmC8fLtOGOJUiEq////N5K+AAAAzqd/jarHAAALeUkp6uLUJliKbi0p+vz4THmcRRcj////T6bOAAAArYtkeZytAAAPZ041hIGKipyeAAAJ+cee////KEJorVJB////JEBrm21b////k8DRChAetWxW6f/+DSFRrnNd////qdruAAMUoFxB6v/7FTBlHw0Nz7SXgrLUCwAO46aI////////////////bpSzNxUf//rV2v/9AAAQ/9Cj////IzldsVlI////KUV7Lh4Zy7yqkri9AAQUgEgu//71eLTWViYo9vXhQm6TTBwm////RJ3FAAAAzKF6m73QKRMk/+C/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////3//+HixbkldI////////////9P/+KEBwQzw1WGtnAgwWcC8o/O/m////m7zUVmJ1MD1AWzUy2c28////////////////4v/+qLKtmJ+SACVSNwAH+M2z////rK65s3d9////////n8DYVmF3Mj1AVjMw19O/wuP5QV5xJCYgt5+MbJGkThMX6cGxoNjrAAojLwoOg01b/Ozd////////////////////////3/3/qLColZ+SACBNPAAI+tK5////qKWyt3t/////////m7zUVmJ1MD1AWzUy2tXGvd/1PVltKSgjuqWSZIueUBIW7Ma1mdPoAAYfMQ0PhVJe//Df////////m8zqAA0ZpmtL//////////////39////////////////2ufzZ4CgPj9RMCcpmoBx+Pn0gaO5Oi0qaldGP1VSEAAFv4h3////4e73bIimPkJWLSUvk3Rn7PLsfZ6vTk5Kcn10AAAWakYxi5SPUj9XQlRWWiwu+dvVnc3qAAohMgwPgVFemrCvOTRGp3Nw////s9LoUVVkSDk5Fh0lkm5f/+/nze31PlFnRDArY2pdAQwWbCgh+eze////////////3/P9AEZsDwABXycuzbyzf5WYUjxRQVJVXi0v+NzL/f//LEZ3ODEuSFlXAAACZUMx8+TV////dq3MTiIm//DX3uv1aYSkPkBULyYrm3tu8fryI2eMBwABTyUmxaCf////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////vrzPu6ez////6f/+Hy1emFpK////4P/9sqio7OTULUt6r4Bs1+XoycXD++vn////////////ytXhv7u6+evf////////////////////////bJaiAAgNDwAB0ZyI////////pKm/nVxx////////////zdfjvru69+fd////6fP62tfW5+bk6+no5uvt1tja9+nj4/D4PnqaeVlN1b29/vjy////////////////////////////ZpCcAAcMEwAC1qKP////////nqG3oWB1////////////ytXhv7u6+evf////5/L529jW5+bl6+no5uzt1tfZ+erk4e/3PXaVfl1P1sHA//r0////////6fv9IT1pLgEK7tS/////////////5/7+YFR05tbG////////7vz/ubm/2cjA///+////8ff57unp9vb2y9TY2szJ///6////////8//+ubrB1cS////6////+v3/9fb2/P790Nvd8ebf////yczcxcPD7tzX////3e73P3mZeVlN1r+9/fz17u7y8Onq////////3ezzvrm5zsbC////////9/j87vLy9uzq3+rtycbC+urk////////////////9Pr/dK7MPUZKyJWD9ubk////yMvZxcPC8N7X////+///KEFspXdo2OLjy8jH/vTu////////e7TSTyMn+eHO////8f7/ubnA18a////+////j8DYM0xVwYh06t3c////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////hK/TIy9Gx6uSqcXKAggwYiIeysrKSXmYTz042M69CCdSpGtW////////////////////////////////////////////////////9vz+wtjfGEBUAAAAmoFr////////4+rvSmFxTB0Z4NvY///9////////////////////////////////////////////////////5f/+49LO////////////////////////////9fv9vtbcEzpOAAAAoIZx////////4OntRFlpUSIc4t3Y///+////////////////////////////////////////////////////5P7+5NPO////////////////////v97uFyFBOxkbvKydy8vLxMrKMU95GwAC69C5////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////5f/+4tLO////1/L/XWh5zKWN////////////////////////////////////////////////////////////////////////+v//09bV/+zm////////////////////////zu3wAxMenmRH////////////////6/L4R3uVOgcN9+TP////////////////////////////1d3f/OLd////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////vODyM0xkNzY2Nzc3Ojk5ODk5Nzc3NjU2i3llpKmxND5MupBz///+////////////////////////////////////////////////2/P5U2+FODg4inNk///0////////lbPDNzg3ODk4jXhq///1////////////////////////////////////////////////////////////////////////////////////////2fL4T2uAODg4jnho///2/////v//ka6+Nzg3ODk4lH1x///4////////////////////////////////////////////////////////////////////////////////////4Pb/aYGTMDIyMC8vNTMzbHRpeFRP7dzM////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////yOj4KC5TqYBt////////////////////////////////////////////////////////////////////////////////////////////////////////////m7fINDc+tYlu//76////////////sc/jNUBKUjIw+e3b////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+/3///7+/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v///v//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+/r9//39////////////////////+P3//fz4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////5/T3xcbIy8zN08vH/vrz////8uv1////6vP7w8TG0tHQw8fK59nT////6fb/sba8tbOx1MS9////////////yNvivrq7/e7o////xM7fsaqtu7az+ebf////0t3ozsrHyc3P69/a////////2ej2r6uytbSz5NHJ////8vr/ysrNz9HQ1tHQ9PLwydDew7e59+3l2ePnzcPH+vLu////////4/L2wcHGz9HQ2NTT//r1////2N/k087J0NPTv8HF8efg////////+///usfRr66sraqpwr23//34////////////////////1ez1q7G2sK6tsq2q6uDa////////9v3+zNPazMnIxsTI9ebf////8uv2////+///zNHZ0MzJy9DT0cnG/fjy////////////////////////////////////////////////////////////////////////////5O/4+vz4////9Pf96PH0///7/////v//2ODozMnMyMvP8eXd/P//wc3Uyru80tba0NLO0dHQ7u/t0dHS0NLR5drX//79/////////////////////f7/5vP0//nu////////9f/+8+jh/vv7////////8Pf8ycrTztDQ1M/O+/Xw////////////2ebtxsLC0tHRw8TF8ufg////////////3ujvycbNyc7P4dbU///7////////////////////////////////////////////////////////////////////////////////////////////////////////////7Ozs8/Pz////////////////////////////////////////vN3qEz1ZAQAAf0o3//HeutLhZkJZ///6xt/zKENZAAAAJBAJvJaE4u72J0pyOxcReXhyQjpDvZCC////stjvABkzKxsWzauUj6e7GQYmdFlURl1kcDg39eTfgKC+AAcRGwACxqeX////w97oEBxJVikkbHNwTS4z4cm12fb/MlNsAAAAelZIjKOrAAAeSCcfenJzCiktPAkS8c+9////////sdjoEjpZAAAAiWFP//Xp////hqa9AAgbAAAANxQR1rmn////6f38U3+SHRUaXFNLUVFNBhgie19M/Ojb////////////psHMFS09OzYwYmBZKzc7JCAb2Led////5fr+VXqXAAQNQA8S4buk+///U0tx4Me38//+YICUAAQNCQABgFxK++vb////////////////////////////////////////////////////////////////////////////SWyhyKCN////ocLkVlVv//jS/////f//iarAAw0pIQYC17OhibPOAggWSSIhO0hRAAAAZEIsztHNIUlhAAAArXth//33////////////////////5fb/T3WZ6LWQ////////n+L3ilVK++bc////////1Or0LFJ6AAAAdVRD9eLV////////////lbnOFCY6AAAAOiQZ2bin////////////pMDTCR9CDwABqo59///1////////////////////////////////////////////////////////////////////////////////////////////////////+fn5iYmJPDw8R0dHqqqq////////////////////////////////////////rev/eGVg/+fR////OnuoEAMA6q6W////1v7+DiEswIFg////PnWbFgIA/+fH////ms/sKw0J8+TEaprAMwEW7+W9psvcAAANqnha////+v//GDRIiUsu////N2eWk0Q/////9f3/BjhhSRYP///v////YJKsQwoF//jotfX/Mhks68ewT4+wLiIK///7bqbMCQEKv5iA//z0////////////4v/9KUZksIFm////////yvD7ACBENhQT/+DR////9///MlqHFQAC7L6s////////xePzABQpcEcq//ru////p9DpAAAJkUsz///6////////PG2REAAB4cKf////8f/+ZIOV7qqL////mc/1AAwSnFM9////////J116Wh8L///0////////////////////////////////////////////////////////////////////////////4v/+AB9AQQ0I////ZqDEAwAA4ayR/////////v//SXGQmU0/////KlSJaTAu7fnkpbrEJhM29b6c////iMvrLhAe8NK5////////////////////////xun1DRIupmFP////////XI+9IAYN7dO5////////////rOn/NRsp78qy////////////////////jsTlChcc7ceo////////////////////aZ67cDUw////////////////////////////////////////////////////////////////////////////////////////////////////////////m5ubAAAAAAAAAAAAAAAAxcXF////////////////////////////////////v/L/opWD/97O1Pn+ABc1AAAAbTsn////0//9Ficvtntg4vn9ADBUh1E4////////1fX6IiZC16yJcqHGQR4t///Yb7vkHhcX9ti9////////RXOYUyUh//ziPHGekltL////reP3AAYhvIpq////////ncXYIBEf/9utq+//LRom4Legm8/gBAMg76+S7//+LCdBz5yC////////////////////v+3/FxlA5bGV////HjhtFQAC07SY////////lcfbAAAEtHdh////////////////dKzNBAAA6qyN8v/+DT1oNwoC//bf////////////6//+ASQ8bCcX//nv7f/+l6+z7rGV////OGF9AAAAGQAC/e3M////NWR3UB0L//Ph////////////////////////////////////////////////////////////////////////////dqrYIRkeN0E6tK+VNmN6Gh4VlId4//3x////7//+QmaDikI4////M16NfE1H///+r+D2KB079cio////n9jwOx4n47+q////////////////////////hLvPAAAAQBoQ///q8v/+Ij1cAAAAxZdt////////////nNbxMRkm3rqnutHcjYSEfICIrZmU//vrir3dDRcd4MOl////////////////////Xo+sZC8r///t////////////////////////////////////////////////////////////////////////////////////////////////////+Pj4Tk5OAAAAAAAAAAAAAAAAe3t7////////////////////////////////////wvX/mYx+/93MT5fADQQAhoRzVlNS6aiM2f/9EiYttXxf1fT/Dy5NpltK////////wOjyIyM22bKSc6TIOhYm//fPXavRQhQb993I/////f//N2WFXisj//vmO3CblFZI////n9v0CAcez5J6////////iLbMJxIZ/9y3qu3/LBkm3LOb////uMTXaFFmOEREJgcR16mV////////////////////////lb7jNCw5PFJaAAAAml1G////////////UI+uGA4A6byf////////////////v+jyAAAbqV5K1v/9ABsziEop///2////////////////P2iLIQAD99e89P/+ka2v/7mZtOX/BAkZa0kxXnt/vWpX////LmB2UR0L//Lg////////////////////////////////////////////////////////////////////////9v//F0Ffj1dD1ezmCQ01NiEXzdLAgnFt5K+Y////7//+QmaDikI4////NV+QdEM+///xq9XrJhw58Mal////odXwLhok4L+o////////////////////9f/+LEeDHw8WUD0u8Z+DqO7/AAgaPkM2gUND//jv////////nNbzMRom3b2oj7PJRDk7Kzc/d1pO//XejMHkDRcb68mq////////tpir1qu0////Xo+tZC8r///t/////////////////////////////////////////////////////////////////////////////////////////////////////Pz8Z2dnAAAAAAAAAAAAAAAAlJSU////////////////////////////////////vfL/qJKC1tjNByY3TxMT////aYy4fkxY8//8FSw3snhb7//+J01sf0Q2////////hrjTEwwG5cCdeKXJOhsr//3UkNLyLBQd79G3////5v/+ADFJbTQX/f7yMmCPiU9D//79w/D/DRsysHtk////////TIGdKQkB/+jGqer/LBkm37efxd7rc3SE2u3ieZ24FQUWy5+H////////////////////////////LnumAAAAXicZ//Xi////////////Wo+vGxMK6sKl////////////////t9/rAAATmlRE2//9ABw8iFg4///1////////////////PV+IEwAC8c+08//+nLCw882zSoukAAAA7MCi2f3+SjRY//znM2mDUBsK//Lg////mr3PTEFLpm52////XH2ma0hMs7mzub6+Slx6g29g/+rc////////////////////////pdruCQgW16eH////Gj9ubC4i////XnenlX+A///77/79RWaDh0E1////OGCRd0lE///7rdntIBUy4raU////crjZOAsZ78y3////////////////////v+n2DQodn2hRoaa5eVVsWoaeIwAD18OxR2GM6Mqr/////v7/ndbxMRgk3rmi9Pf77Ovs6uzs8e/t//38iLjXBhEZf2hXpqWhW3+QNxAe5Kma/f7+YY+uZC0q///t////////////////////////////////////////////////////////////////////////////////////////////////////////zMzMHh4eAwMDBQUFPj4+6+vr////////////////////////////////////wPL/qqCTaYKQBQkNvYJo////tuT/YldfxrmsIz1IqnNb////hK7PLxkw2rCQvdjVHipHbSoq9/fwSnibKQcO17Og3+/uN0hxlmdW2NbWUXuUGRAT1amQnMnVBg8fJx4SP0dNUEhHYWl8UzZC28ivk7fHFA8cmVdK//35o977LBkm4bmkrNThGxQW6dm3k9PvNxUj4rCb////////////////////////7//+IFqBAAAAgD80///7////////////WY6vGg8G6sCj////////////////wObyAAAgn1NB3P/9ABo5h1Ix///2////////////////QWmWGAAC89G19f/+p77AoJqVACpGaTMZ//nq9v//ZoeiwJeDRXqOThsP//Lf////vdvrHzNS1Zt8////mrPTr66lQGWEhWtcbHiBn0dA//r3////////////////////9Pj9M2ORMgAG9d3EuNzuEBE3oF9N///7k9L3alFN8dTDpMfcCRkzkEc98/r7HT5lWi0n5NHHtdnjBgIxUjkiubmlFj1nXhYe/+nZ////////////////////bJzDCwgI88Ke3v7+G1VzAQYGiFY9///4eq3Io2VW////6PP6PnSUGQAC476o////////////////////ibbUCBQYjnViuri2cZimRy0s77+nyOb1GDlWXCAh///r////////////////////////////////////////////////////////////////////////////////////////////////////////////4+PjlJSUoKCg8vLy////////////////////////////////////////3v/+ZHF5BgAbRQ8X++fR////////b3qbRktVHyw6rHtq///+////p8vgVEhRMzU1jXdu//fp4vj/AlN7BwACXiMm27iw6v3+b4CTPTQ2SUE+5Me4////1OPsh5WhsKqgSm59Z00+/v/0jLXOSzg+NzM0sZaJ//z0////o933LRom3bOc/f7+kZ22UUxlSUhEtIN2//7+////////////////////////Y5OvBAAAeXFWOFxool9W///2////////cqjDBgAA1Z2F////////////////ndDrAQALznZf5P/+ACVJYSkY///0////////////////G0p4RgAK/eXS////kbO/IRksBwAB06CC////////t83bQz1XMU5WWC0s//Hd////1e78M05y77yY////5O34qtLYJiE8TjM2gYBtu3Bh////////////////////////yt/wUGl4alJMzMW5fJOpUE9TjG1s//rkqs7hVjFQ3rqu4vTzlZunx5ufwubvACdNIQYGfEhSnrCzLSZCraGKSGp5Oy0w2bGh////////////////////9P/+HzpmWQ4a//bj////VomlAAAA0KaJ////ttfoMj9g///j9///utPWh3CD59PL////////////////////grPSDBcb5cOm/////f//uqux28HH6Pv8oK22nn6L//7u////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8//+GkJUAAAAsYBk////////////zO//AB0qAAAAz5d5////////////////////////////////u+T2cHt9/9vD////////////////////////////////////////////////////////////////////////////su//Lxkn27CY////////////////////////////////////////////lr7VAA0UiEY+///9y+r8O0xpvYh1////////2vP7DyVUQAYG/93S////////5v/+DTpXQSIL/eLQ////cZ3DAAAAvXdk////////////aKLDAAAAuo9s////////ZZ+4AAAAVi8b/+3j////////9v//PHGGAAAAeEgt////0uP81uvvTmeM48Kn6fb39v34JWyIi1I8lrvAJgoQ25V9/////////////////////////////////////////////////////////////////////v//7vLy/fTt////jMrjloN3///ztuT7Jxw7+Mmm////////////////////////////////lsfwARAUxpp4/////v//IUNnXCAe//bo////8v7/ZJKo5qKC////8Pf98+7p//35////////////////////gsHjBxYa/NS2////////////qJOf48vF8/z8+vPs////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4O/7TXOTAAAAIQEC7t7J////////////////TnSHAAAAPyESw66g///9////////////////////////////+ff29Ovu////////////////////////////////////////////////////////////////////////3u/8MmiEAAAA17Kb////////////////////////////////////4PL7aIqVAAAAAAAAkmtP/+/l+///OWeWAAAAgFdH6c/B////v+LpHUFSNg8XgHlteHp1IzNESS0c5MGr////////+v//ZoaSDAAQaFhOgIN3UGdvEQ0SonZY///0+f7/kK6+ABQnAAAAspJ7////////////////psvWAAAKEwACo4lwY42qOUhGChgmLy8nfG5if6iuAAAA06B/4vT3AAIsczso//br////////////////////////////////////////////////////////////////3fX+DDVbgEo2////////9O/u7/f8T3eaAwAA67eW////////////////////////////q8fbAAQwAAAAroBo2+foNmuSAAAANhcG4M/D////yuXxJC1PMAAG7c24ebnbEgYN48Oo////////////////r8vaGTxVAAAAUj4wamtra2tqOl5qQAAK58OwNnKZWCwk///v////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4O/7foiUjoqH2bqu///+////////////////2vD+j5aedn2Bwq2f///9////////////////////////////////////////////////////////////////////////////////////////////////////////////3u/8gYuTdHl65tvP////////////////////////////////////4PL7eIeViYaEkJCQpJKL/+/g7/r/nKe6iIyJfWtz6c/B////////5v/+b42fZmRaZGJcjnFt/+7i////////////////////m8vdXGptaGleaWFd1bGl////////+f7/m6y/hn96rpmR//Pp////////////////+P//nLPCgYeMoo6FwczMe4CFhIB9eHl7wqqhorjCoYeL//Dn////ocPSlZGL//br////////////////////////////////////////////////////////////////6vn/b4agrJGL////////////7/7/laOyk4qA8NfH////////////////////////////qsbahICAkJCQwKOh2ufodomdkJCKioSN38q/////zOPxfXySg4SI7cy3tt7tbGp17NrN////////////////rsrZfnh8j46NcHV4ampqampqdG1qtZ6S/PrzhaO+lX+A///1/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7vf6mKKxhYCA1Mi6///7////////////////////////////////////////////////////////////////////////////////ytzhj5aek4mIrKah39bN////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v93pMyA6UVNVN01C06WF////////////////////////////////////////////////////////////////////////////oNHvFRcgOi4nVThAOTlDS0ZA3c2+///7////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9/n98+/u////NF59aU1A///7////////////////////////////////////////////////////////////////////////iMTeSQgm/+vS////////uO7/ZW1w/d67/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////f//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////yOPuZ3J9gX56a3F2waea//76////////////orPPaGtxs5KCvdLPd3Z6y6+ql7e7e2xofoqLwaGQ///79P/+d5+vamFl6c/D////////////////RGmVc1th///71e31aXZ4fnJlsaWujZKl38u52OnwfIiKgn11goKA58Kt////zOr2a3R/mG5q//nt////////////XGOXT0VJXWFhX1tZOU5XYVJA/t/T/f//fY6wcFhecG9vzaKX////////v+Dsam5zpXx0///6////////xNbkc3aJfn19m3Vz//bqvdLsbnJ3nXlo0NjOf3+AupeTqMbIdWlxg4+Nq5OF//Tm////kLjJYWNo5Lep+///fI6XWl1fhnZt///7wt/0cm96eoGBrJmQ//fu////////////////////+/z+ssjc//bo////xtrvzNTX///5////9Pz/kKK4e3l1fHh269PDy+jxanF5jG9wh5qfe4B9pJmQydPUfoCBeXx91bap////////////m7jJdGtubHJ1waCQ////////////+f//x6qw+fHu////////k6a1XWNoY19b+uPS9P/+coydn4J0//nu0+n3gIeOa2914b6u////nbbEW2NprJaEmZi1t7Cq7ejiosLOdWpyg4+Nq5OF//Dm////////////////o6vEbouZU15kTEpXhW5k//bj////////0enzhISD5cu4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////0unxTnSRAAAAORoLzber//76////////z+/8ABY9KRUDe3ZsBxIrIAACnaCbRUZCgEs3qa+vPTRQ5Mahk8PjAAAMT0U0wqKT/PHv////////////P2aKdllY////NFSHGwACbHdqACY/AAAAwpBwqdjmPhwWpJ2LYnuVWzU6//PWQHeqFAACc1ZI48Wy////////////LlmdJxkhXVlTVFRVa2Fay8Gw+v//VneYHQANoIp3f5ybNx4nzaKX////KVWCHgUAfGBU6869////////z97oI0tyAAAAr3xl5/btBkJuEgABiXliJDFJCgABjHlwVWRiZSQfq7CtN0BkvZN5xN/lABI0STUiqaGUUmtuAAAASDkrJzNAdFxe0vDmD0ZxAAAAsoNw//nx////////////////////1/L6Gyxb26KB////T4C1WztD//nc////9v3/ha/GAAANVyAU79vOM1uGIAYEdWteKztLAAAArH9g09zcADJRCAAB3bqe////////////rsbUCTBJNxEKzbKg////////////Y4u7ayIq+/Hg////fbC+AAAAMBMJQ1JTRjZF8+PPP3+jHhcP/+vBr+v/AAAAQBgK58u8rdPpAAENVykZVX5/AAAEVyUU197VTmt5ZSAdq7CtNj9ksohw//33////////9///AChJFxEHfoR2fn6HHC82aTQt/+fX////lc3iAAAAxopn////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2P/+ABYyt41r////////////////t+X/AAsdwJt6+P//LEZvjkY42P/9tqef///n0/D/DxlEvY1ma57BPAof//TP8vPz/vj3////////////QGaLeVla+f/7FSBUvHpl////ZqXGIw8Z8Lqgu+3/6L6m////bJrGHgAN9uOzLFWKk1xR/P/78+rp////////////n8rjZ0BBtaSb4tLN////////td3wAAIZtoVj////////N2V+VxUH///wITlsqndk+f//9Onn////////////gLfVSSco///z3f/9AB88hmBD////SnimYCUn3PLnqa2u/+3K9v//EjRph1I7nr/KKA4s/+e6kdb3AAAAj29X//735/b9cW6D6bSfgM/1Rhcl/+TN////////////////////////lMTbAAAAWzok////Ill9BQAA4sOt////////6P/+LD9cv3Vf////GS9hrXZj////fJy6OhQs/+7J////c6zNXCkq//rl////////////////kcnizZd+////////////kMDaAAAafDkn///20e79ABM6Ujoj+uvl////hZ63uHdx/f//UXebf3Z4YH6aPAAS/9i8////ZZO8KQoS/+W/5v/+Jk9sjEg74fb5qbKy/+zI9v//EDRpfkQx//vu////////yPr/XktD3KmS////////hb3bAAAA0pd1////7fb5yMjH9uvk////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wub9ABMsrIpp/////////v399enu9/z/UYClZSs33MzDUnmShEI3/v//9Pn+Wo+mCA4TIg8H79a7cKDDPRkq/+zJ////////////////////QGaMeFpc9//7JzVfxZV6////mM3uLB0v8byh+P7/yePvJ1VuBgcIZ0Qy/Pr1LlSHk2BU///5////////////////ncjfFhQYoIx6Zn6JZ1pO//78a7faGgkS7sit////////YI6yRRch/vzaK0t8q3lm////////////////////cKXDWSUp/+7a+///bqPDQCYn3bGid63EYS4s//jm9fv/f7HEDhksCgYFyqqPqs7eLBw3/+i6cr7rOiYr+9nB////////////9OfpaarRSSgt+djC/////////////////////f//Ol2JYkU5eImDaGpnOUVHUGFbsJeD//br////1fr/JzlSrWdU////JT5trnhm////eKjLNxkp/+bF////eqzJUyUo++rX////////////////pNPgxpqB///+////v+L3ACpDAAAAhiso///2qdr0GSE33KSH////////////7OLn////2/b6IkteBgACuZB+////////a5a5QRor/+/N////P3OfkFNI/P779fn9f7LFDhksCgYFw52G//79////////xuf3yrqy//zw////+///Xo+hAAAAy413////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////web9ABYvmHRZ6ejo4eXnlI+et2l3////2eLvoq+/NkJiDxYdikc8////WnynCAgIVzYj4c27////cJzAOxgp/+jG////////////////////R3GdeFpf+f/6JTVlvYt0////jMPkKhss8rug5/7+FzFeEA0Nj2tX9/jp////LUx9jl1S///0////////////////LEl8cTg1/PvwlbvcLhY5//zKfcvxKQgS78+3////////O3KMRRAE//7oLUx/pnZi///+////////////////cafFVCUn/u3Z////4Or1ssLPSFFzGSEnYiIf///4hKfKBgcPOyAWz7aj///+p87hKhk2/+S0dr3rMyktrJWCq7CxkqChrJqW///ocbblTSQt/+XP////////////////////vu37FRsj3LCNwuDuAAYVcT0j7P71c0xX5Mu9////4f/9LT9aq2VS////J0BwqXVk////daLCOBgr//PQ////c6vITiEl/OzX////////////////n9HdwZJ8////4v37J05iAwAAiZKBpXF4///wsN30Gy5FpHxesrq5nKWlnJmZ582/////7//+BjdPKwAF/+jZ////////bpq+Ohcr/+bD////OmuVkFBG////g6bHBgcPOyAWzrej/v78/////////////Pz/////////1OrxWXiHAAAARxoJ9M67////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////web9ACE4RSsckYmDWXaCEhMf14lr////ByRLvJZ7////PmyTgi8q////ACw+iWA/////rbbe///0eJ7BOxom///c////////////////3eryIT5efFdP////Ii5OuYVv////ltHyIRIn97yetfT/DA0J+dq15fj/s6vD////LU99lmdY////////////////////GUWAlE9D////f7naEQAP27WSwPP/ChAvy5h9////1/z+AB03djIa///9KkZ1sIFs////////////////////ebPTXSgq///r////IEhveFZI////ZqbQVRUc/f/3JlpxUSoP////ssXx7uXcstHdKRo0/+2+zP/8AgcmqX1q4fXyAD5oGQAC7+G8Rn+rHQUOxKqUyMTN8+jf////////////VYq1Rxke//Xe1fv/Ehs6uHld////VYi8wKmU////sdnkFyMzrWlS////JkBss4Jt////g7DSGQUSy6B9////Mm+aZhog//jo////////////////ns/d1aGF////RWR6AAAAqnpg8v/8lmJ6//Hl4vv/EzRZbDYv///4LoOoAAAA26B6////T3qqHgoNRz5DyJSD////////c5+6MwkX/+PJ////OWybkE1C////JVhvUSoP////scXy49jR///9////////////////oLrFAB4+AAAARiQh5b+p////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////w+f+ABkyiWdN4NvZx9bZb3V7w3xz////UHJ9WDU4hYuOMi050Yl1////THSJYk9FlI2RZChO5+zeGFN6FwAChl1Y48zI////////////rdLjBxEoh3BSr8PHCBMSw49w3u72OWuQKgIL88Gn3/7+N0hVmpB6VU5qnllpyubyAhEyQxsZo3uB++7l////////////i7nWTUJLgXptLDZCKSkjjGFa//vzdZrCUz5DgHdzHjlNRy4j8cO0qdPpAgYeTiYiqoaK//fr////////vdThIT5UIwsNjXZr07aweZ6jPSAmh4uTM0VVqGFW////cZuuSDo2lo2RSR1J2cO6UYumCQABeE5H3bi2e5SvZWR0cX16Exspk4Jt1u7sFjlPIRwWMERAAAAAz5+A////////w9vpABg9XiUd2t3ZTnmeAAAAsXhk///4ea3LYycr8t3PeqnBBgENvXZnuN/pAgoiUSckt5ufkK28EA0ZWU00VGdlBAAEq21d///6////////////////qNLf0rSZYJy9AAAAf0Aj//fp3f3+mmJx+erk////mbTMTlNse3qEIDNDVkhA+fLijLHCAAMXd0gprc7TQSApvI184uvoJ1VqOQ4C//DXtMjbECtLj0w9////cZuuSDo2lo2RRhtI272y////////////////lbjfAAAFFwACc2RW//Dg/////P//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uOL6AA8qtY5t////////9PT0zbzL6+vv9f/+jIuscXZ5so2D////////7//+mpmmg3h8zbSj5e7uK3edDxYZg0hA3sK+/////////////v//2OHp4Ojjr7e+naSn8uTV2Ov0hI2bwKmd+e7o////0ODuiH6IkYWD99rDv+LxBj1jPyEam252+urf////////////////qsracW5ooH126OXg7O/s//fx////psLTaF1fg3Ns//Pn////pMriBDNRSyceo3mC//bp////////sMzcQ1ZkJxUTgnFl3Let////nqDEcHaAoH90/vPo/////f//pq68gnh6tqCT8u3lX5y9AhsmcT0xzqiq////mrPOYF5ex6KN////////zNzn4dfPwNPYjZCN8uHX////////v9PmmaCcraah09PRmaKvmpmXvKep///2tcDRm3+V9eTY+f//1M7a79rds9nlAzRTTSUfqYiPepusQSQ33tnAboCNoHl4//fs////////////////////st7rOkdEAAgbSw8S/+HX////3fz/kVp38+bi////////wNrwXl1noX9t///t8f/+oay3q6WewL27y8nJpLS3uKOe3efki5mpxLqu///2pb7UmZST28a9/////f//pq68gnh6s5+S+/Dk////////////////Lk6NJAADzaWJ////+f//r7y578a2////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ve3/AAwpsoVn////////////lY+YwYJ6////////////////////////////////////////////6//+qbCy//bg////////////////////v8PU2L6/////////////////////////////////////////////////////wPD9z7it////////////////////////////////////////////////////////////////////////////uef128Cx////////////////////vO//XSoo////zuP20a2s////////////////////////////////////////////qMHK/97L////////////////////////////////////////////////////////////////////////////////////////////////////7Pj/vcTF8d/R////uej238Cx////dKPMNRIl/+3I////////////////////////////////l8vhAAAAEAAB7Mqw////////2P/9VzBD/ubS////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////NHCiTQAO///v////d6fJPS0u+tOy////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////u93qJURbAAAGIBcQNzc2Nzc3KTY3KAEG2pyE////////////////////////////////////////////////////+fj7////////////////8//+GUZjYykW//jo//////////////////////////////////////////////////////7//vz9/////////////////////////////////////////////////////////////////////////////fz//v7+////////////////7vf6Z4ORYFFODxUhb1Q/////////////////////////////////////////////////+ff7////////////////////////////////////////////////////////////////////////////////////////////////////uOD2AAIpo29W/////////v3+2O/3GTtgOxMF/97F////////////////////////////hai+FB4mDQIAw6SM////////z+n4MUtYBgMASTou8tjI////////////////////////////////////////////////////////////////////////////////////////////////////////////////////zuv0L0dqNSwmQzY4DQYSSzlE///o////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7fX6z9HT3tzb0NPVyMjIyMjIy8jI3dfW/vv4/////////////////////////////////////////////////////////////////////////P//ws/W2MnC//37////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////6/n/ra61ubGr5uLb////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7Pf+vL7J6NnT////////////9fr909rd2NPO+/Lr////////////////////////////3uft08/O4uDe////////////8vn+0dHS2Nra0NDQ+/Xv////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4PL5tbvAwLi52NTR4+fn/v33/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v///////////////f/////9////////////////////////////////////////////////////////////////////////+/3//////////////////////v/////+////////9vf7//z7////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////utzrMEdbLSwtfVRG+ufW////////7//+knyI162l////+///eZipIyEiLi4sfWhe+/r2h7HMMTM157me8f/+TGx/Kikom3Ng//vzjrHGKigoYVlGYGF3T0tb1LeertDdQjw5b2xiWFthxZaD//79////////////n7fNJTlXOVZGLC07LSwypodw//7v////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////zMzMe3t7h4eH4eHh////////////////////////////////////8vj7dLDQRDMx37Cc/vv4////////a5vGJgAP672f////iLvRAAEGVSsiu7+wNU1ui2dl5ObiMWiGvIlz5f79AClDSBID7NzJ3Pz6FRtPejIqsc3LAjxZGQAC2bOcnsralFpH+PTvbZHBQCIt/9y8/////////f//V4CVIwIC1cSs2tnclbjFGxMUuYNm///+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+/BwcHAAAAAAAAJiYm4eHh////////////////////////////////////u/D/mot9/93M////////ptjsAAkrKgAF9smz////IGCIPisi//3n////9f/+qo2Z893VzOv2Q1h1UmlxEwgG5bKb////xej0IiFG3amK////c6/WOh0n9863zer1//DbzOHpFj9lLgAE/N7F////////5/39gIyV1ZF6////////5//+DQwxcyIk///7////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+/v7Xl5eAAAAAAAAAAAAAAAAiYmJ////////////////////////////////////wPT/m41++dTE////2Pr/ETlPAAAAXyUr6bWu////MmKFoXBY3ePl6OHe/Pn2////////////gbvJAAAAnXhm////////x+zzJCZJ1qOH////crDXOh4p+M62////c5zFAAAPJAUBsaCJ////////////8Pj+09vh//fq////+f//bpChAAAAjDsv////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+fn5UFBQAAAAAAAAAAAAAAAAfn5+////////////////////////////////////v/P/mIt8/9nI9P/+L0xaAAAAoKqOr5uhzaer////N2mRXjkqqaWggpaYSVZloXJd//3t/f//KVqMAAAA1ol4////////yOnzJCdS1qOJ////c7DXOh8q/NK6s+bzAAAYZ0o52MW5//////73////////////////////utbtSGRzAAAAMQ0C4sWq////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////qqqqAAAAAAAAAAAACgoK09PT////////////////////////////////////vPL/oo1+/+rXTnywAAAAlFxD////kHuVyZab////h7XOJQsh///ZkNXxAAAAgEol////b6zOCQIUfIh+bExS7ryt////y/H6Hxsm1J+I////d7fhMhIj/NK4lNDkIhgI////vNT/m4Sg//73////////////////l7C2AB00AAAAUjst6Mu5/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+qampVlZWYmJixMTE////////////////////////////////////////xvP/ppyMaoyRAAAWZigi//Xn+v//lHmHz6Oi////9f3/haXBSlhlJzA7fVdE7Ojgo8DVKz5MT0EwysS4SWZ8aicj39fLeZ6wKi0i6L6iwd7uIkdmYDIs+t7M5/f6X3GAbmVkQSxCrHl3////////////////vNTtAAQrFAACpYtz++/n////8+/x////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9/f3+/v7////////////////////////////////////////////7P/+PFpiAAAFQAsK9dG+////////gWmKw5OY////////////wMfSysK///jw////4Orw4t3a6enp7erp5e7v2dbW9PLt3+Po4uTk/vv26/T40tLW7+fh/vz7////8ff9zcnM2NPO+/Ts////////////////fbHVAAAAzYhv////////irHCypt/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7fX6m77QAA8eCQAB0LOf/////P//zN/iIyc2d09A7ebh////////////////////////////////////////////////////////////////////////////////////////////////////////////////////qtbtDQosqGRWzM7PjJyuCg0q1KeJ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////u93qOExfOzo6u6GM////////9v//bYmYOTo5ODk5vaSV////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////mL3YMDNHLy4vVjE4UEph8t3F/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + 0 + + + + + -0 + 6.690972222222222 + 5.145833333333333 + 1.243055555555556 + 0.6805555555555556 + 0.6215277777777778 + 0.3402777777777778 + + + 6.06944444444444 + 4.80555555555556 + 7.3125 + 5.48611111111111 + + + 4 + 0 + 2 + 2 + 1 + + + 1.243055555555556 + 0.6805555555555556 + -0 + + + 2 + + + 1 + 0.0277778 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0 + + + 1.243055555555556 + 0.6805555555555556 + + + + 0 + + + + + -0 + 1.597223611111111 + 1.74479375 + 2.972225 + 0.239634722222222 + 1.4861125 + 0.119817361111111 + + + 4 + 0 + 2 + 2 + 1 + + + 2.972225 + 0.239634722222222 + -0 + + + 1 + + + 0 + + + + + -0 + 0.3333333333333333 + 0.1215791666666664 + 0.6666666666666666 + 0.01388888888888889 + 0.3333333333333333 + 0.006944444444444444 + + + 0 + 0.128523611111111 + 0.666666666666667 + 0.128523611111111 + + + 4 + 0 + 2 + 2 + 1 + + + 0.6666666666666666 + 0.01388888888888889 + -0 + + + 2 + + + 9 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.01388888888888889 + + + 0.6666666666666666 + 0.01388888888888889 + + + + 0 + + + + + -0 + 1.879336111111111 + 0.119817361111111 + 2.185777777777778 + 0.2396347222222222 + 1.092888888888889 + 0.1198173611111111 + + + 2.185777777777778 + 0.1007458333333333 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.239634722222222 + + + 2.185777777777778 + 0.239634722222222 + + + 2.185777777777778 + 0 + + + 0 + 0 + + + 0 + 0.239634722222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Implicit Scope Declaration + + + + + + -0 + 6.652777777777778 + 5.590277777777778 + 1.319444444444444 + 1.347222222222222 + 0.6597222222222222 + 0.6736111111111112 + + + 5.99305555555556 + 4.91666666666667 + 7.3125 + 6.26388888888889 + + + 4 + 0 + 2 + 2 + 1 + + + 1.319444444444444 + 1.347222222222222 + -0 + + + 2 + + + 1 + 0.0277778 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0 + + + 1.319444444444444 + 1.347222222222222 + + + + 0 + + + + + -0 + 6.597222222222222 + 6.069444444444445 + 1.444444444444444 + 2.055555555555555 + 0.7222222222222222 + 1.027777777777778 + + + 5.875 + 5.04166666666667 + 7.31944444444444 + 7.09722222222222 + + + 4 + 0 + 2 + 2 + 1 + + + 1.444444444444444 + 2.055555555555555 + -0 + + + 2 + + + 1 + 0.0277778 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0 + + + 1.444444444444444 + 2.055555555555555 + + + + 0 + + + + + -0 + 4.1875 + 4.671849305555556 + 1.111111111111111 + 0.2396347222222222 + 0.5555555555555556 + 0.1198173611111111 + + + 1.111111111111111 + 0.2396347222222222 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.239634722222222 + + + 1.111111111111111 + 0.239634722222222 + + + 1.111111111111111 + 0 + + + 0 + 0 + + + 0 + 0.239634722222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 2 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + ng-repeat + + + + -0 + 8.880208333333334 + 1.699627083333334 + 2.899305555555555 + 0.239634722222222 + 1.449652777777778 + 0.119817361111111 + + + 4 + 0 + 2 + 2 + 1 + + + 2.899305555555555 + 0.239634722222222 + -0 + + + 1 + + + 0 + + + + + -0 + 0.3333333333333333 + 0.05213472222222196 + 0.6666666666666666 + 0.01388888888888889 + 0.3333333333333333 + 0.006944444444444444 + + + 0 + 0.0590791666666664 + 0.666666666666667 + 0.0590791666666664 + + + 4 + 0 + 2 + 2 + 1 + + + 0.6666666666666666 + 0.01388888888888889 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.01388888888888889 + + + 0.6666666666666666 + 0.01388888888888889 + + + + 0 + + + + + -0 + 1.803819444444444 + 0.119817361111111 + 2.190972222222222 + 0.2396347222222222 + 1.095486111111111 + 0.1198173611111111 + + + 2.190972222222222 + 0.1007458333333333 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.239634722222222 + + + 2.190972222222222 + 0.239634722222222 + + + 2.190972222222222 + 0 + + + 0 + 0 + + + 0 + 0.239634722222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Model / View Data-binding + + + + -0 + 0.3333333333333333 + 0.177134722222222 + 0.6666666666666666 + 0.01388888888888889 + 0.3333333333333333 + 0.006944444444444444 + + + 0 + 0.184079166666666 + 0.666666666666667 + 0.184079166666666 + + + 4 + 0 + 2 + 2 + 1 + + + 0.6666666666666666 + 0.01388888888888889 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.01388888888888889 + + + 0.6666666666666666 + 0.01388888888888889 + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + 0 + 1 + 0 + 12 + 52 + 0.5 + + + diff --git a/images/docs/tutorial/tutorial_03.graffle/image13.png b/images/docs/tutorial/tutorial_03.graffle/image13.png deleted file mode 100644 index 6a467a14149f..000000000000 Binary files a/images/docs/tutorial/tutorial_03.graffle/image13.png and /dev/null differ diff --git a/images/docs/tutorial/tutorial_03.svg/image11.png b/images/docs/tutorial/tutorial_03.svg/image11.png new file mode 100644 index 000000000000..a83e9e7f82ea Binary files /dev/null and b/images/docs/tutorial/tutorial_03.svg/image11.png differ diff --git a/images/docs/tutorial/tutorial_03.svg/tutorial_03.svg b/images/docs/tutorial/tutorial_03.svg/tutorial_03.svg new file mode 100644 index 000000000000..69961d5fc3db --- /dev/null +++ b/images/docs/tutorial/tutorial_03.svg/tutorial_03.svg @@ -0,0 +1,1377 @@ + + + + + + Produced by OmniGraffle 6.5.2 2012-04-04 22:31:40 +0000 + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Canvas 1 + + + + Component template + + + + Layer 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Model + + + T + emplate + + + + V + iew + + + + + + + + + + + + Scope Inheritance + + + + + Implicit Scope Declaration + + + + + Model / V + iew Data-binding + + + + + + + + <html ng-app="phonecatApp"> + + + + + phoneList component + + + + + + <li ng-repeat="phone in $ctrl.phones"> <span>{{phone.name}}</span> <p>{{phone.snippet}}</p></li> + + <ul> + + </ul> + + + + </html> + + + + </phone-list> + + + + + <phone-list> + + + + + + + + + + + + + + + + RootScope + + + + + + RepeaterScopephone: Object + + + + ng-app + + + + + + ng-repeat + + + + + + + PhoneListControllerphones: Array + + + + phoneList Scope + + + diff --git a/images/docs/tutorial/tutorial_03.vdx b/images/docs/tutorial/tutorial_03.vdx new file mode 100644 index 000000000000..26cc3dd417a5 --- /dev/null +++ b/images/docs/tutorial/tutorial_03.vdx @@ -0,0 +1,5108 @@ + + + + 12 + 52 + + + 7.68056 + 10.5 + 1 + 0.25 + 0.25 + 0.25 + 0.569444 + 1 + 1 + + + + + + + + + + + + + + 0.111111 + 0.111111 + + + 1 + 1 + 10.5 + 7.68056 + 3 + 0 + -0.0277778 + + + Layer 1 + 1 + 1 + 0 + + + + + + -0 + 1 + 1 + 5.259222222222222 + 4.645833333333333 + 3.152777777777778 + 5.930555555555555 + 1.576388888888889 + 2.965277777777778 + + + 3.152777777777778 + 5.791666666666667 + -0 + + + 1 + + + 1 + 0.0138889 + #4fff75 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 5.930555555555555 + + + 3.152777777777778 + 5.930555555555555 + + + 3.152777777777778 + 0 + + + 0 + 0 + + + 0 + 5.930555555555555 + + + + 0 + + + + + -0 + 1.803166666666667 + 4.645833333333333 + 3.486111111111111 + 5.930555555555555 + 1.743055555555556 + 2.965277777777778 + + + 3.486111111111111 + 5.791666666666667 + -0 + + + 1 + + + 1 + 0.0138889 + #f8ff29 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 5.930555555555555 + + + 3.486111111111111 + 5.930555555555555 + + + 3.486111111111111 + 0 + + + 0 + 0 + + + 0 + 5.930555555555555 + + + + 0 + + + + + -0 + 1.638888888888889 + 3.555527777777778 + 0.02777777777777778 + 0.1666666666666667 + 0.01388888888888889 + 0.08333333333333333 + + + 0.02777777777777778 + 0.1666666666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.1666666666666667 + + + 0.02777777777777778 + 0.1666666666666667 + + + 0.02777777777777778 + 0 + + + 0 + 0 + + + 0 + 0.1666666666666667 + + + + 0 + + + + + -0 + 5.291666666666667 + 1.894622222222222 + 0.9583333333333334 + 0.3101166666666667 + 0.4791666666666667 + 0.1550583333333333 + + + 0.9583333333333334 + 0.3101166666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3101166666666665 + + + 0.9583333333333334 + 0.3101166666666665 + + + 0.9583333333333334 + 0 + + + 0 + 0 + + + 0 + 0.3101166666666665 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 0 + 0 + + 0.25 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Model + + + + -0 + 5.291666666666667 + 7.25 + 1.402777777777778 + 0.5416666666666666 + 0.7013888888888888 + 0.2708333333333333 + + + 4 + 0 + 2 + 2 + 1 + + + 1.402777777777778 + 0.5416666666666666 + -0 + + + 1 + + + 0 + + + + + -0 + 0.7013888888888888 + 0.2708333333333333 + 1.402777777777778 + 0.5416666666666666 + 0.7013888888888888 + 0.2708333333333333 + + + 1.122222222222222 + 0.2402777777777777 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #ffffff + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 1.197345180555555 + 0.4623412083333334 + + + 1.197345180555555 + 0.07932545833333332 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.2054325972222225 + 0.07932545833333332 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.2054325972222225 + 0.4623412083333334 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 1.197345180555555 + 0.4623412083333334 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + + + -0 + 0.7426499999999999 + 0.2800576388888889 + 0.9571888888888888 + 0.2396347222222222 + 0.4785944444444444 + 0.1198173611111111 + + + 0.9571888888888888 + 0.1007458333333333 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2396347222222222 + + + 0.9571888888888888 + 0.2396347222222222 + + + 0.9571888888888888 + 0 + + + 0 + 0 + + + 0 + 0.2396347222222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Root Scope + + + + + + -0 + 1.5486125 + 1.203127083333334 + 2.930558333333333 + 0.239634722222222 + 1.465279166666667 + 0.119817361111111 + + + 4 + 0 + 2 + 2 + 1 + + + 2.930558333333333 + 0.239634722222222 + -0 + + + 1 + + + 0 + + + + + -0 + 0.3191916666666667 + 0.1215791666666664 + 0.6383833333333333 + 0.01388888888888889 + 0.3191916666666667 + 0.006944444444444444 + + + 0 + 0.128523611111111 + 0.638383333333333 + 0.128523611111111 + + + 4 + 0 + 2 + 2 + 1 + + + 0.6383833333333333 + 0.01388888888888889 + -0 + + + 2 + + + 9 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.01388888888888889 + + + 0.6383833333333333 + 0.01388888888888889 + + + + 0 + + + + + -0 + 1.837669444444445 + 0.119817361111111 + 2.185777777777778 + 0.2396347222222222 + 1.092888888888889 + 0.1198173611111111 + + + 2.185777777777778 + 0.1007458333333333 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.239634722222222 + + + 2.185777777777778 + 0.239634722222222 + + + 2.185777777777778 + 0 + + + 0 + 0 + + + 0 + 0.239634722222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Implicit Scope Declaration + + + + + + -0 + 0.5277777777777778 + 7.25 + 0.6666666666666666 + 0.3055555555555556 + 0.3333333333333333 + 0.1527777777777778 + + + 0.6666666666666666 + 0.1666666666666667 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #fff82f + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 0.6666666666666666 + 0.3055555555555556 + + + 0.6666666666666666 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + <html> + + + + -0 + 0.7083333333333334 + 2.802625 + 0.75 + 0.3055555555555556 + 0.375 + 0.1527777777777778 + + + 0.75 + 0.1666666666666667 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #f5ff36 + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 0.75 + 0.3055555555555556 + + + 0.75 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + </body> + + + + -0 + 0.5694444444444444 + 2.379013888888889 + 0.75 + 0.3055555555555556 + 0.375 + 0.1527777777777778 + + + 0.75 + 0.1666666666666667 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #f5ff36 + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 0.75 + 0.3055555555555556 + + + 0.75 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + </html> + + + + -0 + 2.020833333333333 + 1.896902777777778 + 1.208333333333333 + 0.3055555555555556 + 0.6041666666666666 + 0.1527777777777778 + + + 1.208333333333333 + 0.3055555555555556 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 1.208333333333333 + 0.3055555555555556 + + + 1.208333333333333 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 0 + 0 + + 0.25 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Template + + + + -0 + 2.725694269097223 + 7.243055555555555 + 3.715277427083335 + 0.01388888888888889 + 1.857638713541668 + 0.006944444444444444 + + + 0.868055555555556 + 7.25 + 4.58333298263889 + 7.25 + + + 4 + 0 + 2 + 0 + 1 + + + 3.715277427083335 + 0.01388888888888889 + -0 + + + 2 + + + 9 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.01388888888888889 + + + 3.715277427083335 + 0.01388888888888889 + + + + 0 + + + + + -0 + 9.680555555555555 + 6.629701388888889 + 0.75 + 0.3101166666666667 + 0.375 + 0.1550583333333333 + + + 0.75 + 0.3101166666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3101166666666665 + + + 0.75 + 0.3101166666666665 + + + 0.75 + 0 + + + 0 + 0 + + + 0 + 0.3101166666666665 + + + + 0 + + + + + -0 + 2.854166666666667 + 7.383706249999999 + 1.319444444444444 + 0.2396347222222222 + 0.6597222222222222 + 0.1198173611111111 + + + 1.319444444444444 + 0.2396347222222222 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2396347222222223 + + + 1.319444444444444 + 0.2396347222222223 + + + 1.319444444444444 + 0 + + + 0 + 0 + + + 0 + 0.2396347222222223 + + + + 0 + + + 0.0694444 + 0.0694444 + 2 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + ng-app + + + + -0 + 1.111111111111111 + 5.787652777777778 + 1.583333333333333 + 0.5416666666666666 + 0.7916666666666666 + 0.2708333333333333 + + + 1.583333333333333 + 0.4027777777777778 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #f5ff36 + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.5416666666666666 + + + 1.583333333333333 + 0.5416666666666666 + + + 1.583333333333333 + 0 + + + 0 + 0 + + + 0 + 0.5416666666666666 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + <body + ng-controller= + "PhoneListCtrl"> + + + + -0 + 5.164930555555555 + 1.493055555555556 + 10.16319444444444 + 0.01388888888888889 + 5.081597222222222 + 0.006944444444444444 + + + 0.0833333333333333 + 1.5 + 10.2465277777778 + 1.5 + + + 4 + 0 + 2 + 2 + 1 + + + 10.16319444444444 + 0.01388888888888889 + -0 + + + 2 + + + 1 + 0.0277778 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.01388888888888889 + + + 10.16319444444444 + 0.01388888888888889 + + + + 0 + + + + + -0 + 5.307812500000001 + 5.817691666666667 + 1.939930555555556 + 1.281283333333333 + 0.9699652777777779 + 0.6406416666666667 + + + 4 + 0 + 2 + 2 + 1 + + + 1.939930555555556 + 1.281283333333333 + -0 + + + 1 + + + 0 + + + + + -0 + 0.9699652777777774 + 0.6406416666666667 + 1.939930555555556 + 1.281283333333333 + 0.9699652777777779 + 0.6406416666666667 + + + 1.551944444444445 + 0.7580094444444444 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #ffffff + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 1.655833545486111 + 1.093643233016667 + + + 1.655833545486111 + 0.1876401003166666 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.2840970100694441 + 0.1876401003166666 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.2840970100694441 + 1.093643233016667 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 1.655833545486111 + 1.093643233016667 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + + + -0 + 0.9822138888888882 + 0.8839902777777776 + 1.19565 + 0.3641138888888889 + 0.5978249999999999 + 0.1820569444444445 + + + 1.19565 + 0.225225 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3641138888888891 + + + 1.195650000000001 + 0.3641138888888891 + + + 1.195650000000001 + 0 + + + 0 + 0 + + + 0 + 0.3641138888888891 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + PhoneListCtrl Scope + + + + -0 + 1.252022222222221 + 0.4659763888888886 + 1.265766666666667 + 0.3641138888888889 + 0.6328833333333334 + 0.1820569444444445 + + + 1.265766666666667 + 0.225225 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3641138888888891 + + + 1.265766666666666 + 0.3641138888888891 + + + 1.265766666666666 + 0 + + + 0 + 0 + + + 0 + 0.3641138888888891 + + + + 0 + + + + + + + -0 + 5.304375694444444 + 5.46704375 + 1.340251388888889 + 0.2396347222222222 + 0.6701256944444444 + 0.1198173611111111 + + + 1.340251388888889 + 0.1007458333333333 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.239634722222222 + + + 1.340251388888889 + 0.239634722222222 + + + 1.340251388888889 + 0 + + + 0 + 0 + + + 0 + 0.239634722222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 1 + 0 + + 0.152778 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + phones: Array + + + + + -0 + 3.120340559486218 + 5.80203408628814 + 2.421237030289173 + 0.01733030378260775 + 1.210618515144587 + 0.008665151891303877 + + + 1.90972204434163 + 5.79336893439684 + 4.33095907463081 + 5.81069923817944 + + + 4 + 0 + 2 + 0 + 1 + + + 2.421237030289173 + 0.01733030378260775 + -0 + + + 2 + + + 9 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 3.947459643111667e-16 + 3.947459643111667e-16 + + + 2.421237030289174 + 0.01733030378260815 + + + + 0 + + + + + -0 + 0.6527777777777778 + 4.541663888888889 + 0.5 + 0.3101166666666667 + 0.25 + 0.1550583333333333 + + + 0.5 + 0.1712277777777778 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #f5ff36 + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3101166666666665 + + + 0.5 + 0.3101166666666665 + + + 0.5 + 0 + + + 0 + 0 + + + 0 + 0.3101166666666665 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + <ul> + + + + -0 + 1.993055555555556 + 3.888888888888889 + 2.902777777777778 + 0.75 + 1.451388888888889 + 0.375 + + + 2.902777777777778 + 0.6111111111111112 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #f5ff36 + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.75 + + + 2.902777777777778 + 0.75 + + + 2.902777777777778 + 0 + + + 0 + 0 + + + 0 + 0.75 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + <li ng-repeat="phone in phones"> + {{phone.name}} + <p>{{phone.snippet}}</p> +</li> + + + + -0 + 5.197916666666667 + 1.203127083333334 + 2.388888888888889 + 0.239634722222222 + 1.194444444444444 + 0.119817361111111 + + + 4 + 0 + 2 + 2 + 1 + + + 2.388888888888889 + 0.239634722222222 + -0 + + + 1 + + + 0 + + + + + -0 + 0.3333333333333333 + 0.1198291666666659 + 0.6666666666666666 + 0.01388888888888889 + 0.3333333333333333 + 0.006944444444444444 + + + 0 + 0.12677361111111 + 0.666666666666667 + 0.12677361111111 + + + 4 + 0 + 2 + 2 + 1 + + + 0.6666666666666666 + 0.01388888888888889 + -0 + + + 2 + + + 1 + 0.0277778 + #17ff1c + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.01388888888888889 + + + 0.6666666666666666 + 0.01388888888888889 + + + + 0 + + + + + -0 + 1.576388888888889 + 0.119817361111111 + 1.625 + 0.2396347222222222 + 0.8125 + 0.1198173611111111 + + + 1.625 + 0.1007458333333333 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.239634722222222 + + + 1.625 + 0.239634722222222 + + + 1.625 + 0 + + + 0 + 0 + + + 0 + 0.239634722222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Scope Inheritance + + + + + + -0 + 5.600694444444445 + 4.041666666666667 + 1.729166666666667 + 1.055555555555556 + 0.8645833333333334 + 0.5277777777777778 + + + 4 + 0 + 2 + 2 + 1 + + + 1.729166666666667 + 1.055555555555556 + -0 + + + 1 + + + 0 + + + + + -0 + 0.8645833333333334 + 0.5277777777777778 + 1.729166666666667 + 1.055555555555556 + 0.8645833333333334 + 0.5277777777777778 + + + 4 + 0 + 2 + 2 + 1 + + + 1.729166666666667 + 1.055555555555556 + -0 + + + 1 + + + 0 + + + + + -0 + 0.8645833333333334 + 0.5277777777777778 + 1.729166666666667 + 1.055555555555556 + 0.8645833333333334 + 0.5277777777777778 + + + 1.383333333333334 + 0.6 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #ffffff + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 1.475935395833334 + 0.9009726111111109 + + + 1.475935395833334 + 0.1545829444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.253231270833333 + 0.1545829444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.253231270833333 + 0.9009726111111109 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 1.475935395833334 + 0.9009726111111109 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + + + -0 + 0.8602083333333334 + 0.7277458333333335 + 1.208333333333333 + 0.4669805555555555 + 0.6041666666666666 + 0.2334902777777778 + + + 1.208333333333333 + 0.3280916666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.4669805555555552 + + + 1.208333333333333 + 0.4669805555555552 + + + 1.208333333333333 + 0 + + + 0 + 0 + + + 0 + 0.4669805555555552 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + phone scope + + + + + + -0 + 0.9930555555555556 + 0.3998444444444442 + 1.472222222222222 + 0.3101166666666667 + 0.7361111111111112 + 0.1550583333333333 + + + 1.472222222222222 + 0.1712277777777778 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3101166666666665 + + + 1.472222222222222 + 0.3101166666666665 + + + 1.472222222222222 + 0 + + + 0 + 0 + + + 0 + 0.3101166666666665 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.152778 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + phone: Object + + + + + + -0 + 5.725694444444445 + 3.916666666666667 + 1.729166666666667 + 1.055555555555556 + 0.8645833333333334 + 0.5277777777777778 + + + 4 + 0 + 2 + 2 + 1 + + + 1.729166666666667 + 1.055555555555556 + -0 + + + 1 + + + 0 + + + + + -0 + 0.8645833333333334 + 0.5277777777777778 + 1.729166666666667 + 1.055555555555556 + 0.8645833333333334 + 0.5277777777777778 + + + 4 + 0 + 2 + 2 + 1 + + + 1.729166666666667 + 1.055555555555556 + -0 + + + 1 + + + 0 + + + + + -0 + 0.8645833333333334 + 0.5277777777777778 + 1.729166666666667 + 1.055555555555556 + 0.8645833333333334 + 0.5277777777777778 + + + 1.383333333333334 + 0.6 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #ffffff + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 1.475935395833334 + 0.9009726111111109 + + + 1.475935395833334 + 0.1545829444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.253231270833333 + 0.1545829444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.253231270833333 + 0.9009726111111109 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 1.475935395833334 + 0.9009726111111109 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + + + -0 + 0.8602083333333334 + 0.7277458333333331 + 1.208333333333333 + 0.4669805555555555 + 0.6041666666666666 + 0.2334902777777778 + + + 1.208333333333333 + 0.3280916666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.4669805555555556 + + + 1.208333333333333 + 0.4669805555555556 + + + 1.208333333333333 + 0 + + + 0 + 0 + + + 0 + 0.4669805555555556 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + phone scope + + + + + + -0 + 0.9930555555555556 + 0.3998444444444442 + 1.472222222222222 + 0.3101166666666667 + 0.7361111111111112 + 0.1550583333333333 + + + 1.472222222222222 + 0.1712277777777778 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3101166666666665 + + + 1.472222222222222 + 0.3101166666666665 + + + 1.472222222222222 + 0 + + + 0 + 0 + + + 0 + 0.3101166666666665 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.152778 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + phone: Object + + + + + + -0 + 5.850694444444445 + 3.791666666666667 + 1.729166666666667 + 1.055555555555556 + 0.8645833333333334 + 0.5277777777777778 + + + 4 + 0 + 2 + 2 + 1 + + + 1.729166666666667 + 1.055555555555556 + -0 + + + 1 + + + 0 + + + + + -0 + 0.8645833333333334 + 0.5277777777777778 + 1.729166666666667 + 1.055555555555556 + 0.8645833333333334 + 0.5277777777777778 + + + 4 + 0 + 2 + 2 + 1 + + + 1.729166666666667 + 1.055555555555556 + -0 + + + 1 + + + 0 + + + + + -0 + 0.8645833333333334 + 0.5277777777777778 + 1.729166666666667 + 1.055555555555556 + 0.8645833333333334 + 0.5277777777777778 + + + 1.383333333333334 + 0.6 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #ffffff + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 1.475935395833334 + 0.9009726111111109 + + + 1.475935395833334 + 0.1545829444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.253231270833333 + 0.1545829444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.253231270833333 + 0.9009726111111109 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 1.475935395833334 + 0.9009726111111109 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + + + -0 + 0.8602083333333334 + 0.7277458333333331 + 1.208333333333333 + 0.4669805555555555 + 0.6041666666666666 + 0.2334902777777778 + + + 1.208333333333333 + 0.3280916666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.4669805555555556 + + + 1.208333333333333 + 0.4669805555555556 + + + 1.208333333333333 + 0 + + + 0 + 0 + + + 0 + 0.4669805555555556 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Repeater +Scope + + + + + + -0 + 0.9930555555555556 + 0.3442888888888886 + 1.472222222222222 + 0.3101166666666667 + 0.7361111111111112 + 0.1550583333333333 + + + 1.472222222222222 + 0.1712277777777778 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3101166666666665 + + + 1.472222222222222 + 0.3101166666666665 + + + 1.472222222222222 + 0 + + + 0 + 0 + + + 0 + 0.3101166666666665 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.152778 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + phone: Object + + + + + + -0 + 4.091307706065886 + 3.977746656683371 + 1.279850071744957 + 0.05419969209096504 + 0.6399250358724784 + 0.02709984604548252 + + + 3.45138267019341 + 3.95064681063789 + 4.73123274193836 + 4.00484650272885 + + + 4 + 0 + 2 + 0 + 1 + + + 1.279850071744957 + 0.05419969209096504 + -0 + + + 2 + + + 9 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0 + + + 1.279850071744957 + 0.05419969209096504 + + + + 0 + + + + + -0 + 4.152809482554106 + 3.903236743409153 + 1.402841571900808 + 0.01388888888888889 + 0.7014207859504038 + 0.006944444444444444 + + + 3.4513886966037 + 3.89974151703802 + 4.85423026850451 + 3.9101811878536 + + + 4 + 0 + 2 + 0 + 1 + + + 1.402841571900808 + 0.01388888888888889 + -0 + + + 2 + + + 9 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 3.947459643111667e-16 + 0.003449218073314676 + + + 1.402841571900808 + 0.01388888888888889 + + + + 0 + + + + + -0 + 4.215643226289488 + 3.832873853917696 + 1.52851308361848 + 0.03852253612319521 + 0.7642565418092399 + 0.01926126806159761 + + + 3.45138668448025 + 3.85213512197929 + 4.97989976809873 + 3.8136125858561 + + + 4 + 0 + 2 + 0 + 1 + + + 1.52851308361848 + 0.03852253612319521 + -0 + + + 2 + + + 9 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + -3.947459643111667e-16 + 0.03852253612319521 + + + 1.528513083618479 + 0 + + + + 0 + + + + + -0 + 5.30174111569183 + 6.718742542094095 + 0.01388888888888889 + 0.5069650662193674 + 0.006944444444444444 + 0.2534825331096837 + + + 5.30051202814973 + 6.46526000898441 + 5.29479667124739 + 6.97222507520378 + + + 4 + 0 + 2 + 0 + 1 + + + 0.01388888888888889 + 0.5069650662193674 + -0 + + + 2 + + + 1 + 0.0138889 + #2fff41 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0.005715356902344284 + 0 + + + 0 + 0.5069650662193674 + + + + 0 + + + + + -0 + 5.593991536729125 + 4.749680342857284 + 0.230659920660324 + 0.8608214083289332 + 0.115329960330162 + 0.4304107041644666 + + + 5.70932149705929 + 4.31926963869282 + 5.47866157639896 + 5.18009104702175 + + + 4 + 0 + 2 + 0 + 1 + + + 0.230659920660324 + 0.8608214083289332 + -0 + + + 2 + + + 1 + 0.0138889 + #39ff42 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0.230659920660324 + -3.947459643111667e-16 + + + 0 + 0.8608214083289327 + + + + 0 + + + + + -0 + 5.528944799149485 + 4.811721151142859 + 0.1605357543580147 + 0.7303100681147229 + 0.08026787717900735 + 0.3651550340573614 + + + 5.60921267632849 + 4.4465661170855 + 5.44867692197048 + 5.17687618520022 + + + 4 + 0 + 2 + 0 + 1 + + + 0.1605357543580147 + 0.7303100681147229 + -0 + + + 2 + + + 1 + 0.0138889 + #45ff51 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0.1605357543580147 + 0 + + + 0 + 0.7303100681147229 + + + + 0 + + + + + -0 + 5.463468438332055 + 4.87380019511181 + 0.0989919282718227 + 0.6002834658975308 + 0.04949596413591135 + 0.3001417329487654 + + + 5.51296440246797 + 4.57365846216304 + 5.41397247419614 + 5.17394192806058 + + + 4 + 0 + 2 + 0 + 1 + + + 0.0989919282718227 + 0.6002834658975308 + -0 + + + 2 + + + 1 + 0.0138889 + #37ff37 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0.0989919282718227 + 0 + + + 0 + 0.6002834658975308 + + + + 0 + + + + + -0 + 0.6527777777777778 + 3.277775 + 0.5 + 0.3101166666666667 + 0.25 + 0.1550583333333333 + + + 0.5 + 0.1712277777777778 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #f5ff36 + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3101166666666665 + + + 0.5 + 0.3101166666666665 + + + 0.5 + 0 + + + 0 + 0 + + + 0 + 0.3101166666666665 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + <ul> + + + + -0 + 2.777777777777778 + 5.909722222222222 + 1.444444444444444 + 0.2083333333333333 + 0.7222222222222222 + 0.1041666666666667 + + + 1.444444444444444 + 0.2083333333333333 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2083333333333333 + + + 1.444444444444444 + 0.2083333333333333 + + + 1.444444444444444 + 0 + + + 0 + 0 + + + 0 + 0.2083333333333333 + + + + 0 + + + 0.0694444 + 0.0694444 + 2 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + ng-controller + + + + -0 + 1 + 1 + 8.609375 + 4.645833333333333 + 3.274305555555555 + 5.930555555555555 + 1.637152777777778 + 2.965277777777778 + + + 3.274305555555555 + 5.791666666666667 + -0 + + + 1 + + + 1 + 0.0138889 + #1e23ff + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 5.930555555555555 + + + 3.274305555555555 + 5.930555555555555 + + + 3.274305555555555 + 0 + + + 0 + 0 + + + 0 + 5.930555555555555 + + + + 0 + + + + + -0 + 8.784722222222221 + 1.894622222222222 + 0.9583333333333334 + 0.3101166666666667 + 0.4791666666666667 + 0.1550583333333333 + + + 0.9583333333333334 + 0.3101166666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3101166666666665 + + + 0.9583333333333334 + 0.3101166666666665 + + + 0.9583333333333334 + 0 + + + 0 + 0 + + + 0 + 0.3101166666666665 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 0 + 0 + + 0.25 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + View + + + + -0 + 1.597222222222222 + 5.077527777777778 + 2.388888888888889 + 0.4606111111111111 + 1.194444444444444 + 0.2303055555555556 + + + 2.388888888888889 + 0.3217222222222222 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #f5ff36 + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.4606111111111109 + + + 2.388888888888889 + 0.4606111111111109 + + + 2.388888888888889 + 0 + + + 0 + 0 + + + 0 + 0.4606111111111109 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Fulltext Search: + + + + -0 + 1.705902777777778 + 4.955731944444445 + 2.449305555555556 + 0.3559249999999999 + 1.224652777777778 + 0.1779625 + + + 4 + 0 + 2 + 2 + 1 + + + 2.449305555555556 + 0.3559249999999999 + -0 + + + 1 + + + 0 + + + + + -0 + 1.224652777777778 + 0.1779625 + 2.449305555555556 + 0.355925 + 1.224652777777778 + 0.1779625 + + + 2.449305555555556 + 0.2170361111111111 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3559249999999999 + + + 2.449305555555556 + 0.3559249999999999 + + + 2.449305555555556 + 0 + + + 0 + 0 + + + 0 + 0.3559249999999999 + + + + 0 + + + + + -0 + 1.259559722222222 + 0.1615034722222223 + 2.111625 + 0.2681763888888889 + 1.0558125 + 0.1340881944444444 + + + 2.111625 + 0.2681763888888889 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2681763888888887 + + + 2.111625000000001 + 0.2681763888888887 + + + 2.111625000000001 + 0 + + + 0 + 0 + + + 0 + 0.2681763888888887 + + + + 0 + + + 0 + 0 + 0 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + <input ng-model="query"> + + + + + + -0 + 5.32175 + 5.597222222222222 + 1.402777777777778 + 0.3055555555555556 + 0.7013888888888888 + 0.1527777777777778 + + + 1.402777777777778 + 0.1666666666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 1.402777777777778 + 0.3055555555555556 + + + 1.402777777777778 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 1 + 0 + + 0.152778 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + query: String + + + + + -0 + 8.666666666666666 + 5.854166666666667 + 3 + 3.236111111111111 + 1.5 + 1.618055555555556 + + + 3 + 3.097222222222222 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 3.236111111111111 + + + 3 + 3.236111111111111 + + + 3 + 0 + + + 0 + 0 + + + 0 + 3.236111111111111 + + + + 0 + 0 + 3 + 3.23611 + + Qk0AAAAAAAAAADYAAAAoAAAA2AAAAOkAAAABABgAAAAAAMhNAgAAAAAAAAAAAAAAAAAAAAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////5fT5qKTB/Pv5////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8//+Z3Skv4tt//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////37//78////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////yeH2TVdfPT07TkU/0bWW////2fT/W3KLODY0q52HpLS+ND5GfmNM//DdrM3oNjpDKCwpnYh0///6////////////iarFMz1IUT402rqX////////+v//rqK12LCq/////P//do6mKygoQD433sOq6vn/O1t6qIFd////i63IKzAzl3Ze//3xdaXGPSQm06iQ0/n9LDlEazcu////////5Pn/ZH2YNTg7e1tK+ufK////////5f/9rYqW8uDY////2/D/SlptISAeY1dJ//Larc7vQUlT5L2T7//+WnWIOjAr1a2O5v3/RWmFYDMq79fB////////////////0en8VGt+NjQxOTg7Qjw5mntl9+vc////////hJ61LywvODkyzrSd+P/+ZX6XOTUyrqGQnK24MTk/hWtY//nqpcPfNTY+Ky4srJV/9P/+aoCiNjk5hWtg//nhxeD9MD1qdFM7rK+hT01Tu4Bq1fH7PlZtcktAg4ycOkBabVxS+ePLudf3TDZdcmhic2Fe/dvD6/7/WnCIPzkytqqbkaOyMDQ5kXZh//fl////////////mcHeOTU/pYJqlavGLi1KnH1eiKCeTy4t476lrdDeSUdSRTM4cl1C/+3O////eY+nODk3gmhh+urZj6rALy4wNjcywKmV////2PP/QWB6bDwv9+7ceKG6dVQy//je////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8/z/e6K1AgAAiVU1/Pvs////////U32iHwAD7cqgx+z/AAo7jVg20fTzARIyLAYGmJqFMUNqp39z///4////////zuLyI0pqg0op+/Tq////////kMX4JAAk5bF/////eKfIAAAAYUQzf5CQRkBa7ManUpnHUz42/evkNW+nIgcA5MCa0fT/FhhJblMtzrqpp8bVExQWsYRZ////////////j77hHyUwwYZd////////////S33CUxAe//LM+///M11+AAAAhndfT2eCbVBX7uPPI2CIrHlb2vn/ACJKYjMA//zdgq7gFgAUl4JY3sm5////////////oL/fAAMVOi4gx7emzc7Mm7PFABk9gmM0////i73gAAAAUzMmipmRPz5f4L6eaZvQEAAC6sCUtuT6AAAqrmlQwPH2AAgkNhANlpyJNENpt5iEkrjOAAAHt3Nm////QnytJRsDvreUKkJzEwAC076OY4S0IwQSrZhumqm2ABhHlmhI0OvxDRc9g1A58O7fZ4ipXjUk///bUIK/HQAD9dGro9XwAAAZs3Vc/////////////f//KEJ+VS0akqSfByQ0YU4loaypAAQ5TSIX3d/DKz1rdk4x39PJWZSsYDgr/+rKqNT0AAYrqIFgncjRAAAAUDAjjpqQPDxf48WgeaXXGQAQoolf59/XUICeTyUA//na////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////w+j6Hg1AzZdu////////////bJnIVyw8///N8f/+QVZ+vn1QbLLXFxUf++K+////4v//s5ag9unf////////+///l7zP3Kh/////////y/P/ADFfJwAG9L+Z/f//ADxxa0sr////////x9ThyJyi////W36qPE9lGwAazJBr////uN73KSBK7cCP/////fz++fn7////////////////1f3/l5yZ/cuk////////i8PkAAAccB0A///nseT/AAMqwZls////+f//sqm65sHC2v/9TmeLNkpjOAAX/9qy////ZZLIUCY1//rM////////////1/j/ABVKLhAL//DT////////8v/+BUp/bU4Z////C1eRUTki///6////zd/s3a6tksb4QSg7/9q14//9Vlx48qKCTZzWIhwb/+vL////3vj/zKaptM3xLSxO7bGP////UYmwPRsE//TIf7/8WzA0////Rm+wbz49///v3//9Mjxfy5Jmb7XYJiAd/+m7////xu//JyIt9r6CgLz7Ti44/+rG1P/8VVBo5Z+I////////////9f/+Jzpzv4Vi+v//CkFjj1Ei////RGegnmBB////JjBovY1q////6f/9JDVJyJNe3P/8MTNRz6N6MXimSTQm///0////0+Pyz7iyXoq5Wi05///T/////v3//f39////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ueD5GQk/yJNm////////////ZpHFTys3///P+P/+PVV9qnRIaaTGdFVH39jP4NvY+vDr/////////////////P//nL7L0qN9////8f/+Lld0AAYFWyEa5q+k7f/+L1B2t4le3Onz6N7Y/Pf2////////yP7/BhEWaDkb////////vOL1KiRM5LaH////////////////////////////3P/9lZuS9MSj////vOTyABcxGhwKi0E7//7mmNL7OjdC37uX3ubt8ebg/vz+////////gr/UAAAAvZx7////////bZnLSiUx//PH////////////irvnAAcTv39N////////////9v/+FFODe10u////Ml+PpHlU3Obu5tzW/vT0////hsDvPCY0/9ev5v/9WF525qB6UpjKflpF3tzX4dvW+/Du////sd7+KidI6bCG////8//+g4Oqb0xeNExjZSgg///9TXe4Zzs3///p3v/9KzZZxY1jVZS4Xiwp///j////yu7+JydI7LiCe772SSoy/+jA1//8VVJl4Z1/////////////+P/+LEB3pnZZ////0un/bVp8XlluIh8uqGRH////KDhxtohp/////f//LEF8uX1h2f/8LC1MvZd0THygn3ZV3Obr5dzW//Xz////YIzDVCsy//rO////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ueD5GQo+yJNm////////////Z5LGSiUx//3L6v/9JT1qw3dRgb/mNCAntaCIgqOsDzZJqXVJ///4/////////P//mr3I2KN9////SnOMAAAAoZpytKm0zJ2m////MVeHZD0kvr+zTX2SMC8r36+F////aozJAAAAjUAm////////xOb4LSdT572P////////////////////////////2v/+lJqR/cuo3f/9AypBHAIAz9i2rY2h/+jbvOr/GCJAlW5Kqry8HVVxZUAi/+7L8//+HkiKCgAB1JyB////////dJzMTSo8//jL////////////X47HAAAO2rJ/////////+v//k6vJAAQyPxkA8Nm5SXioVjQlv7qrXYmaJi8y7bh+jr75NxYy/9+33P/8OENj7ad6a67gOiEjuaiOe56pEzNEyI9ZwN77JiFH6LGL////wtPooqe0xc7WJTpkURkb///4VHy5akFC///t4f/9MDtcxYhfeq/TSCcw///e////ksbrFxYT+MWDe67zRB4x/+/IyPn/OTlV5KeB////////////////MEN8rX5j////mqjJt7u+k6jBDw0rm1tF////KDhxtIdn////xO3/DSMww4RL2f/8Ky1LyJt3V4q0UjEmv7moYYydJi804ryCcJnPVzA9//3T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ueD5GQo+yJNm////////////gKbXAAAOknxEfJSmGwAS5aR44P/9LjNfyK+Vbp+9AAAJuJNf////////////+///o8DL8cyUd6vkAAAAiFkq////opSmypGY////harQQi9J6eHAD1WGCgwM/+CvpdL1ABcmeWZGYGJysWpN////m8bkFxAks4lt8/Hv////////////////////////1/3/paOX89y4HVmjAAAAy6F4+v//mGmA9dfP////QWCTe11fvdLNAAtBY0ge///0U4y4JRcIjJaKW0NP4qmI////TnqnORIT4MGp/v76////////aprRAAAR1adx////////9f//tr3Nt6+0uba27ODRocTeOi9P6Nq2LGuaAAYM5NGhXHqxAAAAjW82bYaZHAAP7LWJ0v/9LzFa0bqcYJW4AAANuKV0aY2lAAAAW1Q4RUxiT1ZLQygI//zQaJ7TdTUy///7MFiIUyUb7NbEh7PRAAAew4hr3P/8LCtcwpNmzubrHzFcaCQf/PzgRGGbAAAAmH1EXXiWJAAH8MOZ////////////1vf/FCVLilU+8fr9PmJwgVEi/f//Ok55uW1O////FzF1LRwVo6WQHzpPHgAD/9iq1//8KSxK05x0td/0OC9Q59e0NHGfAAEN4tKmSnWmQBcV4siw///7////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+PL3+ezx////uuH6GQtByZdp//////39////cZjLOyI1lZ6HMTRCi1JH//7r////xeD4VWeIRjkxu5mB////////////////////sdDZaHBlAB5AXh0G//DR////oo2qypei////////ob7hQUheZEo56s616vn/c4WXYGBYvbKejqi6cE9M89nCbqnVAAAQTQQXxaGj////////////////////////6//+maehPlVWAAUVomVB////6v/9m2qJ7NfT////6v3/dY61OTY+iWhQ//fjvdjwW2dyfnJgysm/cISXnW9e6vHsG1yWGAACdjZB7dbK////////pdb2BBAXomk8////////////////5eT23d3w////////rMnpRlBqW0Qy27+m////lrDJeGZhjZKGNjI4kFdK//3o////wNz2UWKBSjoxxKOJ////qcDYjouGlaSkND9HwLCOio2wWVZvZFVJ88iq4f//ADduIwAFhk1Yxs3EjISe0bOw////weH9ZmJyPi0ve2ph/+7a+///jaa/fGhgh5CHMigtoGhW///2////////////os3xAA00NQAJrXuB3e3fZWCNTlBbg19O//Ha8//+LTx7cmFXUWp2PCwl17Wb////z/v/Ki1NypNr////r83vR1JsWEIy4sCk7v/+B02HHAADfT5J8t3O////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////qLTajn2U////yer/IgZB0Y9v////irDY0rKJdZzJVCs9//vP////////////////////////////////////////////////////j8LhAAAANQkA8dKx////////iHuSqXqT////////////////////////////////////////////////////7v3/e56y5LmZ/////////////////////////////v//S3mVAAAAekgs//zn////9P/+c0tq38vS////////////////////////////////////////////////////veb/hYqL/97D////////////////QmWfCQAB0rCM////////8P/+NDN5k2Re////////////////////////////////////////////////////////////////////////////////////////////////////////////////////pdf4lY2D/+7Y+v//5+jk//Xr////////////////////////////////////////////////////////////////////iLjWvJ6I///6////////////////////7//+LTlVvYxr////////////////z//+MDVVyY9o////////////////////////tOH/ioqG/+TL////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////pdL5ABQ+TjcVOEpPAQAANxwbSVZWFhEXoolpI0h0VSMA//HU////////////////////////////////////////////////k7HNABUvCQAByLab////////lrfPABAZIRcI17+j////////////////////////////////////////////////////+/n79vD1////////////////////////7v//X4ChAAAJQisN9u3b////9f/+WX2VAAAAWkcv+OTQ////////////////////////////////////////////////////9/L1+fb4////////////////9v/+XXWfGRAZU0g4Wl1dK0NRAQAApHJe////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9vD1////veb/AAM0uIhb/////////////////////////////////////////////////////////////////////v7+9e/0/v7+////////////////////kLXWBQULuoRJ/////////////f//XImrAAAAwp2C////////////////////////////9vH2+vf5////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8/7/tcXQnJyfp6KfwMK8pq+3nZqav7et4+Detb7OzMKw//bu////////////////////////////////////////////////v9DfpqOj09LN////////////x9Dasa6ppa2y3tLI////////////////////////////////////////////////////////////////////////////////////7vr/sLvHsamk6uvn////////9P//s7i/q6yorq6u9+vh////////////////////////////////////////////////////////////////////////////////////v9LhiIuOjYmJta+k2NTH4NbR////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////5fb/lZ+04c7E////////////////////////////////////////////////////////////////////////////////////////////////////09zmsLS76NXE////////////9v3/vsnTopua5NzU////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////6/b80tLU0tPR4NjR///z+/b/+/X//v//2d/m2tTP09rf29XQ//vy////8P7/u8nUtbOxuLGs5+Td////////////////8fn/zs/R2dnVztLT6uDY////////////////6fj/uMTMtbOxurOs7+3m////////6/X7ztDT3trXztDS7+bf////+///3uPkzczM+/Ts////////1ef0uLy9t7SyyMG6/Pv3////////3Ojw09DO3dzcxcjNxMPDxMTE1MzJ//Lt5fL90NPT29HR+PDr////////4Obt4NzX0NLX4N7b////////////3ev1zMzO2NjW6+Th////7PX92tfU3uDgys7T6N3X////////+P/+v9DdtrWxt7Gs39rR////////////////////6vn/uMXNtbOxubKt7uvm////////6/b80tLU0tPR4NjR///z+/b/+/X//v//2d/m2tTP09rf29XQ//vy////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9PT0+vr6////////////////////////////////////1u39J0xyAgAAnGlH////hZC2oYCE////gp7EAA8aCgAAlnFV///w7///PWB4JCUlcWtaJzZBJSQi4buP////////////3PH/PlhrAAAAKhAFwqiI////////////2evwK0xiMS4rcW1cGis5OzMo886m////0Oz9M05wAAAAOSYV2rmh////g6fCAAAATjcV+OHH////nrjIFys9VExAZmddCBkod19C/+/S////nLzXCiM+AwAAQDguRkdJOUBBBgQRhlFByfLyAA1DVyQT8NW+////////k7DRAAgrAAAArZh1////////////osniABs+FwACyrKU////2ez+JkNjAAAAGwACxKWE////+P/+V3mPHCAlbmdUOURKFhseyKJ4////////////3O3yLlBmLywpcm1cHC06NzAn8cyi////1e//J0xyAgAAnGlH////hZC2oYCE////gp7EAA8aCgAAlnFV//rl////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9vb2fX19LS0tSUlJurq6////////////////////////////////////od//h3Jo/+zG6f/9ADt3VwUC/+vX////O3CbXScA///h8v/+Cjx8RxsA/+jQ////////XIizBAAA4cGN////////////1/3/GxZBsG5V////////////3fD/ACFcZTEA//jl////////PGiTHQYA8der////u+L/ABk1zaVt////sMvxAAImTDID//fY////m7rvAAEcrHdJ////////0uz/Ax9AaEMQ///v////YJnMJyQd/+nB////////qMznREg8/9ueeLTznGhG//rt////////0/b7AAYtfVcy////////////////////uNz3Pj5S4ruN////////LFuDDQAB5KiM/////f//MFubKQoA+NG0////////fabNAAAAy6Rs////4PX/ACRhXy4A//bi////////Q26ZGQIA79Ol////o9//h3Jo/+zG6f/9ADt3VwUC/+vX////O3CbXScA//zd////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////kpKSAAAAAAAAAAAAISEh6urq////////////////////////////////w/P/qpuB//jgnMTnAAAAAAAAy618////RnmYUyMA///vf7ziEAAC1KWM////////////6v/9FkBdci4A//3q////////1vf/HR1Zq3RQ////////////W5O0HQAD6sOv////////////0Pv/ECY4klEc////veL/ABgy3LFz7P/+ACVfNxIA9enH////7//+HkhkWBIH//Tq////////////gLnlGAIA3Kh/////Y5PDJiIb/+jC/////////P//1d/Q79HA7f/+QzRmvK2Vy8vT2NnTNXWgHA8E9sWX////////////////////////e7LfRSI///++cJnlAAAAk29K////////m83oDAIGs3xh////////////+v//KWCIVw0A///qZ6XJGgAC572p////////////1f/+ESk9jEoV////xfb/qpuB//jgnMTnAAAAAAAAy618////RnmYUSMA//je/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Pz8WFhYAAAAAAAAAAAABQUFs7Oz////////////////////////////////wvX/qpZ88N3TAEuFTCQAm7uvfE1R+vL0RH2eVSQA///rQYnAKhYA/9yy////////////////Q2WUJwAG+OLA////////0fX/GhpTq3NQ////////+f//FlyPRyMA//PN////////////////JztsRgAS///lveP/Ah40k4ZlK2CFIwAF6cqe////////y+//ACBGlF8f///9////////////wOr1AAAUn2JH////YpTHIiIY/+a+////////////////////////WIzFKSAgpJaFTnOOAAAJdjQd////////////////////////////////dZHBHTA7AhgWYikW//rZ////////Yp3MExAJ57yK////////////////Z5K5EgAC5M6yLnWmQiIA/+7J////////////////K0ByQQAP//7Wxvr/qpZ88N3TAEuFTCQAm7uvfE1R+vL0RH2eUiIA//je////7fHx6OHm9e/w9fr73dri9e7p////5+nz5err/Pbx////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////h4eHAAAAAAAAAAAAGxsb39/f////////////////////////////////vfD/uKiMpsC5AQAApW1J////R1KU1sKoVIaiUiIA///rTYnBKRcC/964////////////////Pl2THQAD9964////////0vX/GxpTq3NQ////////+///Jl2QRSQA//TS////////////+f//IDNsPQAQ///avuT/Ah84IhgHGSwzJgsCpoBt////////0vD/ACFHkGIn////////////////uuH0AAATlV9C////YpXIIyIY/+a+////////////////////////t9LlSUNm///fgbH1AAgd1Kdz////////////////////////////////y+7/AC9qIgAE6s6v////////////bp7NFREM5L6Q////////////////YIm4CAAB48qrPXakQSIA//DN/////////////f//JDlwNwAN//vPwPb/uKiMpsC5AQAApW1J////R1KU1sKoVIaiUCEA//zf////cJ6+MA8l362Zy+r9SUFkjYqDq7qyZnCMVT0989q/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7u7uYWFhGRkZKysro6Oj////////////////////////////////////yvP/lpaSHzNfKxwT/9+z////ncfghmNkVH2QUiQY///lR4nAKhYA/9yy////////////////RWimLQAG/OO9////////0vX/GxpTq3NQ////////+v//HlyPRiMA//PN////////////////KDt/SwAb///nveP/ABcxxqJu////iazYAAAYl2w1////0fT/ACBGkmAe///9////////////w+36AQAlo1xN////ZJbIIyIY/+W9////////////////////////6f/9doWN3KpmPWylTQYX//nc////////////////////////////////dq7dAAAOIw0AyJx5////////////aJzMFBAJ5ryK////////////////aZbIFgAC586xNXalQSAA/+7J////////////////LECERgAY///Wzfn/lpaSHzNfKxwT/9+z////ncfghmNkVH2QUCQZ//jZ////mL/wSUpZ/+ux+f//2+vsdJ7EKAAYo599q2JX/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Pz84uLi7e3t////////////////////////////////////////5v/9MU5jAAAAm2BH////////9fv/P1qMAAYSZDwt///pkMjwCAABxJV0////////////2Pv/AC1Vh0Eb8OHc08Da////1vv/Hh5VrXZU////4/r/4tnNbJe+DwAC3raV////////////u+b/Axk1oVo0////vuT/ABk1xqFu////+v//KVRdXAMD//3i/f//KE6CQwAP/+/W////////////aKLPGwEA56+L////V47BJCQb/+7C////////////////////////////vcrdDiRACggAxJx1////////////////////////////////sNfyAAAdh0gvw+/fNz1g0KN9////////qtjwBwAeoWhQ////////////7f/+DUl5ZRkG///wd7DcDQAB2bCP////////////wOr/Axw4m1Mx////5//9MU5jAAAAm2BH////////9fv/P1qMAAYSYzwt//na////m8HwUUtk/+m2////suD4S09aXTM/WGpfpGhB////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////q9PzABgxCAAB89et////////////lMfXAAAAUywF/97D////SW+eHwADzKOL/P721ufwKVJ0NxUA//a+vN3+LDdl4caTtNTpDwAvi0kv7vbrMmeennNO////MFSAMQAI2rmj+/31yd7rFzlaUi0A//fQ////krnhAAYhqIZT7/LqcZa5AAAWpHJD////////wdz/CxMray0Z6d7O8fHvkLDKBxAcmHI2/////f//NXCfExAF4L6R////////////////////////////8v/+GWGKQwAI/+XU/////////////////////////v//ss3iAAohIAIA9sur////irrjIBEuy6qD//37////Zoy7EAACuIlw+fzy4OzyQmuNIAgA6c+Z////9f/+MVZ/LQAG2Lae/P31zODtGj1eTioA//TM////q9PzABgxCAAB89et////////////lMfXAAAAVC0C8tbFoLrcb4+kS0tam5iHztTFPHyeUR4A///aJzVkdy4i///7////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4/T/S2GCFxUUnHRa///7////////////6/f/Q2KAIRsWi29Y//3j////b5a5Ii48Uk80MCwubk1C9+fI////1PH/JFR6Oi0fPD5BLSsxOTAwP0BAHCApuZl2////9P/+WYGlKTE2UU85LSQshGFQ//XZ////yeP4O0trJCMfOjg0NDg6QD89spqG//z1////////////x9/vNFV3QEAyTU4+OCYttZR6///2////lrfVKDVFGBoaZUw9+N/O////////////////////////////gZXPk36K///0////////////////////////wt30M0lfDgwINSogyqiD////pL/hECJPOxkUzqKM////////iK7MITNHUUwyNzQ0XD036NSz////////////9f/+XYWpKDA3UVA3LSYtgF1O//PX////4/T/S2GCFxUUnHRa///7////////////6/f/Q2KAIxwXjndhfZmqMzg6MTU1RzEzmpySNUNionNY////dZnGSUA99dvF////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9/v+7e7u9/Tx////////////////////////////////////////////////////////////9fn87e3t+fb0/////////////////////////////////////////////////////////////v//7/X48O3r/fv7////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+f3/7fDw9fLv////////////////////////////9fr77e3t+Pbz////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7Pj6zcfX/v39////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7/v/anOn1q2Q////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////0eX1c3Z5dHdycG1r1r2l////3vP/g5GibHBttq6itr7Fb3N0nIp9/+7f0u3/a3R+TU5Qybec////////////////nLfOZmtydmxm3sKp////////////0sPK4MTF////////qcHUWVtgaWNc/+jL6Pj/bn+Uw6OL////sMPTY2xzp4+A//7wn8vhZlJX4r+r5//9U19vcjgz////////5fn/hJSpamxsk350+ufR////////+///yq619Ofk////7v/+hJamSktPkYRz///4s8/tdnV568648P7/jZypaGdn2Leh9f/+dpiugVtX+ObT////////////////+f//iZyyTlBSUE5QY1pSx6mO//z1////////tMzfXWJnXltY8t2++f//iZmobGxnubKosLnBbHFxnpCD//XrzOf+Z3B4UFFR1sGl/f//iJSvbXNum46E//bi4PT/ZXKakHJg09PDgISHyZqJ6v/9bYeaj25onqezb3GEi4J9+uXN3/j/b2SMfHNslIF3//Tj6Pz/hJCdcG5pv7mvqbO7a25up5eK//To////////////vN7wZWVvvZ6Kv9HnXV15tpl+t8zJeGJi7cy40Oz1bHB9WkxOm4Bk//rn+v//lKOybW9omYmI++7fvdboXmNqW1pX5tK4////6//+cZGmi2Jc/ffopMDToYt1//vo////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4vH+VnmNAAAAYDIj7OHJ////8f/+Qm6JCgABz66HtdLnAAAhdEoj5/frDjpXCgMAXF5OJipKwqOP////////////r8rhACJEWyMK8N7K////////td//MQ053aN3////mcLdAAAPNCcSTVVWU0NT8OHILmSdbD0f//ztQn+yCQABwJRt3ff/CyZXQSQFw6KKn8jYBAoNnGc4/////////f//bZvAAAMQnmE9///w////////dJ7ZVhIo/+fG////Un+bAAAATUYuLDZNimtn3eXeFDFcxYZS3//9ATBSOgkA99y4kb/qAAAQbU0o2r2p////////////xeH0GS1BHRASj4Btl5mbbH6MBRYql3xO////qtTxAAoeKR0KVVxXRjtR6dm+V3+zAAAAzqqLpcffAAAPjls72vbwBy9KEgkAXWBSMC9MxrWge5q6AAAAl2VR////W5K6DQUAjX5bLkFlAAAAv5lscJa+BgAJhmdAf4iYAAY3dVUx2+njIzJhWCQiysazUGaCgFE////0QGWeDQAB2r2ck7jTAAAAlmpF////////////////K1KJLAoEgYR4ITg/NiMGhYB3ABI7LgsD1capNFF6US8bqZiTPWp2hlZE//nmibLVAAAUjmtNt8/SABMqJxsHV11YPzVO/OS+hLPjAAAHe1cv4NTGRn+hSxcA//DN////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////yeb5Iww805dw////////////c5jLWi09///K7//+PVWAw35Yd77lAAca4MCf////vtz0mnV/++rb////////+v//kbjR3qd9////////5P/+AE16JgAF9cWb////AEZ/Qy4b///n////nKnBxo2L+///UmyZZnWEFww0s3ZK////td77KhlE78CQ////7vDz2tra/PTo////////////0f3/k5qZ/8mj////////rNz0AA8ybSAA///nvev/AAY3mnRO////5v/9i32S7L+3v/H/XGWAXHyUIAAT8cWR////ZI/GUh4x//rK/Pz//v39////6v/9DzFrDwQA5tKx////////8P/+AEqCbkwO////C2GgLSEX//DX////o7bQ0piSk8n/RixB/9y04f/9Ulh49Z6BVqfhAwsW6cus////t9XruYaIuNHxMCxQ76+L////O3eiSC8Q///tap3bVyYu////RGmqcTk6///n4P/9N0RjzJJxfsPtHx0X/9im////uuv/JSYb/saIgLz/VDA//+vH0f/8Uk1o5p2G////////////9P/+JzNuw4Rj7f/+ACpMpXQ/////MEaComNG////JilhxJFq////0f/9GzA90qBm3v/9NjhY0qSFM4O4Jh4Z/+zS////q7vVwKOWXoi4XCcz//7S/f7/5Orv5d/a///7////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uuH5GQpCx5Vm////////////ZpLEUSw5///R+P/+Q1l9rHVHYqDEbFFC+PDf9fT0///6+PT7/fz8/////////P//nsLK1KaA////////U36aAAAAQQAE7bOj7f/+IUZwu4xf+///+fbx//z8+PP6////tOn/AAgUTCER//7m////u+D2KyVN5rqI////////////////////////////3P/9mJ+U9Mel////3fX/FjxXAAAAfi4j///pl9D8Kiw67smf+/////z1+vb9/vj5////cqzJAAAApHxk////////a5jKTic0//XJ////////////l8bvAAoTqW1D////////////+P/+GFWFel0t////JleKo3lR+v//9/Tv//37////h8HuPCU2/9it5//9XGF56aF7SJPGd1dA+fPp9fPx///6////sNv9KitJ6bGF////1PT/YluCnWxqWH6XZC0n///9THi2aj07///r3f/9KzZZxY1jUZK2Viwm///l////0vT/JydN6bSAfL/3SSo0/+e/2P/8WFVo4p2B////////////9v/+LD94q3hc////p8/vZEFdlIuQNUBXpWJE////KThxt4lq////////MEF6t31g2f/8LC5LvZd0QXSbnXVT+v//9/Tv///6////X4zAVy02//vR////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ueD5GQo+yJNm////////////Y4/FWjA5///R7f/+L0t0u3ZNdLLZRC4sq5uKip2gSmJuu5Fu///2/////////P//mrzJ0qF8////eZyuAAAAcW1Irp6e0KSo+v//LVCBeE8wq6+va4iSYV1Y4ryb////i67mAAAAjjMu////////wOX3LCZS5buL////////////////////////////2v/9k5mS+cin+///MVVrAgAAp6+LsIyY/+/erN3/ISc/nXlVn62vUHODiGlT/+7R////PWyqDAAB1paN////////cZzMTCk5//XJ////////////ZZXMAAAQ16x6////////////pr3cAA1ATSQA9+THP26iaUUurK2ndY6WWl5e+MeXksL9RCQ+/9+33v/9RlJw7aZ8XqDYTDEpq6CQhZqdTWJq2qh6wd//My9X8bSO////4uz0ucXYkJ64Dxg7Vh0V///6UXy5aT1B///n5P/9N0NoxIhfbaLJVC0x///y////ptz6GxoV9rl5gbf7Uio8/+7Jzf/9RUdg5KWB/////////////P//LkN8qntg////xM3nsr/RXnGYBwAPn2BI////LDlyxpNw////2f/8Fy5OvHtM2f/8Ky1LxZp1UICtZEIurKumd5CWXF5g6syea5fPVi87//rT////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ueD5GQo+yJNm////////////fqXWAAAOtpZZrs3iEwAr35Bmyf/7Hyg57c2fhMLoAAAZsH9A////////////+///nr/K9cCKo8f+AAAfYjIA////oZanyY+Y////ZZS4QzAo///nFHCuAAYE/8+Uzfr/CSc8WUcvaFhf2p17////tNfxJBo827aK////////////////////////////2P//nJ+T/9iwUH/EAAAAq31P////lGmB+NjQ/v//IkptkW5O4vr4AB5hWTYA///ne7XfHxkQbXFqeFFR/9a2////ZYy7RCEp//PJ////////////ZJLLAAAP1ap4////////8//+mqe8fXaFjYB95tO/hrLNNyst///QN4nCAAEN5MSEZoW/AAAAr4tJm73VFQEl6at5t/L/Iycz+NqsdLXiAAAXtJNWdpiwAAAAd2M+gombUGVoUzwM///pa67vYCY0///6RWqiYzkz///plcbpBgIkyItrwPH+IhU86biI////M1KDQAAU/PHLTm2sAAAAv5xbiK/TGQAb6reJ////////////8P/+JTRkqHdY////MFlynnAp////NVmVp1ZF////Fi51QSYe2tK8Sm2LAwAA8MOP2f/8KSxK0513l8riMyot//3NQI/IAAAK6cmJYom9TiYq//jT/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v37//v6////ueH6GghAyJZn////////////d5zPIhEueYFoHSAuaSgm//PZ////psPlVGJ+ODMyjnJd/frw////////////////ss7WipB9ADlaPgAG/tu1////oY6my5mg////8v7/g6DJSU5cSDcvxqyU7v3/YXuUNjkxvK2NfZqvYDAq9t7GZqXQAAACSgIYxJ+g////////////////////////5P/9o6uiZXt4AAodg0Mg///v5//9m22E7djU////0Of6ZHmhOjk/YUg38N/MxN75OVBjYlE3y9HCVGd/lV1H6fPxEFqJGAACcjJF7dXI////////mcrxAg4WsnpI////////////////+fn/9vf/////+f//jqrTTlVnQjYstpuG/P//epm3Sjg6dHNfHx0nbiwp//HY////ob7hU196OjQxmXxn+//6i6rCY2BWcIF/GSQkppVob22LX1VrTkdG46qN3vz/ADVgJAAFg0xbqbm1XFNux6GW////nr7nXU9XOjIyVERB+My2+f//boupTTs4cHRhGRIbfz00//zj////////////mcnwAA0lNQAJq3yFv9fHU0dsTVBfZ0Q+/9vE9P/+KDp4UkZDPVZeFAgCuItw////0P7/KSxMzJVt////kK7XTlZoQTUtu5yE5///AUt7HAADeDtM8dvN////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ubzcppiq////yuj/IglD0ZRu////p8vo3sSedJrJWDFA//fS5+z0/PPs/////////f//3OHs5t7W//z1////////////////////lcrnAAACGgAC3q6G////////lICYsX+e////////9fn/1trh8efb////9/v/7Ovr+vf19/f39vj66+3v//fw0e79UXaKw5Fy+fr/////////////////////////////U4KdAAAAWiQK/+bH////9v/+gFJ24szZ////////6e342tnZ+/Hp////7/T58e7r+fn59/T08vn67+zs////k8vuYGJg6buk////////////8f/+Hz98HQUG7dG0/////////f//X2Wgl3N0////////+fv/1tzk7uTa///7/////f7+//379vv75ePg/fTu/////////f7/2uHr6N/X//32/////v//////+f7/7/Lw///69vT82t3o7+Xd//76////eLbdcWRY8cy7////8vLw+/Pu/////f//5er129PQ9vbx/////v7+/f7+//769Pn55uLf//fw////////////////+v//WpKzmnRe9OXi////6er23d3g9uvl////8v/+MTxgvJBy7/b58uzn////////0P/9MDZXyJBo////+f3/19vm7ePZ///9////icToZWJb7MGt////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ocbyABM8eWI5VW13AQAAUyoqdIeCGhMzo4RjMVl/Ux4A//DR////////////////////////////////////////////////rcfcDTNSAAAAqY1n////////r83lByIxOSsT6tS8////////////////////////////////////////////////////9fXz9Ofl////////////////////////9v/+fZ29AA8lHAYA5tGu/////P//dZqzAAMGeGJF/u3e////////////////////////////////////////////////////8unp+e/v////////////////1fH/Kz1qJxESgXdgiYyMRmB1AAAAnHNX/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v//8efl///9xev/FyRKwpdq////////////////////////////////////////////////////////////////////+v398uXj//39////////////////////ncTiCQ0SuYBE////////////////b56/AAAAwZt8/////////////////////////v//8enm+vHx////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////5fj/gJmsamhodXFujI+HdX2Da2lpj4h5z8rBhpWtrZp9//Xm////////////////////////////////////////////////oLnQa2pyrqiZ///2////////qrrKfHl0b3d+0L6v////////////////////////////////////////////////////////////////////////////////////5/j/hpesdG9u2NG8////////7///ipWfcnJugoB+9ePS/////////////////////////////////////////////////////////////////////////////////P//k6q9V1lbXFlZhoV3sqqXzbmz////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2vD/Ym+Q0rem////////////////////////////////////////////////////////////////////////////////////////////////////uMfafn+J27+m////////////8/7/lqm7b2Fe2My+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+/3/+/n5/f78+vv5//78/////////v//+vv7//z6/P7/+vn7//7+////6/L14N7g/Pbx////////////9fX5+/j2/////v//5Ort5uLh//v2////+vv7/f78/P78/Pz6////////8/r73t/i9e/o/////v//+/v7//78+/v9////+/v9+PT0///9+/7//fz8/////////v//+fr6//37/fz+/f37/////Pz8//78/v//+fn5/f37/////////v//6u3v4uHf8u3q////////////////////////+vz+5ujq5OHh+PTv////////////+vv7/fz6+/37/Pv5/////////////P7++vn5//78+vz+/Pv5/////////////////////////////////////////////////////////////////////////////////////////////////////f7+/Pv7//7++/v7////+Pn79/Xz/v7+/f//+/39+/r8/v78//7+/fz8//////////////////////////////////////////////39////////////+/v9//78/Pz+/fv7////////////+vv9/fv5/v7++fr8/v39/////////f7+/Pv7//7++/v7//78////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////zuv6NFFvGBIPmGxQ////o6LIs5qk////f5q7HSMoHx0dlHJa///2eZjKPBIxdXBlY09P6May////lr7hFB0sg1A09vfjTGSgTSMyYWVgf1ZN///pj7TXEBsvPSMb3MKn////qsXnNSNPcl9XUVJXxpiB////cI6qFBQWeFpKrLa7GipYWDgikI6HLDA3h0w8///s////8P/+Tn+kBQgRaUg1/vDY////ka3KGyYwGQsLXDcx9ODG////3e73PWR/Nzo1YFxQFR8pgG1Y//je////////////tNDhKEdeT0s9U1NOHCEorJR4///2////iazHECEzOh8Q2bOS////iHah/O/Z3vH/QldwEREPPSwkzKyS////////////////////////////////////////////////////////////////////////e5fSx7Gl////nLvvmZij///n////4/T/SGSTFxAcnXxe0+HkKExsTCIVWWFpEhkidl5Bx9HPIz5VMhsP4byd////////////////////////fKLO3LyV////////qNHhvYlt////////////i6fNFB8/TTYq5Muz////////////l7rVIjFDDxERZUw5+uPN////////6Pf/TWqaFhAehmlU/+/c////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////rq6uWVlZeHh43Nzc////////////////////////////////////iMLsWkc//9ay+f//Ck+CZiUA//7k8//+J1d/SRkA//HUl8XwEgAQyZ5z////Z460WCkj////OVygWiwm09i/TF1+KgIM9NOp9P/+O1J4h081////GD52fDIq////1/j/FBtDgk8x///2qtX1LRws7MCWy/j/ExRCwY9wYZ3BJyYb7Oa8QWaeFgADyKmK///z////////5Pv/Kkx2ckIi///w////wN3yAAg1RwAJ7sit////4Pj/DS5UVyYA8dvD////w9vrDSZDaEMY//7h////qsr4BAsdiVgv+fDk+fv7ja/HBgoWon1N////8fz/TXeZpW1J////oNL/ChMhxYZb////r9P0Bxcio208///9/////////////////////////////////////////////////////////////////////v//K0NxUBIK////X4zFMwAJ/uDB////////kMjuJg0q79Wph7TfKgIby7yLkam7HQAi06Fw////OG+gRhgk//nY////////////////////8f/+IDNik1M8////////QGyrUiQq///r////////3fr/IDlrkVdC////////////////////TIGxFxQM6Mae////////////////mND0Hwws17GQ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////qqqqAAAAAAAAAAAAMjIy+vr6////////////////////////////////v/H/qJiA//rbr9j1AAAfAAAA2cGY////RneZVSUA///rLnCoUjQi///y////stjwLxst9d6iOmWrnWZU8f/+ADFllWk8////////dJ/GRBob//fNO2yqm2ZK////erTgFBMg79Ci////+f//KzxjuHtQ3P/8Ky9P0px0m9HuIwkj/8OZqPP/SzI88dy1////////////////2//8HzhxwYRn////LlugAQAAzLeU////////U4KwGgAC7tK3////////////lMbxDBAU0ZRf/f//Ij5tTAYU//jl////////////Uoy/KQkA+s+p////ncLQ2qeA////QmqUAAAATCsZ///01f3/GyswtIBU////////////////////////////////////////////////////////////////////////psz/FRs0NjESuL2kNFx4FAACy7mY////////odj8OyIw++Cyfq3cSiY5///Muev/MCVK88iY////dKDHYjIs//3i////////////////////tOL+AAMVNBwC///R5f/9AhlLEwAC+9SY////////6v/9Nk51q2pJ7//+naCrkZCYt6ei///waJzOIyQb/+rC////////////////qt//MyAy5L6Y/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+XFxcAAAAAAAAAAAABwcHt7e3////////////////////////////////wvX/p5V89OLaH2qjOBQAZ4SAkV9L//78QXudVSQA//3qLGSZfT8v////////pNPtLRws9t6oPWiull9N2vj4DiROvHtU////////Z5rDRRwb//bSPmyonmRP////aanWORYf+9+8////7f/+IjtfuX1U3P/8KS5MyZJq////q7bcYU1qITVQTRUS+N/C////////////////////tdj/NTZZOE9OAAAAoG9F////////6f/9AEFxZzUA//7i////////////4//9ExI/jD4rzvj/ABk9omsv////////////////rtvsAAAAuYBb////nMPV6LCCt+b/ABY2W0YjWmJf34xu2//8Ficvs35S////////////////////////////////////////////////////////////////////////QmuWdzon3+3dAA9FVCsWv9bHk25f+t/U////pNn+OyIw+d6wgbDfRCAz//nFt+X/LiNI8siY////cJ/GVS0p//vc////////////////////WHjAAAAYSDIO7pp4j9P/ABIoPSkVpWxl////////6v/9N1B2sW5Jwuj7QURUKS41cFdG//TVaaHWJCMa/+rA////5vX3u4ee////rOL/NCIz4ryW////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////d3d3AAAAAAAAAAAAFBQU0NDQ////////////////////////////////vvH/taSGuMjBAAAGkl86////SUF93cy3UIWjUiIA///rVI2+UzIj///p////WY27JhQG//W7Q2mqmGdT////G0l5j144////9f/+GlSEWDAA//bgJEyHg083////jb7lIx0m6sed////rNT4ABQmzpZb3f/9Ki1Nzphxy+n4dXaF//rlV4G0NQse89q4////////////////////////U5XUAAAAZxsb///f////////7P/+AD5taD0A///p////////////4P/+BghFeDIq1fP4ABg/o3Q7////////////////rNTvAAAAqXRS////pcfV5cujXY+tAwAA+OarqsTiaEFc9//7GS9Bsn1R////0+3/UWR6fkZQ///ldJbJZ0dRub+ws7zBPk53p4Zo///0////////////////////x+3/ChdCyJNk////BiRwiE86////WGKZ1cGg////lMrwNhkp/eGxirXcSik8///Ku+n/GxZB0qh4////QnesZicp///t////////////////7P/+IDpOgUISsKvCb1d1SmaEUA0hsrfHVVh6//q7////3fn/LUJpo2RF////8PL37/Hv8/Pu////bp3KDhAQkXxlnqKlL09sgDgw////ndL7Lhgq47yZ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4ODgNDQ0AQEBCAgIf39/////////////////////////////////////xvH/paGVOld6HxUK9ced////ga/WmXZrWoWYTyIP///hxOz/NzZjq4JYi6SvFxAsq2JL5f/9BzJWViQR3MW3krLVPitJu514X4CZIQAS1qOCpdPkAAoiMSwXHi4waVYrX2GDgV9Ur7WuIThcXhgf//TO1v/8KS1L0Zt1vef3JRkk3rmaXY+0ajAx/+7T////////////////////////MnGmAAAAazQa///Z////////6v/+ADttaj4A///n////////////6v/9DwtTgS000fX7ABY9pnU3////////////////tt/0AAAPsXFb////sdHgmpOUACVZfEYE///y3v/9YmV7uJ+JMEtZr31Y////////MmGdjmRM////tMnusbm0OFB3dmZZcmhtwnde////////////////////////W4W4GQAC6caYo9HyAAAhpGZJ////ZJbIjlRD+ffyRHulJQAQ6NS8S4GoKggAwZeLudXiAAtHUD0dg4yFDxAZo2RD////////////////////pcb4AAEn06Nh+f//Il2MAAAAvoZS+///X3CKxYt9////lLzaAAMonWRQ////////////////////bJvIFRcTs5yCv8PGXH6OlFlH//7/TIKsFwAK5sGg////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8PDwurq60NDQ////////////////////////////////////////4//9RlxuAAAAgUc1////////5vT8Qk97DyUzXDQu//jZ////2PD+cG+EUj45uKeW////zuz/ADRmMwADo2py///2uNfvXFJfXkxC2se4////6PD1s7zGztDIZYKVspd7////ipy2Tjs9jH5v//jw////0Pr/Ki5OyJFr////r7ndY2WEeGhb6Mq4////////////////////////gK/FAAAAmYpaSXWRhU1C///t/////f//NWyOOwAG/uDR////////////suT/DwkpumVD7P/+EDNNcSwZ//32////////////drDhGgAC5KqC////ps7lDhMqEwAC2rKN////////lqXMJDFOGxwhuotu////////S3O1o35p///98vj/lcfXMxs1Uk1SdmA+2aCH////////////////////7ff/ip+yiHxwzce9m6q/dXd6rZOS///pnqrMlm+F+/Hf3e7xv6u96ejoNHepGQMAjEhLorPCPjVUwbORXnqPhVhJ/eva////////////////////Q3WlOAAK/+XC////ZI2rCAAB6s+n////cJTKaWd6///96/z/urjI0r3E////////////////////W4+/JCQb/+7C////9vr60rnH6u7z4O/rtaa67uDb////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////0fv/BS9KAAAA58KU////////////frbPAAAAbEAV//nc////////////////////////////suD+x7an//fr////////////////////////////////////////////////////////////////////zPn/JSlIx45p////////////////////////////////////////ocTeAAAKhEwr///07//+OlmLmWVU////////x+D/ABJAeTgT//vm////6f/+FD9lRSMA/+7L////i63gAAAQr3BK////////s9fxABIng1wX////////e7DXAAAAZUYh///l////////6v/9JlJmAAAA2KJs09z8zdPUZo21lId7zdPJ7/fmB095q3Q8mMTNIgAE8byc////////////////////////////////////////////////////////////////2uv60cvB//7r1Pn/qrS0/+7NsuP/KxxC88SW////////////////////////////wdj/AAAwn30+////3/3/AChcg1AG///0////wv/+Z19i8bui////xs7R9OTP////////////////////TY3AIB8a/+a+////////tcfStXhx6v/9z8rD//bo////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////5/f/QV6DAAAAd04z///1////////////4fH8FjhVCgABj29V//nl////////////////////////////+/r+/v7+////////////////////////////////////////////////////////////////+f//XIanAAAAxKGB////////////////////////////////////gaPDChojAAAAaUwu/+vL////TGWjAAAAeUcr++XP////yN3nIjpaNzMsXV5HJCEwb1A8/ubE////////////l7PGFydCT0o0UlZIJhwnmXZU//nh////pL7eAxw3DQAByKaO////////////////jqzIAAAQSCcGl5mcQGJzFxgWHBkbbFNEf6ClDwMj88eY6//+ByFPlGtH////////////////////////////////////////////////////////////////d6/eFAYb686k/////vz++P/+Wn2pIg4M7cGX////////////////////////2fb/JEZ3AAAAfVI/7O7iO2maAAAASjYs89i9////k7fjAgAcgEgi2OrjACVanW1H////////////////nL3YDyY7CQYCPzgxQkNFNkBCIBUU0IdUjs75DAQd5cWc////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9fr/2tzf4+Db/Pz0////////////////////9Pn52t3i4Nzb//v0////////////////////////////////////////////////////////////////////////////////////////////////////+/7/4efszcvN6+ni/////////////////////////////////v//3uXs29jW6+vt4uDe+/bv+vz+5+jt3N/i3NTR/fbx////////5vf/wcvRvby30sbA/vfy////////////////////2+36v8PEwL6339LK//78////////5+312dfX7evo///6/////////////////P//6O7t19ja7+zn3+bp29fU2tnZ6+Hf5erv7eHj//37////5/L05uTi//76////////////////////////////////////////////////////////////4e75ysbO+/Tt/////////f//4ujv3NzY+O/p////////////////////////8vj92N3i6erg6uLl8vP12t/m6uTf4eHl9vHu////6Orx2dzh6OHe9PX1yM/c6t3a////////////////4+z03drY5eTk0NPV0M/Nzs7O3djV///15PL8ycbO+vLr////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9v//3ODh9eTd/////////////////////////////////////////////////////////////////////////////////Pv/4+br8/Hl///6////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////VmaQJBUmVWBK6ceb////////////////////////////////////////////////////////////////////////rsziLz5IMiEcPik9Pj5G0Lua////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////rrDFz8fESHaNZUck////////////////////////////////////////////////////////////////////////QXKtVRYr9ObO6uXxwdLibIab6Mql////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////3e/6oKautKyloqSn4dHE////////////8fn/najItJyQ7+3ftbm81b+7xdneop+cp6ik59G9////5/z/m6exwqaf////////////////eJvFVD5U///w7f/+kKKptqqW0srbzc3V9/Pnyt3opKCdpael38u3////8f/+n7G+uJyV//3z////////w9TuW0BxoaCSmZyeiJCXN09Z2658////vsnnjoWVnZWN4sq+////////w+HsmYuP6dTI////////7vj+rbLGrKesuKWi/O7f3+v/k5awzrWk3u3lrZ+j4tTPt8jLn5+fsayj/OXT////zun0l5CX4sa/////rLrCf36Ex8Gs////u8bZpKelrK6s8ODT////////////////////9fn/1eb1///2////1uj49fnw////////z93spKa1pqiq5M7C7f//oKmxs5+it8PFpaqnzcvEy87RqKmlwrmx/fHn////////zOHvoaCooaGd1MGw///9////////8urv4s7V////////5vf6mqSqh4SE5uPJ////q7rLyLWo//343+r2p7C2raWi/uvc9v/+ma20q6KR08nWxsrX9e/g0+TvpqSio6en1sSx//34////////////7fP6ssHZkqurdnWKnpCO/ezd////////3u71t7Sx+erZ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////3fP9O1+EAAAAQiYJ2r+m////////////cZ7EAAAAalIuQ09kCQABiXNjSl1oaD4nhJeeXUFQ//jCYJPRAAAAcEgt9NvB////////////b5W/W0RR////RWytCgIFVWRUDyQrRRsA19G+UnWYWyoQlaahU0BW/+GvfK3lAAAKYToc6s2y////////4PL/BBp0NywZRkdJODc3eWta////pcXlDQIof1dFboGMUy0x99m+6//+ETRoIQUAropw///w////9v//UG+kAAAAhEon7e3jOGWOCgABdWNQGS9MIwAFmJiQQD1CjnhaWmyKg1lQ///tJVKPGAACpo5ycYeKAAELJCMSHxssvqybnb7MAAAQQxgV8+LH////////////////////zOX6Oj9z+8uU////PVuivpx+////////uM/oAB9WHQoG59SoXoi3DAAKYlBEKTlBBgABwKSDmLPIAAAAbEch//7i////////xN3vBzFXFgACv5h3////////9v/+Xl6TqmRO////4/v/LU9lCAAALDEmPjJB6d3JVH6wQxcS//S7h8X0AAAAZjQP//7kY47HAQANUFlFFi86LgwA0sCjapCxTR4PpLGhSkNf06+J////////////ocPVAw0KUFk5YmN9JDRHaEYC/+3M////hr/iHQ8A4613////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////x/L/ACJDx6Zq////////////////KmeaTj4d////Uny6VR8kz+rguK6i/+vBuuD/IwY5279zO2Oni1JF//zj9Onp////////////b5W/X0ZS+//3Ih9fwXpb////Mm2ZYycY4efitbq6/9yu1/v/IxVSxaFbTHq4cjg2//zZ8+vt////////8P/+c4CkjmBJ09HK9/Hw////5//9BTthhlIL///4////MGeKfFASzujoLRtI6cCM8/b5+vHu////////tuz/KCg879Gw8P/+AClXn35E////JDJtmlo+yf3/06+U////dJ3mNwEY0tKlMDJp6bJ8n9LzAAAXl29N////uN38dlNl5s/NO1mSuGtZ////////////////////////kcPjAAAAiWY77v/+BxozXh4P///7////////YY20hUZA////LEOAmmBK////YH6zZzZB///W4//9L0RttHhc////////////////lND8t5Bz//bq////////ZqDKAwAAwohX////VZXIAAYPzaqI////jq3SnGRo9f/+U3uok4aETmOQWR0h//7S9v/+Ji1uo1hI////SIm4RxQQ5tnItcnQ/8+g9P/+IiltmFs0////////////fqC2jU8m///4////xuXyCgABtXNH////3+36t7Sx+u3g////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wub/ABg0xqVw////////8uby//39st30QTVZ05aBe67OXDIw//jV+P/+V4euAAAAQyAH///XOWKijFtO///0////////////////b5bAX0ZT/P/0KzhtzqF0////YpjYaD1B//Hc////bpzDAAAOLg4A/O7CTXq4ckNC///j////////////////VH6iQCQRvcO3SFVi8dawuOz/AAsuzZ9u////////WIS0YDEtzNnPMTBc67+N////////////////p93/OyEx7MKe////e63UWi5G07+zTWuKkVc7////0+z/JVR8AAAAg1w66vvyLjZr8bmEgb/3Lys1+tzB////////8eTu3ev2MVF+tHlW////////////////////////PVeKUUU1e4VzSFhnO0A5YF9R8sOT////////VHymej0x////ME+OnWdV////XI6+XjQ9///d7//+OU1vpGpJ////////////////sOH3upx7//Xt////qM3oAA8fCAABwnVg////NG+kbk1A///6////////6d/m////z/T/FD5YAwAA3bWa////9v/+LEB1sYRg////fLPvTzE+/+HD////hrLWAAkhFgAB2biV////////+f//usrZ+NS7////////krzRAAAAq2NW////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////weT/ABo2oYBW9u3jwOnvgFJt6r23////vMfib3SWChAuXCAW///yZovBAAAAbEoj9OfL////OVuaiFhL///y////////////////gJ/JXUVg/f/yKjV2xJRx////WpPMZzk4///vg6nYAAAPXDoX69u8////TXWybkI+///f////////////wOT6GgxEypNm////MzyJ0pZ0xfL/EBA10KB/////////O2+SaSwC0N7eMC9e57yK////////////////qt//NCIy5r+c////4er8p7LNSVV7BgAJmFg+////I0OCAAAAl3dT///03//+Ky9h6raAhcD6NywwsZd7pK6zfo+YxKWP9/b2OFaSwHte////////////////////t+j/HSco9smLpsLqAAAGuJZctL7DjFRa////////YIm0ez4x////M1OUmWZS////V4O+aTs8///h5//9K0Rrp2lM////////////////rd72s5R1///61e39DCY4FwcAk4l3u4OM////RXqyYEMssaqjmqWlhI2Q2ruj////3v3/DTFWUAAS/+7r////+f//LEB/qHZe////dK7kTis0//TKosrwAAAhSScG3Myt/////////////////v3/////7ff/c5m0AAACJwAB6sWf////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wuT/AB46UTccmZOKLlp6PxcQ/+nDgbLTTEQQ////ba7vWCQ29//yHk9xmn49////pJzW////PVqXi19Q///4////////////6//+OF+AZkY1////LC9PwI5v////Wo7PZTM1///yMmmMfGMp////oZzd///7UXSucEhC///p////////////yef/JhtS655o8P/+GzFPeTIg8v/8GU1zjFkr////yOb/AAAtn21A2/H0MCtU7MSU////////////////qeP/PiY58M2h////N116kHkr////NmOllkpA4//9FzA+6c2I0dL/t6nJ8//zLDBg47CA2//8BypCwJtqy/P/AA9Ne0wAv83FABI/aEUhr7O6ybu7///4////////UXq1USIm///tocr+Jwgm+s2j1fr/X3mX/+am3vf/Jkh1dzYw////Nk+MnW1X////bZnPDQAR5sGFwO7/CwMv0Ydg////////////////q970yqN57u//IkV8BQAB3MGXzNPYq2yD////i73iICIi/+Syd7/rAAAbwYM6////PWukJA0UZlRM0JmE////////MDpao25V////dqvpRyMy/+/QUo2xXkse////np/m6t7Q////////////////z+vrJzJVAAAAQCYG27Wa////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////w+X/ABo2rIpa//nyz/X4iG5w78zM0PX/SkRWc2VvPURMuXtm////gabBXFRPamBnkFBhyuvuAB9HLgAGlmVu//jk////////1uz+O1N1gXRTqbu6GyYi27B+z+v+HTxqfUUy///4mL7ZVk9QeHBvfUFb0+TiADVhJgAFi1Zi++vY////////////gqXOXVVNSklHNyosbFhO/d/Ax+H/TlVxXUY4GyY1gUhB//nmXKHTAAAAUhUjyKam////////4vf/L1p6AgAAZEw6xqefpMnCRjFKYGNuSTM167aY////X3qQc25fTThVu31+kMvgAAUVRgQTyaehrMnaWmiHPkVKQS4u39i5oMPYLTY+VF1PAh8riVor///2////xOX9DiVMbj4j1t/WLVCBJAAL3reY4//9Qj5jt3Ff1/T3NkltlldSwunzABk8NwAGrY2HdpOxDQUpZWlODxskUB0U/+fK////////////////t+L5r6ePRHuTAAAAv4da////tsDTs3iB////+///fZjBYWl1Mjg/Z1FH+PXkjazKABcmknA+mbbFSCAn1rqbttrqEyQmwZVg4/X/KVB/ZDMn//nYsdfvU1BWhIByWitP8NnB////////////2/D/ACxyDwACg2lI+/Th////+Pf5////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ueT/ABc3yqx1////////7vX/yLjI//3x5ub1qa/Dzbyt/vTy////////zc3VurGz+OnR+P7/OX6rY0M11K2s//32////////////9fX97vDz19rd1NbZ//zw2+f0xsXH8Obc///9////1Nfct66z8ePL////SpC9VD810KCa//n2////////////+f//vNHeuKSY8+Pg////+/n3////2er6qKOqwrao///0////rNLtLFBkn2NT6N3i////////+Pv/jrrQLBkkrJF87+TY////zsvmq6u13ca8////////8v78vrvFxr23//fhx+T5K1l4jFdH5dLV////vsvirKGf9OLT/////f7/8vj79//9x9PZ6eDU////////4un2z9LQ3NzU4OHmzs/S09TQ6uLd9fj4ycDY5NTb////9fj7+Ors8Pv9M3ahbkY37tfKYYi5akFD7+nSuLe77trQ////////////////////x/b/HTY8AAAAj04z///6////uL7Lm1+E////////9/v/qbTLwK2e//bs/P//0NXc3tjR5OTm5OXnzdTX5NvU3uXqz9LX/fns4+33xMXK7ePX//78////2uDltay14djG//32////////////qdPzAwADwH9Q////7P/+iqCo5LWP////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////bZm/AAAVf186t7WytrGwdZ2rbSon+N/J////////////////////////////////////////5v/+593T//jz////////////////gJ7BhVtS///j////////////////////////////////////////////6//+493U//Lt/////////////////////////////////////////////////////////////////P//3u7s9t/V////////////////9P/+UFJfs6CDcoislHNm////////////////////////////////////////4PPy8t3T/////////////////////////////////////////////////////////////////////////////////////////////P//Z4WqnX9l////5f//8+PW/v//LlmEXycA//na////////////////////////7PT5XoaoAAAARiQC//HY////5fX/RmyCKyEP69m8////////////////////////////////////////////////////////////////////////////////////////////////////////////z/P/HB9Wik5Cz9rTYW+NLBMX+dGf////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////zOf6VWV7VE1GT1BUSkpMS0tLQkRGpYBm//zv////////////////////////////////////////////////////////////////////dJ22dlU4//fd////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////udryXlxnIRs9l4py////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+v//UnOihGZe////////////2e37TmGClXZO//jl////////////////////////sNDoQU1eX1RI8drC////////t8/kUFRZNTw9nIl4///7////////////////////////////////////////////////////////////////////////////////////////////////////////////vd72OE9uPjcwXT5Ke3CF//rX////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+v///v/9/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////zOf6T2F5PDo1nXpg//nj////////0+X0t46S///2////u9TpP0lVJCUmindm///6gKbMXFBI/+LAzu7/RFhmT0Ay8cuu4//+S15sTkYygXqHY2J+2cOettPiXVZPeX5zgHNw8NW8////////////5Pj/V26ZRGdgOjdROTZHtpl6///9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////0dHRgYGBoKCg8/Pz////////////////////////////////////YZnGMB4Z2K2L////////7//+MEmIgTwu////1fj/DShGFQACj4t0NEpxmHJswtTZGz1Z5Kl/q93/AAodiVkk////XojHGAACnZN/MGR4DwACyqJ7kr3SiVAq///0PVidg1U+///p////////sdzyFB0bjX9XzMnLhaW9HRUSvYlb////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////xcXFCQkJAAAAAAAAU1NT////////////////////////////////////uu//ppWC/+LM////////Vpa8AAAAm04d////drLjAAYX58Se////6//+r5al/Oviq9LtTF11LjpUYR8p//nW////OlydfkY/////n9f/Lh808L+Z3f3//fzduNz7DB8zgUUD///s////////ncbhpnhY//zw////8v/+Fwo8bhkn////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ZWVlAAAAAAAAAAAADAwMwcHB////////////////////////////////w/X/oZJ9/9/L////lMLVAAATKhgHpllS////YZ/XWkQ649G74ODi+O3r////////////UYyeBAAA48qt////////QWeie0pB////pNj/LyNA98OW////W3e3AAAAOCkP69e6////////////3Ojz9fDj////+v//cJaxAAAAkkYm////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////aGhoAAAAAAAAAAAADQ0Nw8PD////////////////////////////////wfT/opF6//LauOL3AAYZRSgKzte9roOW////hbrtJRonq45xk62zEEBbkmA3///41PD/AB9cMAAH8s63////////Q2ald0ZF////p9j/LSI/+8idotz1EA0Ep39b7+3v///////9////////////////xuP6JEluAAAATyQA8dm1////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////y8vLEhISAAAAAAAAXl5e////////////////////////////////////vvD/t6SF1tnSACZtIwUA79Ow3//9oGZ6///46v/9LTtsrpJ/kLjKAAAboXpF////JV2IRSQAh5ibdEVI99K3////MFNhe0IV////g7zrJAsl+8ibmtLtOi8e///ndnS+xqmq////////////////lbjTBBYdAAAAaVZF//DV////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2trai4uLqKio+Pj4////////////////////////////////////1P7/iI+EGUFUCgABzJlw////z+Pxo2uC///2////0On+X3OXPTUypoVr///7o73YUlxhlYNswMvLZ2p3tJF7zODnRV5xu6B16/P2XHmggGFV++HL+P/+iZatcWhqcVRd6dC6////////////5f3/ABNvFgACyamA////7vn36NbJ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////5f/9HUNZAAAAn29O////////0ObpeUVq////////////////////////////////////////////////////////////////////////////////////////////////////////////////1fr/FwBCp0I9////8//+WXiTwI9i////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2/H+Olt+AAAAbFQ1///y////2u7/MlNpAAAAh3BT//rt////////////////////////////////////////////////////////////////////////////////////////////////////////////cZbFKBoyX15QRjxJHQ8J4sSS////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4PD7pqy0uLCp9vjx////////5fL8rK6wo6iot7Gs//rw////////////////////////////////////////////////////////////////////////////////////////////////////////////+v//or3Uf4GBr5qUxcLM+/bp////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4ODgysrK5ubm5ubm5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5+fn3t7ey8vL+fn5////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2tra09PT/v7+/Pz8+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7/f398/PzycnJ9vb2////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////3Nzc2dnZ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+Pj4zs7O9vb2/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+////////////////////////////////////////////////////////////////////////+/z8+vr4/////////////////////v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////3Nzc2NjY////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9/f3zc3N9/f3////////////////////////////////////////////////////////////////////////////////////////////////////////////////gKHBLDU/ICEkgGRR//Lf////////////vNbzKTFCTEUrYmJ4Ukte1MGejqW9JCswZ05DnJ2fOEZOPCwp27eapcnhISg5lWJI5vHqOU1oFA0MRDwz7dC+xOT/IjdOzp5v/v//UniQGRMNxJp57Pz/PGSGRRoU4L+n/////////f//TmmXJ0lKO0BLJitJfmRB//PU////3fH/NUdbFA0MRT005cm49v/+R16WMyEjoIp0VW52WCklamt6Ii44YEQ69t/F////iKXGEho0OCQevJiA7P/+VHKTHxsbo5B1pbfAGio3a0o0//HUT4e7Xzo2//zd////////////////3Nzc2NjY////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9/f3zc3N9/f3////////////////////////////////////////////////////////////////////////////////////////////////////////////////5fH9H1aIKBcC7tCt////////////////O1uiPgAOvsCqI1h9HQAD5L2T2vv/DydZj1pE////NWCUWicp////NlSTWCwltL+xNE5WBgABnINpdpGnVEBU/dq6SIy5hmJT5fL/AC1gXzUA///glsLtGwAeqJRo2czA//r3////3P/8GDA9gWhD7eXbyOLyGy5Cj04f/v//N2uKBQABnoVrdI+la0xZpq+1ACdBp5NfhKG8AAAPkWZIu9XTBAg6n1RE////oc3rAAAHPisVqKuhPkdNybeUcZrBJQAF9tGj3v/9ACFWgUo2////SHqxXTYz//zd////////////////3Nzc2NjY////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9/f3zc3N9/f3////////////////////////////////////////////////////////////////////////////////////////////////////////////////////QHanQTMZ///j////////////////LUmHl2ZO////ksT2OSQ4/9ex8f/+NElyrHBN////WIGyfD8y////Lk2Or3dc1+/7ABFCtJRm////////zcfM2ra8/P//Tm+dIjdHNgAS/M+y////hK/YQB83/+66////////////teP/oH5v/+TV////////OU93TgAVvdTPABNBuJpr////////3c7Opam/GjVOw3pX5v/9Nj9ozJpn8v/+Kz1uyYxl////NXCqOBse//PP////2+/82sS4dZ3HTSk7//vJ+f//R2GImVs+////////////////////////////////3Nzc2NjY////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9/f3zc3N9/f3////////////////////////////////////////////////////////////////////////////////////////////////////////////////////PXGgRDQb///n////5uLpzpat////MVCOj1xN////icH0OiI2/9it8f/+MUZtqmxK////VYCteT0w////MVGQpXBVvd/xND1U0KZ9z9zk3NHP8e3s////////mdbmAAAAroNp////////h7LbOhsy/+Wz////////////6PD68Pbv////////fJ64AAAAiTwQsNLkN0BV0ap+z9zk3NPO8e7s////wdP0bll4PU5rIgMK2aN/7v/+LDxty4pl////OGmdkEM+////////////////cp7OSSc2//rI/P//QV+FilU3////////////////////////////////3Nzc2NjY////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9/f3zc3N9/f3////////////////////////////////////////////////////////////////////////////////////////////////////////////////////TH2rIBYGqZiFmKevM0NdoEpE////NFGLjFpN////kMP3NR83/9eq8f/+MUZtqmxK////VYCtdz0v////OFSUqHZa5f3/FzFdg1c3w9LID1Z5PyQH/9219P/+JUqMAAAAu3lh////////j7bcPyM8/+66////////////////////x+DzIUdvAAAAQxsE/96v2v/9FixVhlo5wtHJDFR3SScG9eLFfZC51NDEh6jLFAIfzZh45v/9GShavYFa////YpS7dTsy///0/P//hI+t5NS8f6fUNxcr/+258f/+Ij1upl1C////7PL67erq////////////////////3Nzc2NjY////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9/f3zc3N9/f3////////////////////////////////////////////////////////////////////////////////////////////////////////////////////TX2rJBkGt6WSqLa+RVlnsGxT+P/+HDVBllws////WZPJLwkZ/9ms8v/+MUZtqmxK////VYCtg0Yy7f/+DC9Xajcj5tzUaIesXktbt8OzABdFUTsZ///lWI64FxIKlJSCTkhawX1b////W4y2JAkHwJqJ9/Lv////////////p8bpABcpAAAAWkUw//LW////////YYOxYUxZtsK0ABZDWj8Z////KDtPr3xXrtfsOR835LaQf7XOAAAGSUUkJC5BcGFaUkx1v6aElLHHBhIe0LJxm73mAAAWfWk4bIKKGgAL2p53////MVqYUCMh///l////////////////3Nzc2NjY////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9/f3zc3N9/f3////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Nm+gQzMX///j////6Ovt1L/IttLnYW541b+c3uz2ZHeVoIJw//Xh7f/+M0hvqWtK////V4Gvi0w3z+/0ACRXMgAHpmxy////krDbPT1KlHJW//riyOH2dH2FioJ2yMK4iqGxk3Fp8OrgPn+zEAACcS425MzE////////////JjySCgABxKJz////5f/92cy2//ny////kKrQPT1IlXNX/+/e////xNfnZGOLV1ZYtol4////y97upKepvMO8RF1tyauK4vf/a4GOXEU1q4h3////fajXQic5rrKZRUtZmWZX///v////h6C+mXhp///w////////////////3Nzc2NjY////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9/f3zc3N9/f3////////////////////////////////////////////////////////////////////////////////////////////////////////////////////KG+nRjUZ///n////////t7q4wIeO////////////////////////5f/9M0t0rGtI////VYW1dT0v////odT5wayY//nv////////////////////////////////////////////////1PX/lqar/9m8////////////////JkKGcwAi///2////UH+tlmpI///x////////////////////////////////////////////////////////////////////////////////////daLPSiQ3//XH////////////////////////////////////////////3Nzc2NjY////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9/f3zc3N9/f3////////////////////////////////////////////////////////////////////////////////////////////////////////////////habEABcrDQYASUI5R0lKL0BIIAcEyYRe////////////////////////eKDBAAAAqn1kx+jzAAopXi4o////////+PX7/v3/////////////////////////////////////////////////////+vn9+vf9////////////////rc/vJjFXQD40UkJHDgATvKJ7////////////////////////////////////////////////////////////////////////////////////5Pv/H0N0TB8A/+7N////////////////////////////////////////////3d3d29vb////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+fn50NDQ9/f3////////////////////////////////////////////////////////////////////////////////////////////////////////////////0t3lz8vG0tPVuby/urq4ube50srF/Prw/////////////////////f//2OHnu7m54t3W6vPzwL/FzsrH///6////////////////////////////////////////////////////////////////////////////////////////////zOHzn6auw7Kr19Pa9fTv////////////////////////////////////////////////////////////////////////////////////8/r7zNTe2dPG/vbv////////////////////////////////////////////3d3d2tra////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+Pj4zs7O9/f3////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////urq6eXl5oqKioaGhoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoaGhmJiYhISE8/Pz////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////0tLSnJycra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tqqqqqqqq+Pj4//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + 0 + + + + + -0 + 6.872611111111111 + 4.909722222222222 + 1.208333333333333 + 1.152777777777778 + 0.6041666666666666 + 0.5763888888888888 + + + 6.26844444444444 + 4.33333333333333 + 7.47677777777778 + 5.48611111111111 + + + 4 + 0 + 2 + 2 + 1 + + + 1.208333333333333 + 1.152777777777778 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0 + + + 1.208333333333333 + 1.152777777777778 + + + + 0 + + + + + -0 + 7.229166666666667 + 6.439263888888889 + 2.680555555555555 + 1.704805555555556 + 1.340277777777778 + 0.8524027777777778 + + + 5.88888888888889 + 5.58686111111111 + 8.56944444444444 + 7.29166666666667 + + + 4 + 0 + 2 + 2 + 1 + + + 2.680555555555555 + 1.704805555555556 + -0 + + + 2 + + + 1 + 0.0277778 + 0 + 0 + 0 + 0 + 4 + 2 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0 + + + 2.680555555555555 + 1.704805555555556 + + + + 0 + + + + + -0 + 4.180555555555555 + 4.144071527777778 + 1.111111111111111 + 0.2396347222222222 + 0.5555555555555556 + 0.1198173611111111 + + + 1.111111111111111 + 0.2396347222222222 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.239634722222222 + + + 1.111111111111111 + 0.239634722222222 + + + 1.111111111111111 + 0 + + + 0 + 0 + + + 0 + 0.239634722222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 2 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + ng-repeat + + + + -0 + 6.975638888888889 + 4.451388888888889 + 1.030055555555555 + 0.5972222222222222 + 0.5150277777777776 + 0.2986111111111111 + + + 6.46061111111111 + 4.15277777777778 + 7.49066666666667 + 4.75 + + + 4 + 0 + 2 + 2 + 1 + + + 1.030055555555555 + 0.5972222222222222 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0 + + + 1.030055555555555 + 0.5972222222222222 + + + + 0 + + + + + -0 + 6.775388888888888 + 5.368055555555555 + 1.402777777777778 + 1.763888888888889 + 0.7013888888888888 + 0.8819444444444444 + + + 6.074 + 4.48611111111111 + 7.47677777777778 + 6.25 + + + 4 + 0 + 2 + 2 + 1 + + + 1.402777777777778 + 1.763888888888889 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0 + + + 1.402777777777778 + 1.763888888888889 + + + + 0 + + + + + -0 + 8.784722222222221 + 1.203127083333334 + 2.899305555555555 + 0.239634722222222 + 1.449652777777778 + 0.119817361111111 + + + 4 + 0 + 2 + 2 + 1 + + + 2.899305555555555 + 0.239634722222222 + -0 + + + 1 + + + 0 + + + + + -0 + 0.3333333333333333 + 0.05213472222222196 + 0.6666666666666666 + 0.01388888888888889 + 0.3333333333333333 + 0.006944444444444444 + + + 0 + 0.0590791666666664 + 0.666666666666667 + 0.0590791666666664 + + + 4 + 0 + 2 + 2 + 1 + + + 0.6666666666666666 + 0.01388888888888889 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.01388888888888889 + + + 0.6666666666666666 + 0.01388888888888889 + + + + 0 + + + + + -0 + 1.803819444444444 + 0.119817361111111 + 2.190972222222222 + 0.2396347222222222 + 1.095486111111111 + 0.1198173611111111 + + + 2.190972222222222 + 0.1007458333333333 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.239634722222222 + + + 2.190972222222222 + 0.239634722222222 + + + 2.190972222222222 + 0 + + + 0 + 0 + + + 0 + 0.239634722222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Model / View Data-binding + + + + -0 + 0.3333333333333333 + 0.177134722222222 + 0.6666666666666666 + 0.01388888888888889 + 0.3333333333333333 + 0.006944444444444444 + + + 0 + 0.184079166666666 + 0.666666666666667 + 0.184079166666666 + + + 4 + 0 + 2 + 2 + 1 + + + 0.6666666666666666 + 0.01388888888888889 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.01388888888888889 + + + 0.6666666666666666 + 0.01388888888888889 + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + 0 + 1 + 0 + 12 + 52 + 0.5 + + + diff --git a/images/docs/tutorial/tutorial_04.graffle/image15.png b/images/docs/tutorial/tutorial_04.graffle/image15.png deleted file mode 100644 index e30bc5182f23..000000000000 Binary files a/images/docs/tutorial/tutorial_04.graffle/image15.png and /dev/null differ diff --git a/images/docs/tutorial/tutorial_04.vdx b/images/docs/tutorial/tutorial_04.vdx new file mode 100644 index 000000000000..3b88ab231c3f --- /dev/null +++ b/images/docs/tutorial/tutorial_04.vdx @@ -0,0 +1,5356 @@ + + + + 12 + 52 + + + 7.68056 + 10.5 + 1 + 0.25 + 0.25 + 0.25 + 0.569444 + 1 + 1 + + + + + + + + + + + + + + 0.111111 + 0.111111 + + + 1 + 1 + 10.5 + 7.68056 + 3 + 0 + -0.0277778 + + + Layer 1 + 1 + 1 + 0 + + + + + + -0 + 8.622569444444444 + 6.583333333333333 + 3 + 1.722222222222222 + 1.5 + 0.8611111111111112 + + + 3 + 1.583333333333333 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 1.722222222222222 + + + 3 + 1.722222222222222 + + + 3 + 0 + + + 0 + 0 + + + 0 + 1.722222222222222 + + + + 0 + 0 + 3 + 1.72222 + + Qk0AAAAAAAAAADYAAAAoAAAA2AAAAHwAAAABABgAAAAAAOA5AQAAAAAAAAAAAAAAAAAAAAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////6/L54t7l/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////P//0NPVy83N6ODZ////09ng0tHP3uDgzszK//jz1d7kvb27+vbx////////197lx8fJ8+vk////////8Ons////6vH2u7y+7uff5e704trV+vv9ys3Q7eTd4evx1szH1eTscl1i9+vd/v//0NfeysfJ+fPq/////v7/8uvt////3+buvLy89/Ho3OXt6uHb8vf8yMrM8+zl2OHn28/M////////////6/T6tri7t7Sy6N3V////////ytHZw7+8/fz609ng1tXR293d0M7L//36zNTcwr+6+fr4z9Xc09DN/fv40dfk2tLN2NnX7+bh09vg0s3Nys7V5t7Z9Pn+vbvF2M7G////0dfe1tXR29ze0M7L/Pjz////////ztXc4NrXzdHc39nS1tTU8u3qz9bbvri5/fTs8fj/ycnL6eDb7fL1u7y+6+Pc////z9fe5dnV3+bp6+La////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+///fJWqMh4i28uz////YX2ddVVIq8HOQDI0r7m2LCwyaGdnlIaK/Pbt////nrrSVk1I7N/L////jqPEqn927fv9NUZUZFlNfnmBrrS7c3Fxtb/PLiEf2869VWaHlHdgqLzBXUY2/fTj/f//gp+6Z1JK9uzg////eIOlx56O1+76LDM9aWJdjIKJnKy3iH54l6vDPysf29zSR1BroYdt+/bz////uszcNkBIjIR6nJycRlFZ3c2wo8LXLCMjamlprJ2dZ3yVhGZakKq9YEM7obe9LSYnamhqpJmZYHWNc0xE2u7zLjtOhoR/Oic0raSaSUlcm5CGPUJZrJuKYmyFm4V7f4aQv6mVZoCghWhZj6m8Vzs1+/Tt////0eb0SUNTd3t2Ozs9gIOGRSsupKWlXVJXl5udhnpu39/bQENXopWGP1BbY1hKfHd/yMjIQkVbvKaQgJScsZV4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////w972Y0VV///v////i6PDtJGE6//+d2puZX6Mmod0////3Njg9u7p////5/z/vbGj////vNfnAA8dtn5hstXvWVRT///z6ezz8ePhq8rgJCY0wJuO////Wlh09d/J/f39//7+////////2PD8yrai////mbvTAAcQ16iNjLbUd2ld////4uDq9e3oja/HKiIq3b6s5P/+YVRp//Xh//7+8fr/Lj9booZr////////S3GQwLCQVXeWuaKK////4djci6C9tY+C0O7+pYaDV3eQtZ6I////4tndjqTBqoh+7/r/Zmp8sq+0bFphw9HTc15t////dXyPmpyaU01Q///6udjufmVamKrCuJKDzu39n3t4////////u9XqfWNq2OrrcGpypau4gWZhrcPQjXBx////aHqTy7WjfYabiY6PXl1d//7y7vD1rLjKc2Fr///y/fz8/v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////u9buXkJS//rn////hp6+oX902/X/bFlgfo+ejHRok623hn1z//rx////4vf/wrai4eryHiw2dGxXzqipvdrvYFNTs766Zm9y/urSlrjdJhAK+t/M/f//X1159uLK////////////////0+z20bulydvmFh0fhntr3Lm4n8HbdF9Zp7m8c3Jv//7rcJK5QBgR//rp4vn/ZFtt//nj////0uj6ICw979O2////3ujyLD9cpIxwbYOeoIh5gZ6tqJeCiJm6pIBzwN3ylXl0cIafnoV2g6GupJSBiJ26lHRq9Pj4oqe3hpCjVzs9ydPTdmNw////am6GmpqWY1Rb////lLfSe2FHiZm5poJzvtzvjm9r////////wdrte2Vs8vz6oKOzdICXc09HssbTfGNq//78S112x6+bdn+Uk5OTZ1xetb65bHR3vL68dGR0///4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////u9fvXkNT//zp////iaLGS0JFXGFplmpm1uHpfH+RUmNrhHlp//37////6fj/rrSoNkVnd1A87/Xyv5yq9P7+gYumbnd/V1ZS0dXOQU9ifXt2mXlv1eHjJi5Fq4R8//v2////////////2+/6qKygIi1Om3ZY4ufszaqw5/X9fYKaYW52b2ddxM/UP0ZSgX57q4d6u9XlKiQywqGW////3fD/Iy8/58ms////7PD10M/V5N7XwM7bfH6NR1dio5qFdIahW0s+U1JaroR5ydjlfH2MSVlkmZOCcISUS0tHWVxacWdik5ScmHt2obzMNy0vs6epX11w2su+ipaxj4V/W1Vjzreqb4ShW0w9UlFbp39z////////lLfSOy0tuLCtdHJ0i5CXq4p/uNHmODNJYWpjWkM59e3haXKK0r+siJWxbnh+XFlWmq65NCsy0bes////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////zNPnwri4uNLnVDJF6uzgrrO2e4OcnIN51tTU+/Tv////5+/22dLN////////////7vv+GjdFQCQU//Hi1+v4lnaC//7++f7/z8zR//nw7vT75ePg8PHx5OPj7e/vgZWi0LOr//36////////////2e77AhkkZEMw//76v83gqIiM////8Pf+0s7N///46O715+Xi7vDy5ePh4OvxgIqQ4MW+/////f//Y3aYa01J9Ozk9vz9fX2e2ce4////3ubu4dfR////8vT27O3t2dXS/vfy////3+fv4NbR////9/n77/L05OTg8vP40c7U/PTt1On3hYiI5NbRycvQ9+zi////zszS6+Td////8vP17O3r2dXS/fj1////////zePwhYiG7N3T7fD309DQ//rznbnPfGFc19nb+fPu/f//V2B33sCl+v//z87Q//jw1uv5g4iI59TO////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////zeL0WWVwaWxvVUxRa21tf3p1fIGOvaSO////////////////////////////////nLHESklJ59nI////laa1WldS39TI////////////////////////////////////////////////////+///g5msWFFK+PDf/f//fY2aYFtW7uPZ////////////////////////////////////////////////9v3/hZGmamZhb3R0Z1lb5NC+/////////////////////////////////////////////////////////////////////////////////f//cX6W49K/////////////////////////////////////////////////////////////////ip6wnoVr////////1OPuVVNd4dC9/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////f////78///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9/////////////v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+/z+8/Pz9fTy////////+vz89fT08/T0//36////6u/y4uHh/fr3/////////f7/8/Pz9ff3+ff1////////////5ejq5uPg////////9ff69/b08/Pz////////8vL0//78////6/H24uHh+/j1////+vz+9fT08vP16+vr8fDu//399Pb49/Xz///9/f7/+Pf39PX1/v37////9/r89PTy+fj4////+Pf19/n79vT0////////5enq5eLg////////////////8Pb74eHh9vPu/////P7/8/Pz9PPz///7/////P3/9PTy8/T2/Pr4/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Pz81NTU+Pj4////////////////////4O72S1lupIRs1OHrp5KX4uzyPktcbVRB/vLkj6OxaWdkgH55X15e4tfD////8/r/ZHeJQzUy2Mq5////7vj+b36LeXVubnd6eG5k9+3fuczbMTpCmYJu+///QVlwcGJP//3xl6q8ZmVhgH96W1xc3dC/3e75QFVrUktCfX19WWFnln9rbIyijW1e////9f3/QFV0UUY69/Hn////y9/sPkNQs5l9////X3iRLx0dxa+d8fv/coKReHNscXh5c2tj9Orc////rL/OXl9hgYB7VVte0Lym7vv/VGmBj3Ba4OrvmYuV7PT1SFxwWkQ67eHT////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+fn5Xl5eDg4OS0tL9PT0////////////////////qr/J9t3HZZC2GAIA//Pda4uhtI1ssMvmRCcv/e7b////kq/HWEQv/ffo////qcTha0VO////////b4iqb0k////4////W3eQjm1M////OlVq7Nq5bo66Piwm9/Pgs87lPiYx+eXT////oLzUTT0s//rrZIqumYVq////7fr8s6+j0dnejHqC6Obh1+XnLT1OyquO////////////uM7gh3V48O7wIThYkXNY////dpCyaEM7//34////YoCYimxK1+ryNSk95cqx////wNnrOjUu+OLKttDg6c+2hq7RCgAB9N/Fg6a+kG1P////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4eHhBwcHAAAAAAAAzMzM////////////////////v9DRysW8KTVFgH5wuZ+ed5afs49xZ5CuiWpL////////4Pj/Lx0058+1////psLga0pW///6/f//N1VowaF+////////rcrgRSAq/PrwRFtyZW9qHxcb99u+////aI+ue2BC////////6//+MCE8686za4+wl4dp////////////////ZXygj4J0Sm6HTS8j//3w////////////////n7XSIyk+YT42//3w////Ollvu5p3////////tdHmTSQxkaqyW0s4///6////////ODdYxp+JzeXp0ci3L0JWfnhnrZOSiqm0j29T////0dLa59vb2d/n3NbT5Orvzs/S/vjz////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+fn5X19fDw8PTExM9PT0////////////////////wtbbXWh1ZEQ0/f37jI+laXJvtZR8aIytjHBO////////4/r/LhY76s+y////p8Lfa0pU///7////OVNqxKWC////////sc3nQhcu+/rsPFdui39ubHSEbl9a/vnwa5CzfmRF////////7v/+Lh1E6MetbJCxl4dp////////////////utHktKeWVWCEtJF5////////////////////tdnxAAAJuZFy////////PFduvZ96////////udTsSR81kaWtX088///7////////OTVjw5qC1OzybnmDTjQs/vvxj5izcXh5lHZg////ZXmcxaSSxNLkcn2Pa2tvi2th/vfv/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////f391dXV+fn5////////////////////////oMDVAAAC0LCY////sMPZDA8bwZyBo8LcTy4w//Tj////nb7YVD4718jI8enmsM7qb0hU////0tPRZHaPflVK////////Z4elgFlM////PFZt99y41/3/IxsW99zBp8jiRisy/+zb////rMvjRjM3//PfX4mtnIpq////////////////+v//Uml8PyIS+u7f////////////////4fH8NDpHn5B2gIuY2cW2////aoWld01E///9////bo6uf1lLyt/nOSk67tS9////zOPzNzI+89TAvN/xAAANt5R+////xdfnDBconnpg+/3/hJu+zr2q5vn8ZHB9YFhboXVd////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7PT8RV53UD0q//rx////8///MkZUa1BB+/Lmg5Gka2RfhYJ/Y1td4dK6ss/sWltgXWdzQS0ya3J1fnBm6/DzZ26Ae3RreH6DdWdd8+nVvMzbKTQ9c2xdXGhykIJ2//nv////iZapaGBdhYJ/YFpd1Maw3/D5N1BlWkk68ebc////////////////l7DNmX13////////////////4Ov1RVpqJBcQ9+XKr8nmQjk90Lqo6/b/aXCCeXJpe3+CcWVb7+XR////n67BXVZZhIN+XlxhxLKV+P/+WnSPPC0d+fHg/////P//QlprX0YymaWvSFJcZl1VgpGZfmthw8/XZFJX/fTs////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+/z/6enp/fn4////////////+fv/6Ojq/vz3////3ubr19XV+/Tv////+/3/5ufq5uTi6u3t4+Li9fLw/////v//193i3NjV//76////7/L17ezq4+Tm7Onm////////////////4Onu19bT+PHs////9/v86+rq6unr+/n2/////////////////P3//P3/////////////////9/r86Ojo7+/x+/f29/j86erq8+7r////////2N/i29fW//z5////////////5vD11tXT8url/////f7/6ers+/f0////////////+/3/6ers8PHv6ejo6+nn8O/v+vb2////7/Pz/vz6////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7vT76ufs/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////f//3uDg3d/f7unk////4uXq4ODg6Onn393b//v45Ovy0NDO//z5////////4ujr2Nnb9vDr////////9vH0////8/n8zs/R9/Ho7fT56+bj/P3/3N/h8uvo6/P44tra2efvfmpz+O7g/v//3+Pm2tnZ+vbx////////9vPz////6/H4z8/P/Pjz5+308uvm+Pr92tze9vHu5ezx5t7b////////////9vz/yMvNyMXF8uni////////2+Ln1NLP////4uXo4+Pf5ufn4N7c///73eTr1NHO/f783+Ln4eDd/vz64ebv5+Dd5ujm9O7r4ujr4Nzc3N/i7ujl/P7/zczU49vU////4OTn4+Ph5ufn4N/c/fr3////////3+Po6+bj3eDq6+Xg5OTi+PTx3ePoz8vK//vy9vr/29vb7+rn9vn8zs/S9O7n////3+Xo7eXi6+/w8uzn////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+v//eI+kNCIl1sSu////Ynycc1VJp73HQjQ0usG6MDQ7XVxcmoyO/frw////mbXMUEhI6trH////nrHRrYV/8f3/QlJjWU9DgXp/rLa+dnJvv8rXLiUl2Mm2XG+OjnFcp7vAVDss/PLg/f//fpuzYk5I9Ond////ipSyyKKT3/L9NTxJXVhTkIaKmau4jYB4o7bMPSwh29jOTFlxm39o/Pf0////ydjlQExXf3dvjo6OT1Vc4tS4sM7eLCYnYF5esqSiZ3yVgmhbjaa4XkM9r8DDListYF5eqZ+fX3SMcUxE3u7xNEJWgX53Py43rqOZTU9ilIh+P0NZrZuIb3iRj3p2foCKybSiZX+dg2hbjKS2Vjw1+/Lq////1ur3SUhXeHp0P0BDfX9/STAyqKelXVVci42PkYN13+HjQEJWpZeGS1xpWE5Cfnd80dHPREpguKCKfZKasZN0////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wt72YUNS///v////iqLCso6D6f/+dmhsZoCQkH1s////087Y9ezn////5vr/uq6g////yuTvBBYosntctdjwUE1N//zv4OXu7N7bpMLXLTFCtI1+////WFZ08tzG9/j69vXx////////1u/6x7Of////qsnfAAkX1qaJjrnXbmFV//782dji8OjjiqrALio40q6d5f/+X1Jo//Dd/v379Pz/M0ZlkXdf////////SG+OwbCRVXiZsJmB////2M7TiZ67tY6Bzuz8o4SAV3mRrJV/////28/UjKK9qYV86ff/W19uu7i9alhiwc/PcVxp////c3iOnp+dT0tQ///wt9XtgGZZlqrCtZCBzOn8nHh1////////utXqe2FpzuHkaWFmrbbAfGNiq8HOi21v////ZnaOzrmle4ObjJKRVlZY//vu5OnxqbPDcWBp//7v9fX3+fj2////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////u9buXkJS//rn////hp6+p4Z54fv/bFtieYqZkXlrnrS8l46E//rz////4vf/wbSh6/L3JTdEYlpHzqajudftZFZVucG/fIGE/+3XosPkIQoH/ePQ/f//YF569+PL////////////////0+z20Lqk1+bwFyIqdWxZ3bm2m73YeGNbrr6/hoR////veZ3BOhEK///u4vn/ZVpv//nl////1On9ICw77tG0////4+vzKkBdpY1xa4GcpI58j6iztqWSi52+qoV4xuP4l3t4bYOboop5kaq0s6OQjaK/m3py/f//p63BfYabWDs9ytTUd2Vx////bnOJlpeTZVRZ////nL/Zel9KjZy6rYh5xOL3kXFt////////wdrte2Ru9//7oqa4bHWOdFBGscbTgmlt////UmaBxKyYd4CVj4+Ral9fusG+gYaHvsLCdWR0///6////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////u9XwXkNT//zn////iaPHTEFDYmlxjWFczdnjeHiHUGdxdGlZ//36////5vn/t7qqQlZ2ZT8t7PHqwp6s8Pz+dn6Xcn6ERUdH1NXJPU1jcm5pnnxx2uXnKzFIs4+G//v4////////////2e/5tbWlKTldiGRG4+Xoz6yy3/H8dXeNYnV8XVdMydPTNkFReHJvsYx9v9voLyg2yaqg////2e78IS08686x////5u3ywsHH3tbOtcTTfXqGQFdllox1b3+dV0Q2VVhhpnxxvs/efHmFRFlni4VwaX2PRkM+XGBga2Fam56ljXFupbzKPjE1t6+yVlRp1Ma3f4ilnJGJVlVmw6qZaX6fWEU3VFdinnZs////////mLnUQTIyubWzcWxvkZefoH91uNHkNzNIaXFsTDgw8efZanSLzb2qfYijc36ESktJnKuzOi852L+1////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////0dfn0MbGv9vwWTdK9vbqvMDDf4qilYB4xsPF9uzm////3ebyy8K9///3////////9P/+JkNRMhkP/enY3vL/oH+L////8vr/v77C/PHn6fH419bT6erq2dfX5+rsb4SSxqWd//z5////////////4Pb/DCQwVDQk//rzx9XnspCW////6PH7w769//rx4env29jV5+rq3NfW2ebubnl/17mz////+///V2mNeFhQ/vfw////kJGx3MzB////09zm1MnB////6e3w4eHfycTB+vHr////1N3p0sfB////7/L15Ojo1tXT6unxwr/F9+3lzOPzc3d33MvGzc7R+O3l+///v7zC4NfP////6evu4eHfycTB+/Ls////////wtzsdHZ25tPL4+bwxL/C/PTto7/Wd2Bfx8rM8enh////XGd+38Gm9P3/v77C/fHnzOX3cnZ44crE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////yN7xUl1oZGlsSD1CaWtrdHFscniGuJuF////////////////////////////////mrHGNjc33cy3////kqSzUUxH4NTI////////////////////////////////////////////////////+///gJitQjw38eXU/f//eImWWVFM7uPZ////////////////////////////////////////////////7vb+dH+SbGVebnZ0V0hQ4Mu3/////////////////////////////////////////////////////////////////////////////////v//bnuR4tG+////////////////////////////////////////////////////////////////gZiqlnle////////0+PuSkhT3su4/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v///Pv5////+vr6/////v///f37////////////////////////////////+/z8/////////////f37/////f37/////////////////////////////////////////////////////////Pz8/////////////v39/v///v78////////////////////////////////////////////////////////8/X39vTy////////////////////////////////////////////////////////////////////////////////////////////9/j4/vz8/////////////////////////////////////////////////////////////////v///P39///9/////f7++vr6/Pz6/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////f7+//7+/P39/////////f7+/////f//////////8O/v//////////////39////8PP0/fr3//////7+////////////8PL0/vv4/////v78/////////fz+/////////////v///v39//////////78/////P39////////+fz/7+/t////////////////////7/Dw+fb0/////////fz8/v///v78/////////v37/////Pz8/////////////////////////////////////////////////////////////////v///////v7//////Pz8/////v///v37//////7+/////////////////////////////////////f3//////f3//////////Pz8/////P39/////////v39/////v39////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4+Pj////////////////////////3+33T1xvo4Vt3ObstaKp4OvzRlFhdF1O2d7bamR9iICCo42F8vPxXWyEoYd0j5SqfmxviX9/2NLIXG+IgGNZ/v/2hI+tgG9wiX5+59zScIKWe2ldd4WYbWFeZWVtk29i////6vf/UmuCf2dW///7o7rPLiowlXZo///7qr7MZGZmeXhzZGJg59vH////4+3yZnJ9e311XGNosqCP////gZyzXlBP8ejWoZ+09evjfZKoRkE+zruo////////////////////////////////////////////3ez7npii+v34lpqw//zr7vf9VmWElYBvl6m5ZlpUVltoh3Vml6m0VUZD9urb////////////uMzmyLas////rLnD4ce4////zNzrSUlcwKqU////////nLTJPUFErpmH///9////i6G/VkpI7eDT////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+/v7bm5uGhoaXFxc9/f3////////////////////obfB8tjAb5m/HgUC//fjZoWasItrb5KzkXRb////Y2p6q6WbZ1lutcLAQDo//vfhor7Wj3Nehpy3sol7xOPzRj5A//rtlrPLmHhknLLKnIN2VneLtKGKXmiGwaON////////0+TzbGl2+uzfaYmwNyMX++/lwdjsOic169a+////lrDJVUMt9fbsSVd8oHlj////5vL4OkVP07WQ1fL/vKaS2Oz5AAcawJl0xeb4VEMy//bq////////////////////////////////////////////nLjWMCQip7ixKiQw5tC4////doqnu6OLa3ucyrObdYeovJWEzen+ZVBU///w////////////XHuXYzsq////Iz1mm3pc////9v/+Xl9y3Mq3zM7R1M/O4Oz3M0RR9+PJ////////ttLpdFtW////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4eHhCAgIAAAAAAAAzc3N////////////////////vs/Q0Mu+KztMbmtfwaafd5ahrpBzYHyYx6SK////XG+Bo5iKe21/s8bNaVVV////o8Xdf2VSjp+9w5yLtNrzcFlR////l7rUh2lUnrHHooRzx9PlioabPURM1LSc////////////w9LqQVRoJxgg4suz////b5i1dVo9////////7f/+OClAsKylNkBF8trA////////bIGgglFI5///0sKtY4CZU0g4kn13vs7VXU9A//bs5evu49rc7vDz3Nbb9ff12Nvl9fLt////////////+///XGh5tq2aMjtVlI55sJiV////fZGuvKSOdYSk4smxgZq+xKOP1/T/alZY//7v////////7fz/MTdbakc2s7TBHC1AfmFb//jw+f//aWl6xbqweH2KjoN53eDlOkxa3sy2x9Da17S2wt/yeGBd///7////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9/f3T09PBgYGPDw87+/v////////////////////wtbbaXV/Wz8u+Pn1jI6jbXh2spF1pLzXinFws7vAVEBHtLm0T0NQyMXAZmR3x8C2Vl94pIp3VW2GVUk/cXuFaVljyMO8TlVuvpqAnLXOpIl8ip6sqaCWX2F22byo////////////9v/+AitQbj8i////////bpKxe2NE////////8P/+NyNMqZ+aO0ZI9N7E////////cYSsd0VF7///nKamLSsx6MytpLnWjY6MZVhK///wlrPRimxo3eTsgIqcdXqBd2Vi5s6/////////////s83lUz5C1NvaQDNP6trHgIqj4tfLVmaHs5uMV2iEuJuIeI+yaVdPd4WWf1VU///9////////pcLfXEQ2zc/WGyVEmnFfnq/F28Gy2u36RT9S69S8////////4/T/MEFPoJGAaHqJvJSClbbRbk1O///9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9vb2xMTE7+/v////////////////////////psfZBAAOx6aQ////q73TFBcjuJV5////uMHNkImM69zRx+L1Q0tOzKig4uzylI+Uuq2l//7+yNDXsrq7r6mk3OPok46TvrGp////lrHMn4Bw6fH2np2wu6uk//34////////////aICYaVA/i5edv6ac////nr3XSy4y//Pk////vNrvQi454dzQOUNgyKCI////////RFp2tIdx+///IDJJZUA0///76fT6NEdgXEIx///xrcnppJeU////hqKzWU1Sg2RQ/uzf////////////w9Ddtq2mxs7TpJ2i7efeu7jK5NXSxszT19DRVXeNm3dqe4eliXt2lI6P6NTK////////////UGaHsYhy8v/+LCgz5s2uzub5nJec+P/9u7e/9+3n////////5PX/OEpX//DV////0cTMztXayry+///9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7vX9RWB6PiwY//fr////7/v/IDREa1A79u7k////////////////7/Ly///9////////////////////////////////////////+P7/WnCIlHZl////////////////////+P3/gZWnBggIxKGB7Pj/MjZWsJJ+/v/7e4ecbmBdkY+MWlpfw7OV////vMvcVE1UkZOHb3V8hnVi//vqnbXOCQoTzLaa////////c5ChLRsMqqalVGt9TU5OmZ+aUlJY19HCTkpd59PB////////////////////////////////////////hZiyzLmm+P/++f34WGuKvpqC////////////////q8LcDhQqzLWbc5m2JCQi8eLJ1ez6T0ZL0Me0fYWX8OTQ////////obrPHiguhnxujJKRgGdesLK5lo2K////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+Pv+2tvd9/Dr////////////7fP42tra+/jz/////////////////////////////////////////////////////////////////P7/2tzh5+Th/////////////////////P7/297h4eHh8Ozn+vv93N7l4dnZ///9////0dzkx8XD7uTe////////////5/P9xsjI18/K////////4uXq5uLh////////////+/7/3t/i5uXj3N7e2tnZ5uTk6ubm////5u3y9fLv////////////////////////////////////////2eDn7ujl/////f//3+Hk8+3o////////////////5evw4ODc8O3t3+Po39/f+PTz8vf82drc7uzp19ng+vbz////////5Ojr397e0tPV0dHR5eHc6vD13drc////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9/f3+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj6+Pj6+Pj6+Pj6+Pj6+Pj69/j6/P39////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2dnZn5+fnJycnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2fnZ2dnZyXnZ6WnZyXnZyXnZyXnZyXnJ2XnJqXv8DA/f7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////6urqoKCg2tra+Pj49/f3+Pj49/f39/f3+Pj49/f3+fn5+vr69/f3+Pj49/f5+Pj49/f59/f3+vr4+fn5+Pf3+vr6+Pn59/f3+fn59/j49/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39vPw9uav9fGz9fGz9fC1+/a29vC19/Cz7t+lspt9ysjI////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2dnZyMjI/Pz8+vr6+/v7+Pj4+fj4/v/9+Pj4////7O/y4+Lg+vj2+vr6+vv5/Pr6/Pr4////5Ofs6+fk9vj44uPj9/Pu/v//7Ozw9PDv/Pz8+vr6+/v7+vr6+/v7+vr6+/v7+vr6+/v7+/v7+vr6+/v7+vr6+/v7+vr6+/z8+fXw/Naa/+Om/+Oo/+ar48qU/+Sn/96k/92i8rl2yK2U/v//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////3t7ezs7O6urq6+rq8Pf0ko6n2ce9r8bbdldXy9TRY2Rmg39+6OXeX3iIv6iQZneVwquRpcHSZmdpq5SKxc/VcHV9eWRgxtLSYFxc1cGy8PLy6+vr7Ozs6+vr7Ozs6+vr7Ozs6+vr7Ozs7Ozs6+vr7Ozs6+vr7Ozs6+vr7O3v6ebh8L+B+siG/86O0qlyKR8XwZtq/8uM98SC7Kxd2qh+/f//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2traxcXF4+Pj4+Li5+/shn+Zt7W1Qlxve2BldIeQdGRVq6unv8LCSlJremdsU1ZljH9uT1d5lYh6q6Wo09TSh5GXgHhsm6i7koWA8fHt4uHh4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uPl4d3Y6bBq8bds9r1vs4hNZEoop39I9Lps77Np5J1C0515/v//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2NjYwMDA4eHh4eDi5+7rhYaeRT5QlId5npq1l6mpS1NYV1Vbio+QpYiAU2+Nn4Rog4mkanR5WV5geWVZrrm+TD4+ybWmgZ65T0JB2My+5OXl4eHh4eHh4eDi4eHh4eDi4eHh4eDi4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eLk4dvW5rFp77p17bl398F9/9KG+cJ87bdy7bZv35g/zpV0////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////1dXVw8PD7u7u7u3t+Pz3WHSfRy4v9vPmjIiq8u/gs7nLzcW93N/k5uPg19bi5Nzf3uLi4OLgrrK34NXL7fLzsrvD0MC5obfJdnBr5NfN8PHx7e3v7u7u7e3t7u7u7e3t7e3t7e3t7u7u7u7u7e3v7u7u7e3t7u7u7e3t7e/x7Ofg68KQ9NCk+taqpo5wOzEnnoZo+NSm8sye46ptyo9z////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2dnZxsbG9vb28vPx9vj2x83a4trV9fj60tHb8/Hs/fz8+vv79/b29fb29/f19vf39vX19/b2/v379vj68/Px/vz8+fv9+Pb2/f399ff58/Px8/Pz8/Pz8/Pz8/Pz8/Pz9PT08/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz9PT28e3o7Mmd9dey+ty31bydPDMrzbSW+dq19NWu5LSBx4l2////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7Ozsurq6+fn5/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////vv489/A/O/X/O/X//La7+LM/vDa++3T+urRz5d806af////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////3NzcysrKzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzs7Ozc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Pzc3Nzc3Pzc7Oy8jGx5CJy5OPy5OQzJORz5aUy5OQy5OPx4yKy5WW+fLz////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9fX17+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v+Pf1+Pj67+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+7u8ePj8OHh8OHh8OHh8OHh8OHh8OHh8uTk//7/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////j6KytKSX/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////P7///78////////////+Pn7/////////////////////////////////////////f///////v//o7XCdnBr4tfD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8/7/XXKIcHJ0ZWNu0L2i+v3/gYekhHV3m4uG2uHfVFhuqI5/8/z/X2t+r5OA//z6/f//i5ysbmxnjIN39end////utnxn4Z7////zeT2aGBr//bi////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////1uv5iHdq//rtsM/lVCgnore/WktG/frweY2lr5h+YnOU062Wy+n+XUxb6uTP//v68//+UFJr89zEmrvRjXFg////bY2nSCwe//Xr6fP7u7a7//vy/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////f///fv5////////////////////////////////////////////////////////+vr6////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8fb7//323/D9PFRkb0AnhZ6xkXRl////fp+3n4JsdYWo5cKo1fP/c2Bq///2////8v/+Xl14/+rSvN75cVlZ5/T3Uk9floWRzb69/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v//h4qibm5m39O9////////////////////////////////////////////5fH9bnZ9bGVngn6D6eHV////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////tcjXFyc2ST408uTTv9nwb11m0dLOSUtfsqCJPE5ndGZYbn+OX0pM8ebY////+f//QUpznZGATl1ulnhef5WzelZJ4PDzk4B92+Tqj4aR//vu////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+Pv96urq6urq+/j1////////6+308+/s8vLy8/Ly5Obo8O3o////7/P28Ovq////5OPnnbPBi3x1////5Ofp8u7u+Pj69vj44uTm9PDr////7PDx8+7t////zuP1alBnzcrForPClZGF///94+bx4dzZ////////6evt+PTx////9/n87Onu8Ozr/P3/6OXq+Pfy8O7u8PLy4+Pj+/jz////5+jq//v67PL34uHd////7O7x7O3r/vz6/////////////P7//////P7//v//////8fP26uvr+fb07vH06ufp7O7u8PHv7e3r9PLw/////P7/6evt6+nn/vz5////////+vn5////7/T54eDe////7vDz+/f0+fv96ent/vv47/b36Obk9vX3+vv56u3v5+Xi//76////////9/n84ebr19bW/fn2////9/n78vDu////////////////////////////////////////+f//Ky1ioHlc/f//zs7K//36wMvdhIB/wbCn+fv7srq/nqenW3eBRUA/zKyo////+f//VVt8jYh/kYaA8+3ooK69xrSs6+7zq6es2Nzeo5ue//zw////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4u/3QFhwVEU57+PZ////zOH1O0JSfnt4TDg/i4Z9mIdwg4OSzcS6UV93nYBr/Pj3////s8zhk4mNpLHIU0RDS1tohm5goK2vmYh1hYCMy8nCSVFnrZF6//r5////V2OXYVdPdnRyw7qsp7jNbFZhi42PspiJzOLqQ0BLx66Y//783ebyMT1ap4hyhp+8WE9MZGVwaVJPhoBznpeQlISGtcLMUEdMmpuRNzc5V1RWraWiZnuTZUdB+/Pr////////////hJa22sSupLrduqae////q8LcQj09vb21UlVldnBrOzM7xb6vPVBkq4x0////8fv/YXqSe19M/PPp////jIym48S11OfyNjc/VVRUqpycgJiqsp2MiaK/VTwv3d/hUE5mZmplRzxGu7uxhntvj5Sbq5OL///9////dYujX15ZfIGCd2dW+u3hqMbZgGhQ///9/////////////////////////////////////P//a3WbkXdybXmKgm5r//78////////////////////////////5+jq////////1Or0Qjw5/OPK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////bpG0loZq////////w93vXFdat77GalNb4ebducLINTtSoJuOZ1xx+/Dc/vz6////scncko6Oc36a0q2WlLXVjW1j5enprbnBNzZJn56ZcF9v/Prn//39////g5Ssgm1fvrmw9/z5PE9m4cSj8v/+X1hbl5+nh29x+/v5//7+////YGyC69K4faLBmYBzgI+pooh74ungg5iqU0RDi5WhpouGW3+Ym4Ru/v390cfMj6K9m3py////////////7vn/NkZge3RdUWd3dVlG//703fT/cF9kwc/Rc1xo4e/pY1Vr///vcYajxaeR////////wdvm1Lqn////lLnSCQMQ8s6zaJS2iHRj/vz6zMXO5+flcYukOi894sesw+H5b1Jf7/j1VlRn39DF1NvcWmeFfF9Q////+f7/pKOl/+rW////LCM60aqN9Pj77ern////////////////////////////////////////////9f3/uL7Gxb6/6ujl////////////////////////////////////////////7/P40NDQ+/Tv////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////cJCxd2dUztLVn4mV7ebhpqzAaXGJbEtCw9TdLDFCoY592+zxal1y//3o////////scrfko2SfIei1rWdp8fnnH11s8nbLDE0sqGMzODrdmJv///6////9v/+UVN02smwZXGWysG1TVVs/ODF5v/9UE1MoKKnkXl7////////////Z26G69C30+L1mJaoSFJatZaAfpm0QTc32c66m7HMq4+Jc4+qoot3ora+vK6flarHmnpy////////////n7zUiXRgip62W0tEq6em482/4fr/bVxhxdDQfWZz6vj2YFhr///wbIOhxaON////////xd7m38aux97uDx0jdmda7dHMd5e3l39uqLvCqqCW////WHidVyYZ////wNrxdV5q/f//Y2N/59zOQ1p6a1ZI6ePW/////f7/////4u/5TWNxNhgQ7tvK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////c5OzYVNCp7K3eWdm3d/da2pwmaGnkHBsrcTFfXdksqG2rLzHOjE+1ruw////////fZiviYZ4ZG90zrOYgZ/AnntunLnEiH9qs6C6n7PBQjQ638rA/////P//doGhpZqMPkRVsJWAjZ+6nYd9cH6Pj2xhhaC3V0FB6t/X////3+7zP0NXtZmEm667jX98dnuNyK6fcYuVpJiKuam+cY2icVROpbC9fnmBRWBwenNean6QQD04bWVl/vLk9/v/Slh3tJiBboWplGtewtvtn4WEtcrYZUtUorS9STc8xcXDODxciYd2RjRK5s25////////zOLoubiqHixOnH1b1tPZ4cHFwNbod3F+UGp4bmJSucvUMzhGd2lmyaybp8XUcltM2ubsVk5g2tfKYW1prqCoyLa/////////yNnuFiM0RTYm7t/O////////////////////////////////////////////////////////+/v79PT09/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39fX1+Pj4////////////////////////////////////////////////////////////////////////////////////////////////////////YYmtloJn////4ufu2snI19zps66z8+je////yMrU0MK/zd7pXWds0rKs////////3OPrz83NyczO7+3ox83V6t/X/P//xcTO1sfCwNbkYmVn28C7////////8fr/tLW308fD8/Dt////vMDKurCr////ocTcb2di5tbV////4OrwUFNcppF75+DbwMPSxry2//757PP6vrq/4tfRk7bMemli8+flzNjlwbWv//325Orv1trcwMC+//z19fr/w8bJ3NvXw8jP2tHM6ezv08TM7PLv0MjKu9LgaGdnu7a9YVpswbyvzby3////////////zObzCRgibEo5///4usDUz7Cv////0Nzpu7Kt//rz0Nnh0s7J2t7h1s7J1Nvg3tnS3uTszsjF//343ePrvbW38eff////////bIK1ajc6////qrjD79zL////////////////////////////////////////////////////7Ozs2NjY8vLy8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8vLy5OTk29vb////////////////////////////////////////////////////////////////////////////////////////////////////4O72Q1lvUElCfX19Y2pvu5SC/////////////////////////////P39////////////rsbZnoV2/////////////////////////////////Pz8/////////////////////////////////////////////////Pv5////////////u8jTdHN7eG90/////////////////////////////fv5////////////////////////////////////////////////////////////0+f3dXF5///u/v39utDjYVJR//vo////////////8fv/ZXyURDow9u3j8vv/XGt2bl5P+/Ls////////////////////////////////////////////////////////////////////xdjqYV9wdnp9WUte++7d////////////////////////////////////////////////////7e3t5eXl////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9PT039/f////////////////////////////////////////////////////////////////////////////////////////////////////+/z+9fT08/T06+vr8O/t/v78////////////////////////////////////////////9fj68vDu////////////////////////////////////////////////////////////////////////////////////////////////////////4eLn7uzp////////////////////////////////////////////////////////////////////////////////////////////+fz+7e3v//78////+fv79PTy/v37/////////////f7/8fLy///9/////f7/8/Pz8vPz/v37////////////////////////////////////////////////////////////////////////7vX65uXl+fn3///9////////////////////////////////////////////////////7e3t4+Pj////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8vLy39/f////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7e3t4+Pj////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8vLy39/f////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7e3t4+Pj////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8vLy39/f////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7e3t4+Pj////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8vLy39/f////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7e3t4+Pj////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8vLy39/f////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7e3t5OTk////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8/Pz4ODg////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7Ozs4eHh/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+8PDw3t7e////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////39/flZWVqampp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enqKiom5ubvLy8////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+/v77e3t7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7e3t9fX1/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////f7///7+/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////vz8////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8/7/X3OJcHJ0ZWNu0r+k9/z9ZXB7VlRRvbGprcDWYlpfhYODd2FfZmx6hW5k///0f5WrTUxIs6KRqL3LXFNVvsG6UVdf0cCrboSf0Leh////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8PDw////////////////////////3+33WGR0oIVy///1////r6S1+Ojb1ejzSElRYl5Z0s3KdoeW5dHAfpmugGlS3+TpXV5pbXBxfnBwwcjFhn1zlJGW4M2+/////f//cYaeaW1tZGlxuqiN//76////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////1uv5hnZp//ftsM/kVysqjaawUEdA3drXsrG+U2d9kn9qd4amoYBsgJu4qX9yxOPyLC4zysa3rbCyoau1b1dh+/z6Ulpy4cmvu8TS6d3T/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////f39f39/KCgobW1t+vr6/////////////////v7/l6y53sGr////jbbTLhAc//DbSXGSjHRe2dveuaaru8rUc36QQjpM4Mapm7jbgVtarsrXWUJE0dbP2NHAWGuNn3xm////6vn/gXl29ObV1PL/OBwn893F////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8fb7//z14PH+PlZmbUAngZmsk35wztTVz8nEztrljomeTldevpl+lLHRv5mIsdfwjWdk////////ts7jfWhs////Y2uD38Ws////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4+PjCwsLAAAAAAAAz8/P////////////////////tsrP89nDyd/pDSItbklD8unkV26Jv6uXxs3Q3dLI////NU9rfVE8////lbHPnn524PX/cWJu6e/qP1V3V0Y16N/R////9vr/+/bz8v7/XniKPxsM+unY////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////tsnYGSg5SDw08+TRts/obWFpb46ZSkg+o6ysnpSOcX2SspaDW3iTXEtBfYmTe2Zt0tPTbGx2tbu8QztRr7OrTTxR8+HOkZu23sy9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9PT0QUFBAAAALi4u6+vr////////////////////vs/QzMa/IS9KloNhw7i98uLfgJi1j4B7NF10j3hasMjbLS5AhWZc8ODViKW7lnNix+H0a1Rcvs7PXltNwrfE5dra////////zdzpKTpIMysi3cy3////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+f//Ky5jn3hY/f//z8/N/vz5uMbbiIKD4tXJ7vn3mZqroZSS9OvjusXNn6mnnJaR0dngjI2LuaeYxdrnXVRkjpOOtJmQ////nqW349LD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7e3tsrKy5OTk////////////////////////udTeHTA4cEpA///9t67C8drY+fz/m6e6m46G7uzpo6+8tK+ksrW6zb+1q7nD0Me0ucjZtqah+Pv5r7W9o5KV8eXd////////R1WLeFA8///z0NfY/PLo/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////P//anSZknhzbnqMgW1q//78////////////////////////////////////////////////////k6/McFRO////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////6PL4SmJ5MyYW+uzf5/D4TU9cn4p3///7////////////////////////////////////////////////////////////////////gZK1e2VlhY6aZVZd//rt////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9f3/t7zEw7696efl////////////////////////////////////////////////////////3eTp3NbP/v78////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8Pf6yMfL9O7n////7/X4x8fJ1NLP///7/////////////////////////////////////////////////////////////////////P//u8bOv7u64d7e//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + 0 + + + + + -0 + 1 + 1 + 5.25 + 4.701388611111111 + 3.152777777777778 + 5.763888888888889 + 1.576388888888889 + 2.881944444444445 + + + 3.152777777777778 + 5.625 + -0 + + + 1 + + + 1 + 0.0138889 + #4fff75 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 5.763888888888889 + + + 3.152777777777778 + 5.763888888888889 + + + 3.152777777777778 + 0 + + + 0 + 0 + + + 0 + 5.763888888888889 + + + + 0 + + + + + -0 + 1.798611111111111 + 4.701388611111111 + 3.486111111111111 + 5.763888888888889 + 1.743055555555556 + 2.881944444444445 + + + 3.486111111111111 + 5.625 + -0 + + + 1 + + + 1 + 0.0138889 + #f8ff29 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 5.763888888888889 + + + 3.486111111111111 + 5.763888888888889 + + + 3.486111111111111 + 0 + + + 0 + 0 + + + 0 + 5.763888888888889 + + + + 0 + + + + + -0 + 1.638888888888889 + 3.52775 + 0.02777777777777778 + 0.1666666666666667 + 0.01388888888888889 + 0.08333333333333333 + + + 0.02777777777777778 + 0.1666666666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.1666666666666667 + + + 0.02777777777777778 + 0.1666666666666667 + + + 0.02777777777777778 + 0 + + + 0 + 0 + + + 0 + 0.1666666666666667 + + + + 0 + + + + + -0 + 5.291666666666667 + 2.0474 + 0.9583333333333334 + 0.3101166666666667 + 0.4791666666666667 + 0.1550583333333333 + + + 0.9583333333333334 + 0.3101166666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3101166666666665 + + + 0.9583333333333334 + 0.3101166666666665 + + + 0.9583333333333334 + 0 + + + 0 + 0 + + + 0 + 0.3101166666666665 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 0 + 0 + + 0.25 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Model + + + + -0 + 5.291666666666667 + 7.222222222222222 + 1.402777777777778 + 0.5416666666666666 + 0.7013888888888888 + 0.2708333333333333 + + + 4 + 0 + 2 + 2 + 1 + + + 1.402777777777778 + 0.5416666666666666 + -0 + + + 1 + + + 0 + + + + + -0 + 0.7013888888888888 + 0.2708333333333333 + 1.402777777777778 + 0.5416666666666666 + 0.7013888888888888 + 0.2708333333333333 + + + 1.122222222222222 + 0.2402777777777777 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #ffffff + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 1.197345180555555 + 0.4623412083333334 + + + 1.197345180555555 + 0.07932545833333332 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.2054325972222225 + 0.07932545833333332 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.2054325972222225 + 0.4623412083333334 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 1.197345180555555 + 0.4623412083333334 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + + + -0 + 0.7426499999999999 + 0.2800576388888889 + 0.9571888888888888 + 0.2396347222222222 + 0.4785944444444444 + 0.1198173611111111 + + + 0.9571888888888888 + 0.1007458333333333 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2396347222222222 + + + 0.9571888888888888 + 0.2396347222222222 + + + 0.9571888888888888 + 0 + + + 0 + 0 + + + 0 + 0.2396347222222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Root Scope + + + + + + -0 + 0.402525 + 1.357666666666667 + 0.6383833333333333 + 0.01388888888888889 + 0.3191916666666667 + 0.006944444444444444 + + + 0.0833333333333333 + 1.36461111111111 + 0.721716666666667 + 1.36461111111111 + + + 4 + 0 + 2 + 2 + 1 + + + 0.6383833333333333 + 0.01388888888888889 + -0 + + + 2 + + + 9 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.01388888888888889 + + + 0.6383833333333333 + 0.01388888888888889 + + + + 0 + + + + + -0 + 1.921002777777778 + 1.355904861111111 + 2.185777777777778 + 0.2396347222222222 + 1.092888888888889 + 0.1198173611111111 + + + 2.185777777777778 + 0.1007458333333333 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.239634722222222 + + + 2.185777777777778 + 0.239634722222222 + + + 2.185777777777778 + 0 + + + 0 + 0 + + + 0 + 0.239634722222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Implicit Scope Declaration + + + + -0 + 0.8541666666666666 + 7.222222222222222 + 1.319444444444444 + 0.3055555555555556 + 0.6597222222222222 + 0.1527777777777778 + + + 1.319444444444444 + 0.1666666666666667 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #fff82f + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 1.319444444444444 + 0.3055555555555556 + + + 1.319444444444444 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + <html ng-app> + + + + -0 + 0.7083333333333334 + 2.774847222222222 + 0.75 + 0.3055555555555556 + 0.375 + 0.1527777777777778 + + + 0.75 + 0.1666666666666667 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #f5ff36 + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 0.75 + 0.3055555555555556 + + + 0.75 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + </body> + + + + -0 + 0.5694444444444444 + 2.351236111111111 + 0.75 + 0.3055555555555556 + 0.375 + 0.1527777777777778 + + + 0.75 + 0.1666666666666667 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #f5ff36 + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 0.75 + 0.3055555555555556 + + + 0.75 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + </html> + + + + -0 + 2.020833333333333 + 2.049680555555556 + 1.208333333333333 + 0.3055555555555556 + 0.6041666666666666 + 0.1527777777777778 + + + 1.208333333333333 + 0.3055555555555556 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 1.208333333333333 + 0.3055555555555556 + + + 1.208333333333333 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 0 + 0 + + 0.25 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Template + + + + -0 + 3.052083157986113 + 7.215277777777778 + 3.062499649305557 + 0.01388888888888889 + 1.531249824652779 + 0.006944444444444444 + + + 1.52083333333333 + 7.22222222222222 + 4.58333298263889 + 7.22222222222222 + + + 4 + 0 + 2 + 0 + 1 + + + 3.062499649305557 + 0.01388888888888889 + -0 + + + 2 + + + 9 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + -1.973729821555834e-16 + 0.01388888888888889 + + + 3.062499649305557 + 0.01388888888888889 + + + + 0 + + + + + -0 + 9.680555555555555 + 6.601923611111111 + 0.75 + 0.3101166666666667 + 0.375 + 0.1550583333333333 + + + 0.75 + 0.3101166666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3101166666666665 + + + 0.75 + 0.3101166666666665 + + + 0.75 + 0 + + + 0 + 0 + + + 0 + 0.3101166666666665 + + + + 0 + + + + + -0 + 2.854166666666667 + 7.355928472222222 + 1.319444444444444 + 0.2396347222222222 + 0.6597222222222222 + 0.1198173611111111 + + + 1.319444444444444 + 0.2396347222222222 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2396347222222223 + + + 1.319444444444444 + 0.2396347222222223 + + + 1.319444444444444 + 0 + + + 0 + 0 + + + 0 + 0.2396347222222223 + + + + 0 + + + 0.0694444 + 0.0694444 + 2 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + ng-app + + + + -0 + 1.111111111111111 + 6.009875 + 1.583333333333333 + 0.5416666666666666 + 0.7916666666666666 + 0.2708333333333333 + + + 1.583333333333333 + 0.4027777777777778 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #f5ff36 + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.5416666666666665 + + + 1.583333333333333 + 0.5416666666666665 + + + 1.583333333333333 + 0 + + + 0 + 0 + + + 0 + 0.5416666666666665 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + <body + ng-controller= + "PhoneListCtrl"> + + + + -0 + 5.164930555555555 + 1.645833333333333 + 10.16319444444444 + 0.01388888888888889 + 5.081597222222222 + 0.006944444444444444 + + + 0.0833333333333333 + 1.65277777777778 + 10.2465277777778 + 1.65277777777778 + + + 4 + 0 + 2 + 2 + 1 + + + 10.16319444444444 + 0.01388888888888889 + -0 + + + 2 + + + 1 + 0.0277778 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.01388888888888889 + + + 10.16319444444444 + 0.01388888888888889 + + + + 0 + + + + + -0 + 5.311284722222222 + 6.039913888888889 + 2.557986111111111 + 1.281283333333333 + 1.278993055555556 + 0.6406416666666667 + + + 4 + 0 + 2 + 2 + 1 + + + 2.557986111111111 + 1.281283333333333 + -0 + + + 1 + + + 0 + + + + + -0 + 1.278993055555555 + 0.6406416666666667 + 2.557986111111111 + 1.281283333333333 + 1.278993055555556 + 0.6406416666666667 + + + 2.046388888888889 + 0.7580094444444444 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #ffffff + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 2.183376719097222 + 1.093643233016667 + + + 2.183376719097222 + 0.1876401003166666 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.3746093920138883 + 0.1876401003166666 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.3746093920138883 + 1.093643233016667 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 2.183376719097222 + 1.093643233016667 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + + + -0 + 1.295152777777777 + 0.9117680555555556 + 1.576583333333333 + 0.3641138888888889 + 0.7882916666666666 + 0.1820569444444445 + + + 1.576583333333333 + 0.225225 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3641138888888891 + + + 1.576583333333333 + 0.3641138888888891 + + + 1.576583333333333 + 0 + + + 0 + 0 + + + 0 + 0.3641138888888891 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + PhoneListCtrl Scope + + + + -0 + 1.650923611111111 + 0.4659763888888888 + 1.669041666666667 + 0.3641138888888889 + 0.8345208333333334 + 0.1820569444444445 + + + 1.669041666666667 + 0.225225 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3641138888888891 + + + 1.669041666666667 + 0.3641138888888891 + + + 1.669041666666667 + 0 + + + 0 + 0 + + + 0 + 0.3641138888888891 + + + + 0 + + + + + + + -0 + 5.165486805555556 + 5.972222222222222 + 1.340251388888889 + 0.3055555555555556 + 0.6701256944444444 + 0.1527777777777778 + + + 1.340251388888889 + 0.1666666666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 1.340251388888889 + 0.3055555555555556 + + + 1.340251388888889 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 1 + 0 + + 0.152778 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + phones: Array + + + + + -0 + 2.967599164621018 + 6.023152549196944 + 2.115754239997111 + 0.01513181351051212 + 1.057877119998555 + 0.00756590675525606 + + + 1.90972204462246 + 6.01558664244169 + 4.02547628461957 + 6.0307184559522 + + + 4 + 0 + 2 + 0 + 1 + + + 2.115754239997111 + 0.01513181351051212 + -0 + + + 2 + + + 9 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 3.947459643111667e-16 + -1.973729821555834e-16 + + + 2.115754239997111 + 0.01513181351051192 + + + + 0 + + + + + -0 + 0.6527777777777778 + 4.513886111111111 + 0.5 + 0.3101166666666667 + 0.25 + 0.1550583333333333 + + + 0.5 + 0.1712277777777778 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #f5ff36 + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3101166666666665 + + + 0.5 + 0.3101166666666665 + + + 0.5 + 0 + + + 0 + 0 + + + 0 + 0.3101166666666665 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + <ul> + + + + -0 + 1.993055555555556 + 3.861111111111111 + 2.902777777777778 + 0.75 + 1.451388888888889 + 0.375 + + + 2.902777777777778 + 0.6111111111111112 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #f5ff36 + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.75 + + + 2.902777777777778 + 0.75 + + + 2.902777777777778 + 0 + + + 0 + 0 + + + 0 + 0.75 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + <li ng-repeat="phone in phones"> + {{phone.name}} + <p>{{phone.snippet}}</p> +</li> + + + + -0 + 5.197916666666667 + 1.355904861111111 + 2.388888888888889 + 0.239634722222222 + 1.194444444444444 + 0.119817361111111 + + + 4 + 0 + 2 + 2 + 1 + + + 2.388888888888889 + 0.239634722222222 + -0 + + + 1 + + + 0 + + + + + -0 + 0.3333333333333333 + 0.1198291666666659 + 0.6666666666666666 + 0.01388888888888889 + 0.3333333333333333 + 0.006944444444444444 + + + 0 + 0.12677361111111 + 0.666666666666667 + 0.12677361111111 + + + 4 + 0 + 2 + 2 + 1 + + + 0.6666666666666666 + 0.01388888888888889 + -0 + + + 2 + + + 1 + 0.0277778 + #17ff1c + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.01388888888888889 + + + 0.6666666666666666 + 0.01388888888888889 + + + + 0 + + + + + -0 + 1.576388888888889 + 0.119817361111111 + 1.625 + 0.2396347222222222 + 0.8125 + 0.1198173611111111 + + + 1.625 + 0.1007458333333333 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.239634722222222 + + + 1.625 + 0.239634722222222 + + + 1.625 + 0 + + + 0 + 0 + + + 0 + 0.239634722222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Scope Inheritance + + + + + + -0 + 5.600694444444445 + 4.013888888888889 + 1.729166666666667 + 1.055555555555556 + 0.8645833333333334 + 0.5277777777777778 + + + 4 + 0 + 2 + 2 + 1 + + + 1.729166666666667 + 1.055555555555556 + -0 + + + 1 + + + 0 + + + + + -0 + 0.8645833333333334 + 0.5277777777777778 + 1.729166666666667 + 1.055555555555556 + 0.8645833333333334 + 0.5277777777777778 + + + 4 + 0 + 2 + 2 + 1 + + + 1.729166666666667 + 1.055555555555556 + -0 + + + 1 + + + 0 + + + + + -0 + 0.8645833333333334 + 0.5277777777777778 + 1.729166666666667 + 1.055555555555556 + 0.8645833333333334 + 0.5277777777777778 + + + 1.383333333333334 + 0.6 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #ffffff + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 1.475935395833334 + 0.9009726111111109 + + + 1.475935395833334 + 0.1545829444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.253231270833333 + 0.1545829444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.253231270833333 + 0.9009726111111109 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 1.475935395833334 + 0.9009726111111109 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + + + -0 + 0.8602083333333334 + 0.7277458333333335 + 1.208333333333333 + 0.4669805555555555 + 0.6041666666666666 + 0.2334902777777778 + + + 1.208333333333333 + 0.3280916666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.4669805555555552 + + + 1.208333333333333 + 0.4669805555555552 + + + 1.208333333333333 + 0 + + + 0 + 0 + + + 0 + 0.4669805555555552 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + phone scope + + + + + + -0 + 0.9930555555555556 + 0.3998444444444442 + 1.472222222222222 + 0.3101166666666667 + 0.7361111111111112 + 0.1550583333333333 + + + 1.472222222222222 + 0.1712277777777778 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3101166666666665 + + + 1.472222222222222 + 0.3101166666666665 + + + 1.472222222222222 + 0 + + + 0 + 0 + + + 0 + 0.3101166666666665 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.152778 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + phone: Object + + + + + + -0 + 5.725694444444445 + 3.888888888888889 + 1.729166666666667 + 1.055555555555556 + 0.8645833333333334 + 0.5277777777777778 + + + 4 + 0 + 2 + 2 + 1 + + + 1.729166666666667 + 1.055555555555556 + -0 + + + 1 + + + 0 + + + + + -0 + 0.8645833333333334 + 0.5277777777777778 + 1.729166666666667 + 1.055555555555556 + 0.8645833333333334 + 0.5277777777777778 + + + 4 + 0 + 2 + 2 + 1 + + + 1.729166666666667 + 1.055555555555556 + -0 + + + 1 + + + 0 + + + + + -0 + 0.8645833333333334 + 0.5277777777777778 + 1.729166666666667 + 1.055555555555556 + 0.8645833333333334 + 0.5277777777777778 + + + 1.383333333333334 + 0.6 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #ffffff + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 1.475935395833334 + 0.9009726111111109 + + + 1.475935395833334 + 0.1545829444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.253231270833333 + 0.1545829444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.253231270833333 + 0.9009726111111109 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 1.475935395833334 + 0.9009726111111109 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + + + -0 + 0.8602083333333334 + 0.7277458333333331 + 1.208333333333333 + 0.4669805555555555 + 0.6041666666666666 + 0.2334902777777778 + + + 1.208333333333333 + 0.3280916666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.4669805555555556 + + + 1.208333333333333 + 0.4669805555555556 + + + 1.208333333333333 + 0 + + + 0 + 0 + + + 0 + 0.4669805555555556 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + phone scope + + + + + + -0 + 0.9930555555555556 + 0.3998444444444442 + 1.472222222222222 + 0.3101166666666667 + 0.7361111111111112 + 0.1550583333333333 + + + 1.472222222222222 + 0.1712277777777778 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3101166666666665 + + + 1.472222222222222 + 0.3101166666666665 + + + 1.472222222222222 + 0 + + + 0 + 0 + + + 0 + 0.3101166666666665 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.152778 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + phone: Object + + + + + + -0 + 5.850694444444445 + 3.763888888888889 + 1.729166666666667 + 1.055555555555556 + 0.8645833333333334 + 0.5277777777777778 + + + 4 + 0 + 2 + 2 + 1 + + + 1.729166666666667 + 1.055555555555556 + -0 + + + 1 + + + 0 + + + + + -0 + 0.8645833333333334 + 0.5277777777777778 + 1.729166666666667 + 1.055555555555556 + 0.8645833333333334 + 0.5277777777777778 + + + 4 + 0 + 2 + 2 + 1 + + + 1.729166666666667 + 1.055555555555556 + -0 + + + 1 + + + 0 + + + + + -0 + 0.8645833333333334 + 0.5277777777777778 + 1.729166666666667 + 1.055555555555556 + 0.8645833333333334 + 0.5277777777777778 + + + 1.383333333333334 + 0.6 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #ffffff + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 1.475935395833334 + 0.9009726111111109 + + + 1.475935395833334 + 0.1545829444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.253231270833333 + 0.1545829444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.253231270833333 + 0.9009726111111109 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 1.475935395833334 + 0.9009726111111109 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + + + -0 + 0.8602083333333334 + 0.7277458333333331 + 1.208333333333333 + 0.4669805555555555 + 0.6041666666666666 + 0.2334902777777778 + + + 1.208333333333333 + 0.3280916666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.4669805555555556 + + + 1.208333333333333 + 0.4669805555555556 + + + 1.208333333333333 + 0 + + + 0 + 0 + + + 0 + 0.4669805555555556 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Repeater +Scope + + + + + + -0 + 0.9930555555555556 + 0.3442888888888886 + 1.472222222222222 + 0.3101166666666667 + 0.7361111111111112 + 0.1550583333333333 + + + 1.472222222222222 + 0.1712277777777778 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3101166666666665 + + + 1.472222222222222 + 0.3101166666666665 + + + 1.472222222222222 + 0 + + + 0 + 0 + + + 0 + 0.3101166666666665 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.152778 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + phone: Object + + + + + + -0 + 4.091307706065886 + 3.949968878905594 + 1.279850071744957 + 0.05419969209096504 + 0.6399250358724784 + 0.02709984604548252 + + + 3.45138267019341 + 3.92286903286011 + 4.73123274193836 + 3.97706872495108 + + + 4 + 0 + 2 + 0 + 1 + + + 1.279850071744957 + 0.05419969209096504 + -0 + + + 2 + + + 9 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0 + + + 1.279850071744957 + 0.05419969209096504 + + + + 0 + + + + + -0 + 4.152809482554106 + 3.875458965631375 + 1.402841571900808 + 0.01388888888888889 + 0.7014207859504038 + 0.006944444444444444 + + + 3.4513886966037 + 3.87196373926025 + 4.85423026850451 + 3.88240341007582 + + + 4 + 0 + 2 + 0 + 1 + + + 1.402841571900808 + 0.01388888888888889 + -0 + + + 2 + + + 9 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 3.947459643111667e-16 + 0.003449218073314676 + + + 1.402841571900808 + 0.01388888888888889 + + + + 0 + + + + + -0 + 4.215643226289488 + 3.805096076139918 + 1.52851308361848 + 0.03852253612319521 + 0.7642565418092399 + 0.01926126806159761 + + + 3.45138668448025 + 3.82435734420152 + 4.97989976809873 + 3.78583480807832 + + + 4 + 0 + 2 + 0 + 1 + + + 1.52851308361848 + 0.03852253612319521 + -0 + + + 2 + + + 9 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + -3.947459643111667e-16 + 0.03852253612319521 + + + 1.528513083618479 + 0 + + + + 0 + + + + + -0 + 5.303220940381522 + 6.815964085062216 + 0.01388888888888889 + 0.2569734122584313 + 0.006944444444444444 + 0.1284867061292156 + + + 5.30054024140796 + 6.687477378933 + 5.29627649593708 + 6.94445079119143 + + + 4 + 0 + 2 + 0 + 1 + + + 0.01388888888888889 + 0.2569734122584313 + -0 + + + 2 + + + 1 + 0.0138889 + #2fff41 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0.004263745470884335 + 0 + + + 0 + 0.2569734122584313 + + + + 0 + + + + + -0 + 5.594478553025464 + 4.844986303604567 + 0.2616289456168472 + 1.103937679878856 + 0.1308144728084236 + 0.5519688399394282 + + + 5.72529302583389 + 4.29301746366514 + 5.46366408021704 + 5.39695514354399 + + + 4 + 0 + 2 + 0 + 1 + + + 0.2616289456168472 + 1.103937679878856 + -0 + + + 2 + + + 1 + 0.0138889 + #39ff42 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0.2616289456168472 + 3.947459643111667e-16 + + + 0 + 1.103937679878857 + + + + 0 + + + + + -0 + 5.529424265395949 + 4.907646124792011 + 0.1879368668744621 + 0.9755024627251774 + 0.09396843343723107 + 0.4877512313625887 + + + 5.62339269883318 + 4.41989489342942 + 5.43545583195872 + 5.3953973561546 + + + 4 + 0 + 2 + 0 + 1 + + + 0.1879368668744621 + 0.9755024627251774 + -0 + + + 2 + + + 1 + 0.0138889 + #45ff51 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0.1879368668744613 + 0 + + + -7.894919286223335e-16 + 0.9755024627251774 + + + + 0 + + + + + -0 + 5.464075498191857 + 4.970289658808252 + 0.1210574236072017 + 0.8474623492434523 + 0.06052871180360084 + 0.4237311746217262 + + + 5.52460420999546 + 4.54655848418653 + 5.40354678638826 + 5.39402083342998 + + + 4 + 0 + 2 + 0 + 1 + + + 0.1210574236072017 + 0.8474623492434523 + -0 + + + 2 + + + 1 + 0.0138889 + #37ff37 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0.1210574236072009 + 0 + + + -7.894919286223335e-16 + 0.8474623492434523 + + + + 0 + + + + + -0 + 0.6527777777777778 + 3.249997222222222 + 0.5 + 0.3101166666666667 + 0.25 + 0.1550583333333333 + + + 0.5 + 0.1712277777777778 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #f5ff36 + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3101166666666665 + + + 0.5 + 0.3101166666666665 + + + 0.5 + 0 + + + 0 + 0 + + + 0 + 0.3101166666666665 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + <ul> + + + + -0 + 2.777777777777778 + 6.131944444444445 + 1.444444444444444 + 0.2083333333333333 + 0.7222222222222222 + 0.1041666666666667 + + + 1.444444444444444 + 0.2083333333333333 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2083333333333333 + + + 1.444444444444444 + 0.2083333333333333 + + + 1.444444444444444 + 0 + + + 0 + 0 + + + 0 + 0.2083333333333333 + + + + 0 + + + 0.0694444 + 0.0694444 + 2 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + ng-controller + + + + -0 + 1 + 1 + 8.609375 + 4.701388611111111 + 3.274305555555555 + 5.763888888888889 + 1.637152777777778 + 2.881944444444445 + + + 3.274305555555555 + 5.625 + -0 + + + 1 + + + 1 + 0.0138889 + #1e23ff + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 5.763888888888889 + + + 3.274305555555555 + 5.763888888888889 + + + 3.274305555555555 + 0 + + + 0 + 0 + + + 0 + 5.763888888888889 + + + + 0 + + + + + -0 + 8.784722222222221 + 2.0474 + 0.9583333333333334 + 0.3101166666666667 + 0.4791666666666667 + 0.1550583333333333 + + + 0.9583333333333334 + 0.3101166666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3101166666666665 + + + 0.9583333333333334 + 0.3101166666666665 + + + 0.9583333333333334 + 0 + + + 0 + 0 + + + 0 + 0.3101166666666665 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 0 + 0 + + 0.25 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + View + + + + -0 + 1.638891666666667 + 4.959468055555556 + 2.472227777777778 + 0.5300638888888886 + 1.236113888888889 + 0.2650319444444443 + + + 4 + 0 + 2 + 2 + 1 + + + 2.472227777777778 + 0.5300638888888886 + -0 + + + 1 + + + 0 + + + + + -0 + 1.219097222222222 + 0.2997583333333331 + 2.438194444444445 + 0.4606111111111111 + 1.219097222222222 + 0.2303055555555556 + + + 2.438194444444445 + 0.3217222222222222 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #f5ff36 + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.4606111111111109 + + + 2.438194444444445 + 0.4606111111111109 + + + 2.438194444444445 + 0 + + + 0 + 0 + + + 0 + 0.4606111111111109 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Fulltext Search: + + + + -0 + 1.284172222222222 + 0.1779625 + 2.376111111111111 + 0.3559249999999999 + 1.188055555555556 + 0.1779625 + + + 4 + 0 + 2 + 2 + 1 + + + 2.376111111111111 + 0.3559249999999999 + -0 + + + 1 + + + 0 + + + + + -0 + 1.188055555555556 + 0.1779625 + 2.376111111111111 + 0.355925 + 1.188055555555556 + 0.1779625 + + + 2.376111111111111 + 0.2170361111111111 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3559249999999999 + + + 2.376111111111111 + 0.3559249999999999 + + + 2.376111111111111 + 0 + + + 0 + 0 + + + 0 + 0.3559249999999999 + + + + 0 + + + + + -0 + 1.221915277777778 + 0.1615034722222223 + 2.048513888888889 + 0.2681763888888889 + 1.024256944444444 + 0.1340881944444444 + + + 2.048513888888889 + 0.2681763888888889 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2681763888888887 + + + 2.048513888888889 + 0.2681763888888887 + + + 2.048513888888889 + 0 + + + 0 + 0 + + + 0 + 0.2681763888888887 + + + + 0 + + + 0 + 0 + 0 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + <input ng-model="query"> + + + + + + + + -0 + 5.182861111111111 + 5.833333333333333 + 1.402777777777778 + 0.3055555555555556 + 0.7013888888888888 + 0.1527777777777778 + + + 1.402777777777778 + 0.1666666666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 1.402777777777778 + 0.3055555555555556 + + + 1.402777777777778 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 1 + 0 + + 0.152778 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + query: String + + + + + -0 + 7.328666666666667 + 5.451388888888889 + 2.120444444444445 + 2.291666666666667 + 1.060222222222222 + 1.145833333333333 + + + 6.26844444444444 + 4.30555555555556 + 8.38888888888889 + 6.59722222222222 + + + 4 + 0 + 2 + 2 + 1 + + + 2.120444444444445 + 2.291666666666667 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0 + + + 2.120444444444445 + 2.291666666666667 + + + + 0 + + + + + -0 + 6.472222222222222 + 6.520833333333333 + 1.402777777777778 + 1.375 + 0.7013888888888888 + 0.6875 + + + 5.77083333333333 + 5.83333333333333 + 7.17361111111111 + 7.20833333333333 + + + 4 + 0 + 2 + 2 + 1 + + + 1.402777777777778 + 1.375 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0 + + + 1.402777777777778 + 1.375 + + + + 0 + + + + + -0 + 4.180555555555555 + 4.116293750000001 + 1.111111111111111 + 0.2396347222222222 + 0.5555555555555556 + 0.1198173611111111 + + + 1.111111111111111 + 0.2396347222222222 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.239634722222222 + + + 1.111111111111111 + 0.239634722222222 + + + 1.111111111111111 + 0 + + + 0 + 0 + + + 0 + 0.239634722222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 2 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + ng-repeat + + + + -0 + 7.42475 + 5.0625 + 1.928277777777778 + 1.875 + 0.964138888888889 + 0.9375 + + + 6.46061111111111 + 4.125 + 8.38888888888889 + 6 + + + 4 + 0 + 2 + 2 + 1 + + + 1.928277777777778 + 1.875 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0 + + + 1.928277777777778 + 1.875 + + + + 0 + + + + + -0 + 7.231444444444445 + 5.847222222222222 + 2.314888888888889 + 2.777777777777778 + 1.157444444444445 + 1.388888888888889 + + + 6.074 + 4.45833333333333 + 8.38888888888889 + 7.23611111111111 + + + 4 + 0 + 2 + 2 + 1 + + + 2.314888888888889 + 2.777777777777778 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0 + + + 2.314888888888889 + 2.777777777777778 + + + + 0 + + + + + -0 + 1.695659722222222 + 5.466090277777777 + 2.557986111111111 + 0.3779305555555555 + 1.278993055555556 + 0.1889652777777778 + + + 2.557986111111111 + 0.2390416666666667 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #f5ff36 + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3779305555555557 + + + 2.557986111111111 + 0.3779305555555557 + + + 2.557986111111111 + 0 + + + 0 + 0 + + + 0 + 0.3779305555555557 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + <select ng-model="orderProp" + ...> + + + + -0 + 5.359944444444444 + 5.725696527777778 + 1.729166666666667 + 0.2396347222222222 + 0.8645833333333334 + 0.1198173611111111 + + + 1.729166666666667 + 0.1007458333333333 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.239634722222222 + + + 1.729166666666667 + 0.239634722222222 + + + 1.729166666666667 + 0 + + + 0 + 0 + + + 0 + 0.239634722222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 1 + 0 + + 0.152778 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + orderProp: String + + + + + -0 + 6.701388888888889 + 6.243055555555555 + 1.111111111111111 + 1.125 + 0.5555555555555556 + 0.5625 + + + 6.14583333333333 + 5.68055555555556 + 7.25694444444444 + 6.80555555555556 + + + 4 + 0 + 2 + 2 + 1 + + + 1.111111111111111 + 1.125 + -0 + + + 2 + + + 1 + 0.0277778 + 0 + 0 + 0 + 0 + 4 + 2 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0 + + + 1.111111111111111 + 1.125 + + + + 0 + + + + + -0 + 8.794444444444444 + 1.355904861111111 + 2.899305555555555 + 0.239634722222222 + 1.449652777777778 + 0.119817361111111 + + + 4 + 0 + 2 + 2 + 1 + + + 2.899305555555555 + 0.239634722222222 + -0 + + + 1 + + + 0 + + + + + -0 + 0.3333333333333333 + 0.05213472222222196 + 0.6666666666666666 + 0.01388888888888889 + 0.3333333333333333 + 0.006944444444444444 + + + 0 + 0.0590791666666664 + 0.666666666666667 + 0.0590791666666664 + + + 4 + 0 + 2 + 2 + 1 + + + 0.6666666666666666 + 0.01388888888888889 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.01388888888888889 + + + 0.6666666666666666 + 0.01388888888888889 + + + + 0 + + + + + -0 + 1.803819444444444 + 0.119817361111111 + 2.190972222222222 + 0.2396347222222222 + 1.095486111111111 + 0.1198173611111111 + + + 2.190972222222222 + 0.1007458333333333 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.239634722222222 + + + 2.190972222222222 + 0.239634722222222 + + + 2.190972222222222 + 0 + + + 0 + 0 + + + 0 + 0.239634722222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Model / View Data-binding + + + + -0 + 0.3333333333333333 + 0.177134722222222 + 0.6666666666666666 + 0.01388888888888889 + 0.3333333333333333 + 0.006944444444444444 + + + 0 + 0.184079166666666 + 0.666666666666667 + 0.184079166666666 + + + 4 + 0 + 2 + 2 + 1 + + + 0.6666666666666666 + 0.01388888888888889 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.01388888888888889 + + + 0.6666666666666666 + 0.01388888888888889 + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + 0 + 1 + 0 + 12 + 52 + 0.5 + + + diff --git a/images/docs/tutorial/tutorial_03.graffle/QuickLook/Preview.pdf b/images/docs/tutorial/tutorial_05.graffle/QuickLook/Preview.pdf similarity index 100% rename from images/docs/tutorial/tutorial_03.graffle/QuickLook/Preview.pdf rename to images/docs/tutorial/tutorial_05.graffle/QuickLook/Preview.pdf diff --git a/images/docs/tutorial/tutorial_03.graffle/QuickLook/Thumbnail.tiff b/images/docs/tutorial/tutorial_05.graffle/QuickLook/Thumbnail.tiff similarity index 100% rename from images/docs/tutorial/tutorial_03.graffle/QuickLook/Thumbnail.tiff rename to images/docs/tutorial/tutorial_05.graffle/QuickLook/Thumbnail.tiff diff --git a/images/docs/tutorial/tutorial_03.graffle/data.plist b/images/docs/tutorial/tutorial_05.graffle/data.plist similarity index 100% rename from images/docs/tutorial/tutorial_03.graffle/data.plist rename to images/docs/tutorial/tutorial_05.graffle/data.plist diff --git a/images/docs/tutorial/tutorial_05.graffle/image13.png b/images/docs/tutorial/tutorial_05.graffle/image13.png new file mode 100644 index 000000000000..ea504f2efa2b Binary files /dev/null and b/images/docs/tutorial/tutorial_05.graffle/image13.png differ diff --git a/images/docs/tutorial/tutorial_05.svg/image13.png b/images/docs/tutorial/tutorial_05.svg/image13.png new file mode 100644 index 000000000000..36efa9c3e589 Binary files /dev/null and b/images/docs/tutorial/tutorial_05.svg/image13.png differ diff --git a/images/docs/tutorial/tutorial_05.svg/tutorial_05.svg b/images/docs/tutorial/tutorial_05.svg/tutorial_05.svg new file mode 100644 index 000000000000..f8ad51db55b3 --- /dev/null +++ b/images/docs/tutorial/tutorial_05.svg/tutorial_05.svg @@ -0,0 +1,1569 @@ + + + + + + Produced by OmniGraffle 6.5.2 2012-04-04 22:31:40 +0000 + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Canvas 1 + + + + Component template + + + + + + PhoneListController query: Stringphones: Array + phoneList Scope + + + Layer 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Model + + + T + emplate + + + + V + iew + + + + + + + + + + + + Scope Inheritance + + + + + Implicit Scope Declaration + + + + + Model / V + iew Data-binding + + + + + + + phoneList component + + + + + + + </phone-list> + + + + + <phone-list> + + + + + + + + + + + <li ng-repeat="phone in $ctrl.phones | filter:$ctrl.query"> <span>{{phone.name}}</span> <p>{{phone.snippet}}</p></li> + + <ul> + + </ul> + + + Search:<input ng-model="$ctrl.query" /> + + + + + + + + + + + + + + RepeaterScopephone: Object + + + + + + ng-repeat + + + + + diff --git a/images/docs/tutorial/tutorial_04.graffle/QuickLook/Preview.pdf b/images/docs/tutorial/tutorial_06.graffle/QuickLook/Preview.pdf similarity index 100% rename from images/docs/tutorial/tutorial_04.graffle/QuickLook/Preview.pdf rename to images/docs/tutorial/tutorial_06.graffle/QuickLook/Preview.pdf diff --git a/images/docs/tutorial/tutorial_04.graffle/QuickLook/Thumbnail.tiff b/images/docs/tutorial/tutorial_06.graffle/QuickLook/Thumbnail.tiff similarity index 100% rename from images/docs/tutorial/tutorial_04.graffle/QuickLook/Thumbnail.tiff rename to images/docs/tutorial/tutorial_06.graffle/QuickLook/Thumbnail.tiff diff --git a/images/docs/tutorial/tutorial_04.graffle/data.plist b/images/docs/tutorial/tutorial_06.graffle/data.plist similarity index 100% rename from images/docs/tutorial/tutorial_04.graffle/data.plist rename to images/docs/tutorial/tutorial_06.graffle/data.plist diff --git a/images/docs/tutorial/tutorial_06.graffle/image15.png b/images/docs/tutorial/tutorial_06.graffle/image15.png new file mode 100644 index 000000000000..02266b348c7f Binary files /dev/null and b/images/docs/tutorial/tutorial_06.graffle/image15.png differ diff --git a/images/docs/tutorial/tutorial_06.svg/image15.png b/images/docs/tutorial/tutorial_06.svg/image15.png new file mode 100644 index 000000000000..c364579ba55f Binary files /dev/null and b/images/docs/tutorial/tutorial_06.svg/image15.png differ diff --git a/images/docs/tutorial/tutorial_06.svg/tutorial_06.svg b/images/docs/tutorial/tutorial_06.svg/tutorial_06.svg new file mode 100644 index 000000000000..97b950c23cb8 --- /dev/null +++ b/images/docs/tutorial/tutorial_06.svg/tutorial_06.svg @@ -0,0 +1,1625 @@ + + + + + + Produced by OmniGraffle 6.5.2 2012-04-04 22:31:40 +0000 + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Canvas 1 + + + + Component template + + + + Layer 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Model + + + T + emplate + + + + V + iew + + + + + + + + + + + + Scope Inheritance + + + + + Implicit Scope Declaration + + + + + Model / V + iew Data-binding + + + + + + + phoneList component + + + + + + + </phone-list> + + + + + <phone-list> + + + + + + + + + + <li ng-repeat="... | orderBy:$ctrl.orderProp"> <span>{{phone.name}}</span> <p>{{phone.snippet}}</p></li> + + <ul> + + </ul> + + + Search:<input ng-model="$ctrl.query" /> + + + + + Sort by:<select ng-model="$ctrl.orderProp"> + + + + + + + PhoneListController query: StringorderProp: Stringphones: Array + phoneList Scope + + + + + + + + + + + + + + + RepeaterScopephone: Object + + + + + ng-repeat + + + + diff --git a/images/docs/tutorial/tutorial_07.graffle/image9.png b/images/docs/tutorial/tutorial_07.graffle/image9.png deleted file mode 100644 index 96782d0fb4d5..000000000000 Binary files a/images/docs/tutorial/tutorial_07.graffle/image9.png and /dev/null differ diff --git a/images/docs/tutorial/tutorial_07.vdx b/images/docs/tutorial/tutorial_07.vdx new file mode 100644 index 000000000000..38b8ef583f53 --- /dev/null +++ b/images/docs/tutorial/tutorial_07.vdx @@ -0,0 +1,5758 @@ + + + + 12 + 52 + + + 7.68056 + 10.5 + 1 + 0.25 + 0.25 + 0.25 + 0.569444 + 1 + 1 + + + + + + + + + + + + + + 0.111111 + 0.111111 + + + 1 + 1 + 10.5 + 7.68056 + 3 + 0 + -0.0277778 + + + Layer 1 + 1 + 1 + 0 + + + + + + -0 + 1.840277638888889 + 4.792402361111111 + 3.458333333333333 + 5.53625 + 1.729166666666667 + 2.768125 + + + 3.458333333333333 + 5.397361111111111 + -0 + + + 1 + + + 1 + 0.0138889 + #f8ff29 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 5.53625 + + + 3.458333333333334 + 5.53625 + + + 3.458333333333334 + 0 + + + 0 + 0 + + + 0 + 5.53625 + + + + 0 + + + + + -0 + 1 + 1 + 5.210708333333333 + 4.792402361111111 + 2.899305555555555 + 5.53625 + 1.449652777777778 + 2.768125 + + + 2.899305555555555 + 5.397361111111111 + -0 + + + 1 + + + 1 + 0.0138889 + #4fff75 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 5.53625 + + + 2.899305555555555 + 5.53625 + + + 2.899305555555555 + 0 + + + 0 + 0 + + + 0 + 5.53625 + + + + 0 + + + + + -0 + 1 + 1 + 8.5625 + 4.815208333333334 + 3.513888888888889 + 5.53625 + 1.756944444444444 + 2.768125 + + + 3.513888888888889 + 5.397361111111111 + -0 + + + 1 + + + 1 + 0.0138889 + #2222ff + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 5.53625 + + + 3.513888888888889 + 5.53625 + + + 3.513888888888889 + 0 + + + 0 + 0 + + + 0 + 5.53625 + + + + 0 + + + + + -0 + 8.625 + 4.721972222222222 + 3.305555555555555 + 2.625 + 1.652777777777778 + 1.3125 + + + 3.305555555555555 + 2.486111111111111 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 2.625 + + + 3.305555555555555 + 2.625 + + + 3.305555555555555 + 0 + + + 0 + 0 + + + 0 + 2.625 + + + + 0 + 0 + 3.30556 + 2.625 + + Qk0AAAAAAAAAADYAAAAoAAAA7gAAAL0AAAABABgAAAAAAJwQAgAAAAAAAAAAAAAAAAAAAAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7PX7uby/+PPw////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wMfKr6mo8/Ts////////////////////////////1NjZysK9/fv4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////f8PtTXGS+rZ7////////7/P77+/v////////////////////////////////////////////////////////////////////////////////////////////////////////8/f/6+vz///////////////+suM1fTlOUlqCbnJr/+u3///////////////////////+Ckqh4YV7////////////6+vz+/f3////+/v7//v7////+/v7////////////+///+/f////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+P6/3B0f//w3eDw/39/jpiJf/Pr5K+3y15eZoJ7ffbp2v///8DQ20dKT5eNh////c7d7ruwsv///5KfqktGRb6/v4KIlaWSiv///////7C/znFuc352c7CysoSDhdPLxpOXqY19eOvg1r/J3WJiao2Gf7OtvHJskKGilp2loICBgaaioY2Ul7avqI+YprWej////6/D4EtUYpiFdv7t4LK80XVvd8e8tMvKx6Oem7/Czbatmq2fnLy/yYaIk7CrqJyfpoJ4bOfczaavvZ2Ti6GnqkhHS8/DvcTR2ZuRhf///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////xN/0GxIb7dDIbpGnp5F/v9Lddn51jXJ8k4+XV1Be/ODF////RV5xj31q29be//39bY6oXDQn6PX/N0lWxrSh8PD0ZWB4pImE////////eXeJjYKAgHVz2dLLfI+kTVVYlIh+2OfsgIp6hGp0lIuWZmBv1MbBZHOPeGRT/f/9hIqSx6qYiqK7doGHfXV65cy0////qrvTraKiwsnMUFtoY2Ne+/DkfoyOp5WAdoujSkRD0sm4PkpdiHtvkpWgeXyGk39/4enmkIuIlY+XTmR9VV1axLOk3tbd0tHRz87G////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9pbnV+Z2fKyt1reHvRwKuxydxhZludiXTLyc9zdZD+4c3///9nbX+jnpeToKDFyM13dHqsjoaToLh/fYWssqumr6p1cX+Kdnb///////+CgZa8trWEiprFw8GPjapVVF64saDS6PZqb2aPe2jLxcSQkaumoq6IgpKbmYimmICVnbW5qaSXmbGCfpGUkpr/9OD///+Nm7ejjIvW398zOj14c2r///93fH9ybGU6SFvXyr2CnKw6Mzjr7OyIipmKiJSLhpLd5uF8cmKpl5Bjc4mHg4GqsayLjoz///L///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9fs/mFYZeTh0q2wtbu0uY6ToHxraLa0tJuelrm8v4N/if/y4f///8vV5Vxpfnp3aY+YoJCDgNTa1aWdlsHE0UlSYIyPhaCnpkFDRryuov///0xTaoptaniCmU5MUJt/fvL095CUo3VmZbm0s5idlrq6uI6Ll+LZ1qq0xHFrarGilZSarkhMV5F4cLm8yTc0SdexoP///5mquWRmZFVOU8C0qsbL2m1qcqGOicXJwoyLj+HT36uzqJmGi9DS4bGtqrm2wlpmflVSRradh7jE1J6Tkc3V3UFNXYSAcf///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+Pn8+Pn7//39+Pf3/v//5+rv7Onn////+/r89vj6+Pj2////////////6ers+vjx9/n5/Pv2+/z/+Pj09vX76urq///4////+Pv5+/v3////z9farbjFamJl4cq0////////6u3y5+Xj////+/r69/n79vf1////8fj38Onk////a3B7q5B9////9v/+t7zB7dzX////////9fj98O7s////+f7/4ODi+ff1////7ezu9vbu////7erq////xcXPhJCWd2lY//7w////bYGbfWxn////6ers//75////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////t8/vGxML99e3////////////////////////////////////////////+///GyMrr4tr////////////////////////////////////////////////////////////////////////EytLAwb/W0cr///////++xMvTzMX///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7/GzdrV0v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wAA/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Pz++/v9////////////////////////////////////////////////////////////////+/z+/Pz8////////////////////////fZOjfW9i///9/////v//+vv7//7+////////////////////////////////////////////////////////////////////////////4+n2zMXO///7/////////////////////////v///v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////s+P9+gI2Ojo6YlpahpKeZj42XoK6QgH3p5uuFiJifjYPV1NR3fo7NvbKhrbqknZaTl6Son5ydpaxybniLkJGLf32qn6GanKGDfYCVj47Ew8eCgZOvnI/W1dmIjZWoqal7eH305tf///////+AjaCyoZ7///+Ymqt9cXXVyLvh5/Rxc31sa2vFtKz////S4vGBf4GkpqiZkY6/w8NJTlayo5zR2OBQWGCaioPi5ud5f4RdVVjCq52owsxSOz/////h8P9nZnG9s7GMmKKJgX6Dfoi2rJa0pqPLy9OSl56knJRka3CRhH+ut8Nya3D05tf////u/f+Eh5FvZWWknZiboqeSj4+UnKGFgoCUh4uFf4CpqamCho3KuKv///////////////////////////////////////////////////8AAP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////250hIqNl5SEi7a2uKSLk4+ispCPj4CTnqOPfMDV3YGGentsfObKuYyjvK+alp2wv766rra/v1BWXm94gmRZZnx8hI57eri6vG58kVhcWsmzn6q+xnh/eo59ib29uXdyh//l1v///////zhKYZRkVrzW7VZUUfz+9omThXBdZpqKkmxygKOCd////9Hs/3dkbcG+u36AmlFYW52Kd+3v/DlIXoZ6af/4+0JRdI2Gc5GRqYFgaPb+9c/JxP///+b8/1dhbMHDvXB5h1NIV3Fudtfe1UE8Q2tmZZ2RlldgXnFmXPPn5Z2ryWtbZ//23v///7zQ5n9wcIuHfrWUhae8zmV1fomLi01GWIOAhYqFja6nqYqRpsysov///////////////////////////////////////////////////wAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+v//dXSDl5ShhXZ+sq6rrp2esbbDtqqmeZWlyriltdDhbm9jdW12zrmpd4uqp5CKkqOzraWirLavk5CEpbDHa19qjpGWq56g0tzca3eOY2hl8N3JmK6+bm9phHN/sq+siYKR//Dd////lq7HaltY1ba4c4GXfoKA////cXdyc2FQzryvmKK/qpOR////0un/a1dkvLSth46ieXBzq6aflK62XFRZpaOhqb+9T09cxb2svMrdmYWO////////////6f/9fniA7OTTtLjIWlJolpWZd5KaZlROuMPVp6CniIaMlJKSpreyjpigYl1t8d3J////uM3nopKRr7i7p5WSpaq8jYOQ0tPTWFZxmJaUiIyenpKWl5mk2Luu////////////////////////////////////////////////////AAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////q+f+hmp+xrrhrcHdkU0zKtbFzjqN0XVHq5++OkaB5aWbGvbqGmqBeXlphYGh8dnlwcHJ4eX51dnC/vLKLlqi2oJigqrdHOEiol5a+trPQ1Nt9f4qCcm/Pysl6gY9YT0qUfHv///////9pc463opTG0daspqu0ucFuZWmvoqCeop23saeQlqrJs6f////V5fVmZW1dUUm6oprf6fNWZHl4dmTV0tJrfZVlZFbY0M2nsLhRWGCcgX7////////////I4fMxNELPuqqys7uCdnrFv8Cqu7S9oZ6XqsdNPULCrKyBkqdlZ1ujpaNZand3bmT///uoyudTPD6Yj5xYYm5yYFjWxL+xvch/dHjLwr2UnK5VUVB7Z2T87N////////////////////////////////////////////////////8AAP////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////3//6eqtOve0v////Hz7f///7TBzFNQUK+mqfDx8evo5v////////f6+P7+/Pb4+vf18Pb2+PDu7v///+np8frw6+79/8PBwc7K0rOytv///+Lm7e7q6f////////Dz7vr48f////v8/vb4+v/9/fr4+v36+PL3/ODg4v38/Pr5+/j6/PT18/////////////7///Dy7P779v///+jp6/v48f///+nq7vf07f///////1xpfI1waP////////////z//3qBhmtaV83K1/v5+f///ff3//Pv7O37+7e5vPjq5e/0+fTy6/////z///b69f///+f3/NLV1Xh0gZB6bv////////P2/+jj5v/89/////P19fTz7v///////////////////////////////////////////////////////wAA/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////f//ub7G8Off////////////////tr7MrKal///7////////////////////////////////////////////////////////3+nzvr3B///6////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////0NHW3tDN////////////////6fL4l5ii39nS////////////////////////////////////////////////////////////ztDX3NTN////////////////////////////////////////////////////////////////////////////////////////AAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAP////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7///v7/f/+/v////////////////////////////////////////////////////////////////////////////7+//v7/f///f////7///////////////////////////////////////////7///7+/v////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7/f39/f////////////////////////////////////////////////z8/P/+/v///////////////////////////////////////////////////////////////////////////////wAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////nZ6xe3F01Mm/sLnFl5SRkZifoZGI////////5/P7Wl5pp5SD////////////pLfFhHZx3tzZ3NbVz9jeWVdX1s7HoqS5gnR03NHF09/pcnB1rZ2M7erqg4qcmpmVkIuLuLe1WWFnin57//fv6/z/q6mfr6Kf4tPO////m6m4mZSRkpectaykm6arTEhIyb+9////tbPA0tDWuLnI//7t////////ipOjoZ2Yj5CTwbqzg5CYYFNR4N/hlJ+rt6CK4+r6yMDD09HXx7/C////sLXJdW97xLipvcbOfXJ2z9PTl5GYpqqtcWtk0tTSlZWQ//Dh////4Oz0bXmBgn9+goB99Ona0+TvSU1QpZaP1d3ld3d66dXE////pbC9bmxuh357r7O0j4uKxcTAVF5mjYF+/PLt////////////AAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+syuBQT038/PKKjYFvaW6mlp2jqbiYfoD///////////9QSleth3L///+8xc+2p52yv8fJv6+EoLArFAnc4thybmmAgoRoZ2fy+PWEj4NzY17AqZ+nu8mXk5KFi5iio6Z8jKFITE6Cd2nb1d7q2dr///+jsbsrJCnCpY////+JmrWdioe6uMJaW3FQYGDOwLPl1tjc5fU5QkpmcGk9Pzj/48j///////9zfJWpm5iyssFUVGVTXlzm182+yd5kWGD52L6Jp8hGSkVPZGl/Y0r///9DUl/w38yRnJpwc3aEcYD///9DV38jDQyxnob+///ExMD/+vD///87S2FzYFH///9oiaORl45vgYyLemf38fKBg5t4ZWL///T///91bXyIgYGCcmvZ2dlogpdJT06FeW3a1d3i1df///////////8AAP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////5y5021uav///3R1a21haZmLlaqrramQjf///////////2tsir2fmf///6y1w5iHf97g3NHg2EtXV2VVUqGws6ukhHd5hoeIhP3//3F1aXJlacGwtaa4uYB6Z4uElLi1t5ikr2RYWqCfn4qfpOrTv////z9VZ3RjWv/59v///4aWt5B7e8O8uWFgc4mLjqq3s7axqpGVoIqPhmNpcX1yZsG7uv///////252mJuNi766vV9YZ42Pkq28vI2YnZmJkOzp53iCiHx/fVFbZsGtlay1w2N0ff//+nyEiWhmZHRuff/36yhOckUsFv//+////////////7vZ9zg9Rf/nxv///2J2j3V2cIKAiqSinaS2sYiEiqKRmP///////4V+jbu5u4OBjsvMzHmBn2pdX6KgnomdouPQv////////////wAA/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////P//oqWybGZpr56XsrbDXmBiaVdU1r60/////fb5////dXCLvaCf/////Pr4////////M1BsYkU/////WXOVZEcw9Orknqa4bGJmy7qpoavAQkNWa2JUycO2qqSszdPblpWby7y5bH6YYGZa07ywzs7hm6yis5uf7uTm////mqe8W1pYcFxX3s7JtMTbRk1UkZiTjIeMqKenhn+My8XGnJiq//Lh////hY2lVlNSf2hl597bnazEU1RSiZibYlVhfWxzkIyJo6WwoYuLwcDMt62yx87VcG13mYeCwMHBUGBrb3l8loOKqJqclI+O//rx////////1vH/Njk+48eu////1tno39fU0NfhXmyCfX1teYOLUjY///vq////REFUkHh4bnqPVlFOrZGM5+30ZXSMV1lQ8+XU////////////AAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////0+f7g3eL9/Pr////3+vrx8ur///////+pt898iZFQRU9jVliHi4v86Nn///+60+YAAAnFqJL///+Cn7sCAADp07v////l4OP///9udXSkiW////////+9usCruMBUVGH/69zw9v7///+arLujmo7////t6+j////////////2+fnx8ur////y9P7r6+n+/Pr4+/n29/f19vL+/vr39Pn8+/v////////z9vbz8+v////u8fjx7uv9//+5wMXfz8z////09vb6+/f5+Pr69fj9///f4OP28/H////////J6PdRQk/w1sf1///59vP///////////+MlLFXSE/Fx7tkY3ivnJf////o6e7//vTY6/K8uLj/9/T////P1NWbpLZuYmT2483////////o6u339O////////////////8AAP////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7+/vj4+Pb29vHx8e3t7evr6+rq6unp6enp6evr6+3t7e/v7/T09Pf39/39/f///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+Ht9Z2jqrazrqOnqry2sf///////8rS3MC4s///+v////j9/7O5vtvTy////////////8TGyOje1P///////8TIz8rJycC/wf/89////////9/j6ODe2f///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+fv9sC4uv718P///////////////////////7zDyqmopr26uu3k3P///////////////////////////////+Tr8sjEwf/99v///////////////////////////////wAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9/f3oKCgcHBwaGhoYmJiW1tbWFhYVFRUT09PTExMSUlJSUlJS0tLT09PUlJSU1NTWFhYXFxcYWFhZmZmiYmJ6enp////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////3OHiyMC9+PX1/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v//6+zs7+bj////////////////////////////////////////////////////////////////////////////////AAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9/f38gICA3Nzc9PT0+Pj4/Pz8/Pz8/Pz89PT1CQkJSUlJWVlZLS0tBQUFCQkJDQ0NCQkJBQUFAQEA8PDwkJCReXl79/f3///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+crsZpWFf///j////////////////////+/v/7+/3///3////////////////////////////////////////////////////////////////////////////////////////////////////////8/P79/P7////////////////////////////////////////+/v7+/f////////////////////////9rdIeWfnH///////////////////////////////////////////////////////////////////////////////8AAP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+Hh4UlJSVJSUlhYWFdXV1ZWVlRUVFFRUU9PT1FRUUhISDAwMC4uLENDRVRVV1NTU1RUVFRUVFVVVVVVVVZWVlNTUzc3N8XFxf////////////////////////////////////////////////////////////////////H6/2lvgb+xpp6ktoeHi3x2e8/MycDDu62cl87O1oaPmcCpl////7u9u6SZk8LEzo+Ojq6sqoqJlLOyqJCaonl0e4yQk5aJh3p0e4+Dgfn8+pWWm4uJk19tepaAbt/W0YiTn6mloIeKjM7Fu6Cit4d4dd3Uzp2otaCcmZCQmL+4sYmWnllPT9fOyf////X//o2Sm390aunax9vg8m1vdnx3dr+6uo6RoZqZlY6Kiba2uH57gPTgz////3KAlbCZjdjb5nl6ibSkl83Q1Wtsed7Mvf///////////8HI1cu+wP///5OjrW5tb39/g7OqoP///////8TLzp2Yk+LV0JSarktUYKyXjf/7+HmKlV1RTeTi4paiqE1HSODZ1Le9vlhWXIZ7ebKuoquspruztfnu5P///////////////////wAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2NjYUlJSVVVVUFBQT09PTk5OTU1NSkpKSkpKU1NTKysrAAAAAAAAFBQUUFFRT09PTk5OTU5OTk5OTk5OTk5OTU1NPj4+wsLC////////////////////////////////////////////////////////////////////////S1914tC6hpu2g42VfXOC5s/Dyd7rPzk8amVke3F279e/////19/kQ01fdGthhniAx7y6hJWkzcrAm6arWVhaXmV1bWVsh4aMjXR+5O/xd2Rmrq6upJ2iwsfMfIOIgHJj0sO5h52wSVVdfndw6PLyiox8dmp0q6Gjs7PCVVRpUl5c2s/H08jS////wtvweGJg4efgjpaTemRxloeOa257tqScgJCmoKKkg4+ah36AfWdn////////YHaOnqCeZ3uIz7agpLe8dn57eGp978+7////z9bgo56hMk9ia2RRo6qyMy85/evWwdv2T15e//LV////4+rvYHKCY1NGmZGYwsHBtLzBOkNOWl1W9uPSjJ29Ozs94s68qbnXPDtFvbu0Y1RvyLChfZeqPjAt9t/J////////////////////AAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////W1tZGRkZubm6WlpalpaWtra21tbW4uLi7u7vOzs6BgYEMDAwAAABNTEzLysrAwMC5uLi2tbWvr6+mpqadnZ2BgYE8PDy6urr///////////////////////////////////////////////////////////////////////99fov45M6FlLSNj5lzdoHfzb5ffZVeTkm9xtaLgon//+j///+Io7gtKjLl49xydIe4rad6h5q/t7KgraOqoJSCj6t8cHSWmaN3a3XHztWdjIu4v8mSgonY4uJ4dmaAcXjGw8GenLRKTV2dn5Px//55dmZxZHCflpnAu75fWWmNj5GourqlnZP////G3fd2aXXl6+R7f3N3ZFHPwLWVnrm2r7CBip+2srWlqKqSh4ujkpX///////+Mj6G3tLFmgpL45MyTp7VpamZwbXrVvan///+txN9bUlxzcXaFenhSZHKjjXv///+2zOQ7PD/v2sD///+yyt8kLjnTyLSJkaTDr6nDzs4kICCaj4vDz8VVZnSIeni/xbxme4tzb2/z9/CZjqWyr7UsQlStm4z///////////////////////8AAP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8vLy4CAgPLy8u7u7t7e3tbW1tDQ0MnJycLBwcXGxrGxsXl5eWlpaZeXl8DAwL28vMC/v8LBwcnIyM7NzdjX1+vq6pKSkre3t////////////////////////////////////////////////////////////////////+X7/zU/Ur2nlby5w6unrniJjF9kX3p3ZcWtr52wzTswOuHArv///6i3uY1/gdzX54qRlmZgY3BvcXF1fIqLf8G/unqAj7mqo7O2uFpiZ0FXX1U7OJWJi3B7d1VOU7muoI2VrUVGS4xzcPDt7Zqgr29jZb+yqJ2ls1dVU3xlYuXb1qGyxz9HSqugkv///9vs/1FXb1dTR56SiJygmbq1rJOXp8K6s6ekrM7T2qGlrG1rbVY5P///9P///0FTaZ6BcNnb6HyAi4d1csTAv2l9iGBYTubXzf///8XQ3FtWXsq6uXGLnYJqWf////H2/cC9xe/p4P///7rL0oaCgN7S3omTlmFjYV9UVsrCu6m1ykVJSq2qnr/G1T5IUqagkdDO1G6Fj3FjZ721rYuTls65wP/79P///////////////////wAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2dnZtLS0fX19GR0gJCcqFxsgCQsQCQsNDhETCxAPBwwPFxocGR0dDA8QAgQGCw0PBQcHAwYICAsNFxseExYZNTY2kZCQ29vb////////////////////////////////////////////////////////////////////////iZKVZ1tbe3yH5NvP////9/r69fX59O3q7vv7tbi98d/a/////v//6ujo+vjx////8fLy+ffy8PL09PLw////5uPp+fHs////////4vT5tre69+Tf/f//9fDt/f//ZGJoxq2X////////7fH24t/h////////8/b28vLq////7fD66+rm////////qMDQaFlI//jp/v//+vn79/r89vby////vbrArLnBX1xoz8u/xcLH//v4////m6asUkdFwb3E9Pb47+vo/////v//9ff3/fz5////////OkBUq4Ry9v/+S0ZdppeGkZ2teWlx///w////////6+ru9PHs////8PP28e7p////7vH46+rm////8fX86ejo////////uNXqTUFD+NzI9v3/8u/q////////////////////////AAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////q6up8fHwGBgkJBgMiHBcfHBgdFxcZFhMgHBgkIR4dGhkaFxIZFRAbGRcgHBsXEwwWEAodGhcdGRYfGxkXExAAAAA5Ojro6Oj////////////////////////////////////////////////////////////////////////0/P+kqbaPkJro4tv////////////////////////////////////////////////////////////////////////////////////////////////////////z+v/CwcP17OT////////////////////////////////////////////////////X4ObLw7z////////////////////////Dx87JyMi/vr7//PX////////////+//+jqri9tbL////////////////////////////////n6u/l4d7////f5+6Xmp2fnpzSycH////////////////////////////////////////////////////////////////u9vvHwcD88+7///////////////////////////////8AAP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+rq6m5vcSEhH4tnQKFxQpZsP39bM15LOFVCLkszHFM8KFhEMVtGNlE5J1E5JWRVRlZIOWNEKYdZMoNWMY5gNyseEiwyN9ra2v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9DY26mjqOrq4v///////////////////////////////////////////////////////////////////////////////////////////////wAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////6OjobnBzJyUloH5UvJVhroBGkm4/g3VmmpOKeWlYcVpDiH1vk4uEcV1KblpH2dveqaajcE4vk2Exlm9Go3tTMCMVLjU60NDQ/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v///Pz+///9/////////////////////////////////////////////////////////v7+/v7+/////////////////////////////////////////////////////////////////////////////////////////////v7+/v7+/////////v///Pz8///9/////P3/////y9rtX1dem5CQkJKX9Ozd////////////////////////////////////////////////////////////////////////////////////////////AAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////n5+ducHEmJiiri1XQoFi4ikuyjFWfh2eplHywlnakh2OhinCdhnCghGagg2GxnIKnk4Cef1mabj2bbzuecUAvIxc0OT7U1NT////////////////////////////////////////////////////////////////////////v+f9gaHKgjHv///+Lm6uhmZGQl5y5samUnqRSTEvQx8L////////p9f1cYWylkoH///////////+ousqCdXDf3Nnd1tjR2t9ZWFjVzcWlqLqBdHTbz8PV4et0cXmrm4ru6+mFjJ+amJWQi4u6ubZcZWqIfXf57+r///////+Onqhxb29/f4HJvK3p+fxPYHZgXl6QgXz///b///////+1s7/S0Ni6u8j///+ww9uNg4W3ubt7e4N+dnOxsrB9f4Tgzr3///////+Pn6hwb21/f4G9s6X///+Wl6qBdHTczsHd5fN7e4itm4zV1Nx2dp2gmI6Ym5aXm56blJWytbVJTlOnnJj///////+Ql6uBgIK7t6SwpKLf083////N3Ot7fIF0bGyvraiOkZTCu7SBjZVgVVPd0tD///////8AAP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+jo6G5vcjMxL5F7UIRsSX5mTnNiSZZ2TJdwOmNMMW5XOphwQKl7RnpdOmRQOXlcNJ53RHFZQGVQOWRQN3pbOjUoGTg7QNPT0////////////////////////////////////////////////////////////////////////////1VTYJ12ZP///3iBicChjZ+1yD1RXlpdW9THvdHH0f/68////////1BMV6iCbf///7/I0raonrLAysa7rImjsycUCt3j2XBsaYCBgWZmZvL39IWQhHFjXruknKm9y5iTkoSLmKCipH2NokdMTX5zZ9nU2+DT1f///4WbtjEnK//z3bLR61tlYP//9E1slHNvbMzKw/Pq5f///+D0/zU+RGdwaT1AO//1y7fU93iDh5CCgouDhX11cNbLw1pzitbBq////4edtjAnK//y2rTR7nJ5cKKtq15bW/T39XWDhUFBPci0o6W7xZqTiYmOplVGQfPo1MXY7FdnfU5VVKWSgdbQ2u3h3////3uLqYB9fcfV1SwnLLyfh////5Gar4p9e3x6dc+3qJKpvD1NVlxdW9zQzNTK0f///f///wAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////6ejocHF0NjQxloFXiG9QgWJKfWFKnYJWqYtbcFxOdV9Kq4lbxqBte2ZLWE8+fWZJonpLaVU+Uko+UEU3d108OS4eNzxB3Nzc////////////////////////////////////////////////////////////////////////////cHWSrpCN////gI6ot6Wdr7DDR0dhkpGMrLy8nZeQ////////////bG6MuZuW////rrfFlYR73ODb1ePbTFhYXlBNpLG3q6SEdnmEg4iD////cnVrcWNlwbC1q76/gHpnjISUt7O4m6eyYVVXoaCejqOo4My6////PVNuqY91////q8LaPjtA/ufN////jI+Z5dTM////////f4+kh4t/Y2pxeW5k3M7EwdLihoWNnpOXvre4h46exsK/cXOS5sm6////PlRvqI50////rcPdYVdVe4OJh4qD////WGVpRUA59OfWnLLEamxlk4KKmJqSk4Fy2trecX+Sdmxqrq2oiZaY++jX////f4ilkYuTZX6JbFxV/vbx////lJy2uq+pkp+qv7Gspaa9SUZZlZSQp7u8raOZ////////AAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////p6elxc3UtLS3Wq3SpvHhMmWmZqnLgtX/Xu5jB09a/z83Kp3q5k13OwrTh5u3EtqOge0itlnPOzMnLv7OnhFY0KRo5PkPl5eX////////////////////////////////////////////////////////////////////++Pn///96eJOxkpT///+NlrFHSlV7Z2Pj09CputA9RkyelYf/////+fz///92co26nZz////9+vr///////85V3FdQTv///9dd5lhRTDx5+GgqLhrY2bGtqWlrcBCRlhoYVLHwbKppK7N09qWl5zIubZtgJlTVU3v38z///9NYXONc17////u8/rHwcnc3df///+vstJ/X2v///////9ubn2mo6GFf43Kw8Srpri7sq+0tL5hZHGIbGd7g5xMS0+GbnD///j///9OYnSMcl3////u8/zJw8rk6eyfoq1rY2W3pZvY4Od/f4l3aWjh1tC6xtN3dXWNdG++x9Ocl5rQzc9NW3FqaFz//+////+cnaytqqyksaeul5vr4uX///9sf5d3WlKIi6FMT1aGbm3p3t6Wp79CSEm0qZn///////8AAP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+np6XJzdTIwMNmyjYbMlAC4k2W7i+64gM+1hlfH2l3F1c+yhtmxbaWcrYmU6qaaq7aVX6ySdL+oosCkl6aFWzcsIDo+Q+Tk5P///////////////////////////////////////////////////////////////////7LA2H+Ok1NLVGVSVJmpq2FUUqiVi////////+/y/Oro5v///////6u60X6Lk1FGUWNVV4eMjPnm1f///8DY6wAACr6ijP///4ajvwAAAOXOtv///+Lf4f///3B4dp+Fa////////7y6wK26xFJUY/zo1/D2/vXy6////////8vY60lEV6yejYyVp5B7feDt54CHlzxDU4lwZv////v8//j6+Pb39fT18/7++v///8/W5rm2uNvf2LK9ympjZta/qf///////////8zZ7ElEV6udjI2WqH1tdP////D2/t/e4P///f///+Dj5uzp5v////T+/Obk4f///5Kqw2BWWP///+fp7v368P///////7S7ycnBvP///+zp5v///////9Xh58TM02tlarmfjP///////+3u+Ozq5////////////wAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////6enpdXV3MzI00biT7d2hx82U2Myd5caU2L+HyMSVxr+Q2L6R4smjxa6WtKCYsZl9s5lyoYJhgl5Ah2RDpINbPDMoOj5D4+Pj////////////////////////////////////////////////////////////////////5fH5nqWttK+qp6mstbOzx8XD6eHa////////////////////////4e72nKOqtbCtoqapubKv///7////y9PdvLSx//75////+f3/sbi92dHJ////////////w8bG5tzQ////////w8fOycjIvr6+//v0////////////////////2uPplZean56c18zA////s8DVmZGM/PPp////////////////////////////2OLuvr3B////8ff/w8HB+fHp////////////////2+PqlZecn56c1MrA////////////////////////////////////////////ytDYwr26////////////////////wsnW0czL/////////////////////P//xMPH7+be////////////////////////////AAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////q6up3dng0MzXKt5L/57D/3qv4163s1a/437f+2a330p3qzqDiyqPfxJHTs3XFp3SvlWyqj2mzlnCylG60mHY/OC85PEHi4uL///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+nq6nd3eTg2NtTEqerYtcCxmdvKseLPt8i5n8e1msOykcSwicevhrikf7ShgqWSdK+ZdqyUdJWBaJR+Zq+WdEk/Nzw+QePj4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////6enpeHd5PDo64dK/uq2cVVJLp5yOvK6daGJbd3BkdnBnfnZsnI95bmddamtpWFVQnYpsnIlpU0U7ZktEoIhuVUtBPkBC4uLi////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////p6up5eXs9PDrVxbDp3sq2q5/YyLfz5NHg1MbBvLXEvbPczLTe0bPQsInPkk7IpHfKuJPKr5SlpZNflGe1q4ZYR0A9PkLi4uL///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+rq6nl5eT89O9PHtuzh08u8u9fQy/HhzPzx4bW7wMDBw+3dxOPUuubKp/KpTuS9iNC8mdnAqtPz8nXWucS7mlpGPj0+QuLi4v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////6urqenp6QD4+08q5+u3Z6+Ta7ufd6trH697P5NvT39bI3tC23s203c2y3Mip2sWk2cCc2MGfusGlzMSx6sesVUtDPD1C4uLi////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////r6+t6enxBQD7Rx7v/+OXv5tTw4c7s38vm2MLo1sDl1Lng0bff0bfgzrjfz7Lfy6bhyKbgxKPYupXZuZToyahaUEo9PUPi4uL///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+vr63t6ekJAQNHJuv/65/Pp1fbr1+7h0ubYx+fYxefWw+XVvOPTu+PQuOLPsOHNqOLHpt/Eo9/Cod7An+fKp1tSSD5AQ+Li4v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////6+vre3t7TktLx760l5CJfXl4c3Fswrqp/ezZ6dnE59jA5dW949K54tG449Cz486t4syp38il3sOk38Oi686tXlVNP0FE4uLi/////////////////////////////////////////////////////////////////////+fl/6qd/9DF/8vD/6+m/7Cn/66m/76w/8/E/7yy/8C1/7mr/9PK/8C5/8W5/8W6/76z/72x/8nA/8S8/7uv/8i7/8e+/8q//8O7/8vD/8vC/7eu/66k/7Cl/8i9/8W//8O3/8e+/7So/8/A/9LJ/8a9/+7r////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////r6+t5enpMSkrOxrq7sqaNhX2dlo3azb7259Tr3sjr3cfq2sXk077k1Lvl1Lnm0Lbjz7Dhzazgyavhyavt0rNfV08/QUTh4eH/////////////////////////////////////////////////////////////////////+vf/wcT/W2L/dGP/0cT/4dv/9/D/oqz/Tlj/tq3/wsL/trf/Q1b/rJb/mJr/RF3/r5z/x8b/X2f/d2f/yMP/fIT/eXb/cG//o5j/W2f/Vlf/xrn/2NL/6eP/maD/Tln+YmL/nIn/zMv/VGr/RlL+W1z/8uj///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+vr63l6ekdGRtfPx//22r60btPHnPvx6e3i0u3j0ezg0evcyefXwubVv+XSuuLPsuDLqN/Gotu+m93Co/PeyGReVz4/QeHg4P////////////////////////////////////////////////////////////////////////////9id/+EeP/////l7//Sy//T4v+xqv+7xP4XTP/z7f9wb/+ZmP+Ahv/u6/+qpv+Eff+lm//M0/+yrv+Xnv+rq/+cqf9ncf+JgP/Z2P/a3P/////O2f9KW//mzf/e+P91ev//8v+CpP98ef/Jw//q5v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////6+vrent7SkhI0cnB//ns2NGlz8Oc7+Ta7eDP6tvI59bB5dO95NK35NCz4cqu4cmq4Mql3smk3cem4cqw//zwbWttPTs94ODg/////////////////////////////////////////////////////////////////////////////4KU/5mW/////7vJ/3d4/9rc/urs/2Rw/yxN/8bJ/7eT/3OI/4aG/////3l9/mBh/8C3/9Ti/3l3/5eb/7y6/rnI/lBl/qSn/8TP/8y8/////mCA/39r/////tfv/j9Z/+DD/////6ek/+LR////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////s7Ox7enxJSEjRyLz/9+bz6d326t7w4M3v3snu3cjs3cXs3MTu3sbu38fr2MDo1bjq2L3o07LkzK3ixqX75c9raWc+P0Hg4OD//////////////////////////////////////////////////////////////////////v7/////hJX/mZb//////f/////////+fZj+MEr/+fb/kaz/XE//2tL/rbr/fn7/qZj/u77+WHH/ZmT/uKf/pK//z9P/prD/uK3/h53/SFz/1L3/////Zof/eGn/////8fj/wcH/29j/////yNv/cID///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+vr63p5e1BOTMW9td/f2tfZ19XPytLLwdXOxNnRx9XPxdPOw9PNwNDIvM3Cssq6p8e1oMKwlcOvksKskNG1lmVaUENFSuDg4P/////////////////////////////////////////////////////////////////////D2f+mrf9cav9laf+jo//cz/////7r//wASf+LcP////+zyfwARf/Nsv/////Rzv////+Mk/9yaP///f////++xv/F0P9ecv/jyv/w+v/q4P/////////b5f5JY/+5ov/AxP+Ujv7n5f+eo/9le/5jZv///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////6+zse3p8UlBOvry3vKOgs5eS4uPj5+rs4uPl3d7g5ufn6+zu6uvr6uvt6uvt6+zv7e7x5+nuzM7RwcfO29LIX1NDRUZJ39/f/////////////////////////////////////////////////////////////////////+n1/6Sm/7Oh/6yk/6yi//fw/////9ni/6if//Xt//////n//7Cu/8+9/////////////8LC/9HE/////////8bM/8nF/7m3//bu/////////////////////9vl/56Y/6Kb/7yw/////8PQ/4WA/+jb////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+9+fn5MS0vJxcDJjHe7embu7e3g5+jf4eHY2dvj5Obu7vDr7O7r7O7q7O7r7O7q7O7y8/Xf4ePN0dT8+PVnX1pCQUPf39////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+/w8H18fkpIRtHKwf/z5/Lm2unm493a1+Hg2+Li2uDg2N/e2t7d2OLg2+fm4ubk4eLf2uvn5Pn39fz6+P///W1pZEA/P9/f3////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8PDwfHt7S0hIxL208u/l49/W4trQ5t/V59/T59/T59/V59/X59/X6N/X3dXL4tzP5t3T593V4dnR5NvP9Ozga2ZjQkBC39/f////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////w8fF8e3tLR0fU09X////z9PTz9PTz9PL09fPx8fHx8fHx8PD////AwMBwcG6ajpKFs6GBy7DXz9LCwMDg4eFtampCPz/e3t7///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAP////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Hy8oOChExKSHZ2dI2MjIeFhYaFhYaFhYSDhYiHiYiHh4uKipqZmX9/gWZmZlxWWVlpYlpzanlzdnNxc358fkdERE5NS97f3////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9fX1hYWFRkNDMC0tLiwsMi8vMCwsLCcoJSAfRUJCRkNDRENDXFxcYV9fTktLLisrMygqNCQpLSoqLisrKiMoJyIkWFVV4OHh////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4+PiMi4tSUFAnJCQ0MDAvLCw2MzVAPz0+OztDQUFDQT8/Pj4+Pj4+PDo/PTtBPz9BQT88OzssJygrJicmIiQ0LjFvbW3a29v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////5ybm4GAgJmYmoqJiYB/f5CPj6ioqKOjo6OioqSjo6Wlp6ampKqoqKyqqqqoqqmopqOiooJ/gX97e4V/goB6fYB+gO/v7////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+7v8vTx7////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////6OjotLS01tbW1NTU0tLSz8/PyMjIyMjIx8fHx8fHyMfHyMbGyMbIxcTEw8HDwcDAv729xcTExcPDwr/Bp6Wnzs7O////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////fZaofmpe////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9/f3t7e3o6Ojk5eXj4+Ph4eHe39/f39/f39/f39/f39/f39/f39/g4ODi4+Pi4+Pl5eXn6Ojr6+v5+vr////////////////////////////////////////////////////////////////////////////W5/aWlZv/8eL///+Sm6utram7vsG5t7Wmp6rc1s+3v8V4cXO7tq+qsbaxpqD///+qrsSfjov17OWuucvFv7rFy851dHinn5j58+n///////+YnqbFtK3///+nsLxvaGfy7+rCzti4srGxs63Yyrv///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+b//VVUZeTCrvn//yAlMbqjjX6JoJOIgpCQomRfcV9jXIJ7g3NYX3p7hpBvdrDI1GpbXbO1uJ2PiISNmU1bbmJfWoWAg0kwQ/Tdxf///////1d1iIZeUOT3/zU+RqaVjsfO3mFZabCZja20stbIuf///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////prLPf3uBbX+RVUE3////h42wr6ew0NDYVk9ni42i5vr/p5afqqWxtqGlf5y0mJWQ7f/+hHtir5mZTVh0foSY9P/+f3eN/+na////xeD4UVNev52Ohoykfnd+8Pnyrbi+jn2F79fK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////n8/+coqNNO0KwkYf///9rdJJMR0Z2YWHOw8OdpKxve4GRgYGboqU8PUFuc3uhkpFzcXaklYqdnqmqn6Gvs7Z0g4tmWGL/+uT///9jdJWRd27H0dGQjZOaorA0PD9ygH5eWli5koP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4KUqS8VDf//6/////Dx8cvNy9fNyP////r8+mN3j2tKSf//+tHa3+Df2t3e4MC3tP///7C6x9HDvv///4CctFM3O//23v///9rd4PTt6Ovt9Oro5ers8dTMyfv//4eTncmvpv///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////3N/uysTH////////////////////////////zNfjs6Sk////////////////////////sbrKxb67////3ev2qp+j//ft////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+/f3///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+Lz+K+wu//49f///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7i/087Dw////+nn8/bz8////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////jZKtoZmeq7W65NLI////rrrJm5uZw8bItLS0rbG2ysG50tXad3d6sKmgur/An5ma///6w8rejIKG7eHVzdbisKur1trcf4CImJGK6N/V////xtXke4GOfXh71MS51+HhrKyon6GjnZKK//nv1+7/eXF8////V2N4o4Bv////2eXvlZSan5iVwMG/qKen6OHclJ+piH96+fXy////0tzplY+U2NLTqrG7qqCbrKequLWp1MjA7fH0rK2wzMa/eoOJurKt2Nrcq6ei8+rlzdjeopiY//vy////8v//39zb////4ev1bHF2vrixwMjQsKSi3uDerayp5t7Zu7/Ms66r2+Dojoye1cS15ufqpaeqt7q9paGe//rx////0tjqiIWR2cq77O3yiYuW4NHH////////////////////////AAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Q6Pt0aGz///picY+tj4X///89TWCDY02mt8yEcHCXmaRoYnphZ2SDfntiSFiLio5wWWjL1NRXUmDEvreTh4WIi5ZbbIJcWliDfHNMPFXCopD////K4vUfKEZza2TCurXKy8mhpJ/At7SwusCVjpH///+CmKCtpJazurvVwbD///+AhaJsYWZmXla6r6VvgZFYX2JUVVWyp6fWycv///+0zehRU1iqsa9gY1pkXGNpZGnGzcZfV0lzZ2N5dYpTWlNrYVPGw8u9tbJ2holxb1t2aHCHbGf///////+41u4/KTj//+lZeJNpW03Y09Btc5B1W2f09eeJmKBpXEZ5dnhjd4lrbG6wn5eXl5mBgo17bHOdnqBmV2n///r5//9PVWe1pZqPjY+alp5CV2nkzbX///////////////////////8AAP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7jR5HB/d////9He+HRyf4mapTUrLf//0a/C5aGNltTT02prgW53kvX8/5aMnbiyvKOSnKCsuWZxef///314Z5WCfHCFomNnffPu84qOqNi/t////////8fa56ikn///9f3//////////7TS6EpHWv//8JqfwpyAh////////////5CQo8S3tJeZqNrW056uxkU6Saqgntrs78q/t////8/m+JOHlOfo7a6ywW5jc6Shpn2aq3tvX6eruqSgsnp6gsrAtNPg46Wqsj9PYrm2pZmUntG4sP///////36Jm1hES8zT4HBwfdTJu9rg3Y+Mn5+Olv3//0FUaKSQe77C0Wd1jWB2fP///5OionNqZaSUpsjJy5qPm////8rl+EZcbv///4WOi4yDdZ6ft/3n3////////////////////////wAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////0eb4a2Vk//Db////rrCyRT5Lgmdq////kaLCTkhJZVFPwK+srrfDeIWNfW10qqqoPUhTbW5ukYKAgIGJinl0qaiuoZmetba7go2TXVdh48i3////9vj7////h46sqo+U////////////Ulx3i2VW////eYudrJeE////////////XGdyjHNie4SdUlVcgWlry8THbX2TLTc1v66Z////p8DVRjtD2Mm+maKwblpfqKSid4aEz7CshJmvY1FHrqSvUmJ1XGBWkJGHcWZr5ebzVmFhkmlc////0O3/TEZNxMC7nqGjqp+jSFdtXGFVjo+NRkpXVmBgcGNX5tHTnaS2npSZr7O6g3+GeW1rq6esXF1qWU1Hk3p6////////kpamgn2Ce2xrrbCwREZW3cCv////////////////////////AAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+KmqqpkoT////A1ecaBwrqy7P////z9PbT2NjNwsD///////+Oqr9QNjv338fh7/nY2dPq6Oi1r7L//fPI1uW4r6////+vytpDMDnfvqj///+2x9ScoqNLSmKdem/////r9v69v8lyf4mUhnXr+fyDfIH87eD///////////+jsruamqJtaWalj3np4+j////W2N/Y0M3////////I3OxJT06di37NyM3Y0tX////n7vPk1dLA1NuJhIn97uvU1djr4dv////X1tjp5eWXqbKwmpb////l7fTW1NL7/Pzb2tr49PTNzdLv5uH+///S2t3W1tLl4+Pp3drEzdW8srL///+3tbvj2dH////g5eXHwLv06OT////////0+f61sbj05tzn+/9NVVaDcGbr4+D///////////////////8AAP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+/5/r6xrv/16/P6/8O+xv/98f///////////////////////+Xy/Kmeov3v5f///////////////////8fR4bCusP////n//6qkrOraz/////H4/3OAmHtwZv/05f///////6u3zGdmatvUxdLZ3N7SxP////////////////////H5/6Cco/Hj1v///////////////////////////8rR2X58hObf1f///////////////////////////////////////////////////////////////////////////////////////////////////////////8PN3bOwsP///////////////////////////////////////////////////9bc4Xp5hNbPxv///////////////////wAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8/T08O3q+/n5////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8PH04N7e/fv5////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+sv9F5Z2b///L////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////P3ex0bXCkmZu3uLr/+vH///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7S8xJCLi7Oxrra7vL61r9zd4mlvdMG5sv///////6OuwLWqpMjH0aSkrp2eoNLKxdTX0q6mn/bx7sLN06yfmv///8zj/khQYqWPefHq5a+4wrm2s6mrq+DZ0MXK3pGEhu/l3cTM1LWzsaqusdTLxLzEy21pZ+Pd2P///////6ettcvEu7u/z5qMie/j2////+v2/JCSnOPVyOjv+YmMka6mo8vLza2us7q8vqOgnv317f///////6ayvX59gaGYk//369Te7qKhp6qqqr69vbq5t5edpWpqd52cmXR1c9fQx4CLlrKqosnR2aCYmP/9+LnCzI+Ff+7t37nDz7Cknv///4eRm5mNheXq9aWptKScldHIyL3DyHdydbGpov758P///////////////////////////////////////wAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////5fr/Z11vbWhfhGtcprG7WGh3XmZjeGxivba/9+nm////UnGQj4FwqbjQbHV4a2J0noaO7PfwYGdscnBec2hynIBz////zuj/cnR+mZSRkZKUbmphsZuPd4qcX2dtb2luwL26l5CNcW13kYOBlZanYmBxUWFfnJCGxLvC////4vn/aF1sZmRhc2Rms7a7f3Fw////+f//QjpX28O0ipa0ZV1mYFhfm5SVcml4oKGhYlds//fl////eIyiPTYx6d7OY32UkYp1zd7tZmx0dnB3lIaFfoSYtaGqdI2rRDIm6OfZco6hWk9F1MnHfYeialBc4ensZ1tqrqyenZySbWp9kHB8or7IRUI90sG8e4ykZmNVcGhtR05eZF5Ugn2HUDND//Pb////////////////////////////////////////AAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Y7PydjJHBwcOij5TX3+ZdcJFwZWPj2s63v8Ty49j///+UnrXMsa6+1u+hmZubm6bHsa/F5Po1O0i8vbOZkJvlzcD///+80eyYi5P4/vKKhmp/bWzX0NGwutE9RVuCj5L///+FgGl7ZWmzq7vU1tldV3CGgoju9+61sbD////V6/+um51zgY6Tlpvz//5mXkv/69X///91cYrn28+Qm6jNvLeVnLazrrqSiJ7Iy82Ykpz///Ts//4xOkjUtpv///95l7hoWEvd4+qfmJudmaWtoa24vsu0rbeQj5mfm5iosL54dHrBtavd5uOYmquYiJTe6PCAcn////+Oi294ZGi8s76Gkaihk47k8vKoqq21useJeYNDS2SNkKDu//+CeYv/++j///////////////////////////////////////8AAP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8jk9U9BPJ+UmWVuemFXUqmSkrrC0DdDVk9QRv//6f///1ZogI5yZbrAzZ+an32KjVJRUVBXVIpvbtfi9U9VUK6Fdf///6vE2VBRT1tYXY+Fd5GXp1BVXXVgYsS7vpWYpXx6fJeJf42Pn1JPUW9cWb+wsJinvCY0PIB3Zv///8Ph9ks+OqeVmJeVm3Bvc5B8cv///+7//lJfbFlZV0xFQMPAu4aImLCprl1hcFhNR4tydP///+T+/zZAS+TEo////8nP3Me9t7C5w5+WmYWGl09LS29dWs3DxaKqunZ0dnRjZrm2u1Zle1NXS42PjURKWHJ3fmJba1tgXYBzZ5CUl0BDSG5wenh7hkBHQqKdlJakt3JeYL2xr6Srs3GAhXNhZv//+////////////////////////////////////////wAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4/j/mZmhg32Fbmhb28vA/vPx/v//yMTJ8urj////////fY+aW1BIjo2Vwbiz////y8/Q3tzX39vb5ebpjJumwaah////9Pj52eHiwLm6////c3l8jXZi5+Ll////4OTrta2v+fTx9vn7zdHRz8bB////5+31ysTF//z5////3/T/fH+J7NXL3uftvLKy//v4////+vz+7/PzwsjJz8rB8PPz393f+Pbz5Onqw7677+Pf////////c4GdWkNH7evdl5muuqes5/f6rait+/XszNDQ0sjD////5/H5wb677+ni////zs/S6N/a////6/DtiaGtX1I+yruu8u/v/v//y9PW3t/X39/f2tLP////09jg0cnL////+/37aoGaYkJC///4////////////////////////////////////////AAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////++x9mxpaH////////////////////////////5/P6mqLNla3nAurD////////////////////////////////////////////6//+foKXm1cb///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+YoK6DgXx5dXzXwLLm9P6rq6////3////////////////////////////////////////////N2eannpT///j////////////////////////////////////////////S3umuoaH///j///////////////////////////////////////8AAP////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Dw8N7e3s/Pz8PDw729vb6+vsLCwsnJydbW1ujo6Pz8/P////////////////////////////////////////////////////////////////////////////////////////////b39+3t6/X19f///////////////////////////////////////////////////////////////////////////////////////////////////+rr7eXj4f///f////////////////////////////////////////////////////X19evq6vb19f///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////vLy8YmJiQkJCJSUlFhYWDw8PCAgIBAQEBAQEBwcHCgoKDw8PHBwcMzMzVlZWsbGx////////////////////////////////////////////////////////////////////////////////////0+b2bGJm897O////////////////////////////////////////////////////////////////////////////////////////////////s7/Pdmhoo6GpxsbC////////////////////////////////////////////////////rb7Oemhn///0////////////////////////////////////////////////////////////////////////////////////9fX/6efv////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+KiooGBgYPDw8EBAQICAgTExMWFhYYGBgcHBwbGxsZGRkYGBgWFhYPDw8DAwMAAAAAAAB6enr////////////////////////////////////////////////////////////////////////////////1//5XY3l/alzm2tL///+WnKGdl5TIx8udnaXj1crk7fNpbHG/t7D///////////+ns79+foChmZT47uD///+iprillY7/+u3Z5PeJhpLq2ca2vtBfW2WQm52Agn61rqXIxMHDys9raWvZ0s////////+vuMJ0bWrS1t3CwcHp6uKprKqvs8NRXG+jjnr/9Orb5/Fra2/JxsS2vsi9sKjX3uappKvZ29t1fIO/trHM0tqysrCusrfLwbfM2OJva3Hv4tbb5vBnaG3ez8jO7PxKOTz/89nq+/+JiZHe0MP////i3+f/9PDa5vBqbHDKxcK/xMnn4NiquMLMv7XM0tqDhIfDvb7Ly8avq6jl3tv///////+fsbp5f4e6r63////////k7vigoq20sKe0sKvi29j///////////////////8AAP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////729vQ4ODkNDQzQ0NBcXFx4eHh8fHyQkJCcnJyIiIiIiIiUlJSYmJiIiIiEhISQkJCQkJA8PDwAAAKenp/////////////////////////////////////////////////////////////////////////////P//nJ5iZqXkpWOh46Kl25ncV5aYJSGgWdjfr6sq117jHJkVry1vPXn5P///3uPpTo1MufbzWR+k5aSgam3wnVlZLCxs4CBhmhocLOmnoqIiLu0u1Bhg2VPOP/66YaXtU1ZY1dfXJCEesC4v////83p/jQ+RJ6QhsrH0aOnqEtacmBPUNHY23uAi5yVkIWGi1ViZHxuZNnX115de5BtbtXu+1RhdFZcWWxiWNnPz3d9lol5dpiXonBpe09iaXZoWre/xEdRW39zZ8zCx8zQ052Yj///9ub//WVnavPRt+H//TsmMOPLvlN0iXZnWtHIzaKnrmuDlkQ8ScfAt3NvhGdkal1RXtbHrXCCjVtOOv//6+D5/2lpZeLl3lJSVa2HbP///+H4/0dUbLCdhoCRmlVKOv/x2P///////////////wAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ampqHR0dRUVFHh4eKioqHh8fHBweLy8vOjo6ISEhHx8fLi4uLi4uHx8fICAgLi4uLS0tGxsbAAAASkpK////////////////////////////////////////////////////////////////////////////4vX/iIKS///7l5eFZVFJ0b+6pbHIsKawmpuwtbG7Z3CF4NnGucLH/+nb9P/+MTtJ0rSZ////fJm6cWtgcICLtK+s6v/9N0RAWlxf////jpmScGZepJ2gpaKdzLy3zNPaUFdthX+A7vLmtLS0////nrjWcWZq7/ruzsO51uX6DRAp6cio0er/nI2V///9TldYVz476urg2t3YiIGTrJaY7v/+cnyTZFdZ1MrA3OPekI2gqpqk1NPTam+CeHCR////utPwV0xX6ubXt7y/9+je////////+P/+1tTI//jpJE5kOhkK2tbiZGx+49zJwcXI/vr/IzdejWpX////jH190dLXjoyjyMPGOUlcqJqN////9vv/////ttHiFAkJxqSO////8f/+hoOQtrOyQFRqnpCD////////////////////AAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9KSkooKCgwMDAREREUFRUUExIWEhQXGBgYGBgTExMSEhIYGRcXFhYUDxIUFRUZGhgYGRcWFhYAAAAjIyPz8/P////////////////////////////////////////////////////////////////////////X7PpQVVxnY2FtZ2Z9f3ivpp6Rl6mimJhugYxZU0x1cX1NXG9NTkT//+3s//42QEvjw6D////Jz9zIwLm3vcqNh49uaW6mmY+rrbqEgId1Z2S9uryanqtpZmiXe3a1usWUj5KpsbsoNkNvaVr////u/f+FjJ4sNz+QinuSoa46MTbStKCyxNFUVVdcW11/dXC0tr05R1hobGCLjY0/PUNsdn6rm5i0srpGVWleYVGRjphYVl5lU0+5qKW6xdJ1c3mRjomtrbIzQlNXVkr///b////////////c5+A4QldWTED40M3w4PSnucg4RFRmZFawuLszPk+ngW7Fz9SBfXixt76MhI+jop1iWF3fz9T///////+FlbMDAwPAspz////////a7/yOhIuTj5JlXmPbycz///////////////////8AAP////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7+/kBAQCUlJSwtLxAPFBQTFyQrKCkuKSkhJicpKS4vLzAwMCgoKCcpJyUrKikoKBsZHBUUFhYUFgIBAhUUFuTk5P////////////////////////////////////////////////////////////////////////f6/OTq67u5u+bb2ezv7+fp593c4PPv6vH298rPzObm4c/M0vHp4v///////3SCnllDRe7r3JmbsKycpP///8nL1cO3tf////b7/7OvtuPZ0////9ff5sjBvP///2h9mot/ef///8jDyP738v///////+Xr8s7GyPv5+dTW2Orx5tzb2+7r6Nrl57y3t/jv6f7//8jFx/Xt6Pv+/tfd3Kizubivr////8vJ0e7l4Pn9/9HW1svAvv///fL5/7m2tPLo3P3//8fDyPbu5////////////////y5RZyAAAf///4yapKiShP///8nFzPbv7Nrf5ubr4ePl49bT1evv5+Xm6OPe2////9LR1+LY0////////zM2YqKLfq21v8/CuP///+z5/6WiqPnv59rd5N/Tz////////////////////wAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////PT07Hh4eR0ZILiouJBsjRE1IQHVXRVhOQz5BeXl5h4eHRD1CS1xTermeVWleJRsgJiMjMy0wBAEGDw0Q4+Li////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////mKCugoF8eHV7x7Ss////////////////////////////////////////////lp2qvLCm////////////////////////////////////////////////////////////////////////////////2ePzqKms///0////////////////////////////////////////////////////////////4u74c3h/3M7B////hpGZpZuN////////////////////////////////////////////////////////////z9rnioqUhnuA7uff////8fz/oqev9+vf////////////////////////////AAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////86OjwcGxlIRUUxLCwsJyREPD5EV05DWEtGPkBYVlZcW1tFQUFITUhleW5OU04xJiYtJCQ3LS0KBAYMDg7j4+P////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2+fzn5ef//Pr////////////////////////////////////////x8vXi4OD+/Pr///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////zc4OhoYF0lEQTEpJjMnJDcuLDooKjgkJjouKzUpJTMnJD0vLjspKDMZHTwrKj0tKjgnIj8tKRIIBgsNDePj4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8bL2lhYYMbAqf///////////////////////////////////8/e7XVucaOYmri4uv/68f///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Nzg4GRUWVEdFRjs5QDEwPy0qPi4pRzk4SDo5QjAtRDMuRjg1Sj04SDk2Qy4rSjo3T0E+UTo5FwoGCgwM4+Pj////////////////////////////////////////////////////////////////////////5e/3iZGZv7Sq////+f//pqu2qKGcsayvubSnzMG59Pb4oqqw18i7////q8DNlpOE5eLghYmQvLWyzc3JsK6r7ePd2eLonZmY///v0ub6W11qnZuWbW9t3NfSqbDKrZyU///2usnWsaOe////2OPwlZCX2dPSrrW/qqKdr6qtubWq0ca+8fT3ra+yzcfAgYmRt66oyNDYn5mY/fXu////////4Of07Ovp5ezz9PTv+P7/nJ+s0M7Lt7vAkoyNvLq3sLa5ubCq////4e74iouQ4NPE////4t/l//bx2OTva21wzMfGwcTJ6eHZqbfBzsK4y9HZhYWIxsHAzMvGr6uo5t/c////////n7C7e4CJvbOu////s73Cx7qr////scPQsKei////6fD9f4aQ19HE////////////////////////AAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////82ODgbFRRcSklJPTs/MTBJMTBIMS5MPTpPOzlQNjBSOzhPPzFWRS9WQTtbPTdNOjJQNDZkPj4fEgkICwzk5OT////////////////////////////////////////////////////////////////////////0//4pQFGulnr////F4fZYV1BiWV5dXmjR0cFeWUpwaGVkXG7n0bX///++zuSTobCBdH5kYWtcUVzGspqJnahvbVV0Z2tzXWH///////9bbI1CMCbp5tWFm7OCb2mipa+TkZFwbH6khnb///++2PNMT1aqsK1iY19kW2JlYWbLz8NfWUpzZ2V6dotUW1RnXFLUy8h5gp1cRVT///L///////9wh591c19weH2fiG7///9WYnh9fIR9dIFrZFmcgG2Dmq1sY17////h+v9kZWn21bvd//09JjDlzsJQcIZ4aVzQyM+hpq1pgZRGPkvHwbpybYJnZGpeUl3YyrBuf4hcTzv///Td9P9pZ2Xi5+JST1TEoYfC19zAsqP///+futJmVl7///+kwtUYDxPs28r///////////////////////8AAP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////zg7Ow0FBYp5ctLMwqaalEssK1w7OIiZknyPiGA/NmdAMHNhhXJrrH1aV2o6LaeCgYOkiVtsRzMPEwYJDeTk5v///////////////////////////////////////////////////////////////////////////2F1haukjcrCz8nDzL3G0Gthdp2ZoJGsvGZcUqatup2MlP///////7rK4IORnqCPgs/L0I+QqsvAwkVbcqymj5uYpL+npv///+3//n9ze56blrS2wGp8ica9t8fm8WppV5yGivDZzf///9Tt/5GGk+fm6LG1xGxhdKKepYWhsnNnWaasuamjsnt5g8W7sd/m45aWqYh+jv///////+j+/3l8f2ZmaEBGTrWijf///4+To42IkL2xsbu8vLijn7PD2o2DiP////X//tbUyP/26iFLX0AeDtjV4mRrfebfzsLFx/36/x8yWpNvXP///459ftHT2I+MocfFxzhIWaudjv////X7/////7PO3xUJCMqolP///////////////3yEn5ebnTlFW51/X////////////////////////////wAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////PT9BEAoAemt3w8f/lY/ARCIYZUVCvc3Bc7OxV0E5bD4xrq7OvdD/lnt4XSEZx7Gx1P/8qriaSxcZAQgI5eXn////////////////////////////////////////////////////////////////////////////W3CCkIt4m5Sbv62yobXDY1JZq6KkgI+NupiSk6rCRzgz+d/S////qLrMeo2UioBysrS3iIOPpqKhZWFm6eDnYHBzelRI////8//+kpCgd3N4cWJktrS6kY2Uc2tumJeXVVdZuZKB////r8rfRDtC2Ma5naWzZ1VcqKGieoeHx6aiiaG0YVJGraKsVmZ5VFlNjY6OMj5Pk4Z6////la3NfHBohYiaj3x5urbArqqvop6qgYeMal5Sm5SjYWhyYFRUt5iS////////2ufdNkBTWU9B+NDN7+D0pbbGNUJSaGZYr7e8MjtOqoRxw87Tg312sbe+jYaPoqKdZFdc4NLW////////gpOuBAMDw7Wf////////////////////w8fWbXWFWkVQ9t3E////////////////////////////AAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////89QEAsJB2AZGV5YYFlSV1lQTl2UUuCb2x2aGN7U0qBVU+th3jHoY62gnezc2fEjn/Oppn+raRrPzcABQnn6Oj////////////////////////////////////////////////////////////////////////4//4zS1yumH7O2eO4pqHn5ujKw8j////s9Pvf0c7G2OGAf4fy2tL////N2eSloKPx7OHn6uze2tr////Z2+Dp3t6fsbyfior////////n7/fAvLnu5+D////Fx9HOwbn+//+CjpnHq6T////O4/FJTk+YiHvKx8zV0NP////o8PXh0s/A1NyFgIf76ufS1drp4Nv+///R2t3JyMT////e5Onb29vW2N3t6OPr5+zk4+m9vL60v8Sjpqt+c3d1aljh1dH/+fb///////8qTGIjAQD///+Ll6GslYf////HxMn28Ova3uPm6+Hi5uHW09Pq7ejk5efj3tv////Q0dbi2NP///////8xM1+mj4Gts8DSxbv///////////////////8zNkp4U0D///////////////////////////////8AAP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////z5CQzcrK7GJg6B0Y55wYah5c6l3cadsZbZzbsKGfcqOg8aEeMSBc8uQgtCYisSFd7Z7acqVfFM4MAQMDOvr6////////////////////////////////////////////////////////////////////////+Tw+H+Ijo+IhYeLjLysn////////////////////////////////////83d6LSqpf///////////////////////////////////////////////////////////////////////////////////83U23x6hOHc0P///////////////////////////////////////////////////////////////////////////6Wqt+Tazv///660w7+zqf///////////+Dt9XB2e97Qw////4ONlaackP///////////////////////////////////////////////////////////8zX5IiIkoZ6gvDo4f///////////////////8bG09vRz////////////////////////////////wAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Q0ZJNiwsp4N0o3xronVop3Zmr35us390s4B1sYF0rH9uo3lumXZpknBnjWtjhl1fiH9flaRnNCsdDhAS7e3t////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9FSkc7Ly+rh7ede6CXb4CSaHmQaXiJZ3OBY2x7X2Z6X2R7X2N8XWF7XF55XFlzVlVsU05xWlAiFhMUFxfv7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////0lNSjovLZd3o4JliHRYYmRGV15FUVpETFlBS1lBSVpBSFc/Q045Pks3O0g1N0IxMDsrKj4uKwoDARodHPDx8f///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////TVBTOTEuhWdTc1dEaE0+VDsnUjgmUjspUDgsTTYqRzEnRS4nPiwnOiopNigkNCYjMSQiMyckBAAAHR4e8fHx////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9TVFY2MjJsXltbTElWRkNDMi89Kyg/MSo8LSY2ISM0GSA6IyIwISAtHx8qHR0nHR8mGx4mHCAAAAAfIB7x8fH///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////1RVVzo3NG9gXVtMS1ZGP0IyLTMiHzUpIS8cHi8xHjNEHzQvGicoHiQkGSIhFyAiGB0gFR0eFgAAAB8fH/Hx8f///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////WVpcOzc2a1xZVEZFTDs4OysmJRQPKBkPIgQNKzwGNG8AMDUBICYBGSIAGigCGywPGCkHGCgKAAAAHx4g8fHx////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7+/tISEhEREJrbGxXWVtKUFNCSEkpNzcmPjcmNjkgNzgiOTkpMzYaMzkjcocgVmYMCAcJBAoGBwoAAAAhISHw8fH///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+vr6zU0NE1NTW1yclhhX0pWVkVQVCxBQR4+Nh03PBgzOxszPik7Oxc6QiKEmxtkdAUEBAIABQEDBgAAACIiIvDw8P/////////////////////////////////////////////////////////////////////////07v/d0//Qzf++tf/Rxv/Jw//MwP/j3v/Ryv/Ty//RyP/Y0P/U0P/RyP/g2v/Zzv/Ryv/e1v/UzP/CvP/Cuf/Xzf/g2v/UzP/SzP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7u7uOTo6TElJa2FcV01IRz45QDMzKB0ZEA8ADQMBDAAADwECGwYCBAAAAgEABQYGBAUJAgQGBQQGAAAAISEh7+/v/////////////////////////////////////////////////////////////////////////9zg/1dg/5N//9bI/7Gv/7Cl/7e0/0VX/5OD/46L/6if/5GS/4h4/5+c/1ti/4uE/5SM/3Fw/5+Z/8K0/8G6/4SH/0pb/3xt/9bI////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////u7u45OjpOTEpqZWRVUVBGQkE7NzYtLCkRGwQIBQQGAwcMCAggEAkEBQYCAAIEAAAHAwYIBQkKCAgAAAAfICDu7u7//////////////////////////////////////////////////////////////////////////v//h5T/2sH/////Zn3/1ND/pbf/kXz/3tz/ucL/sMH/cnn/z73/m6f/ho7/eIj/2cj/rbz/cnz//+f/////iIv/6+H/ipD/sJ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+3t7To7O09OTFlVVD88OjAsKyEcHRcXFAQOAgAAAAAAAAYCACAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAhIe7u7v/////////////////////////////////////////////////////////////////////////////Kyv/47/99kf0AQP/S3v9rhv/g0P/V3P/4//5LcP9yVP////+Hg//P1f+IqP/V0f9rfP+ahv/////5///88v/7//4ASv+bgP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////6enpMTExTkxMoqGhqqysnpyenZmZnZyZkZSNgn9+gX9/hoGAkIaBhoKAhoOBh4KFgn19hoOAhH9+BwUDEhMT7u7u/////////////////////////////////////////////////////////////////////////////+Di/2l9/0pJ/8a9/+L0/7fB/UNq/mln/8XE/y9l/4Nz/97k/4F6/7fB/n+V/6qe/lFk/8/S/////////7/Q/QBG/56C////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////29vY9PT1QVFXj0s3yvrT67er////////////////////////////////////////////8+Pj++/ojIyIAAADp6en/////////////////////////////////////////////////////////////////////////////c4j8AEL//e//s77/q53/////wsD/6N7/197/19T/2Nn/zcz/4t3/4OL/1ND/////ydH/0sz////////9AHH/h4H/1df/z8T///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////0xMTE1UV+fX0v/Puf7w6/n9//j09PLn7Pj18////////////////////////////////////yYlJQAAAN/f3/////////////////////////////////////////////////////////////////////////7w/P92ff/JsP////+bmv+kjP/////////////////////////////////////////////////////////////J1/+bnf+FgP/f0f///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wAA/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+TExMVFBTo6Kiq62rmJmZiYOGhoqDjKuHb29rW1VYY19dY2BfY2BgZGBfZWBfbmtpenh2cm9sCggGAAAA2NnZ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+/v5NTU1dXFxxb29bWlxPTU9APT80OTIzTywZGhQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAALCQ3Y2Nj///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAP////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////39/UxMTGNjY4yMjH19fXJycmNkYlRTU0dARURCQiMjIhcXFxkVFyQqJSg9LixSNitYNi0/NFhQVRgXFwQEBuHh4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wAA/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Pz8TU1NZGRkhoaGeHl5bW5uX19fT05QPz8/Ozw8Hx8fBQUFCwsLDw8QDxASDxgREiUYEBoTGxccAAAADQ0N4uLi////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+/v5OTk5lZWWFhYV6enpwcHBiYmJSUlJDQ0M9PT0wMDAJCQkGBgYJCQkJCQkHBQYGAQUFBAYAAQEAAAAUFBTn5ub///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////15eXlBQUJiYmIGBgX19fXJydGRkZFNTU0FCQkBBQS0sLBkZGRkZGRgYFhgYGBYXFRUVExMTEQAAADExMf///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////tbW1Hx8fhYWFnJyclZSUj42Ne3t7YGBgQD4+QD48PTs5LiwpJCMjHx4gLywrIiEhGhsZCQgKAAAAlZWV////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+MjIwsLCxTU1NnZ2VvcG5wcHBsbGxkY2NgX19VVVUcGxsFBgYHBwcGBQUBAAAAAAAAAABsbGz///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////83NzYKCgm1tbWNjZV1dXVlZV1NTU09PT1FRUUJDQzY2Nj4+PkhJSVpaWnt7e8fHx////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9/f37u7u6enp6enp6enp8fHx/Pz8////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAP////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////j9/93f5Pfy8f////z9//Xz8/v5+ff5+fz79////+/x8ff19f////Hz8/Xz8/3///b59/j49v/9+/L19+/x8f///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////5fH9YGxygYeKl4iH+/jsZ4CTUUI/vMC7aGl21cCvqL3LOzs7ua2prba+QkdIqZ6WmZ6ujYqKk5SZe3t7ycWumY2PwrOy////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////R3eXDuKr///9cSE1TQlVibnj69OHo8vp9b4S/t8BJZYHOtp7l8f8rNEu1pI///fqLkLColZq9u8GkkZPQ4+ooKjWrlID///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+f1/xEtQmlIKLrByJ2LlO3s6rzI02ZibIOAgGlsfI+QkHKKj3htbYmMk4aTh4eGk31rdJaQkaqdn2t+i11KRPfy7////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////KTFZd2BO///9////vMXXcW5sop+YoKurbm5mopyjd4SXnZaF6ebrc4CYkI1/u73Adnp9d2Re2czKwNDMp5Sb5dre////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7+/vo6OjX19fLy8vCwsK+vb27urq9vLzEw8XKycnQ0NDi4eHk5OTT09PFxcW4uLirq6uenp6TlJSVlZWhoKCurq69vb3MzMzi4uL7+/v////////////////////////////////////////////////////////////5//9nY4GjkY5vcH/gz8D////5+PT///3////////+///5+vr//f3////5+vr9/Pz//////v7+/fv////8/f/5+Pz///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAP////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Hx8Zuamm1tbVNTU0A/PTAuLiYkIh0bGxgWFhMREQoICAcFBQMBAAcGBhgXFyoqKi4vLyAgIBUVFQwMDAYGBgMCAgEBAQEAAAMCAgYFBQwMDBgYGCkpKUFBQVpbW66urv///////////////////////////////////////////////////////+r2/q6xuNXKyv///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////V1VVAAAAAAAAAAAACwgIGBUWHh0dHRwcIh8hLCkpJCIiJCIiIBwdHh0cGhoaCAgIAQAAAAAAAQAAAgAAAwACAwEBBAICAwEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAysnJ////////////////////////////////////////////////////////////////////////////////////////////////////////9Pz/qq6xopqc7+vk/////////////////////////////////////////////////////////v/9///9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Z2NgaGBgfHR8iHx8tLCozMTE1MjIsKSkqJycoJSUcGRoVFRM6OTdaWFgZFxkDAAAOCwkYFRQlIiIvLCwwLy81MjI3MzM4MzY2MzM5NjY5NjYyLjEuKiolIiIaFhgMBAYAAAChn6H////////////////////////////////////////////////5+vrz9PL5+ff////////////7/P749vb++/r9+/3////////7/Pz///+ircVXRk+HjZWHiIT/9uj7/f/++/r9/f/1+Pv69/f8+fn6/v7n5+X89fL8///2+fn4+fX////S2+20q67///v////p7fDx6+r////////////////2+PrY19nz8ez////6/P7z9vH///39///t8PD7+fn+///49vj9/vzn6Ob79fD9///2+/j69/X69/f29vbz9Pf49vT49/f7/P7u7e38+vj6+vz69/f//f35/P/m5+n8+/b9/fv59vT+///y9PT19PL////8/v/6+ff4+Pj29/n5+f359vb+/fvy9/jr5+T//fv5/f33+vX79vb39fX19ff+///2+Pby8vD///////////////////////////////////8AAP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8XExBMRDyMhIVNQTnBtZmBdWlZTUiklJTAsLCAcHVJSUj48OjMwMmxqbC4rKkhFR15fY1pcX1lWWFNPTlFOTlFMTE1JSU5KSUtHRlNOTVdSUVJMS2JcX21vdnBxe2ViYiUhIJWTk////////////////////////////////////////////////9rt/FteY9jAqv///6uhrune3HyUp3Jxb3VkZ//q1LLB1rmqqf///21xfpWKlHd1k5eThLe9tneAiHV4eot7eJyXl4SChHRwep2YlaSlsHlxer+zpay1vYWAhY6TmqGOhq3Cyl1GPP///8PW5l5fX5aLgenm2f///////8TX60tZYYJ+eY+JiPLs45ufsVNUWYR+gbqwoKKioL+4u5ygpYd/f5uWnnt1f72wpLO6woR/fp6krIp8eqKtr3V3gYmBhnN6gmFaX7Oml4OIk3Z6e393dpCDhaCfoXBta8O2pcPH1Ht0dpyfn0RIS5aNiP/17////3yRp1tNP////3CDondXT+3x8X+Bkox8d9LKw4mSoKGZlIOGlaigmIiRm4R/glZeYXxxbevf3P///////////////////////////////wAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////s7KyCwkHKCYoTktLYV1aXlpYSERENDEvLCkmKCQkKSgmKScnQkA+b21tOTU1QkBAXmNrX2NuXF1lXF1lX2FoYWVsY2ZrZGVqYWJsYGNqYWFpXWBnXV5pX2RsXGBnUU9NKCQjiYeH////////////////////////////////////////////////9v/+p6mn//rikL3dCgAB+uHJkqe6V1ZpaF1n////QGF5ZEM2////e4SZu7e3eX+NkH5x8fz6laOwW1tufHl/j4eEu6GWt8LPUWB2bHZy////j5eKdGttrp2pvLrCoYuJ////5+Xg////7O7x//7wtMrcf3Ry////////LDhQjnVi////4+LqytfihnN6rq6yZ2h36tjJXnSNY2RcmYN5eHyLW2lx////kZiNdGxuppWlzczQpqKhx9LYoaKnk5agz8bBT2N5tph50uDvdn2CWkxhe4GJmY+D/fTqhZWTj4qJe5CtS09SuaWU5uPt5dnZ////f527dG9i////g4WlqIB/h62/i35y7f/+jYlyiHeAxLq+oLDD08/Dt8XPJCs7lIl/8O3z3NDS////////////////////////////////AAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+npaUIBQUoJSVOSkpdWVhkYGBrZ2VRTExRTk41MTEAAAALCAhNS0t1c3EfHBoEAQASEQ8fHR0iHyQlIycfHyIeHiAoJykoJigoKCwjIicjIiUoJisjIichICAbFxgUDw0MCAeEgoL////////////////////////////////////////////////2//7j3s2+vcUNJjGJalj/9vbBzthTWHODb3O1xst1bGKznZvGyct8hJeQjZqRhpeQjnuTf2TU1NlbY36Ad3qTjZS8p6egrMFTW2uMioD6+PNncG5waXCCcXuTkZGYgID///////////////////9gc4VxV0j////A3v47RU3/6sj////////m/f99cWPHxsqLiJqln6AuLDfb2c2XlJ6EhZB+goX79exocHNva3B9bHabo6Z5cXajqqOPmY1+fpHPtKXA4PA0Ljfb0sqrs8VPQVeWk5mIjp28uLVnaGGdk4uNm658cXOHiYxpd3f349H///+YscpBP0G+uLFAQFS+oI+XssWlkoPA2OhxcWVxZ3SYi4h0hJSimZSXq6JTTk2Mjphpfn/Vwq7///////////////////////////////8AAP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////6CfnwoHBywqKj46Oj87O0A8PGJeXl5YWUQ+QSsmJ0RDQyQiIj87O3Z1dRkYFxQNDCYeHggAAAQAAAAAABsVFiYdHwIAAAgCAAgAAR0UFh0WFQ0FBRMLCxcPEDMrLSgiIxIPDXx6ev///////////////////////////////////////////////////6LAyQAAALOfgO7X5OjS38DP1IWAh9bNxpGfrLChltff2qCdmLKsseLZ27fDznhyb7Onn7/Aw4eGkN3Ty3uNnWJKTK6nsNrNy83U3m1qcrekns/R3HF2eXBfWtK6tP///////////+v7/0RQaUo/M+rh2f///+3//jA4Pciojv///+bm8K+7xqmnl7/DyKadpNHSyJ+eoN3Y5FVjcI1sZs/T3nFvebOfm9Xa4n18hHp3d4yLj29ydcC/sb24wLuytbe8vXNweqeembC4v6GQjd/f3W95lExISKGLedjo84+HkOTX1Gt6kIB9c//98P///42rx2dnY////29yip56ef///5ibqHlpZtvNyqu2w3Nsb4KBgYCFjYeEeu7n4IeWrm1rZu7k1v///////////////////////////////wAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////np2dEA4MMzExLyopHxsZMy8uTUdKOTU1ODQ0MiwtIB4eFhQUSEVFd3Z2FRMTIR8fSktLFRYWEhIQDQwKKyknNjQyDQwIDxAKEA4MMS4uKigmFRQQGRgXIR8dPDo5JyQkFhEPdnR0////////////////////////////////////////////////9f/+HDJCbFI1////ZXCBj3hq////+Pv//v37/fz+//7/////////pqq349jO////+/j2/////v//9/n7////5PDy8Oznur7Ow7y3////9/X1/v37//////7+/vz8////////////////////bnuTUUZEw7Wr////////orHLT0xUr7CkSEhep4uE/////P3//f39////+fn9////3ebp5N7d////9/X1/v37//////7//fz+/f7//f7/////p6u44dfN/////fz6////+fv+////1Ov7YVhT+d/G////obfPXE9T///0+v3//v37////////Y4CbRzkp////X3acUjAz////////+Pb0/////////f39/v39/f7//f7/////+fr8/Pv7////////////////////////////////////AAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+amZkREBAwLi4lISEmIyM1MzFCPz8yMC48Ojk0MTEMCwsLCQlOTEx5d3cbFxkXHxEsRCkvRjAwSC8yTTQuRy4nPyQySC09TTo2SjInPSQqPSQxQykwRCcvRCcrQyMrPSQYFRRyb2/////////////////////////////////////////////////n7fLNzc/////+///Gzc7S0Mv////////////////////////////L0Nfv6eT////////////////////////////////T2uLc2dj////////////////////////////////////////////u+Pi1uLrUy8b////////////V3uSlp6nRyMP/+fj////////////////////////////////////////////////////////////////////L0Njv6OP////////////////////u9Pna2df/+vX////f4ufW09H////////////////+///a3OHRysfu7vDW3eTSy8j78/D///////////////////////////////////////////////////////////////////////////////8AAP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////5iXlxMRETAuLigmJiQhISIfHxwZGignJTEwLhsZGV5cXEE/Pzc2NHt4eB0OExg/NC5/ZipzWSx4YC19ZCx9YSl+YjJ+bE10bTt3Zid7Xyx5XihzXSd0YipyXi13YSVkUxgVFG9qaf////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7//f///f///////////////////////////////////////////////////////97o7ZqZn7uyr///9/////////////////////////////////////////////////////////////P7/62srNrOyP///////////////////////////////////////////////////////////////////////wAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////mZiYEQ8PNDEzQ0JCKioqKycqPDs7EQ8PLCopFBMSR0VFPz4+Pj09eXd3DwYIUGdauOnEq9SnocqhkLmVn8SXp8ydocKgnK6Zor2Wn8WWoMaXlruVocCUqsWVttWijKWFFRITaGVl////////////////////////////////////////////////+fr89vr1///7/f3/+vv99fb4+fv5+Pr4+fn1//37+Pv97u7s/v7++Pv9+vn5////8Pb56+fk//76+vr6/Pn5+f3/7e7u/fv7/////f7/+vr49vb2+Pj6////////6u7v8ern////////////////////////////8fLy9vT0+/3/+fn3//789/n78fHx////9vr67u7s////6fb/rqew/vPl////////8/X42trc9/Xw////////6ezu8+zp////+Pz96efk////e4Kab1ZXc4KRqaaY/////v3/+fv98PDw////////+Pn59PTy+/r4////+fj49vb2+fv9+ff5//v6/v//U1VoqZB/////////7vHx+Pf3////////////////////////////////////////////////////////AAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+ampoTEREwLi4fHR8lJyksKysiICAoJCRjYWEmJCQ3NTMdGRdGRER6eXkCBw6Yelr1yJydhm7Lq4L/66HQrYCkhG7EnXz/3pvFpXyri2+riWvzyIbasHWujWbEn3DHnWgmHxhhYmX////////////////////////////////////////////////N5/xmZWn/58z///9HVmyWjHyUnKqYlJOEhYqyrKOGj5JUTFGLf32CiZCPenTz//99fI6LfHfVy8OMma6UjouVmJhST1VpXV/459b///+KoLNRSEP87uL///+5ydl0b3uYi4Pq2crz//6knKPIxsyqoKv///+arbs9PDywqqWDiZuOeXPo9fdMVlx8bGXS19x8goNSSlGUfXXM4uVMPz374sz///+0yNpXXWCOjIl2dXP17Ni9zOFzbHmjk4rn5d6Rl6l+cXXNxbC6u9VnXnCanpS6wb6DfYCfnJdqdHlhWFPVycf///+60eRpXlzU1NDCur/i3+FQUlqRjot7hYt6dnWaiomHj51YWl+yoZ7KyMGfoJ6lnqP46t3///////////////////////////////////////////////////8AAP////////X19bKysqioqK2tra2tra2tra2trausrLKxsbW4uKusrK2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2urKyvqqyvqqyvqq2uqqyvqqWmpL/DyP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////5uZmRMPECooKFRSUDs3Ng4MDAwICiolKDg5OiopKWtqbDc3OTo4OHt6egYJEI96VtW2kWxYUKqKXP/TfbeRW3BfN5l/Sf/Ld62JVG9XNohwT+q6dM6kZnJeQZl9UbyXWCYfHGBhZP///////////////////////////////////////////////////4iLoKyVj7TV4zU7NP/nxpGdu7CmqsTFyk5PZXt9gNLc5odyd6SeprOYn4mqwIt/c+3//o+Ib6mdoURZeG9xdOHl5l1Tafvhyv///46symRnX////////0lic9a/qbDO16eRbsjT6Do3PFVlaFtDOf///TxWcsOtl//8/IGAnrWfo4qjuG5kXP///1BkjH1yasvU4m1ZZv/66ePj4////+T7/yEmOraeiP///2B+lJeckmN4huvVv8HS0ygyN3l3dP///4aHd5iMimRmcbexov///5mcsT5GVmpqavrz7tfN0v///9/2/8vCuJuruwAAAOXVxHyCg62jl4mXqFFHW42FjLW1v/Dp5IacpKaUhXuSrUM3Nf/s2f///////////////////////////////////////////////////wAA////////tbW1srKy6Ojq8PDr8PLy4uHj8vLu+fn53N7j593X////7u3v6+vt7O/q7+7s+vn3/f7/8/Hx//76+Pz95OXl/fn0+Pz97u7s+vj47vDy6uvp/fr49Pf69PTw////9/X17e3v5OXn5ejy5dm95NmS4N6k7Oar+vGy5uGl5dicq5JwysfJ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////m5qaEQ8PJiQka2pqSktPOTc3QT8/ISAeNzU1HxsbFhUXHR8hSEZGe3l5BwkOiHha/+DAwHZv36eQ+c+I/9GkrObeicB2/7452KtjsbXF+urZ/8pX46xGal1bq4hh2qVDHRkZX2Bj////////////////////////////////////////////////////r8nrgoCGXWpycF1V////ZmyQg3d1paCjb2ZzoZiT0eHrn5GZkJGedmZmbn+MrpiGwtrqc25hlIyRVl51m5GL3ebpdG6D/+/e////qcLZP0NEgoF6tcDAcnyE4ci3hJ+0hX50hYyTkJCMW15uqaCIsLnFhYmUh4iIi5iOfnyEdmxxe4SQhHx8jp+dWF1krZqTytvmgnOA////////////j7LWSEVH///2////Ym2AlJeNc3qC7tjGjJ6tMDU4mo6G8fz+am9oeWdumJOjfoJvv6mTsrnGX1pijY6TdYqNqJ2N////7v7/0uLYVUVMa2BlsbzEh4BlxbistL3PTUJalI6Vg4WQv7SuhIiLb2ZhPEFRu6yf////////////////////////////////////////////////////////AAD////29vbDw8P29vb////m5/Tl4+P////d3eno4t3T2+F+dHnIvLj09fj19/Dw8PTs8PPNztHFvrni5eO1u8LHurj////E0NjOw7vw8vnCytDw6N78/P+2wMrRxr7d3uG5trbU19f08u////3/////58f/2Yv/8Kzp0ZfCqnv/7af/6qfxtl3RrZD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+cmpoTEREzMTEWFRUcHR8zMjI0NTg6OTtsa2soJydlYWQuKio7ODh9fHwKEByCYhv/v2LYpofnuY/5v2zrvnK129DCwX/4ogDbtlzR5t3j1KTzrADdnBC5mnnYqmjJjQAfHBpfYGX///////////////////////////////////////////////////////+UqLU6Jxbcwrn///+Yn7FlY2CKdW/98fG6wsxYaXKDdHbExr5YYWSRkpWyrbB5a2vYyseyuMfVxMPN1NtjeohhVFj/+eP///+XtdODenDf9f8+PjzJrqONmauSfnjOzNSSkJaztLmdjZLS0Na8srnh3+FlcoWTlIi3vLlcZmuNjI6kqLVsbGjf2NW/xc1SYmt8aGj////////////C3/Q1LjHx073////P0N/o3dvb4Ot6fYiOfXj88fG2vcttZmjCrqjz+v+WnaV3bmnY08yTl6m+qqSzxNleYGDMwrb///////9IYoBIFSD///+CosM1HQji0sGsu8qdjYzQzc2Uo6ZlZWeGdXDR1s+foqXMucD///f///////////////////////////////////////////////////8AAP////j4+MvLy97e3vjz7LbE2WZWZp6gnmRldI6Bc6KinYmEi5CDgWxtb9HRubq0yHOCmmZwem1mVXt/eoyMkJqOin14glFhcrurmpWQoI6Qk7irqXlrdXV5ec7R03R5hElFQGd6gaennfXl2OXx/ubJqPSwWv/VhJFuQRQKAuCsaf/JfeaZMd6uhv///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////52bmxYUFCopKWBdXTw5ORsZGSooKB4cHCIgJScmJmJiYj4+QDs4OHx7ew0UIn5aEf+/F+uvM+eoHemmHOioB9mgAO2pG+moLOOmHtuiANyeAOWiKeuoJ/CqF/+5HseOIB4bGF9gZf///////////////////////////////////////////////////////5SuxWFSRv////////////79/f79+////////5auw29dWv////////////r6+Pj19f///7O6ysW9uP///7fR5l5RVf/y3////3qUrT49NpGXnHBkZv/y4/////r49v////7+/vz8/P38/v7+/v///f7///j5+/79/f////////////n6/Pr6/P///////42iuHVhXP///////////////46WtF5SVK+2r1VOYMSuov////j29Pv59/////z9/ff18////f////r59///+/3//05SYsSqm/////n6+v///////93x/wYNGauJbf///8Le8wAECrughP////j6/P////////79/f79/f////n5+/v7+////////////////////////////////////////////////////////wAA////+Pj4wMDA1tXV4N7g8fv7cH+KGB8tiIWKw8O5jY6OjoaIjYiFZGRxjZWKaWBro6Clk6i2bWNdlZWVi52el46JXlJhRFlrmJGAY1dhkoaLxrq0Y11kb3dy6uXgr7nBUVFUiIyPpKel693Q3ur34MGe7KdG67Fp7LVu9L535Ktk8LZo2ogD1aKB////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////np2dFxUVKyooPTw8Li4wTUxMYGFjIB4gPTo6HRoZHx8fHh0fR0JFe3l7ChMhgV0X/8UA9qsL9a0Y6KQt9a4p/7sc/rIp46Qu8agm+6we+Kwp5aQq6qgm+K0d/7oax44gHRoZXF1i/f39////////////////////////////////////////////////////9/f/8fP/////////////////////////////5ujr49vW////////////////////////0tjg3dnZ////7fDz3tfU///7////3+Lkw8TGv727/ffy////////////////////////////////////////////////////////////////////////////5ebo5NzZ////////////////////y9LZqKio1M7F//rz////////////////////////////////////////9vn+zc3P8/Dt////////////////4eXs1NLQ////////////2+Pm2dXS////////////////////////////////////////////////////////////////////////////////////////////AAD////29va+vr7h4OLr6+3///i0zN8qIjPr1sqZr7W7sKSrvcirloq0v8tkdnmtmYrv5+CossLFsqqoucBaZ2ezqaHz9u+ptLrMxLyAipKFeHXDurfYz8yVpKy5qp3J0Niompi0xM+OlI/86tns9v/mzrDwwIT/3KqqjGhcSC7fuo7/26bemlDQmn////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+fnp4UEhIvLS0zMjIlIyMiHx8pLS8lJSY9PT8uLDBzcnI0MzM4NTV/fX0cHSVnTSuvhECZczeQcDvUmS7IjR+AXR+ufCPzqyStfi2QcDSXcS/dnSjIkCiXdDiyhDC1gxgmIBtYV139/Pz///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAP////n5+b29ve/u7vv8/P38+vD0+9DDx///9sbQ2Obf2P///////9zo8tHQy/////v9/f/+/v///9Hc4tvWz/////z8/P///////f///f///+Pi4vTr5v////3+/v39/f///+Pw+sfJyf/48fz///Lfx/XWqP/70amchENCOPXfv//1zeCrdcqQfP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////5+fnxQSEiknJ29vcVBZXzAuMEE9OxkXFyEgICMhITc2OC4yNTo4Nnp4eB4dJWxSLrCESYphH5VpK9aaJsSRMHdpPqaBOvWsILGAKWdSJIZkJOqoLLyIKFIyDH5UEbiHICoiH1ZVW/z7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wAA////////zc3Nzc3N8vPz6uvr8O3t+/z87O3t9fTy8PL06+ro6urs8vDu9fb46uvt7Ozs7Ozs6enr9PPx9PX36enp7Ozs7Ozs6+vr7u7u7ezs9vTy8PHz6urq7Ozs7Ozs6uvr8e/s9vb46uzu7vX448y/4bef5MW37827+NTA7Mu55cWzwX1u3Lu3////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////oqGhGRgXMC4sKCcnKi4xOjo6S0tNODc5XVtbHh0dLisrIB0fMS4xd3V1Exknll0Ivr5IM6eAo6pG+50A3rV80dz/2r+q86UAzZY5KC07gGZB/7oAvo43F2mIboh0yYgAJh8cVFVa+/r6////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAD////////7+/vb29vS0tLT09PU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTQ0NDo5OHr7e3R0tTT09PU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTT3NzTvb3TnqLTp6nWqavYrK7SpqjPnqHevcH///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+mpaUbGhowLi4nJSUhHRwdGRkeHR8qKCY8Oz0lIydbWlxDRkkpJiZ3dnYWHCiOVAe1wlAsxp2OsFf/oADLmFyLisy5loL3qQDOmDNvbWqjhlj/rAC9izRFnb+JqJjCgAAmHxxRUlf4+ff///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAP///////////////////////////////////////////////////////////////////////7/K1727tP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////6alpRoYGC0rKzw5Nx8cGkdGSFZUUhgXFzAsLiAZGhsdHyYsLzg2NnV0dBYcKn9cHv+3IOihBuqiJuWlMOSgF+iiAOWiAuOjLeelIfGtK+6nLuWkKuOjKOGTAPSkB8aOKiAcHU5PVPb29v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wAA////////7PP25uLl///7////8PP07+rp//37+Pr8/fv7/f//+Pf5//37////+Pz96enp////q7/PaGNc8OnW////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////pKOjFhQUJiMjUVFUPUFEJR8iP0BCKyosSUhIJyUnWlhYKiYlLCkpdXV1Fhwoflsb/7cn7qEj6KIr46Mo5aQq5qMU5qQe4qMn5aIp6qMh5qQr46Es5qUm7qYh/rIZxo0kHxsbTE1Q9fX1////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAD///+nuMdbYWaDh5DHtKHi7vZ5d4eWhX7JyMRsc4XJsqC70OJtX13/+Of///+IjJlza2S4rqD///+SqMGCe3b///99iZzArqT///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+koqIUEhInIyI6QEM8R00sJic5NjYYFRYeHh4lIydbWlw6PD4sKSl0dHQVGyl+Whv/uSbloinkoynjoCXoqTbpqz3oqzjmqTXoqjfmqDTprzfjoCXkoynkoyn3sCbFjSMfGRpKSU/09PT///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAP///7S5uvTgzrfZ5147QmFnda2hkdXw+4mGc4p2hdzMx5OmtJ+Bef///9bv/3tqZ///9W5+f+/dzGWFoUgnKf///+329vPw7f///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////6SjoxIRES8tLCMiIhsZGUZFQ09QUBsZGUdERCUkIjMzMykoKjo4OHVzdRQbJ31aGv+4LOWiKeSjKeSjKeOiJuqxOeisOeqvN+irOOuwQuamMuOgJeSjKeSjKfewJsaNJB4bG0ZIS/Py8v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wAA////////nrnMAAAGwaaJhJepvqqZq8fYbG1lcWlyoZaKd4CTtZuW////4vb/Z2R2w8O+bWpgjo+Rd3Vzqpabu7S37/L37ejn////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////pKSkFBISJyQkRENBPzw8FRIUISEhKScnNzc5JykrYmFhRkZILy0tdXR0ExomfVkZ/7kn5aIp5KMp5KMp46Mo5KEt67A56Ks46Kw56aw54p4i5aQk5KMp5KMp+K8nxY0jHhsdRUZL8O/v/////////////////////////////////////////////+Xg/7Sm/7Kt/6uc/7mw/7Sq/8W5/6eg/6qd/7+0/6yi/6ie/7Ol/7it/6ef/7Kj/8C1/62l/7So/7uv/7mw/6+j/7qs/7Go/6iZ/9LH////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAD///+sweIQByHHvKD////m6veQk6CBb2rYz8yer7RrdHIiLzmEYFv////y//5aYHhWUEusnZCmrb2nlZDa5eWzsbOdnaXLurL///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+np6cXFhYnJSVFQ0MzMDAsKipMSkojISFCQUErKCglIiQqLS86OTlycXEVGyd9Whb/uSfloinkoynkoynkoynjoCXoqDDprTrqsjvioSTkoynkoynkoynkoyn4sSjEjSIeHBxFRkvu7u7/////////////////////////////////////////////6PT+XGz/dGT/enz/cWT/7+L/h5X/Z2P/b3L/mov/7+T/9/L/kaL/dW3/////zNn/PVb/n5X/m5z/rLH/Y2P/l5v/dn7/mYH/fX//rKz///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAP///7HD32xcbJaapYF3fP////v9//j39////////////+Ds7t7b2////7zX6mZYU//13f////39//7+//////39//7+/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////6uqqhoYGDEvLxoYGBcVFTk4OE1OUC4rK2ZlZScnKU5KTTIvLjEwLnFwcBceKn9aH/+4JOWiKeSjKeSjKeSjKeWiKeKfKemvO+WmMeOgJeSjKeSjKeSjKeSjKfivJ8WNHR0cGkJDSO3s7P////////////////////////////////////////////////5lfv+ujf/////Lxf6Ci/9WXP/////P7v5kav//7//////a7v96iP/06P+Urv88UP/////M3f4uV/+4mv/X7f+AiP/n3/5Gav+Acv///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wAA////////zt7trauz6+jt////////////////////////////////////6vL33N7e//76////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////rKurGBYWJCMjS0lJQD09JSMjMS8vHxweJykrJycnU1NVREpPLCoqcG5uFh0rf1sc/7oj6qQp6aQo6aQi6KUi6KUi6aQu6KMm6KIl6KUi6KUi6KUi6KUi6aQo/bIhx44gGxoaP0BF7Ovr/////////////////////////////////////////////////n6O/72d/////////klv/6SC/////77R/1Fd/+7b/////////5Wo/46Y/y9l/7KQ/////7LH/QBD///t/sLg/46P/6ih/0VY/+bc////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAD////++fL/7Mn/57X31qzqx5/tyqDtyqDtyqDtyqDtyqDtyqDtyqDryJ720aP937Hsy6LsyZ/tyqDtyqDtyqDtyqDtyqDtyqDtyqDtyqDtyqDtyqDtyqDtyqDtyqDtyqDtyqDtyqDtyqDtyqDtyqDtyqDtyqDtyqDtyqDtyqDtyqDtyqDtyqDtyqDtyqDtyqDtyqDtyqDtyqDtyqDtyqDtyqDtyqDtyqDsx5vx0qv89Oj///////////////////////////////////////////////////////////////////////////////////////////////////////+urKwWFBQmJSVCQEAzMTE4NjY/QEIbGRlaWFgsKikpKCorLC43NTVtbGwXHSp8WBP1pwDUjwDVkgDVkgDVkQDWkgDWkgDVkQDVkgDUkgDUkQDWkwDVkgDXlgDqoQC/hw8fHRw8PULp6en////////////////////////////////////////////////+gJP/wqD////////+Wnr/iHH/////8Pj/xsf/8ur/////////4fD/cID/a2X/////////eYn/cXj/vrf/y9T/tLf/x7j/jJL/1tv///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAP////LVtNmiWt+zeOK4f+O3geK3geK3fuK3geK3geK3fuK3gd+1fue5f//Vl/zVnuG4hOG1fOK3fuK3geK3fuK3fuK3fuK3fuK3fuK3fuK3fuK3fuK3fuK3fuK3fuK3fuK3fuK3fuK3fuK3fuK3fuK3fuK3fuK3fuK3fuK3fuK3fuK3fuK3fuK3fuK3fuK3fuK3fuK3fuK3fuK3fuK3fuK3fuK3fuK3fuK4f9iiXenBkf///f///////////////////////////////////////////////////////////////////////////////////////////////////7CwsBcVFSkoKDEvLzMwMB0ZGSAiJTEwMFxbWyEfH11bW0pJSykoKG1sbBwcJHJTHPPZsd/UxNvNt93Ou+HSv+LSveHUvuHUvuHUvt/Tv+HUvt/PutrKuc27rNfEs7WTViAXCjw9Qefn5//////////////////////////////////////////////7//83Yv+Scv/////////a5v9Va/+0nv+apP+Dff////////////////9SdP+Qdf/////4+v/39P/////////S4f+1tv/////u7//++f///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wAA////6sCO2a56+vz6/////////////v///////////v7+////////8/n8rbjIxMC7///4/////v7+/////v7+/f35/f37/f37/f37/f37/f37/f37/f37/f37/f37/f37/f37/f37/f37/f37/f37/f37/f37/f37/f37/f37/f37/f37/f37/f37/f37/f37/f37/f37/f37/f37/f37/f37/f37/v7+////4MSh3qtq//jx////////////////////////////////////////////////////////////////////////////////////////////////////srKyGBcXIyEhUU9NPTs7MTEvS0pIGhgYIyIiJiQiOTk7QUxQMDAya2lpGBcbclou////+f//7Pj/7/n//v///f///f///P///f///v///P//6PL/+///4uv37vj/ya9+GA0AOTk/5ubm//////////////////////////////////////////////H1/8G9/9HG/////////////+Tr/6yo/7Sq/9vQ/////////////////+v0//P1/////////////////////+Hq/8rK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAD////rw5HctYL////c7f99jp2ajYX06+icqLqxqaH///+Up7S1paL2//5bdpRONzfUyMbt9v7l8vCcnaXr39f////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////iyargr27++fD///////////////////////////////////////////////////////////////////////////////////////////////////+0tLQXFRUuLCwmJSMhICA8OjxLS00gHh5mZWUpKCg8OjoyLi4wLS1paWkVGSJ6Wxn92qDcx6jdxqHdxqHfxaTexqTfx6Pfx6PfxKPfyKPfyqXawJ/lzqnv3rb/78PJolUZEQg1Njvl5OT///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAP///+vDk+G2gv///3yAkq+ln46UmVxeYLa5tLO2r1RKWrOzu662vWBSWL29s7Wwr4+GoKe30X+BhmxgWtXKyv///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+PIp+CvcP758v///////////////////////////////////////////////////////////////////////////////////////////////////7i3tRoYGCclJ0A+PDg1MxYTFCAfHy0sLEdHRSIfIWdmZlhdXSMiImhnZxYcKHhXGfixANqbANqbANqbANmaANmaANmaANiaANeZANucANqcAN6aEN2aD9ucAPCqAMCMHxsaGjEyN+Li4v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wAA////68OT5rmD5f//bXGM9N/b////scPTio2Np5+ajIiSmaGroaCcjIeMmKSqo5OKnpWnssTanqKjQz49v6ul////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////48in4K9w/vny////////////////////////////////////////////////////////////////////////////////////////////////////u7q6GxkZJSIiTU5OQkZHNTM1UE5MGhgXOjc3KSUlLi0vOUFEMDAwZWNjEg8ShIF8////9/Pm9vPm9vPm9vPm9vPm9fLl9vPm///y2tbHp5yQjc6mtNO228zB0s2+tbSmISAgLSoq4uDi////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAD////rw5PdtIL///+QorxraWuyp5/79fS9yNDLwLj///+4wcnIv7f///+8xtDUybrByuSbmKz///vLys7+9vH////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////jyKfgr3D++fL////////////////////////////////////////////////////////////////////////////////////////////////////Av78aGRksKioeHR0lJylAPj5TUlIgHR1fXmAwMjU2MzEsKCYpJydiYWEoJSM4OTxvdHxjZ3BjZ25jZ25nanFcYGdHTFNUWF9ZXmVDRk9AQEo+X19LX2JeXGZaX2ZWVl4aGBc0MDDj4uL///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAP///+vDkd22g/////3//7bDzbuzsPv29f///////////////////////////////+/x++bh6f///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+PKq+CvcP758P///////////////////////////////////////////////////////////////////////////////////////////////////8rKyiAeICIhITQxLyMhIRMSEB4ZGSQiIj4/QzI0Nz49PUNGSCMhIV5cXDg2NgMCAgAAAAAAAAAAAAAAAAAAABAPD1ZUUiYjJSUjIzAuLAsJCQgAAQgAAgYEBA4ICgcAAhMRDzo4Nubm5v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wAA////68GP1qx57/P0+Pr/////////9vf68vT28/X38/X38/X38/X38/X38/X38vT29vf5+fz+8vX38/X38/X38/X38/X38/X38/X38/X38/X38/X38/X38/X38/X38/X38/X38/X38/X38/X38/X38/X38/X38/X38/X38/X38/X38/X38/X38/X38/X38/X38/X38/X38/X38/X38/X38/X38/X39Pb49v//2r+g36xp//jx////////////////////////////////////////////////////////////////////////////////////////////////////1dXVKCYmIR8fKyoqLDEyDAwMExkcGxkbFhIQGBQTKSgoJSYoLCoqWlhYOzk5EA0NGBUWFxQVFxQVFRMTAAAARkRE////mZeXcG5uj42LGxkZEhAQHRkcIR4eJSMfGBUUFBASQT8/6+rs////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAD////01rHLlE6+lGHBmWrBmWjBmWjBmWjBmWjBmWjBmWjBmWjBmWjBmWjBmWjBmWjBmWjBmWjBmWjBmWjBmWjBmWjBmWjBmWjBmWjBmWjBmWjBmWjBmWjBmWjBmWjBmWjBmWjBmWjBmWjBmWjBmWjBmWjBmWjBmWjBmWjBmWjBmWjBmWjBmWjBmWjBmWjBmWjBmWjBmWjBmWjBmWjBmWjBmWjBmWjBmWi/mGfCjUvpv4v///3////////////////////////////////////////////////////////////////////////////////////////////////////j4+MyMS8nJCMREhYlLjQXGBojLjQKBwU5NzUZGRksKio5NzciICBRUFBFRUUSDw8LBQYSCw0SDQ8SDw8PDg4WFBRHRUUrKSkMCgoYFhYWFBQWFBQUEhATEQ8PDgwODAwXEBNHRETy8fH///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAP////348fLVsO3Dj+zElOzFle3GlO3FlezFle3FlezFlezFlezFlezFle3Fle3FlezFlezFlezFlezFlezFle3FlezFlezFlezFlezFlezFlezFlezFlezFlezFlezFlezFlezFlezFlezFlezFlezFlezFlezFlezFlezFlezFlezFlezFlezFlezFlezFlezFlezFlezFlezFlezFlezFlezFlezFlevCkO7Lofrx4P////////////////////////////////////////////////////////////////////////////////////////////////////////b29j48PCMhISUiIiYlJRwZGiEeHhcUEz06OiUiJDEuMEhFRx8dHUA/Pz8+Pi8uLhkYFxQQEw8NDQ0MChIQEAwKCgAAAAQDAwsHBwoICBIRERIQEBIQDxUTEhsaGiYkJBkWF0A+Pvr6+v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////TEpKAAAAHhsbGxcYIR8fLi0tJCIiKCYmIh8fHx0dHx0dJyUlJSMjS0pKfHt7bGxqWVdXTEpKQT8/ODY2MS8vLSsrLSsrMC0tMi8vNjQ0Pzw8SkhGVFJSYWJgdHNzMi8vSEdH////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAD////Az9xrd4KHho7m2sb0//9eZnCekojHz9+MlJ6dkpKNiJKGgof/9emmu81ZUlfR0cyWn6mwr6yYmZu7vsGWm6j+7dz////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////BwMAnJSUTDxAODAwFAwMAAAAFAwEBAAAEAgIGAwMBAAAAAAAAAAAqKCh1dHaBgoKAgYF9fn57e3t5eHh2dnZ0dHR0dHR0dHR0c3N2dHZ4eHh6e3t9fX1+fn6GhoZ6e3vDwsL///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAP///5agqMizn73e62NHP2hvd2pjWO/i4nN/mmFiZGFbY3p/h35odczJyzdIXKeXhM7c3mlfWce4rWJ5ka+onsbL1P3y6P////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////j4+NPT07u7u6Ojo4+PjX9/f3R1dW5ubmppaWZmZmdmZnBvb3t5eZubm8XGxsnKyrq7u7S1tbGxsausrKipqampqaysrK+wsLO0tLe4uL2+vsbGxtLS0uHh4fr6+v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wAA////////3e79Gis8h2xXeoGPqKGet8jIqaenpa/CbWNunKasi4WMqqutc2eI///75vD1d3aFzcnGeYOh0rit////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAD////R3vYUFiuFdWD////M2etgbYNYWk6yr6WJlqmdioW0srRTZXJwa2SfmJtucn2mopWJjZxISVGGa2rh4eWEhZT/7tv///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAP///5iv01A9T7q8voqDiv///+Pl7PLp4v///+Df6efg3f////v+/+zv7fD2897Z2Pb//mhnZ7uijP/9//////Dv7//9+v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wAA////////ucbQhH6Gy8DC////////////////////////////////////////////8fr/tbS28+nd////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wAA + + 0 + + + + + -0 + 1.229166666666667 + 5.611108333333333 + 1.930555555555556 + 0.3101166666666667 + 0.9652777777777778 + 0.1550583333333333 + + + 1.930555555555556 + 0.1712277777777778 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #f5ff36 + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3101166666666665 + + + 1.930555555555556 + 0.3101166666666665 + + + 1.930555555555556 + 0 + + + 0 + 0 + + + 0 + 0.3101166666666665 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + <ng:view> </ng:view> + + + + -0 + 0.7638888888888888 + 1.819416666666666 + 0.02777777777777778 + 0.1666666666666667 + 0.01388888888888889 + 0.08333333333333333 + + + 0.02777777777777778 + 0.1666666666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.1666666666666667 + + + 0.02777777777777778 + 0.1666666666666667 + + + 0.02777777777777778 + 0 + + + 0 + 0 + + + 0 + 0.1666666666666667 + + + + 0 + + + + + -0 + 5.194444444444445 + 2.216038888888889 + 0.9583333333333334 + 0.3101166666666667 + 0.4791666666666667 + 0.1550583333333333 + + + 0.9583333333333334 + 0.3101166666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3101166666666665 + + + 0.9583333333333334 + 0.3101166666666665 + + + 0.9583333333333334 + 0 + + + 0 + 0 + + + 0 + 0.3101166666666665 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 1 + 0 + + 0.25 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Model + + + + -0 + 0.4444444444444444 + 1.562472222222222 + 0.6666666666666666 + 0.01388888888888889 + 0.3333333333333333 + 0.006944444444444444 + + + 0.111111111111111 + 1.56941666666667 + 0.777777777777778 + 1.56941666666667 + + + 4 + 0 + 2 + 2 + 1 + + + 0.6666666666666666 + 0.01388888888888889 + -0 + + + 2 + + + 9 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.01388888888888889 + + + 0.6666666666666666 + 0.01388888888888889 + + + + 0 + + + + + -0 + 8.597222222222221 + 2.224990277777778 + 0.6666666666666666 + 0.3280194444444444 + 0.3333333333333333 + 0.1640097222222222 + + + 0.6666666666666666 + 0.3280194444444444 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3280194444444441 + + + 0.6666666666666666 + 0.3280194444444441 + + + 0.6666666666666666 + 0 + + + 0 + 0 + + + 0 + 0.3280194444444441 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 1 + 0 + + 0.25 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + View + + + + -0 + 0.5277777777777778 + 7.236111111111111 + 0.6666666666666666 + 0.3055555555555556 + 0.3333333333333333 + 0.1527777777777778 + + + 0.6666666666666666 + 0.1666666666666667 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #fff82f + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 0.6666666666666666 + 0.3055555555555556 + + + 0.6666666666666666 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + <html> + + + + -0 + 0.625 + 2.861097222222222 + 0.75 + 0.3055555555555556 + 0.375 + 0.1527777777777778 + + + 0.75 + 0.1666666666666667 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #f5ff36 + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 0.75 + 0.3055555555555556 + + + 0.75 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + </body> + + + + -0 + 0.5694444444444444 + 2.437486111111111 + 0.75 + 0.3055555555555556 + 0.375 + 0.1527777777777778 + + + 0.75 + 0.1666666666666667 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #f5ff36 + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 0.75 + 0.3055555555555556 + + + 0.75 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + </html> + + + + -0 + 1.833333333333333 + 2.223972222222222 + 1.208333333333333 + 0.3055555555555556 + 0.6041666666666666 + 0.1527777777777778 + + + 1.208333333333333 + 0.3055555555555556 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 1.208333333333333 + 0.3055555555555556 + + + 1.208333333333333 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 1 + 0 + + 0.25 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Template + + + + -0 + 9.680555555555555 + 6.629701388888889 + 0.75 + 0.3101166666666667 + 0.375 + 0.1550583333333333 + + + 0.75 + 0.3101166666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3101166666666665 + + + 0.75 + 0.3101166666666665 + + + 0.75 + 0 + + + 0 + 0 + + + 0 + 0.3101166666666665 + + + + 0 + + + + + -0 + 9.680555555555555 + 5.890613194444445 + 0.7083333333333334 + 0.2396347222222222 + 0.3541666666666667 + 0.1198173611111111 + + + 0.7083333333333334 + 0.2396347222222222 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2396347222222222 + + + 0.7083333333333334 + 0.2396347222222222 + + + 0.7083333333333334 + 0 + + + 0 + 0 + + + 0 + 0.2396347222222222 + + + + 0 + + + + + -0 + 5.295138888888889 + 1.560710416666667 + 2.402777777777778 + 0.239634722222222 + 1.201388888888889 + 0.119817361111111 + + + 4 + 0 + 2 + 2 + 1 + + + 2.402777777777778 + 0.239634722222222 + -0 + + + 1 + + + 0 + + + + + -0 + 0.3333333333333333 + 0.1215791666666664 + 0.6666666666666666 + 0.01388888888888889 + 0.3333333333333333 + 0.006944444444444444 + + + 0 + 0.128523611111111 + 0.666666666666667 + 0.128523611111111 + + + 4 + 0 + 2 + 2 + 1 + + + 0.6666666666666666 + 0.01388888888888889 + -0 + + + 2 + + + 1 + 0.0277778 + #17ff1c + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.01388888888888889 + + + 0.6666666666666666 + 0.01388888888888889 + + + + 0 + + + + + -0 + 1.590277777777778 + 0.119817361111111 + 1.625 + 0.2396347222222222 + 0.8125 + 0.1198173611111111 + + + 1.625 + 0.1007458333333333 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.239634722222222 + + + 1.625 + 0.239634722222222 + + + 1.625 + 0 + + + 0 + 0 + + + 0 + 0.239634722222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Scope Inheritance + + + + + + -0 + 5.229166666666667 + 1.854166666666667 + 10.23611111111111 + 0.01388888888888889 + 5.118055555555555 + 0.006944444444444444 + + + 0.111111111111111 + 1.84722222222222 + 10.3472222222222 + 1.86111111111111 + + + 4 + 0 + 2 + 2 + 1 + + + 10.23611111111111 + 0.01388888888888889 + -0 + + + 2 + + + 1 + 0.0277778 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0 + + + 10.23611111111111 + 0.01388888888888889 + + + + 0 + + + + + -0 + 1.990447222222222 + 1.564238194444445 + 2.185777777777778 + 0.2396347222222222 + 1.092888888888889 + 0.1198173611111111 + + + 2.185777777777778 + 0.1007458333333333 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.239634722222222 + + + 2.185777777777778 + 0.239634722222222 + + + 2.185777777777778 + 0 + + + 0 + 0 + + + 0 + 0.239634722222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Implicit Scope Declaration + + + + -0 + 0.9930555555555556 + 6.279243055555556 + 1.541666666666667 + 0.7529305555555555 + 0.7708333333333334 + 0.3764652777777778 + + + 1.541666666666667 + 0.6140416666666666 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #f5ff36 + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.7529305555555558 + + + 1.541666666666667 + 0.7529305555555558 + + + 1.541666666666667 + 0 + + + 0 + 0 + + + 0 + 0.7529305555555558 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + <body + ng:controller= + "PhoneCatCtrl"> + + + + -0 + 1.673611111111111 + 4.108395833333334 + 2.819444444444445 + 1.966791666666667 + 1.409722222222222 + 0.9833958333333334 + + + 4 + 0 + 2 + 2 + 1 + + + 2.819444444444445 + 1.966791666666667 + -0 + + + 1 + + + 0 + + + + + -0 + 1.409722222222222 + 0.8904513888888886 + 2.819444444444445 + 1.780902777777778 + 1.409722222222222 + 0.8904513888888889 + + + 2.819444444444445 + 1.642013888888889 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #f5ff36 + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 1.780902777777778 + + + 2.819444444444445 + 1.780902777777778 + + + 2.819444444444445 + 0 + + + 0 + 0 + + + 0 + 1.780902777777778 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 0 + 0 + + 0.138889 + 0 + + + 0 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Search: +<input name="query"> +Sort by: +<select name= + "orderProp"> +<ul> +<li ng:repeat="phone in phones"> + {{phone.name}} + <p>{{phone.snippet}}</p> +</li>... + + + + -0 + 0.9986375000000002 + 1.863827083333333 + 1.985222222222222 + 0.2059291666666667 + 0.9926111111111111 + 0.1029645833333333 + + + 1.985222222222222 + 0.2059291666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #fffc47 + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.205929166666667 + + + 1.985222222222223 + 0.205929166666667 + + + 1.985222222222223 + 0 + + + 0 + 0 + + + 0 + 0.205929166666667 + + + + 0 + + + 0.0694444 + 0.0694444 + 2 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + phone-list.html + + + + + + -0 + 1.263888888888889 + 5.362715277777777 + 1.972222222222222 + 0.5755694444444445 + 0.9861111111111112 + 0.2877847222222222 + + + 4 + 0 + 2 + 2 + 1 + + + 1.972222222222222 + 0.5755694444444445 + -0 + + + 1 + + + 0 + + + + + -0 + 1.457129166666667 + 0.2816736111111109 + 1.030186111111111 + 0.5633472222222219 + 0.5150930555555555 + 0.2816736111111109 + + + 1.97222222222222 + 0 + 0.942036111111111 + 0.563347222222222 + + + 4 + 0 + 2 + 2 + 1 + + + 1.030186111111111 + 0.5633472222222219 + -0 + + + 2 + + + 23 + 0.0138889 + #505050 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 1.030186111111111 + 0 + + + 1.973729821555834e-16 + 0.5633472222222219 + + + + 0 + + + + + -0 + 0.405825 + 0.2938958333333331 + 0.81165 + 0.5633472222222223 + 0.405825 + 0.2816736111111112 + + + 0 + 0.0122222222222222 + 0.81165 + 0.575569444444444 + + + 4 + 0 + 2 + 2 + 1 + + + 0.81165 + 0.5633472222222223 + -0 + + + 2 + + + 23 + 0.0138889 + #505050 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 3.947459643111667e-16 + + + 0.81165 + 0.5633472222222227 + + + + 0 + + + + + -0 + 0.8768413888888887 + 0.5283881249999998 + 0.1303855555555556 + 0.07339041666666667 + 0.06519277777777778 + 0.03669520833333333 + + + 0.1303855555555556 + 0.06549847222222221 + -0 + + + 1 + + + 1 + 0.0138889 + #505050 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.07339041666666664 + + + 0.1303855555555558 + 0.07339041666666664 + + + 0.1303855555555558 + 0 + + + 0 + 0 + + + 0 + 0.07339041666666664 + + + + 0 + + + + + + + -0 + 5.305555555555555 + 6.25 + 1.875 + 1.002283333333333 + 0.9375 + 0.5011416666666667 + + + 4 + 0 + 2 + 2 + 1 + + + 1.875 + 1.002283333333333 + -0 + + + 1 + + + 0 + + + + + -0 + 0.9375 + 0.5011416666666667 + 1.875 + 1.002283333333333 + 0.9375 + 0.5011416666666667 + + + 4 + 0 + 2 + 2 + 1 + + + 1.875 + 1.002283333333333 + -0 + + + 1 + + + 0 + + + + + -0 + 0.9375 + 0.5011416666666667 + 1.875 + 1.002283333333333 + 0.9375 + 0.5011416666666667 + + + 1.5 + 0.5627094444444444 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #ffffff + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 1.600411875 + 0.8555019460166666 + + + 1.600411875 + 0.1467813873166668 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.2745881250000003 + 0.1467813873166668 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.2745881250000003 + 0.8555019460166666 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 1.600411875 + 0.8555019460166666 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + + + -0 + 0.9847243055555555 + 0.6591166666666667 + 1.146198611111111 + 0.2848277777777778 + 0.5730993055555555 + 0.1424138888888889 + + + 1.146198611111111 + 0.1459388888888889 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2848277777777777 + + + 1.146198611111111 + 0.2848277777777777 + + + 1.146198611111111 + 0 + + + 0 + 0 + + + 0 + 0.2848277777777777 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + PhoneCatCtrl +Scope + + + + + + -0 + 0.9938333333333331 + 0.3165326388888887 + 1.444722222222222 + 0.2396347222222222 + 0.7223611111111111 + 0.1198173611111111 + + + 1.444722222222222 + 0.1007458333333333 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2396347222222223 + + + 1.444722222222222 + 0.2396347222222223 + + + 1.444722222222222 + 0 + + + 0 + 0 + + + 0 + 0.2396347222222223 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 0 + 0 + + 0.152778 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + params: Object + + + + + + + -0 + 5.229166666666667 + 4.839697222222222 + 2.083333333333333 + 1.259688888888889 + 1.041666666666667 + 0.6298444444444444 + + + 1.666666666666667 + 0.7428933333333333 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #ffffff + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 1.778235416666667 + 1.075211230177778 + + + 1.778235416666667 + 0.1844776587111107 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.3050979166666663 + 0.1844776587111107 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.3050979166666663 + 1.075211230177778 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 1.778235416666667 + 1.075211230177778 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + + + -0 + 5.264897222222221 + 5.137402777777778 + 1.1531 + 0.4420555555555555 + 0.57655 + 0.2210277777777778 + + + 1.1531 + 0.3031666666666666 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.4420555555555552 + + + 1.1531 + 0.4420555555555552 + + + 1.1531 + 0 + + + 0 + 0 + + + 0 + 0.4420555555555552 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + PhoneListCtrl +Scope + + + + -0 + 5.278258333333333 + 4.489474305555556 + 1.370155555555556 + 0.2396347222222222 + 0.6850777777777778 + 0.1198173611111111 + + + 1.370155555555556 + 0.1007458333333333 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.239634722222222 + + + 1.370155555555556 + 0.239634722222222 + + + 1.370155555555556 + 0 + + + 0 + 0 + + + 0 + 0.239634722222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 0 + 0 + + 0.152778 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + phones: Array + + + + + -0 + 5.202030555555556 + 4.810599305555556 + 1.356588888888889 + 0.2396347222222222 + 0.6782944444444445 + 0.1198173611111111 + + + 1.356588888888889 + 0.1007458333333333 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.239634722222222 + + + 1.356588888888889 + 0.239634722222222 + + + 1.356588888888889 + 0 + + + 0 + 0 + + + 0 + 0.239634722222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 0 + 0 + + 0.152778 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + query: String + + + + + -0 + 5.318875 + 4.65429375 + 1.729166666666667 + 0.2396347222222222 + 0.8645833333333334 + 0.1198173611111111 + + + 1.729166666666667 + 0.1007458333333333 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.239634722222222 + + + 1.729166666666667 + 0.239634722222222 + + + 1.729166666666667 + 0 + + + 0 + 0 + + + 0 + 0.239634722222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 0 + 0 + + 0.152778 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + orderProp: String + + + + + -0 + 5.29925 + 7.215277777777778 + 1.097222222222222 + 0.5416666666666666 + 0.5486111111111112 + 0.2708333333333333 + + + 4 + 0 + 2 + 2 + 1 + + + 1.097222222222222 + 0.5416666666666666 + -0 + + + 1 + + + 0 + + + + + -0 + 0.5486111111111112 + 0.2708333333333333 + 1.097222222222222 + 0.5416666666666666 + 0.5486111111111112 + 0.2708333333333333 + + + 0.8777777777777778 + 0.2402777777777777 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #ffffff + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0.9365373194444442 + 0.4623412083333334 + + + 0.9365373194444442 + 0.07932545833333332 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.1606849027777781 + 0.07932545833333332 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.1606849027777781 + 0.4623412083333334 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 0.9365373194444442 + 0.4623412083333334 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + + + -0 + 0.580888194444444 + 0.2800576388888889 + 0.7486930555555555 + 0.2396347222222222 + 0.3743465277777778 + 0.1198173611111111 + + + 0.7486930555555555 + 0.1007458333333333 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2396347222222222 + + + 0.7486930555555552 + 0.2396347222222222 + + + 0.7486930555555552 + 0 + + + 0 + 0 + + + 0 + 0.2396347222222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Root Scope + + + + + + -0 + 5.094388888888889 + 3.3715 + 1.604166666666667 + 1.055555555555556 + 0.8020833333333334 + 0.5277777777777778 + + + 4 + 0 + 2 + 2 + 1 + + + 1.604166666666667 + 1.055555555555556 + -0 + + + 1 + + + 0 + + + + + -0 + 0.8020833333333334 + 0.5277777777777778 + 1.604166666666667 + 1.055555555555556 + 0.8020833333333334 + 0.5277777777777778 + + + 4 + 0 + 2 + 2 + 1 + + + 1.604166666666667 + 1.055555555555556 + -0 + + + 1 + + + 0 + + + + + -0 + 0.8020833333333334 + 0.5277777777777778 + 1.604166666666667 + 1.055555555555556 + 0.8020833333333334 + 0.5277777777777778 + + + 1.283333333333333 + 0.6 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #ffffff + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 1.369241270833333 + 0.9009726111111109 + + + 1.369241270833333 + 0.1545829444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.2349253958333332 + 0.1545829444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.2349253958333332 + 0.9009726111111109 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 1.369241270833333 + 0.9009726111111109 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + + + -0 + 0.7980201388888896 + 0.7277458333333331 + 1.120984722222222 + 0.4669805555555555 + 0.5604923611111111 + 0.2334902777777778 + + + 1.120984722222222 + 0.3280916666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.466980555555556 + + + 1.120984722222223 + 0.466980555555556 + + + 1.120984722222223 + 0 + + + 0 + 0 + + + 0 + 0.466980555555556 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Phone +Scope + + + + + + -0 + 0.8796062500000004 + 0.3442888888888894 + 1.365795833333333 + 0.3101166666666667 + 0.6828979166666667 + 0.1550583333333333 + + + 1.365795833333333 + 0.1712277777777778 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3101166666666665 + + + 1.365795833333334 + 0.3101166666666665 + + + 1.365795833333334 + 0 + + + 0 + 0 + + + 0 + 0.3101166666666665 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.152778 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + phone: Object + + + + + + -0 + 5.219388888888889 + 3.2465 + 1.604166666666667 + 1.055555555555556 + 0.8020833333333334 + 0.5277777777777778 + + + 4 + 0 + 2 + 2 + 1 + + + 1.604166666666667 + 1.055555555555556 + -0 + + + 1 + + + 0 + + + + + -0 + 0.8020833333333334 + 0.5277777777777778 + 1.604166666666667 + 1.055555555555556 + 0.8020833333333334 + 0.5277777777777778 + + + 4 + 0 + 2 + 2 + 1 + + + 1.604166666666667 + 1.055555555555556 + -0 + + + 1 + + + 0 + + + + + -0 + 0.8020833333333334 + 0.5277777777777778 + 1.604166666666667 + 1.055555555555556 + 0.8020833333333334 + 0.5277777777777778 + + + 1.283333333333333 + 0.6 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #ffffff + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 1.369241270833333 + 0.9009726111111109 + + + 1.369241270833333 + 0.1545829444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.2349253958333332 + 0.1545829444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.2349253958333332 + 0.9009726111111109 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 1.369241270833333 + 0.9009726111111109 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + + + -0 + 0.7980201388888896 + 0.7277458333333331 + 1.120984722222222 + 0.4669805555555555 + 0.5604923611111111 + 0.2334902777777778 + + + 1.120984722222222 + 0.3280916666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.466980555555556 + + + 1.120984722222223 + 0.466980555555556 + + + 1.120984722222223 + 0 + + + 0 + 0 + + + 0 + 0.466980555555556 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Phone +Scope + + + + + + -0 + 0.8796062500000004 + 0.3442888888888894 + 1.365795833333333 + 0.3101166666666667 + 0.6828979166666667 + 0.1550583333333333 + + + 1.365795833333333 + 0.1712277777777778 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3101166666666665 + + + 1.365795833333334 + 0.3101166666666665 + + + 1.365795833333334 + 0 + + + 0 + 0 + + + 0 + 0.3101166666666665 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.152778 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + phone: Object + + + + + + -0 + 5.344388888888889 + 3.1215 + 1.604166666666667 + 1.055555555555556 + 0.8020833333333334 + 0.5277777777777778 + + + 4 + 0 + 2 + 2 + 1 + + + 1.604166666666667 + 1.055555555555556 + -0 + + + 1 + + + 0 + + + + + -0 + 0.8020833333333334 + 0.5277777777777778 + 1.604166666666667 + 1.055555555555556 + 0.8020833333333334 + 0.5277777777777778 + + + 4 + 0 + 2 + 2 + 1 + + + 1.604166666666667 + 1.055555555555556 + -0 + + + 1 + + + 0 + + + + + -0 + 0.8020833333333334 + 0.5277777777777778 + 1.604166666666667 + 1.055555555555556 + 0.8020833333333334 + 0.5277777777777778 + + + 1.283333333333333 + 0.6 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #ffffff + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 1.369241270833333 + 0.9009726111111109 + + + 1.369241270833333 + 0.1545829444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.2349253958333332 + 0.1545829444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.2349253958333332 + 0.9009726111111109 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 1.369241270833333 + 0.9009726111111109 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + + + -0 + 0.7980201388888896 + 0.7277458333333331 + 1.120984722222222 + 0.4669805555555555 + 0.5604923611111111 + 0.2334902777777778 + + + 1.120984722222222 + 0.3280916666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.466980555555556 + + + 1.120984722222223 + 0.466980555555556 + + + 1.120984722222223 + 0 + + + 0 + 0 + + + 0 + 0.466980555555556 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Repeater +Scope + + + + + + -0 + 0.8796062500000004 + 0.3442888888888894 + 1.365795833333333 + 0.3101166666666667 + 0.6828979166666667 + 0.1550583333333333 + + + 1.365795833333333 + 0.1712277777777778 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3101166666666665 + + + 1.365795833333334 + 0.3101166666666665 + + + 1.365795833333334 + 0 + + + 0 + 0 + + + 0 + 0.3101166666666665 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.152778 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + phone: Object + + + + + + -0 + 2.805885524054618 + 7.226164370975842 + 3.875660069384813 + 0.0169220194373205 + 1.937830034692407 + 0.00846100971866025 + + + 0.868055489362211 + 7.2346253806945 + 4.74371555874702 + 7.21770336125718 + + + 4 + 0 + 2 + 0 + 1 + + + 3.875660069384813 + 0.0169220194373205 + -0 + + + 2 + + + 9 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.0169220194373205 + + + 3.875660069384813 + 0 + + + + 0 + + + + + -0 + 5.151888160921579 + 4.054761101557618 + 0.02513944473670588 + 0.298730820341217 + 0.01256972236835294 + 0.1493654101706085 + + + 5.13931843855323 + 3.90539569138701 + 5.16445788328993 + 4.20412651172823 + + + 4 + 0 + 2 + 0 + 1 + + + 0.02513944473670588 + 0.298730820341217 + -0 + + + 2 + + + 1 + 0.0138889 + #5aff7b + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0 + + + 0.02513944473670588 + 0.298730820341217 + + + + 0 + + + + + -0 + 5.228438107069905 + 3.99206960188764 + 0.01388888888888889 + 0.4216978578064001 + 0.006944444444444444 + 0.2108489289032001 + + + 5.22149366262546 + 3.78122067298444 + 5.22315355464146 + 4.20291853079084 + + + 4 + 0 + 2 + 0 + 1 + + + 0.01388888888888889 + 0.4216978578064001 + -0 + + + 2 + + + 1 + 0.0138889 + #53ff6f + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 7.894919286223335e-16 + + + 0.001659892016003855 + 0.4216978578064009 + + + + 0 + + + + + -0 + 5.290199670966526 + 3.929567262792597 + 0.03673163042542566 + 0.5477404766813202 + 0.01836581521271283 + 0.2738702383406601 + + + 5.30856548617924 + 3.65569702445194 + 5.27183385575381 + 4.20343750113326 + + + 4 + 0 + 2 + 0 + 1 + + + 0.03673163042542566 + 0.5477404766813202 + -0 + + + 2 + + + 1 + 0.0138889 + #4cff68 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0.03673163042542566 + 0 + + + 0 + 0.5477404766813202 + + + + 0 + + + + + -0 + 5.270857760924154 + 5.609136376563344 + 0.01441241873509035 + 0.2659915620119817 + 0.007206209367545174 + 0.1329957810059909 + + + 5.26365155155661 + 5.47614059555735 + 5.2780639702917 + 5.74213215756933 + + + 4 + 0 + 2 + 0 + 1 + + + 0.01441241873509035 + 0.2659915620119817 + -0 + + + 2 + + + 1 + 0.0138889 + #4aff64 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0 + + + 0.01441241873509035 + 0.2659915620119817 + + + + 0 + + + + + -0 + 5.308011186017498 + 6.84779229824726 + 0.01388888888888889 + 0.1794182353692171 + 0.006944444444444444 + 0.08970911768460857 + + + 5.30223819382752 + 6.75808318056265 + 5.30106674157305 + 6.93750141593187 + + + 4 + 0 + 2 + 0 + 1 + + + 0.01388888888888889 + 0.1794182353692171 + -0 + + + 2 + + + 1 + 0.0138889 + #4aff6d + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0.00117145225446475 + 0 + + + 0 + 0.1794182353692171 + + + + 0 + + + + + -0 + 6.294090277777777 + 5.3125 + 1.384041666666667 + 1.013888888888889 + 0.6920208333333334 + 0.5069444444444444 + + + 5.60206944444444 + 4.80555555555556 + 6.98611111111111 + 5.81944444444444 + + + 4 + 0 + 2 + 2 + 1 + + + 1.384041666666667 + 1.013888888888889 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + 4 + 1 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 7.894919286223335e-16 + 0 + + + 1.384041666666668 + 1.013888888888889 + + + + 0 + + + + + -0 + 6.506625 + 5.104166666666667 + 1.208333333333333 + 0.8472222222222222 + 0.6041666666666666 + 0.4236111111111111 + + + 5.90245833333333 + 4.68055555555556 + 7.11079166666667 + 5.52777777777778 + + + 4 + 0 + 2 + 2 + 1 + + + 1.208333333333333 + 0.8472222222222222 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0 + + + 1.208333333333333 + 0.8472222222222222 + + + + 0 + + + + + -0 + 7.123027777777779 + 3.736111111111111 + 2.185777777777778 + 0.6666666666666666 + 1.092888888888889 + 0.3333333333333333 + + + 6.03013888888889 + 3.40277777777778 + 8.21591666666667 + 4.06944444444444 + + + 4 + 0 + 2 + 2 + 1 + + + 2.185777777777778 + 0.6666666666666666 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + -7.894919286223335e-16 + 0 + + + 2.185777777777778 + 0.6666666666666666 + + + + 0 + + + + + -0 + 2.8125 + 7.324627083333334 + 1.319444444444444 + 0.2396347222222222 + 0.6597222222222222 + 0.1198173611111111 + + + 1.319444444444444 + 0.2396347222222222 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2396347222222222 + + + 1.319444444444444 + 0.2396347222222222 + + + 1.319444444444444 + 0 + + + 0 + 0 + + + 0 + 0.2396347222222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 2 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + ng:autobind + + + + -0 + 2.847222222222222 + 6.362654166666666 + 1.444444444444444 + 0.2083333333333333 + 0.7222222222222222 + 0.1041666666666667 + + + 1.444444444444444 + 0.2083333333333333 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2083333333333333 + + + 1.444444444444444 + 0.2083333333333333 + + + 1.444444444444444 + 0 + + + 0 + 0 + + + 0 + 0.2083333333333333 + + + + 0 + + + 0.0694444 + 0.0694444 + 2 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + ng:controller + + + + -0 + 3.750319444444445 + 3.824627083333334 + 1.111111111111111 + 0.2396347222222222 + 0.5555555555555556 + 0.1198173611111111 + + + 1.111111111111111 + 0.2396347222222222 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.239634722222222 + + + 1.111111111111111 + 0.239634722222222 + + + 1.111111111111111 + 0 + + + 0 + 0 + + + 0 + 0.239634722222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 2 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + ng:repeat + + + + -0 + 3.430972222222222 + 5.636208333333333 + 1.652777777777778 + 0.3055555555555556 + 0.8263888888888888 + 0.1527777777777778 + + + 1.652777777777778 + 0.3055555555555556 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 1.652777777777777 + 0.3055555555555556 + + + 1.652777777777777 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0.0694444 + 0.0694444 + 2 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + ng:view/$route + + + + -0 + 8.852430555555555 + 1.564238194444445 + 2.899305555555555 + 0.239634722222222 + 1.449652777777778 + 0.119817361111111 + + + 4 + 0 + 2 + 2 + 1 + + + 2.899305555555555 + 0.239634722222222 + -0 + + + 1 + + + 0 + + + + + -0 + 0.3333333333333333 + 0.05213472222222196 + 0.6666666666666666 + 0.01388888888888889 + 0.3333333333333333 + 0.006944444444444444 + + + 0 + 0.0590791666666664 + 0.666666666666667 + 0.0590791666666664 + + + 4 + 0 + 2 + 2 + 1 + + + 0.6666666666666666 + 0.01388888888888889 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.01388888888888889 + + + 0.6666666666666666 + 0.01388888888888889 + + + + 0 + + + + + -0 + 1.803819444444444 + 0.119817361111111 + 2.190972222222222 + 0.2396347222222222 + 1.095486111111111 + 0.1198173611111111 + + + 2.190972222222222 + 0.1007458333333333 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.239634722222222 + + + 2.190972222222222 + 0.239634722222222 + + + 2.190972222222222 + 0 + + + 0 + 0 + + + 0 + 0.239634722222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Model / View Data-binding + + + + -0 + 0.3333333333333333 + 0.177134722222222 + 0.6666666666666666 + 0.01388888888888889 + 0.3333333333333333 + 0.006944444444444444 + + + 0 + 0.184079166666666 + 0.666666666666667 + 0.184079166666666 + + + 4 + 0 + 2 + 2 + 1 + + + 0.6666666666666666 + 0.01388888888888889 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.01388888888888889 + + + 0.6666666666666666 + 0.01388888888888889 + + + + 0 + + + + + + + -0 + 3.066009463535502 + 6.265186319425279 + 2.590352579714118 + 0.01756522542891778 + 1.295176289857059 + 0.008782612714458892 + + + 1.77083317367844 + 6.27396893213974 + 4.36118575339256 + 6.25640370671082 + + + 4 + 0 + 2 + 0 + 1 + + + 2.590352579714118 + 0.01756522542891778 + -0 + + + 2 + + + 9 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + -1.973729821555834e-16 + 0.01756522542891759 + + + 2.590352579714118 + -1.973729821555834e-16 + + + + 0 + + + + + -0 + 3.703217339899409 + 3.63338318066376 + 1.226118862027115 + 0.2308137559103819 + 0.6130594310135573 + 0.1154068779551909 + + + 3.09015790888585 + 3.74879005861895 + 4.31627677091297 + 3.51797630270857 + + + 4 + 0 + 2 + 0 + 1 + + + 1.226118862027115 + 0.2308137559103819 + -0 + + + 2 + + + 9 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 3.947459643111667e-16 + 0.2308137559103819 + + + 1.226118862027115 + 0 + + + + 0 + + + + + -0 + 3.770390093476393 + 3.560735634905035 + 1.360540142176885 + 0.2950520974210546 + 0.6802700710884427 + 0.1475260487105273 + + + 3.09012002238795 + 3.70826168361556 + 4.45066016456484 + 3.41320958619451 + + + 4 + 0 + 2 + 0 + 1 + + + 1.360540142176885 + 0.2950520974210546 + -0 + + + 2 + + + 9 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 3.947459643111667e-16 + 0.2950520974210546 + + + 1.360540142176886 + 0 + + + + 0 + + + + + -0 + 3.83766110071635 + 3.488435888002701 + 1.495161046883225 + 0.3641196145253652 + 0.7475805234416126 + 0.1820598072626826 + + + 3.09008057727474 + 3.67049569526538 + 4.58524162415796 + 3.30637608074002 + + + 4 + 0 + 2 + 0 + 1 + + + 1.495161046883225 + 0.3641196145253652 + -0 + + + 2 + + + 9 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 3.947459643111667e-16 + 0.364119614525366 + + + 1.495161046883226 + 7.894919286223335e-16 + + + + 0 + + + + + -0 + 7.039614887410005 + 4.214364760237857 + 2.380381336291102 + 1.26571492396873 + 1.190190668145551 + 0.632857461984365 + + + 5.84942421926445 + 3.58150729825349 + 8.22980555555556 + 4.84722222222222 + + + 4 + 0 + 2 + 0 + 1 + + + 2.380381336291102 + 1.26571492396873 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0 + + + 2.380381336291102 + 1.26571492396873 + + + + 0 + + + + + -0 + 6.896454383180321 + 4.613348741364981 + 2.484869011417137 + 1.71238585060337 + 1.242434505708568 + 0.8561929253016852 + + + 5.65401987747175 + 3.7571558160633 + 8.13888888888889 + 5.46954166666667 + + + 4 + 0 + 2 + 0 + 1 + + + 2.484869011417137 + 1.71238585060337 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0 + + + 2.484869011417137 + 1.71238585060337 + + + + 0 + + + + + -0 + 3.229491308611573 + 5.357158293893066 + 2.070093728334257 + 0.5356834122138672 + 1.035046864167128 + 0.2678417061069336 + + + 2.19444444444444 + 5.625 + 4.2645381727787 + 5.08931658778613 + + + 4 + 0 + 2 + 0 + 1 + + + 2.070093728334257 + 0.5356834122138672 + -0 + + + 2 + + + 9 + 0.0277778 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.5356834122138676 + + + 2.070093728334257 + 3.947459643111667e-16 + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + 0 + 1 + 0 + 12 + 52 + 0.5 + + + diff --git a/images/docs/tutorial/tutorial_08-09.graffle/image10.png b/images/docs/tutorial/tutorial_08-09.graffle/image10.png deleted file mode 100644 index 8b80d67cddd4..000000000000 Binary files a/images/docs/tutorial/tutorial_08-09.graffle/image10.png and /dev/null differ diff --git a/images/docs/tutorial/tutorial_08-09.vdx b/images/docs/tutorial/tutorial_08-09.vdx new file mode 100644 index 000000000000..2b734d8eebaa --- /dev/null +++ b/images/docs/tutorial/tutorial_08-09.vdx @@ -0,0 +1,6220 @@ + + + + 12 + 52 + + + 7.68056 + 10.5 + 1 + 0.25 + 0.25 + 0.25 + 0.569444 + 1 + 1 + + + + + + + + + + + + + + 0.111111 + 0.111111 + + + 1 + 1 + 10.5 + 7.68056 + 3 + 0 + -0.0277778 + + + Layer 1 + 1 + 1 + 0 + + + + + + -0 + 1 + 1 + 5.042458333333333 + 4.759652777777777 + 3 + 5.619583333333334 + 1.5 + 2.809791666666667 + + + 3 + 5.480694444444445 + -0 + + + 1 + + + 1 + 0.0138889 + #4fff75 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 5.619583333333334 + + + 3 + 5.619583333333334 + + + 3 + 0 + + + 0 + 0 + + + 0 + 5.619583333333334 + + + + 0 + + + + + -0 + 4.861430555555556 + 3.218722222222222 + 1.604166666666667 + 1.055555555555556 + 0.8020833333333334 + 0.5277777777777778 + + + 4 + 0 + 2 + 2 + 1 + + + 1.604166666666667 + 1.055555555555556 + -0 + + + 1 + + + 0 + + + + + -0 + 0.8020833333333334 + 0.5277777777777778 + 1.604166666666667 + 1.055555555555556 + 0.8020833333333334 + 0.5277777777777778 + + + 4 + 0 + 2 + 2 + 1 + + + 1.604166666666667 + 1.055555555555556 + -0 + + + 1 + + + 0 + + + + + -0 + 0.8020833333333334 + 0.5277777777777778 + 1.604166666666667 + 1.055555555555556 + 0.8020833333333334 + 0.5277777777777778 + + + 1.283333333333333 + 0.6 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #ffffff + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 1.369241270833333 + 0.9009726111111109 + + + 1.369241270833333 + 0.1545829444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.2349253958333332 + 0.1545829444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.2349253958333332 + 0.9009726111111109 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 1.369241270833333 + 0.9009726111111109 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + + + -0 + 0.7980201388888888 + 0.7277458333333331 + 1.120984722222222 + 0.4669805555555555 + 0.5604923611111111 + 0.2334902777777778 + + + 1.120984722222222 + 0.3280916666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.466980555555556 + + + 1.120984722222223 + 0.466980555555556 + + + 1.120984722222223 + 0 + + + 0 + 0 + + + 0 + 0.466980555555556 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Phone +Scope + + + + + + -0 + 0.8796062499999996 + 0.3442888888888894 + 1.365795833333333 + 0.3101166666666667 + 0.6828979166666667 + 0.1550583333333333 + + + 1.365795833333333 + 0.1712277777777778 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3101166666666665 + + + 1.365795833333334 + 0.3101166666666665 + + + 1.365795833333334 + 0 + + + 0 + 0 + + + 0 + 0.3101166666666665 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.152778 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + phone: Object + + + + + + -0 + 1.159722222222222 + 5.513886111111111 + 1.930555555555556 + 0.3101166666666667 + 0.9652777777777778 + 0.1550583333333333 + + + 1.930555555555556 + 0.1712277777777778 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #f5ff36 + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3101166666666665 + + + 1.930555555555556 + 0.3101166666666665 + + + 1.930555555555556 + 0 + + + 0 + 0 + + + 0 + 0.3101166666666665 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + <ng:view> </ng:view> + + + + -0 + 1.764673611111111 + 4.758674444444444 + 3.307125 + 5.621555555555556 + 1.6535625 + 2.810777777777778 + + + 3.307125 + 5.482666666666667 + -0 + + + 1 + + + 1 + 0.0138889 + #f8ff29 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 5.621555555555556 + + + 3.307125 + 5.621555555555556 + + + 3.307125 + 0 + + + 0 + 0 + + + 0 + 5.621555555555556 + + + + 0 + + + + + -0 + 0.7638888888888888 + 1.736083333333333 + 0.02777777777777778 + 0.1666666666666667 + 0.01388888888888889 + 0.08333333333333333 + + + 0.02777777777777778 + 0.1666666666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.1666666666666667 + + + 0.02777777777777778 + 0.1666666666666667 + + + 0.02777777777777778 + 0 + + + 0 + 0 + + + 0 + 0.1666666666666667 + + + + 0 + + + + + -0 + 5.072597222222222 + 3.257705555555555 + 0.9583333333333334 + 0.3101166666666667 + 0.4791666666666667 + 0.1550583333333333 + + + 0.9583333333333334 + 0.3101166666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3101166666666665 + + + 0.9583333333333334 + 0.3101166666666665 + + + 0.9583333333333334 + 0 + + + 0 + 0 + + + 0 + 0.3101166666666665 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 0 + 0 + + 0.25 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Model + + + + -0 + 0.4444444444444444 + 1.479138888888889 + 0.6666666666666666 + 0.01388888888888889 + 0.3333333333333333 + 0.006944444444444444 + + + 0.111111111111111 + 1.48608333333333 + 0.777777777777778 + 1.48608333333333 + + + 4 + 0 + 2 + 2 + 1 + + + 0.6666666666666666 + 0.01388888888888889 + -0 + + + 2 + + + 9 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.01388888888888889 + + + 0.6666666666666666 + 0.01388888888888889 + + + + 0 + + + + + -0 + 1 + 1 + 8.5 + 4.759659722222223 + 3.638888888888889 + 5.619569444444444 + 1.819444444444444 + 2.809784722222222 + + + 3.638888888888889 + 5.480680555555555 + -0 + + + 1 + + + 1 + 0.0138889 + #2222ff + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 5.619569444444444 + + + 3.638888888888889 + 5.619569444444444 + + + 3.638888888888889 + 0 + + + 0 + 0 + + + 0 + 5.619569444444444 + + + + 0 + + + + + -0 + 8.513888888888889 + 2.113879166666667 + 0.6666666666666666 + 0.3280194444444444 + 0.3333333333333333 + 0.1640097222222222 + + + 0.6666666666666666 + 0.3280194444444444 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3280194444444441 + + + 0.6666666666666666 + 0.3280194444444441 + + + 0.6666666666666666 + 0 + + + 0 + 0 + + + 0 + 0.3280194444444441 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 0 + 0 + + 0.25 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + View + + + + -0 + 0.5277777777777778 + 7.208333333333333 + 0.6666666666666666 + 0.3055555555555556 + 0.3333333333333333 + 0.1527777777777778 + + + 0.6666666666666666 + 0.1666666666666667 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #fff82f + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 0.6666666666666666 + 0.3055555555555556 + + + 0.6666666666666666 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + <html> + + + + -0 + 0.5972222222222222 + 2.958319444444445 + 0.75 + 0.3055555555555556 + 0.375 + 0.1527777777777778 + + + 0.75 + 0.1666666666666667 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #f5ff36 + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 0.75 + 0.3055555555555556 + + + 0.75 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + </body> + + + + -0 + 0.5694444444444444 + 2.534708333333334 + 0.75 + 0.3055555555555556 + 0.375 + 0.1527777777777778 + + + 0.75 + 0.1666666666666667 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #f5ff36 + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 0.75 + 0.3055555555555556 + + + 0.75 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + </html> + + + + -0 + 1.986111111111111 + 2.098972222222222 + 1.208333333333333 + 0.3055555555555556 + 0.6041666666666666 + 0.1527777777777778 + + + 1.208333333333333 + 0.3055555555555556 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 1.208333333333333 + 0.3055555555555556 + + + 1.208333333333333 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 0 + 0 + + 0.25 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Template + + + + -0 + 9.680555555555555 + 6.546368055555556 + 0.75 + 0.3101166666666667 + 0.375 + 0.1550583333333333 + + + 0.75 + 0.3101166666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3101166666666665 + + + 0.75 + 0.3101166666666665 + + + 0.75 + 0 + + + 0 + 0 + + + 0 + 0.3101166666666665 + + + + 0 + + + + + -0 + 9.680555555555555 + 5.807279861111111 + 0.7083333333333334 + 0.2396347222222222 + 0.3541666666666667 + 0.1198173611111111 + + + 0.7083333333333334 + 0.2396347222222222 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2396347222222222 + + + 0.7083333333333334 + 0.2396347222222222 + + + 0.7083333333333334 + 0 + + + 0 + 0 + + + 0 + 0.2396347222222222 + + + + 0 + + + + + -0 + 5.159722222222222 + 1.480904861111111 + 2.402777777777778 + 0.239634722222222 + 1.201388888888889 + 0.119817361111111 + + + 4 + 0 + 2 + 2 + 1 + + + 2.402777777777778 + 0.239634722222222 + -0 + + + 1 + + + 0 + + + + + -0 + 0.3333333333333333 + 0.1215791666666664 + 0.6666666666666666 + 0.01388888888888889 + 0.3333333333333333 + 0.006944444444444444 + + + 0 + 0.128523611111111 + 0.666666666666667 + 0.128523611111111 + + + 4 + 0 + 2 + 2 + 1 + + + 0.6666666666666666 + 0.01388888888888889 + -0 + + + 2 + + + 1 + 0.0277778 + #17ff1c + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.01388888888888889 + + + 0.6666666666666666 + 0.01388888888888889 + + + + 0 + + + + + -0 + 1.590277777777778 + 0.119817361111111 + 1.625 + 0.2396347222222222 + 0.8125 + 0.1198173611111111 + + + 1.625 + 0.1007458333333333 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.239634722222222 + + + 1.625 + 0.239634722222222 + + + 1.625 + 0 + + + 0 + 0 + + + 0 + 0.239634722222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Scope Inheritance + + + + + + -0 + 5.229166666666667 + 1.770833333333333 + 10.23611111111111 + 0.01388888888888889 + 5.118055555555555 + 0.006944444444444444 + + + 0.111111111111111 + 1.76388888888889 + 10.3472222222222 + 1.77777777777778 + + + 4 + 0 + 2 + 2 + 1 + + + 10.23611111111111 + 0.01388888888888889 + -0 + + + 2 + + + 1 + 0.0277778 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0 + + + 10.23611111111111 + 0.01388888888888889 + + + + 0 + + + + + -0 + 1.990447222222222 + 1.480904861111111 + 2.185777777777778 + 0.2396347222222222 + 1.092888888888889 + 0.1198173611111111 + + + 2.185777777777778 + 0.1007458333333333 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.239634722222222 + + + 2.185777777777778 + 0.239634722222222 + + + 2.185777777777778 + 0 + + + 0 + 0 + + + 0 + 0.239634722222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Implicit Scope Declaration + + + + -0 + 0.9652777777777778 + 6.154243055555556 + 1.541666666666667 + 0.7529305555555555 + 0.7708333333333334 + 0.3764652777777778 + + + 1.541666666666667 + 0.6140416666666666 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #f5ff36 + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.7529305555555558 + + + 1.541666666666667 + 0.7529305555555558 + + + 1.541666666666667 + 0 + + + 0 + 0 + + + 0 + 0.7529305555555558 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + <body + ng:controller= + "PhoneCatCtrl"> + + + + -0 + 1.541666666666667 + 4.0945 + 2.666666666666667 + 1.772361111111111 + 1.333333333333333 + 0.8861805555555554 + + + 4 + 0 + 2 + 2 + 1 + + + 2.666666666666667 + 1.772361111111111 + -0 + + + 1 + + + 0 + + + + + -0 + 1.333333333333333 + 0.8024236111111106 + 2.666666666666667 + 1.604847222222222 + 1.333333333333333 + 0.8024236111111112 + + + 2.666666666666667 + 1.465958333333333 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #f5ff36 + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 1.604847222222222 + + + 2.666666666666667 + 1.604847222222222 + + + 2.666666666666667 + 0 + + + 0 + 0 + + + 0 + 1.604847222222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + img ng:src="{{phone.images}} +<h1> {{phone.name}} </h1> +... +<ul class="specs"> + <li ng:repeat="img in + phone.images"> + <img ng:src="{{img}}"/> + </li> +</ul> +... + + + + -0 + 0.9974277777777777 + 1.679575694444444 + 1.983513888888889 + 0.1855708333333334 + 0.9917569444444444 + 0.09278541666666668 + + + 1.983513888888889 + 0.1855708333333334 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #fffc47 + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.1855708333333336 + + + 1.983513888888889 + 0.1855708333333336 + + + 1.983513888888889 + 0 + + + 0 + 0 + + + 0 + 0.1855708333333336 + + + + 0 + + + 0.0694444 + 0.0694444 + 2 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + phone-detail.html + + + + + + -0 + 1.679351388888889 + 5.245493055555555 + 1.030186111111111 + 0.5633472222222219 + 0.5150930555555555 + 0.2816736111111109 + + + 2.19444444444444 + 4.96381944444444 + 1.16425833333333 + 5.52716666666667 + + + 4 + 0 + 2 + 2 + 1 + + + 1.030186111111111 + 0.5633472222222219 + -0 + + + 2 + + + 23 + 0.0138889 + #505050 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 1.030186111111111 + 0 + + + 1.973729821555834e-16 + 0.5633472222222219 + + + + 0 + + + + + -0 + 0.6280472222222222 + 5.257715277777778 + 0.81165 + 0.5633472222222223 + 0.405825 + 0.2816736111111112 + + + 0.222222222222222 + 4.97604166666667 + 1.03387222222222 + 5.53938888888889 + + + 4 + 0 + 2 + 2 + 1 + + + 0.81165 + 0.5633472222222223 + -0 + + + 2 + + + 23 + 0.0138889 + #505050 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 3.947459643111667e-16 + + + 0.81165 + 0.5633472222222227 + + + + 0 + + + + + -0 + 1.099063611111111 + 5.492207569444444 + 0.1303855555555556 + 0.07339041666666667 + 0.06519277777777778 + 0.03669520833333333 + + + 0.1303855555555556 + 0.06549847222222221 + -0 + + + 1 + + + 1 + 0.0138889 + #505050 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.07339041666666664 + + + 0.1303855555555558 + 0.07339041666666664 + + + 0.1303855555555558 + 0 + + + 0 + 0 + + + 0 + 0.07339041666666664 + + + + 0 + + + + + -0 + 5.183708333333333 + 6.125 + 1.875 + 1.002283333333333 + 0.9375 + 0.5011416666666667 + + + 4 + 0 + 2 + 2 + 1 + + + 1.875 + 1.002283333333333 + -0 + + + 1 + + + 0 + + + + + -0 + 0.9375 + 0.5011416666666667 + 1.875 + 1.002283333333333 + 0.9375 + 0.5011416666666667 + + + 4 + 0 + 2 + 2 + 1 + + + 1.875 + 1.002283333333333 + -0 + + + 1 + + + 0 + + + + + -0 + 0.9375 + 0.5011416666666667 + 1.875 + 1.002283333333333 + 0.9375 + 0.5011416666666667 + + + 1.5 + 0.5627094444444444 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #ffffff + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 1.600411875 + 0.8555019460166666 + + + 1.600411875 + 0.1467813873166668 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.2745881250000003 + 0.1467813873166668 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.2745881250000003 + 0.8555019460166666 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 1.600411875 + 0.8555019460166666 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + + + -0 + 0.9847243055555555 + 0.6591166666666667 + 1.146198611111111 + 0.2848277777777778 + 0.5730993055555555 + 0.1424138888888889 + + + 1.146198611111111 + 0.1459388888888889 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2848277777777777 + + + 1.146198611111111 + 0.2848277777777777 + + + 1.146198611111111 + 0 + + + 0 + 0 + + + 0 + 0.2848277777777777 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + PhoneCatCtrl +Scope + + + + + + -0 + 0.9938333333333339 + 0.3165326388888887 + 1.444722222222222 + 0.2396347222222222 + 0.7223611111111111 + 0.1198173611111111 + + + 1.444722222222222 + 0.1007458333333333 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2396347222222222 + + + 1.444722222222222 + 0.2396347222222222 + + + 1.444722222222222 + 0 + + + 0 + 0 + + + 0 + 0.2396347222222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 1 + 0 + + 0.152778 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + params: Object + + + + + + + -0 + 5.162875 + 4.714697222222222 + 2.083333333333333 + 1.259688888888889 + 1.041666666666667 + 0.6298444444444444 + + + 1.666666666666667 + 0.7428933333333333 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #ffffff + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 1.778235416666667 + 1.075211230177778 + + + 1.778235416666667 + 0.1844776587111107 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.3050979166666663 + 0.1844776587111107 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.3050979166666663 + 1.075211230177778 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 1.778235416666667 + 1.075211230177778 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + + + -0 + 5.180197222222223 + 4.901291666666667 + 1.356588888888889 + 0.4420555555555555 + 0.6782944444444445 + 0.2210277777777778 + + + 1.356588888888889 + 0.3031666666666666 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.4420555555555552 + + + 1.356588888888889 + 0.4420555555555552 + + + 1.356588888888889 + 0 + + + 0 + 0 + + + 0 + 0.4420555555555552 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + PhoneDetailCtrl +Scope + + + + -0 + 5.1703 + 4.614474305555556 + 1.370155555555556 + 0.2396347222222222 + 0.6850777777777778 + 0.1198173611111111 + + + 1.370155555555556 + 0.1007458333333333 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.239634722222222 + + + 1.370155555555556 + 0.239634722222222 + + + 1.370155555555556 + 0 + + + 0 + 0 + + + 0 + 0.239634722222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 1 + 0 + + 0.152778 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + phone: Object + + + + + -0 + 5.149625 + 7.1875 + 1.097222222222222 + 0.5416666666666666 + 0.5486111111111112 + 0.2708333333333333 + + + 4 + 0 + 2 + 2 + 1 + + + 1.097222222222222 + 0.5416666666666666 + -0 + + + 1 + + + 0 + + + + + -0 + 0.5486111111111112 + 0.2708333333333333 + 1.097222222222222 + 0.5416666666666666 + 0.5486111111111112 + 0.2708333333333333 + + + 0.8777777777777778 + 0.2402777777777777 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #ffffff + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0.9365373194444442 + 0.4623412083333334 + + + 0.9365373194444442 + 0.07932545833333332 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.1606849027777781 + 0.07932545833333332 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.1606849027777781 + 0.4623412083333334 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 0.9365373194444442 + 0.4623412083333334 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + + + -0 + 0.580888194444444 + 0.2800576388888889 + 0.7486930555555555 + 0.2396347222222222 + 0.3743465277777778 + 0.1198173611111111 + + + 0.7486930555555555 + 0.1007458333333333 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2396347222222222 + + + 0.7486930555555552 + 0.2396347222222222 + + + 0.7486930555555552 + 0 + + + 0 + 0 + + + 0 + 0.2396347222222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Root Scope + + + + + + -0 + 4.986430555555556 + 3.093722222222222 + 1.604166666666667 + 1.055555555555556 + 0.8020833333333334 + 0.5277777777777778 + + + 4 + 0 + 2 + 2 + 1 + + + 1.604166666666667 + 1.055555555555556 + -0 + + + 1 + + + 0 + + + + + -0 + 0.8020833333333334 + 0.5277777777777778 + 1.604166666666667 + 1.055555555555556 + 0.8020833333333334 + 0.5277777777777778 + + + 4 + 0 + 2 + 2 + 1 + + + 1.604166666666667 + 1.055555555555556 + -0 + + + 1 + + + 0 + + + + + -0 + 0.8020833333333334 + 0.5277777777777778 + 1.604166666666667 + 1.055555555555556 + 0.8020833333333334 + 0.5277777777777778 + + + 1.283333333333333 + 0.6 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #ffffff + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 1.369241270833333 + 0.9009726111111109 + + + 1.369241270833333 + 0.1545829444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.2349253958333332 + 0.1545829444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.2349253958333332 + 0.9009726111111109 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 1.369241270833333 + 0.9009726111111109 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + + + -0 + 0.7980201388888888 + 0.7277458333333331 + 1.120984722222222 + 0.4669805555555555 + 0.5604923611111111 + 0.2334902777777778 + + + 1.120984722222222 + 0.3280916666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.466980555555556 + + + 1.120984722222223 + 0.466980555555556 + + + 1.120984722222223 + 0 + + + 0 + 0 + + + 0 + 0.466980555555556 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Phone +Scope + + + + + + -0 + 0.8796062499999996 + 0.3442888888888894 + 1.365795833333333 + 0.3101166666666667 + 0.6828979166666667 + 0.1550583333333333 + + + 1.365795833333333 + 0.1712277777777778 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3101166666666665 + + + 1.365795833333334 + 0.3101166666666665 + + + 1.365795833333334 + 0 + + + 0 + 0 + + + 0 + 0.3101166666666665 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.152778 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + phone: Object + + + + + + -0 + 5.111430555555556 + 2.968722222222222 + 1.604166666666667 + 1.055555555555556 + 0.8020833333333334 + 0.5277777777777778 + + + 4 + 0 + 2 + 2 + 1 + + + 1.604166666666667 + 1.055555555555556 + -0 + + + 1 + + + 0 + + + + + -0 + 0.8020833333333334 + 0.5277777777777778 + 1.604166666666667 + 1.055555555555556 + 0.8020833333333334 + 0.5277777777777778 + + + 4 + 0 + 2 + 2 + 1 + + + 1.604166666666667 + 1.055555555555556 + -0 + + + 1 + + + 0 + + + + + -0 + 0.8020833333333334 + 0.5277777777777778 + 1.604166666666667 + 1.055555555555556 + 0.8020833333333334 + 0.5277777777777778 + + + 1.283333333333333 + 0.6 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #ffffff + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 1.369241270833333 + 0.9009726111111109 + + + 1.369241270833333 + 0.1545829444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.2349253958333332 + 0.1545829444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.2349253958333332 + 0.9009726111111109 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 1.369241270833333 + 0.9009726111111109 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + + + -0 + 0.7980201388888888 + 0.7277458333333331 + 1.120984722222222 + 0.4669805555555555 + 0.5604923611111111 + 0.2334902777777778 + + + 1.120984722222222 + 0.3280916666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.466980555555556 + + + 1.120984722222223 + 0.466980555555556 + + + 1.120984722222223 + 0 + + + 0 + 0 + + + 0 + 0.466980555555556 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Phone +Scope + + + + + + -0 + 0.8796062499999996 + 0.3442888888888894 + 1.365795833333333 + 0.3101166666666667 + 0.6828979166666667 + 0.1550583333333333 + + + 1.365795833333333 + 0.1712277777777778 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3101166666666665 + + + 1.365795833333334 + 0.3101166666666665 + + + 1.365795833333334 + 0 + + + 0 + 0 + + + 0 + 0.3101166666666665 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.152778 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + phone: Object + + + + + + -0 + 5.250319444444445 + 2.843722222222222 + 1.604166666666667 + 1.055555555555556 + 0.8020833333333334 + 0.5277777777777778 + + + 4 + 0 + 2 + 2 + 1 + + + 1.604166666666667 + 1.055555555555556 + -0 + + + 1 + + + 0 + + + + + -0 + 0.8020833333333334 + 0.5277777777777778 + 1.604166666666667 + 1.055555555555556 + 0.8020833333333334 + 0.5277777777777778 + + + 4 + 0 + 2 + 2 + 1 + + + 1.604166666666667 + 1.055555555555556 + -0 + + + 1 + + + 0 + + + + + -0 + 0.8020833333333334 + 0.5277777777777778 + 1.604166666666667 + 1.055555555555556 + 0.8020833333333334 + 0.5277777777777778 + + + 1.283333333333333 + 0.6 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #ffffff + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 1.369241270833333 + 0.9009726111111109 + + + 1.369241270833333 + 0.1545829444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.2349253958333332 + 0.1545829444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.2349253958333332 + 0.9009726111111109 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 1.369241270833333 + 0.9009726111111109 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + + + -0 + 0.7980201388888888 + 0.7277458333333331 + 1.120984722222222 + 0.4669805555555555 + 0.5604923611111111 + 0.2334902777777778 + + + 1.120984722222222 + 0.3280916666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.466980555555556 + + + 1.120984722222223 + 0.466980555555556 + + + 1.120984722222223 + 0 + + + 0 + 0 + + + 0 + 0.466980555555556 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Repeater +Scope + + + + + + -0 + 0.8796062499999996 + 0.3442888888888894 + 1.365795833333333 + 0.3101166666666667 + 0.6828979166666667 + 0.1550583333333333 + + + 1.365795833333333 + 0.1712277777777778 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3101166666666665 + + + 1.365795833333334 + 0.3101166666666665 + + + 1.365795833333334 + 0 + + + 0 + 0 + + + 0 + 0.3101166666666665 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.152778 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + img: Object + + + + + + -0 + 2.731073725526453 + 7.198401807156336 + 3.726036481038607 + 0.0167953964085912 + 1.863018240519304 + 0.008397698204295602 + + + 0.86805548500715 + 7.20679950536063 + 4.59409196604576 + 7.19000410895204 + + + 4 + 0 + 2 + 0 + 1 + + + 3.726036481038607 + 0.0167953964085912 + -0 + + + 2 + + + 9 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 1.973729821555834e-16 + 0.0167953964085912 + + + 3.726036481038608 + 0 + + + + 0 + + + + + -0 + 5.069205945452243 + 3.853177297248017 + 0.04929047140888956 + 0.4522346401341856 + 0.02464523570444478 + 0.2261173200670928 + + + 5.0445607097478 + 3.62705997718092 + 5.09385118115669 + 4.07929461731511 + + + 4 + 0 + 2 + 0 + 1 + + + 0.04929047140888956 + 0.4522346401341856 + -0 + + + 2 + + + 1 + 0.0138889 + #5aff7b + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0 + + + 0.04929047140888956 + 0.4522346401341856 + + + + 0 + + + + + -0 + 5.135666552191406 + 3.790676543080121 + 0.01694452989396527 + 0.574667085926569 + 0.008472264946982635 + 0.2873335429632845 + + + 5.12719428724442 + 3.50334300011684 + 5.14413881713839 + 4.07801008604341 + + + 4 + 0 + 2 + 0 + 1 + + + 0.01694452989396527 + 0.574667085926569 + -0 + + + 2 + + + 1 + 0.0138889 + #53ff6f + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0 + + + 0.01694452989396527 + 0.574667085926569 + + + + 0 + + + + + -0 + 5.208965975287322 + 3.728177031220726 + 0.03272799430306369 + 0.6999759038410573 + 0.01636399715153184 + 0.3499879519205287 + + + 5.22532997243885 + 3.3781890793002 + 5.19260197813579 + 4.07816498314125 + + + 4 + 0 + 2 + 0 + 1 + + + 0.03272799430306369 + 0.6999759038410573 + -0 + + + 2 + + + 1 + 0.0138889 + #4cff68 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0.03272799430306369 + 0 + + + 0 + 0.6999759038410573 + + + + 0 + + + + + -0 + 5.179245784302349 + 5.484195196164101 + 0.01388888888888889 + 0.2654692080529198 + 0.006944444444444444 + 0.1327346040264599 + + + 5.1723013398579 + 5.35146059213764 + 5.17623121882888 + 5.61692980019056 + + + 4 + 0 + 2 + 0 + 1 + + + 0.01388888888888889 + 0.2654692080529198 + -0 + + + 2 + + + 1 + 0.0138889 + #4aff64 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0 + + + 0.003929878970971067 + 0.2654692080529198 + + + + 0 + + + + + -0 + 5.165481259346875 + 6.771384511269155 + 0.01388888888888889 + 0.2767498151937452 + 0.006944444444444444 + 0.1383749075968726 + + + 5.16741369220575 + 6.63300960367228 + 5.15853681490243 + 6.90975941886603 + + + 4 + 0 + 2 + 0 + 1 + + + 0.01388888888888889 + 0.2767498151937452 + -0 + + + 2 + + + 1 + 0.0138889 + #4aff6d + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0.00887687730331916 + 0 + + + 0 + 0.2767498151937452 + + + + 0 + + + + + -0 + 5.22601388888889 + 2.102955555555555 + 0.9583333333333334 + 0.3101166666666667 + 0.4791666666666667 + 0.1550583333333333 + + + 0.9583333333333334 + 0.3101166666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3101166666666665 + + + 0.9583333333333334 + 0.3101166666666665 + + + 0.9583333333333334 + 0 + + + 0 + 0 + + + 0 + 0.3101166666666665 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 0 + 0 + + 0.25 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Model + + + + -0 + 2.423611111111111 + 7.338515972222222 + 1.319444444444444 + 0.2396347222222222 + 0.6597222222222222 + 0.1198173611111111 + + + 1.319444444444444 + 0.2396347222222222 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2396347222222222 + + + 1.319444444444444 + 0.2396347222222222 + + + 1.319444444444444 + 0 + + + 0 + 0 + + + 0 + 0.2396347222222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 2 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + ng:autobind + + + + -0 + 2.696013888888889 + 6.256944444444445 + 1.444444444444444 + 0.2083333333333333 + 0.7222222222222222 + 0.1041666666666667 + + + 1.444444444444444 + 0.2083333333333333 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2083333333333333 + + + 1.444444444444444 + 0.2083333333333333 + + + 1.444444444444444 + 0 + + + 0 + 0 + + + 0 + 0.2083333333333333 + + + + 0 + + + 0.0694444 + 0.0694444 + 2 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + ng:controller + + + + -0 + 3.638888888888889 + 3.782988194444445 + 1.111111111111111 + 0.2396347222222222 + 0.5555555555555556 + 0.1198173611111111 + + + 1.111111111111111 + 0.2396347222222222 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.239634722222222 + + + 1.111111111111111 + 0.239634722222222 + + + 1.111111111111111 + 0 + + + 0 + 0 + + + 0 + 0.239634722222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 2 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + ng:repeat + + + + -0 + 3.329361111111111 + 5.496486111111111 + 1.652777777777778 + 0.3055555555555556 + 0.8263888888888888 + 0.1527777777777778 + + + 1.652777777777778 + 0.3055555555555556 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 1.652777777777778 + 0.3055555555555556 + + + 1.652777777777778 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0.0694444 + 0.0694444 + 2 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + ng:view/$route + + + + -0 + 8.877777777777778 + 1.480904861111111 + 2.899305555555555 + 0.239634722222222 + 1.449652777777778 + 0.119817361111111 + + + 4 + 0 + 2 + 2 + 1 + + + 2.899305555555555 + 0.239634722222222 + -0 + + + 1 + + + 0 + + + + + -0 + 0.3333333333333333 + 0.05213472222222196 + 0.6666666666666666 + 0.01388888888888889 + 0.3333333333333333 + 0.006944444444444444 + + + 0 + 0.0590791666666664 + 0.666666666666667 + 0.0590791666666664 + + + 4 + 0 + 2 + 2 + 1 + + + 0.6666666666666666 + 0.01388888888888889 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.01388888888888889 + + + 0.6666666666666666 + 0.01388888888888889 + + + + 0 + + + + + -0 + 1.803819444444444 + 0.119817361111111 + 2.190972222222222 + 0.2396347222222222 + 1.095486111111111 + 0.1198173611111111 + + + 2.190972222222222 + 0.1007458333333333 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.239634722222222 + + + 2.190972222222222 + 0.239634722222222 + + + 2.190972222222222 + 0 + + + 0 + 0 + + + 0 + 0.239634722222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Model / View Data-binding + + + + -0 + 0.3333333333333333 + 0.177134722222222 + 0.6666666666666666 + 0.01388888888888889 + 0.3333333333333333 + 0.006944444444444444 + + + 0 + 0.184079166666666 + 0.666666666666667 + 0.184079166666666 + + + 4 + 0 + 2 + 2 + 1 + + + 0.6666666666666666 + 0.01388888888888889 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.01388888888888889 + + + 0.6666666666666666 + 0.01388888888888889 + + + + 0 + + + + + + + -0 + 2.99119865033105 + 6.140198746792429 + 2.496286523267455 + 0.01730502862622529 + 1.248143261633728 + 0.008652514313112647 + + + 1.74305538869732 + 6.14885126110554 + 4.23934191196478 + 6.13154623247932 + + + 4 + 0 + 2 + 0 + 1 + + + 2.496286523267455 + 0.01730502862622529 + -0 + + + 2 + + + 9 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 1.973729821555834e-16 + 0.01730502862622529 + + + 2.496286523267456 + 0 + + + + 0 + + + + + -0 + 3.491101061355174 + 3.545652169261154 + 1.218692394248101 + 0.2907523983907454 + 0.6093461971240504 + 0.1453761991953727 + + + 2.88175486423112 + 3.69102836845653 + 4.10044725847922 + 3.40027597006578 + + + 4 + 0 + 2 + 0 + 1 + + + 1.218692394248101 + 0.2907523983907454 + -0 + + + 2 + + + 9 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.2907523983907462 + + + 1.218692394248101 + 7.894919286223335e-16 + + + + 0 + + + + + -0 + 3.558849747941347 + 3.473755006492709 + 1.354278031108768 + 0.360518152548763 + 0.6771390155543838 + 0.1802590762743815 + + + 2.88171073238696 + 3.65401408276709 + 4.23598876349573 + 3.29349593021833 + + + 4 + 0 + 2 + 0 + 1 + + + 1.354278031108768 + 0.360518152548763 + -0 + + + 2 + + + 9 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + -3.947459643111667e-16 + 0.360518152548763 + + + 1.354278031108767 + 0 + + + + 0 + + + + + -0 + 3.626526942964235 + 3.402167739245505 + 1.489721397032968 + 0.4348529638749707 + 0.744860698516484 + 0.2174264819374853 + + + 2.88166624444775 + 3.61959422118299 + 4.37138764148072 + 3.18474125730802 + + + 4 + 0 + 2 + 0 + 1 + + + 1.489721397032968 + 0.4348529638749707 + -0 + + + 2 + + + 9 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + -3.947459643111667e-16 + 0.4348529638749707 + + + 1.489721397032967 + 0 + + + + 0 + + + + + -0 + 3.700762639187988 + 3.331329554784668 + 1.638276841622546 + 0.5155247466368265 + 0.8191384208112731 + 0.2577623733184132 + + + 2.88162421837671 + 3.58909192810308 + 4.51990105999926 + 3.07356718146625 + + + 4 + 0 + 2 + 0 + 1 + + + 1.638276841622546 + 0.5155247466368265 + -0 + + + 2 + + + 9 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 3.947459643111667e-16 + 0.5155247466368265 + + + 1.638276841622546 + 0 + + + + 0 + + + + + -0 + 3.166511322457508 + 5.241095694732106 + 2.069133756026126 + 0.5455863883135643 + 1.034566878013063 + 0.2727931941567822 + + + 2.13194444444444 + 5.51388888888889 + 4.20107820047057 + 4.96830250057532 + + + 4 + 0 + 2 + 0 + 1 + + + 2.069133756026126 + 0.5455863883135643 + -0 + + + 2 + + + 9 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.5455863883135648 + + + 2.069133756026126 + 3.947459643111667e-16 + + + + 0 + + + + + -0 + 8.486895833333334 + 4.75 + 3.307125 + 4 + 1.6535625 + 2 + + + 3.307125 + 3.861111111111111 + -0 + + + 1 + + + 9 + 0.0138889 + #5b62ff + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 4 + + + 3.307125000000001 + 4 + + + 3.307125000000001 + 0 + + + 0 + 0 + + + 0 + 4 + + + + 0 + 0 + 3.30713 + 4 + + Qk0AAAAAAAAAADYAAAAoAAAA/AAAACABAAABABgAAAAAAIBSAwAAAAAAAAAAAAAAAAAAAAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7fH2qKep19HM4OHjqqen1dXXra+y7+nm////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wsLMVFRjtra6xsHEbGFpSEtUcHN02NLR////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////pqu2a2dxgo6Yo52Tv7e5mJeid4KHx8S4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2N/k0M3L3uDg4OHf+Pb0////6+3v+/n2////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////yMfH+/r87vL14+De////3eLp2tnV////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4uzyeXJ1hIaJZ15rY2Vlb2de////xs7VfYCHgHt6////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////h6O4QTQo////paGmcHF5WV5ew8C5pKWlNTc7joN7////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ztvlUlJUuLaz6ezsbXeDKztBZmtkRzkvWk1M29HM////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////6O7zra6s2NjW1NbYvb7A4+De//7+y8zO19XS////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////xMvVlJehoqitnpKSnJeWs7KtoqOmjYyIv7S0+ff5////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////tLrHjpGWhJSkcWRosKagb29xPUVXXmRpnJWM9Orl////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////rLbAb2hlsK+zvbe6pqOojYN9zcbLsrzJlZOO/fjx////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8/X1oaGk5dvW////sbK0+/Hr////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////5+72qamptLKwsrG3xMXHu7q4qq2wzsvI5uflmpugurm5qaim+PLt0dbbycO82N7fmZiW1MvG////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////5PX6Tk1BTUNIKjRNjo6GdGJdOkBUeHB31NTQAgodRkFGSjk8urq6P0tbZmFYXltWNzAyfXJw////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+f//Z2hei316SE1dqaWlbWVlXFJSXF5ooZWReHx8l5KRg4WIbGlrcXJ/fX5+kYyLOTlBh3h1////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4O33T1BQ1cKz8O/t9vb4f4+lWE5H6unk7evt+fr2////+f3/7ero//z8////////Z3N9loZ7////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9/f7+Pj4/v39////////////9/j4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8fL109TW5OHe////8e/v5ujq39zb8/T209LS8vLw7u7y2dXY///96u3359/c////0tHR3d7c7evo////0Nbb0c3M5uTi6+3t5OTm8e7r////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////t8PNlY+ImpeVk5WYm5+ulY+Ugn+Bampqq6eiuLjCZ2Nqq6mpkZmfnZaVwr65ko+RenJ1io2Yrquq////c4Wbe3V0zMzI3uHfj5CazsG3////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////0NzimZaPfn2BoJ2fmaW3pqCbq6eucWx0kpubfHqAal9pq7CzY2p4o5qTrbCuZ1palI2XbHCCtqqq/v7+////xcXN9u7r////paiy3NDO////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ucbQam9ohnh1s6+2jJCV19nP5+Pg6eruvsPGqaqqyMHExMPH7+nm3OLnzsjHy83PaGVxgnl76+Ld9fj7tL/LbGNo5NPL+v//iYSL39DG////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////6u3wx8jK7Ofe8fP14N3b////////////////////////////////////////////6evt//z3/////v//wMfRwr65/////f//4t/d+vfy//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////78///////////////////////////////////9/////////////////////////////////////////v//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////3ej1fn58koyHpKexnKWrjYmJamVol5icj42IzszKjpejlY6HjH+JpqWnkY+Zt66zoqOjY2Vvg4aRnZSP++/j////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////5fX/S1ZYQzo4YVtpjZysTUlHRj1BKi48ODY8c3F2X2R0ZVxOTEJHAAIUYWJlZmp3VEY8X2FwLz9ebl1O/+7d////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////3+/+OkRKHxgPgIeMb3yRopmGp6WlxcHGpauzhIuScXNzu7avl5GUy8nLoqevubKzhIiLTFFYKCk3s6ig//78////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4uvzm5qap6GawsnMra+y////////////////////6e3w/////////////////////f//qLK4v7ev////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9v/+wcHD////xsvWraKiy8vLkZOWoJ+jpqqrrqOjqJ6evLm+rquxxsbGur7Dvbm2m5yaqKSk+fj6////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ycnNv7+/+fj4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ucvbLiku/P//np+no5qVLCkyi4WKl5uqbHB5bWJnsKOZbmZrj5aecYCPhHuAkYuQTUlMe3hz3tfU////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////5enwvrzC7+7rw8fO4NbWwMjQlpiazs7M6evlxsXH2NHM6vD3tbOz////9/j6srKywr+6+fr2lJKkZmJhtras5ebpucHIwby5+PHs////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8vn8bWtrmIyIytHY3d7empGRuLK3kaCtk42Ou7nBq6arjouImYuGpqSqrqyyl5ecrZ6XwsHLfYGB5uPe////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////xMvOXmJlYmFrsKmzubasjpSZeIGJ19TP7+/qlJaju6ql3e79gXyB////wMbVkZSfgoiLtamhtLO/gHV1rauto6q6i5eqno2G9OLV////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////1eTsjYWC+fj2p6ms//jw/f39////0d3nsKil////////ucHIqKKh//34////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ytTeQUVKW1JZ29Tdq7aw1c26xcnZzr+/////nqKvzb243u/8nJWa////x9HhXmR2rqefwsHBoqGneHBzs6+2o67Afnp9qpiQ/fn0///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////zdLfh4KQwr7Dqa61uLGsxMjLbmt11cvF////qKas3M7E2OPvq6Ce////wsrSkoyJ/Pjz3eLryMfJ7u/t////w8LK29PL8u/u////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////0dXYxL65////////ycvN7OLd8/n/z8/N2djaxsDD9/f1w8XF5uLd2t7jysXCzMzMwsC+xMrRq6Sh///9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9/b4////9fj6//v4////8O/t////////////////////////////+vr6////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////lZywjHt68ff6t7e50M/FZGRmam12mqKff25nqKOgZmlzq6mvr7a7j4WFf3x+R0hLkIuGxsXH087H////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////6e3w2trY19XV//v48Pf6397a////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////vsHYuKuz/P//yMjKwM7TWldUlJeagoKAurCuoJqZc3SBg4mWlpmZvrCtsKuug4ONd36B49zS////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////nay/mY6Mqq20vK+jsL/PNTdHVVlU9+/lmK3IWVBX////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2+LpdnWAcGx019HI////X2x8p5GF+///UU1M7Obd2dXVv8PIgXx76ebh0trijoaD0MrJ3d/i/Pv3////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////W2p3UUhDOkJKp5aFt7rFY2Z4UF5kvLOfpq+/d290////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8vX46url5efn7uvp////9fXz////////+Pr8//36////+Pv9////////9fj76+3t////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////1uXyQD09cHV6QUZH1sq7fnd8c3+MQ0pNkYx/bXN6ppyc////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////5ePp////////5ubo//787+/v7ezs+/r69PT46urq////8/X39vTx9PX1///76e/2xL2/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4+vzzczM29ze2tvb6+ni09HR1tne0dHPycnJzc3R6ejq//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////78////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////1t3gtbq/pJ6Zq52YfYSOcm5zbmVs1M/Sn6OjzM3Hp6WypZSZe4KVlZeXuLCtt6ykpqepsqyl////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+vj2/////////////////f7++/z6////+vn7/////////f3//////P39///9/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7++/z8////8vX49/j4////////7u/v/////////////f///f39////////+vr6////1dXf39va//78////+vr6/////////////f/9///////9////+Pr9/////fr37vb9kJCU//ft////+Pv+1NTc//r1////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8PHzn66ziIZ/mIqMj4yWb2x4bGhwqKyzl5udoKeiqaCln5OVgYebnqSzsqqta2Vku66r/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////f7+19/muLa0oKWqfoSJtbKvtbvAw767/v78uLzDnZaTkZSZrKuvzcvLpqWvkYyLl4+S0c3Moqmsua+q////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////sbzJs7Ck1tTgjoiSzc/NnpmZwr/Etr7IkpCQ6ebjoamwxrux////o56l+Pf3dX2F7OTY2+XvnqCrtrSxwbiw09bY0dLQyMnJ6OnnyNLYuLCwqKKjq66zxcjLsqyllo+MqaisxMvSi5CbtqyivL7ApqCfnpudxb++////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////1d3tNjRIsqies7i/qqOm09HR2NjYr7a3UFVYpamieXWHsZ6Ux8rNzNXhbnF2p5qM+/j1////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////5Ov1anOGaGBZ3drYxMvVxMXFUF5riH5y/v78sbS/gHV6RUNOqa2wc4CLhHh2qaCgY1lghouSVV9pt6ij////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////tsbVgoV+lZCXo5WX5e/qXVhVkIiFnqKj+fPs8+PomJ2mdnZy5eXgxMXHV15sdXFw///7oq+1sK2h////g4WKtqie////ztHWmaKwoa2rkImErKafiJidXlxitKqchH6BiZSpcXuDrKSflZKSQURLl4qHxsfMpJ6m////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9fb40tTbwry7///6////////////////0NLV5ePhwcPN7ePe/////P//4t/a////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+/z+rr/Pe21q9PPviYiSj4qYR1dvmoV0////goyeeWdk2tPVs7W8r62rztHM1M7Rs7S2goyMqJ+f/fT0////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////p7jIcnJtiIaQoZecjZOgXEtDwczUd35//Pjt3MzUjI2QQVJbh4B5+PftPj1H1L+z////ydPYu7q1kZemOTMy9ezi7/DznqWvlJagdnZ2j4JzqbvETUM+5eHhV1xhcGZmbGx0t7Wwq7Cxq6ajsK+v2c/PsbS+xLm5////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8/f6n52nzsnG////////////////////+/r//Pv7////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9f7+zsvJ6+nmq6qs0s/My8/e2c/R////wcLF/fXu////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////xM3Vw8C529vltK+23dnet7Czv8bOsrKu6ejkxcTGtra0oaar1M7N/f3/zM3Q//jx////////8/DuxcXJpqWn//r17vH0jo+SvbWu7uvp3tzctLnAs66p////r7S3paCZ//32////////////////+v7/1dTU//76////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2+Lnrqyy0MnEu7W2lZaZq66xtLi/amJxko5/vsDCi4uLs6+sv73DqK2wpJyZ9unf////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////0t3q2NXS////////////////////////////////////////////////8vX6/v39////////////////////////////////7Ozs////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8PT7////////////////////////////////////////////////7vT84NjV////////8vX67u3x////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////6+zqo7S5bmNdpJGLWlZmeXqJrKuzh4OKpp2VqqaySUZOgH97hYmUrKal9fTw//78////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+/7/t7vAwr+95+jts7zCk5COnZeUpKirsbK3wry3xsXDjo6OwLu4wsnRp6KfydHWgoWP4drV////wsjNjY+UoKars7K0ubOyp6ept7m8r66p5N7X/P3/t7nEnJeanJ2ivL7BuLq8mZOUnJaTs7GvsrnGpaSoqKOg4t7b////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ydHZxMG829ritK+2x8vMwLu61tbas7SwpZ6f6enpxs7V1s3F////wLy8////o6qy7ebc7PT+sayz3N3d5eTi/f7+rrW6mJueuLa0x8O+5dvb0djivcDAxcPBxby1q7O7aWRn3NTM0tTStrnEsayv+PLr////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////3+X0QURYpp+K0c/RlZCYhICFxb2/xs3Un5qZhoCFopqhkpmahomOs6mp////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8fn+wcjPQEVMNzxJhY2bendrBQABICIyVWJ4fndsRjIiMTA0aHB+lY+WNS0olZmZaXN/n4p5////cHWFNzpNIzJTYFpfblpHRkFJAA0oMCketqmc5u/1r6OXgXuFDhMogYGBXWFrQDs6AgAAhH5/HjNHm39qusXLmZKL////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////pLXFenpymJWdgXF45+/oWVVUa2JkkZyYw8HDmpOddHV4gHlw+v75o6Kqh4+ZUlRX9vDprbvFv7Wp9P3/pKOl/vz1xczRfIWNqqqm3OHeUk9PXVxgn6ahqJmUlo6La2p1rLPAl5mbUU5OurWuu7q+0MG8////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4ObupKGtzMTBzc3P7u7s////////////////8vX3////////0NPdtbGw//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7/dHyEOywlkZiia3R8xsCtcWxplY+SZnaFn5SOraOeOkFScnR+eXF+X0xAfICFbnV4vbWr////ZXF8XlxefICPhIOLfHdwb2lmgoiQbG54tKia+vz8m5WQp56eT1FgfH6AkY6MsLKsc2pqpaSmWF5j4NDBnKWtraKc////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////u8rZgoaBkIySu6+zq7K8aFtRwsfKnqen////i3+LhHZxZXiBnZiT7u/pHyIvvqyf////s7/FmZuU///9o6Or5dbR////zdbkwr/Hm6SnbGBYn6exfXhzpaGpeW9vi4qMi46Tmp2ihoGE39vbqqq14NLN////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////3N/izc3L////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////mZeZnY+M0M/VwsfE7+zn////////9fX3/fv7////k6Kxd3d6goCG5NTH////////+/z8////z9bboqmxsq2s+vz++Pv9+/r4////////////////wsTJ2M/H/v378vPz////////////////////5u/1tbS2+PPw////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////r7vGrKmdysvXnpqisq64oZKRwcvXkJGPmZSRwr69s7i5gYyUsqio/Pr3oaGk9+vh////+vz+wsTJoJueeXd73tPN9vv8eoGRtbCzf3196NbJ7fn/dnl8p6Cb4tjQ////5eXl//78////0dbdycbE///9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2N7jqqmp9fby4uTmx8XHxsnMxMC/x8fJztDQdnGBbmpnw8bBuri6z9bbpqKh/fjx////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7PDx//z3/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////vz8/////P/////9////9fb2////9vX3/////////P//////////////////////////////////7O3v/////////////f3//v35////5ufn////4eLk9/Dr/////////////////////v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wc3Yg39+ubm3m52bm4uKn5ykWmV4WlFYn6OqvbSvhnh/nZaYfoeObWttysnL1NHM/v34////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7fH219TS////5+rtzM7Q8fDt3tzi6eHc////yMjK29vb3t7g6+rl9PDt//7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2trc+fbz9vr7/////P//19HW////19ng+fLv////3t7g5uXj4N/h4N/dwMfP8O7r6Ovt4dzZ////4+Li////193i7+vm////1Njbl5aW/Pv2nqe3mo6G////y87Q2Nnb4+Pl////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////jp6rj4J4////eneJdWZjjI6RhoCImJObiI2YtaWgwLu+e3N4lJCadYCGzsm+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4evzrri2mZGO4dnSwcnRiYePdH6Ip5+awsC5h36DdG10bGx5yMbIqLO4fG5p//rz/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////P//e3yH8ODTv8zXwsXIysnVmZCQjYqSkJGgtrOw////dH6GuLmxmJapm4qDv9DZkoSBbWlnlZOM////lZeiwMLHVl9n4tXG3OXzvLCwtbi6pZyX4ufwm5ujbHJ6fXt2ysTJ3tza////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////3ebulZKXn56eqKOg6+rm1dfX6uXi////2tvd7OXg////3tza////5ufq+Pbz////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////1eTvbnd3mJKI3tbR197wb2l3gH+Jtra0oqSigXRsr6arfYCQjZadZ21yoZOR////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////paey79/U////mai9up+g5e7gGxMb6OHmm6mn////n667lp2YlY+W3tbZm6izoJWHtLO3f4yPvLyy4uHfMz9Qlol/////tMHTe3+Ol5OapJaUmZeZiIeNXF5rgISEq6un6ubm////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4N/f////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////eICNh3xy////p7DAdGps+PHu3ePqz8jK8fTt39zc4uLkusHCzMjF+PL1////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8/j9l4+R1svJo6u5d3l8nJCSn5ychoOLjpKds6yp////c32Hqauhko6alY6YXF5z0Ma8naasYXF8ioB+/PXtfH6F2ce9////3ObrmZui493c9vb0yMvNubWz9/Ty0NbbzM3N4uHh////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////29ra////7fT519bW4OLlwL29/ffy////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////3d/i///97O3t/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////P3/9PHu/P3/v8TM1M/I8fX419TW////0tTZ+vPu////2dra6efl3d7h7urn7/T31tHU6Orqy8vN8O3r/////Pz/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////3OXvlZSWoKCewLyvo667ZWtwy8zMuLKt/vjv////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+vv9////+/v7////////////+/z6////////+/v7/////v76/////////////////////v//////////9vf5/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////f379vb2/////f7+////7e/x//36////9vT2////////////7u7w////////8vL0+/z+8/Pz/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v////////////////////78////////////////+/z6////////9vb2//7++fv9+ff0////+fv+/fr4////+vn5////0s/U+vbx+fr6+Pj4/vz89/j4/////f39/////////Pv7+///0s/R/v35////////////////////////////////////////////////////////////////////////////////////////////////jp2sj4N5////Zl1q69jL09vp49vb////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8PX6YWBk3c3AvcfRPTo/dHV6gIuVdHl+RkBFvrKq////rLzJZWBf9PPxiZemZ11fenR8k5qilJykaGBZp52R////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2eTunJeX4N/ap661vbq6vby40tHRvry6oaKmycbDzdHUnaClz83Ip52fnaOrsrSyl5CJp6iqqKmr6+Pb////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ztPam5WWub3AhIeSioGDraurs7Cwko6NdXB1yb25/f//jo6M3t7inp2sv7WppqittK+0j46O8+XW6/f/r6ao3+fsf4KCxsTB5uPh/v//rK6xv7/HvcHQuLCtw8LEko2VzNPYp6Og+/TthZesdXZ25efnpaSo0czLoKa2w7+/wcHFoJWav8bNop6b/vz6////////////////////////////////////////////////////////////////////////////////////////////////ws7Zg3x/t7a0i4aN3tvWaGh3uaql////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////SEth/urbxc/XAAAASEJQkp+yMj1NIxcO6eHe////u9DoV0pU////cn+SKhceIh4sVlpjRlpuGRcWX1BJ7+Xd////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4O77xr/EnpyZb3uApKKg9vTvk5Sfj4qJW2BhhoSCYWd1ioeC9vv2R0hLY2JkycG5qqCWeHt9bXaA49jM////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////sbTDdnuKfYKFYVxma2ZylJGTj4SHfG1tgnyEua+0////eoCFmJmZioGM7uffcX6GlomGmp6hlZKI5+rqwcPITU9WnJKM5efq8e3s5+rsf4qPIio6y7OytMjJTjY1xsjNkZaR////////4unura2y8vT3wsTGi3+Lx8LOhZ2nfl9bwsfCm5aN////////////////////////////////////////////////////////////////////////////////////////////////////////////2N7jq6qo//704ez4paKi/vny////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8vT+vMPQSkdPj4F+y9DVnpqVoKa1QFVuV1hYt6qi6+bl4+XsbXiUTkpSycfFc3R5loyHkJKVkJGUvby6wMXMk5CQ9PDr////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ydjloZSUzMzOQUFGzce2uMbVhHlxq6mxLCY07+LWlqKyuqumc4SNjXdpyNfkXVVSnpaMQEhLeHV9/fbu////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////oqq4UUtOysS9xsXLxL7Dra+ytaie5+boYWd1sqCZ/v//YWVokpSUioCEpJ6oLCk5393Yk5ycNT9FnJOM6/b0RDs9//3z1drh8erlq7W9dnh6ZnJ8no2OpK6uaVhdmJigpKKd////9/n809zheXB3w7/Erayupp2ioKOyi5abhnRzmJeXsaql////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////6unv6+jo////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9/r/pq26pqKfjYyM7+rl////7ff9lJ+ntbKv////////3uTskI6WrK2twMC8wLq7///6////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4ufsycG+////19rf4d7ewcnTxcO+6OjovLfD+vLv7/P00s/Pra+x7OLY/v//qqyuv7q10NHR7+7p////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////yMrK6+La////////////////////////3uHk3NPO/f//r66s5ubou7m/2M/PtLTB1NTYvcC+o6Wn7eTf/v//0tLU////////////8fPzray05+PgytPZy8G77O/0o6Cl9fDt////+/39sr3Kn5eX6+rsz8nK/Pz6rrW93tXP3uXsqqOl+/n7////////////////////////////////////////////////////////////////////////////////////////////////////////0dvjuby+2dTToJ+fure0wMTLyMG+vcHErqGc////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9/X3////////////////////////////////////////////////////////////////////////////////8fj/6efp////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////z9XY1MzO/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Pn+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8/X3orCzUEZEeG9lzsa1xMnYrqWo+vv59vb0////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+/3/rKu30c7QuLe709PPpqiq8+3m3eTruK2x7/DyqKm06uDe////xsjLuLKxu7u/mZul6NzS////pKqvsa+s3d3Zv8DLt7S6sbO48+vk////////////////////////////////////////////////////////////////////////////////////////////xM7Wm5ubtLGvm5ecwcTGuru/oZ+dw763sru+zsfC3ODlmJebuLu+pqOjmpKNkZWYyMXC+Pr8r7S33djVy8vTp6yvuba4vbG2qq6z0s/M1trdg4GDh5SaKzc5eWlmraajtK2m////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7O/yz83L9vf3ub/O2M3L5Ojrsamu2uHonZmW/Pr3yM/XxMC96enrwLu+4+Tms7S/5uDf1dvixrm7x83UopmW////t7zDzsfE5+ro5eDZ/fv5o6Cq7evrwsnRyb2////9////p6is3dbO0dPYu7u/wsLG///2////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+Pz9NDY5wrKtbHqHpZOAvL/Mqpyb////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////1+XwmZqS////g4SR28zB4eXleH+Ml4CCsLSvVkxWoJ6rpKeg////mJuohHBqdnd/hpOkyL65cXqCl4+IlZ6jlZiQdXKE4tTJtr/Lxba1////////////////////////////////////////////////////////////////////////////////////////////mK29UlRMc2ZqFw0UYmZziZKkKyknXlFBN0JXjoB5oKm5DxQnent3dG1oGgYAHRclk5KY9vr6n6y3Pj09RkFLPlNugoB5dmZlAAAAl5CSvL/AAAAAMzA1anFyl5iYLzA1T0Ay6uLb////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////6e3wZWtwREJSv7XAmKWnfGdpnpyeoKCe4+Pf////p7DCq6Wo1NzaW1xcX1hgubW/fIiSmISGpaOeqqSb5OLf////kJakvLCw09rYW2JldWRpsK60YWh2qJujoKOc1cq+////dHWE2sq/qLC+ioiUl5ykqZuP3dbR////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2uXth4WF////sb3Hp6Og1NHT1szH////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////5O/1lJiT8PHxmJWf9Ozni5ekXGFpu6WpztbNLiIqzMnTm6Ge///9pay2hHh2dHV44OTfwtPgLB8e//v0m669jJKLgXqH4NnUq7C/2cvI////////////////////////////////////////////////////////////////////////////////////////////q7/KWlpSqKWlWVVUkJKfbnl/npeSeHd7goOFcG9xh4CFV2BqrqahxsfDg3hsZ2d6jYuT/v//PUFId19Rd36MXmhyrrGzmo6Kg4GGamVoraWifnx6m5SVj5effXp1g4GHbmpq6OHa////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////n6Knf4KCKzZJ0bu3l6+5aU5JwMTEmZaP////////q7K/x7u3xtXkQ0RGcGBl29njZXmJmn14uL65r6Wb////////oqGtsLK8tLa4gIWCLCIs7evrPElZwK2qsLqzxbmr/f//lZGj0MHBu8nRcHR3q6Kk3dvY8e7s////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////1N7mx8TE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////0dHVxcbIubKz8/X3eYWXqqKby9DVpJqaw8LIjpOa0MjF/////Pz++Pn5+Pj2//780t3pqqOl////ipKZz9DIsrLBnZGT3d3b////////////////////////////////////////////////////////////////////////////////////////////////qrvGXlta+/fy////////v8PE/Pjz////////+Pj6+vj4////////////////pLPCoZqX+/3/lZORw7WywMHE2dvZ/Pz+/fz8////+Pf3+fr8/////////Pz///z6////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////z9Xcnpuhzc3Ps7rBv7i1wsTHjoiN49/e////////ubrC0sjA2+Lqm5KZwr/HnqSsxcLAur/EnZOT6ubm////////sKyy0crHzdffta2ourq+mJaexcXJq7K5saWh+PXzxdLahX+Ef3p/7Onk8PLyxMPF////////////////////////////////////////////////////////////////////////////////////5/D40s/M+/7/nqCl8vHt////4uTmpaitvru4urm5s7O3pKepqaioyMfFwsbNzca/3Nzcra+ysbW4v7+9s7K0j5mllJCV7uno////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+fn5///////////////////////////////////////////////////////////////////////////////////////////////////////9///////9////////////////////////////////////////////////////////////////+v7/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////3tze////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9/n7////////////////////////////////////////////////////////////////////////////////////////////////6fP5pqKnYmZtMSQd8/b0TktVsaqjLT9TSTw5X1RWJyQ0RUlSHx0nQkFJlZKYa2NQKy87LjJLV2FxV1VdOi4yzM7RXGV3taCP////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+/7/0dTVxcbI0dDS5+bo397ez8/P3Nza2Nrc5+bo2trc0dDQ4+Ph1dTW0dPW4+Dd/v7+09PR6Obm1dDV8/Hu3ODl2tnV////4eXwr664y83Pv7/Bz83N4+Li////5Ovy2tjV2tje39rZ7e/xycnJt77IxMDD///7////////////////////////////////////////////////////////////////////////////////////yMzP1MzE////2Nfb6urqyM7WycXC0tDQ8Ovq////2Nnb09HPyMnJ2NTT////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////vs/aRUJE3NLK5u7zysfF5efn09DS6Obkv8DC5d7X////8/n+1M7J8/Px2t3g19PT19bY7Ovo3t/fvbu98e7r////4enuvLu7//763OPqzczJ8fT22trY////6u/20NLU4N7c////9vv/39rd7e7uu7y8////7fX93dXY3+burKem//78////////////////////////////////////////////////////////////2ur5AAAA1r2nxNHcPTw6wcG9foWKjIN+q6KbS0tahIWNcnJwkZOdc3KFbVtGbWxwY2mBcXmJjY2LTEZHd3d5TlZdvLSq//v4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+/7/aXR6o5+atLa5kJGUko2Minx8ko2QeH6Ij5Gci4mVkIyJn5KSkYiLi5OdsrK1/v7+gYmMbl5XpKOngIiSmp2nqJyW//34q7G2rK+0dYGJtrKmmqCoj4qNysXCnKGhUFVYs7Gzvry3gnd5hICIw8fKsbS55NbR////////////////////////////////////////////////////////////////////////////////////0dLSpaKg1dXRmJum1MrEhZyxhYF+xsG6fYSLg4eQq6GTc3FsmZiUgYOFtK2m////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////tLzGhoOFoJ+fq7CzsK+7em9vgISLYWFuXlFPe3qAmZWdzMzKo56hopybi5WbYF1nZVtgrK6zmZuigXRvfXB01sbB1uDoenp6rbCyfYeH4t7Re3yAcmts3+LifXFubmlskJOR2dfV/v34wMfKb29zm5iVzMvHpquypZugm5GTr6+vwLy3///9////////////////////////////////////////////////////////////7v3/enl///Pp7u/y+Pj49Pb47Ozq+vv5vcPKTU1Sraur8vPv6ff/UFNh6uDS5+31Xmd1eICHtK2mqamnxsPA/f379PX3//37////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////lqCj/fPh////l6CsjIGBmY+UdW10opqfjpWfqqyux8TGlYiMcmpsa3F5t7i0////tr67koWAmJmednuKe3qCqZWN////mKKdwMXFqLO5////5vL/nJeeysXCvb24g4qPvb/EsK6ndmxucGNo6OfprrTB3c3I////////////////////////////////////////////////////////////////////////////////////6ezzf4KL0srDv8XS28vI////1tLc6u3wYWZmhIKCmIyIubqyp6urd3iDv7Or////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////cHuFyrSi////SkthrqKWtKuunp2lfHuGkIOBlZuoqqiyzc3LnpymcG54kJCQiYCHiIKKiY6WmI2PtK+vkYuQ+Ojjjqe8moyC////naGmw8HDZ2VrycC0tcDKWk1KgoKCq6Ka6eft//37t8XSMDI3zcW90djbT1Zox6qrxszBo5qO////////////////////////////////////////////////////////////////////////////////////////////////////7/H27u3r/////////P//+vv3////+/7/6uvr/P378/Ly////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+v3/Ymtw1si3/P//tLnBvr6+c295saKb3NzksLK34ePh6+rs4uHjyMfHwcLC5uTh+/7/cXFtzcC0y8nL8Ozrx8nM2tHM////0NPWkZiidHl6/PLk4+33uLW3////oLG8iYB23d7j2tHR7O/xwLm00NLZuLa2/Prz////////////////////////////////////////////////////////////////////////////////////n63CODMy6ubhpKCo0snEsMDPlIeLcXZ9dWpk////XFxggnx1e4WDhn1/3tLM////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ucDIkYmLo6SmnZaY4uTe6Ofl5eXl4d3c////iJajmYmE////lZ2pk4R97uzn5ubo9vX1wsTG6N/Z9v//amlz3cu+3OXvg4CGqqes1c/QkpKfX1JU3+fuTE9U5tXErMLSWE9K4dzZ//76tsHTXFJd1tPYWmd0iYJ9v8DKjIKAz8rH////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+v3/0dHR7+vq////6urq////8PL0/////P//7u3t////////////////////////+/7/zs3P9e/q////////////////////////4+Pnz87M+/f0/P//6evr////4OTn1dHO////////////////8PL0+vjz////////////////////////////////////////////////////////////////////////////////////////////2Nja7uvo9fTy////zNPd2dfU5+fl8e/s////6uzu0dHRz8/R6ufg////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////3OTnxcLC////////////////////////////7+zs////6efl/////////////////////////////Pr89PHv////8fb7vr2/6OHc////0dLU3dzg6Ofl////+///2trY////////+/3/4N3i//767PL34t7Z6Ort2NXV////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+fv9///9+Pn5lZ+vzsW98f7/WVlh9Onb////9Pb4/fv5/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////f39//78////8/f69fXx////////6+zv//r3/////v///fz8////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+fr87Ovr////////////8vP1/////Pv7////////////////////////////+/39////////+vn3////5+fl//////////76////X2dz9efW1OT0Yl9d////////+/j9/////f//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8PX6XFxgxK2f8PP4fXZ7wcDIQ0lgmIV0eHd7dnFu8+zj////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////orK/bG9xgH6CgYODwsHBvsDCUVJXrKmfr7e/xcLEf4F/eW9n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////yNXfx7604+bznpqik5SQn5OFlqGuqaam0dHRb2t13d7g09XVdGNodX2Po5qT9vn5UV9yVElH7+LY0dvlsra2tbe5lpOYV1RelZqhXV9ug25XbneMTEtVopuUopuWhnZ9aXOFqqKb+///YWVy7+ff////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////TE9l/+TRz9/mGRYVk5igcXeHZmBbAAAANjIxxby0////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ssLRGCkyLSUg5NnP5un0ICYtZ1JG////aIGPSTo6aWVgf3Zq////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////6+/y1+PjHig2c2drY2p3XlRIPkBQhIyWY2x6AAAAfnl4i4yKPjQ3Ii5IV0tJvLS2EB0xYVA4//783ebrYWt3W1pXYl9kLzI/b3OAjoqQT0M7ExUncXqNXGNkPSwgXlNTExszZltXhomUTEpS/Pz6////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8vT+uL/OSkdPkYOAoqeyr66py9PanJ2lrqWf39vbkpWa39rT////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////kaO5OUE+SEFDrZaO////ICQt5sy22ev4AAAAzr+8N0pmV0Iy////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////6fL4AAIRUDsr0tTZz9DVn6CicnqBb3J1ubu+vbq6x765ytDXqKKn0czLkZecZ2uAVFtj1s/I/vr5tsTOFxUYqZuTz8vIqqmpx8fLr7W9o5uUxsHEjpehw7qy1tjdqKGi0M3KkpWXcneGcnJy//ny////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+Pv+29vd+fPu////////////z9DS//754uTn+/n2////////////////3dzc//349/v/7ern8PLy9PPz9fT23eDi3tza/vv4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+Pr/qa+8q6ekj5CS+PHs////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////x9DYqaqqubaz6OTh////29rc////xtjllZGO////tcHNpp6Z////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2eXvj4iK//n0vMLH///9////////////////////////////////////////6fb/tLS0////////6Onrx8rPv7y6///7////////////////////////////////////////////////+vz////9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8fn+dXp3////lp2ykIqHc36IjnZqm6i6SEI/4Ojrk5ugf3dw0cfCt8TKSkxRqZ+fYG16iH5y5fD8QkBLPjMrgHpxiJyuW0hC+O3j////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////597WusfNAAAAhXl7PElPindkN0NcpZeUr7vBAAADAAAApZiMTlZeWWBqeG59PT5AVVZS09bbDAoXWT4p6ujjKD1QVEI2+/Xu////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////jJeiAAAAb2BT+fX9q7i6cWxnNjlEU0tNjYiHcHB4fICJvLOno6SpZmp5wbu2pq+0VlZWS1JkT0RPvK6iwcPGcHiAvbOr/fz8////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8/n+IzI7b1dM8vT2lpKP////////4unspZ6b/////////////Pz+////////////////////pbfHV0tJ////////////+fn5////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+fv+8O3r////9Pr/3t7c////////////////////////////////////////////////////+vv7+Pj0////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////hY2fr6CV////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////dXyKwbGm////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////6vP5nJ2doaCc19DJ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////cHWEy7yv////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////n6y/koWA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////6/T8o6Ol////kpqqnJCC////3tvb/f7/jpWajIiFrKyuraqwl5WVmpyjmZmZjouGvLW4w8nQjImJ39/btbjCkI2SoqSpnZiYtrK1ipCVmqCljoKA6N7Y////2uPvhYqLnpeOqKasqKiwmJiWwcK+wMbOfH5+raeg////////////////////////////////////////////////////////////////////////////////////qbK8kpORsKmk4eDim6OqiIeFw769sbS5oKGfn6CjsLKym5mfuba2jI+U1szErbK5hXd08efh////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////t73FoaCb0svE6uvtjpWauri1naCnzsW7wMnTn5ub7PDxipGWnJaNhouSJiwtSEZGsq2qmaGpr6Ob////wMvYgYKAraadpqOroaOonZ2ZysnJrbW/foB+wrqz////usXPuLey+/fy1trhj5GT0c3Iqa62rqSio6Wvnp2drq6smJaWwr+8x83Smo+J3uHklJaZ29HJq661i3x3+O7m////////////////////////////////////y9PbiYWCrqek3tzevcbOnZKK297ln6Ksm5mUrbKzra2yl5aWsrGs0dXWhISH4uDgjpOetquls7a7gYmMkoyP+PLr4uXo///9pKq4rKemkZidnJ+fhnx81s7J////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8/n+eoGJr7GzAAAGqJJ42PH8GBUW///3aHN5AAAAand5gX6EJBMfPT5Senx0AQAAbHZ8gX6EY11iZ2dydGpoFhMmX2JyZlZTOzpHVFNZ////JzFAuJ+H////wdHeNj5EFQ4FYmx0enWFYFxQNkpTd3FqREtRMjY3////////////////////////////////////////////////////////////////////////////////////UWNxUkEyY2t5RT5Di4uHAAAAdX5+c3J6bm9yZ2x5NTk8KR4cr62zAw8a7NW5////Ehkhzrae////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////p6qvwsfINzhFaWdpbXSEOjgzXGZsgnJ5MzZBVVlb////O0ZQEgoDb3FvVF9sjYByjp6uCwsUnY2I//z6qLS/EhkfQToqYGNuZWZ5dXdtKjQ6dHRyQEpSVk9G////u77JsbS/NztCjYyCUU1KWFJXHCMuqZ+aODhLVlRefYuNZ2BPICgwf4aDYFFYUU9kNkNJ/+TH////EBYb3sex////////////////////////////////2+XxDxQasZ+K1dTWf4+lX2ZhYlRYRUddgXyDTEhHZHZ3eXB7R0NJZnuAO0BDV0g9U2Z8IR4X6uTfRUhYXmRrR0JM3tXPFiIv9uPLdYCZMzNCT1JZ///9RFZpgmpX////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////6e7xEiI2NCUa////P1BpGg0Nxs3SqLCuHBsdjZqcpqeqW0xca2l7sLixJCEfoKmpg4iVTk9ScW50mJCLWVZpeXqPl42HQUVVdGtui4yXBgoVqZ+X+/jz3eXsZHF8Qzs0k56jWlppQTQ0eIGGiIeEU1FZXWFk////////////////////////////////////////////////////////////////////////////////////iZScUUZEVVdgmpGJuMHEGxkdjZmbaGVxeXJ3ZGNtgHZxND1Cg4GDLzpAbGNXSFJgGxkfsqqj+/jz////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2+brKjdBTDwzqrTAY19nem9xUV9ujH5+ZWdsIiswd3d5eYODQz08e4KAZ3R/UEpATk9PQExccWJb//bsydTaNkVUbGRcj5meREFSXVJMcXh5ent9VlZee3p1////////am+TFx8dtru4X05GiYGIQlpofnduPjs7PD5LYWlsU0k5YWNog42TXlFTdHCAPVRgcmlbPkhZHBgfuLGs/vz3////////////////////////////nrbJCQYC////////2/H/WF5lYVNVam18aW1yLiUpjpSVe4GIKSQpfoKHg4aEPzs5Q0lRZ250mpqiKx4lioaGnJykXVtjDA0Y08zFjYqPTFNmaWBjmpehEBwqi35y6OLd////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////GSIzhGlW////tLS419LR2d7h0dXVw8G86ursh42VMjI7VURJ2eDfx8S96vT0Iik8jnxp7u7qkJWiPEJPUEhTi4WGanB1Zl9gtK+v19bW2Nrc+vbx9vj6vMTH29TN7u7wtbi9q6mr//z35evwLkFVNTIr////////////////////////////////////////////////////////////////////////////////////Wmp3OS8tODg2kX5t2+Tpw8C97ezuYWFpgHp5XFtb2si+0dbb19bTzNHUnZ6hnpub3tzc19nc+/jz////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////aXyONyslz87Er77IWFNS5tfNu7/K5N/W8PX2rKurraurys/M0c7J+/n5x83StrW16+nk1dvg1c7H////5+3ys7m85+Pe6Ovur7Cys62s////0NfeCRopaGBU////2OXvAAAAwaeN4/v/AAAAyK+g4Onu0c7L0dTUrq+vvbu5tbKw//z32+LsvLax+fv5v8fPnJ6gop+c3tvb19nb/vv4////////////////////////////3eryGyEoybaiqbO/tqym19nkvriz+vz8tb7ErKqs6eTjztjdqqqq4dbQ////uLm7/Pn20dbjrKywYV5cdm9yen2Iq6ad1dLQ3OHkc3R/bnN6aWNkp5qY1tXT2drc6efk////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////1tbY6eLd////////////////////////////r7K9jpCMwrm0////////7/n/npqa////////tbjFjJCRysjFsa+32NXQ////////////////////////////////////////////////////ws3Zqaaj////////////////////////////////////////////////////////////////////////////////////rbS7m5qYq6im5NzV////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////3+HmwsPGm56j5eDX////////////////////////////////////////////////////////////////////////////////////////////////qLG7wLu0////xtHZiIeC///4/f//iYuOzcK6////////////////////////////////////////////////////////////////////////////////////////////////0tnenp2bmJSbyb25////////////////////////////////////////////////////////////8/j/naCq///0////////r7bExMG+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8vLy7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u+vr6////////////////////////////////////////8/Pz7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u+fn5////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////urq6r6+vuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4n5+f4+Pj////////////////////////////////vr6+rKysuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4np6e39/f////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////rq6u6enp////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ubm5xcXF////////////////////////////////r6+v4+Pj////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////vLy8wcHB////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////w8PDysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////w8PDysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////w8PDysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////w8PDysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////w8PDysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////w8PDysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////////o6OjNjY2qaim////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////////////////////////////////////+Pn5iYqKVFRUQUBCQ0NDV1dXdnd32NjY////////////////////////////////////////w8PDysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////4+LiAAAAAAAAdnZ2////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////////////////////////////////+Pj4R0dHAAAAAAAACgQGCwUGCAACAAAADwwLz8/P////////////////////////////////////w8PDysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////nJuZAAAAAwEBqamp////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////////////////////////////////rq2tAAAAIBsZKiMgJyIgKCIkJyAiMiwrAAAAh4aE////////////////////////////////////w8PDysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////hIKCAwEALCgmysnH////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////////////////////////////////cG9vAAAACQUFEAsJFxIQGBQTGhcUEA4OAAAAnJuZ////////////////////////////////////w8PDysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////paSkDQsJOjc01NPT////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////rKurpKKi9vb0////////////////TE1NAQAAEwcLJjQlR1BCVU5JVGNVJSQhAAAAxcTE////////////////////////////////////w8PDysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////t7a2EA8NMiws19bU////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////7+7uYl9dAAAAAAAASkdF7u7u/////////Pz8MzQ0EAgIKx4XLSwiOjcrRTcwRT4xMh8SIhcU6Ovt////////////////////////////////////w8PDysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////tba2EQ8PMS0s3Nvb////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////p6amAAAAAgEBAAAAAAAAkY+N////////5eXnHh4eIxkUOSwgNCAgPCYjPSwmTzUvOSIUSkNA////////////////////////////////////////w8PDysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////trW1FREPNTEx4uHh////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////trW1AQAAAAAAAQEBAAAAUVBO////////zs7QBAQEYV5qgW9+VFtQZWlfdl93pYyQfHhlaWFc////////////////////////////////////////w8PDysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////t7e1FREPNjIy5eTk////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////7OvrQjw7AAAAAAAAAgAAV1VT////////sbKyAAAAdWV1knSGgWxanoBxyZWR6bqplHdgg39/////////////////////////////////////////w8PDysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////tra2GRYVODQz5uXl////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////dnNwAAAAAAAAIBwbW1hV+vr6////jpCSBAMBl21gu4d6uH15tHtzrX5zrIV0PjAbnqCj////////////////////////////////////////w8PDysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////trW1GxcXOzc26Ofn////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////pKGfAwEAAAAAJCEfSkVC5+bm////cHNxFA0UmnONkmx1dVpfVkJESjk4NicmEAcJzc7M////////////////////////////////////////w8PDysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////tbSyGxcXPTk56+rq////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////0c/PGxgXAAAAJSMiSURB0tHP////V1lbHRQUZU1OTD02QjQvLRsYIBQNAQAAHx4c9vb2////////////////////////////////////////w8PDysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////tLO1FhIQOTU16+vr////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////9fT0QDw6AAAAIR8fSkVAwb68////Q0VFIRkUQTEoNSIiNTgiKj0TFSIXAAAAPz87////////////////////////////////////////////w8PDysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////tLOzFREPODUz7ezs////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////ZWJhAAAAGRgXTEVAsK2q////NTMzKSclOTs7Ljk3K0A5JlFMCzxFAAAAZWJh////////////////////////////////////////////w8PDysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////srGxEhAPOzg28PDw////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////i4iGAAAADQwMRkA7mJSR6OnpLy0tLy4uLjI1HiwmFBYXCwgNAAAAAAAAlJOR////////////////////////////////////////////w8PDysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////rq2tDgwMQ0A98vLy////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////srCuBQQCAgEBOTUye3dyt7a2LCoqGBYWDQUGGRkTNS4pW1BOcnByPDo5qKel////////////////////////////////////////////w8PDysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////qqmpDwwMT0pJ8/L0////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////19bTHRoZAAAAKyklaWNefn17Hx8fgnFqzcPD6+ru////////////fHl0r66s////////////////////////////////////////////w8PDysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////qKenEg8PWlVU9PTy////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////9/b0Ojc0AAAAHx0cWFRPODc1Kisr4b+18e3hucO8jYqMY2hhREpBPDk16Ofn////////////////////////////////////////////w8PDysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////qaioFRIUYV1a9PTy////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////////WVVUAAAAGBYVPjo5JCIgKSclMDEzFRkXCg8EBAAADx4PGScWT0hK//7+////////////////////////////////////////////w8PDysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////qqmpEQ8NY19c9fXz////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////////end1AAAADQ0NKCUjIB4eIyIgIyIgMi4sPzg6QkA7SEJBEAgGWVZU////////////////////////////////////////////////w8PDysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////r66uExAPaWVk9PPz////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////////mJaWBAEACQkHFhQTGRgYJiMiPDc2PDg1KCQhEgsLAAAADAgHxMPD////////////////////////////////////////////////w8PDysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////ubi4GhYVb2pp8/Ly////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////////uLe1CgcFDg0NCwoIHhwaFRITAAAABAAAGRUUQD07dHJy2djY////////////////////////////////////////////////////w8PDysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////xsXFJCEfenZz9PTy////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////////19bWFhIQCQgGDQwMEQ8KjIuLq6uptrS039/f////////////////////////////////////////////////////////////////w8PDysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////3t3dMC4saGRh7+7u////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////////9/f1KCYmAAAAGRkZGBcX4uPh////////////////////////////////////////////////////////////////////////////w8PDysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uLi46urq/////////////////////////////////////////////////////////////////fz8Ozk3BQMDy8rK////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////////////QUA+AAAAAAAATU1N/v7+////////////////////////////////////////////////////////////////////////////w8PDysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////////kY+PAAAApqam////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////////////YV9dAAAAAAAAysnJ////////////////////////////////////////////////////////////////////////////////w8PDysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////////////xcTE5OTk////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////////////wL68NjU1kJCQ////////////////////////////////////////////////////////////////////////////////////w8PDysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////w8PDysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////w8PDysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////w8PDysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////w8PDysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////urq6/v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////zs7OyMjI////////////////////////////////urq6+Pj4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////0dHRxcXF////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////qKios7Ozw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDlJSU09PT////////////////////////////////q6urr6+vw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDlZWVz8/P////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////6enpzMzMy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL0dHR/v7+////////////////////////////////6+vrzc3Ny8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL0NDQ/f39////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8fHxuLi4vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29u7u71NTU////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////xMTEm5ub1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXVwsLCoqKi////////////////////////////////////////////////////////////////////////zc3Ntra2urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6sLCw7+/v////////////////////////////////0NDQtbW1urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6r6+v7e3t////////////////////yMjIz8/P////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+fn5u7u7////////////////////////////////////////////////////////////////////////o6OjysrK4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODgn5+fx8fH////////////////////////////////pqamxcXF4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODgoaGhw8PD////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////urq68vLy////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////x8fHzMzM////////////////////////////////u7u77e3t////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ysrKycnJ////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////w8PDysrK////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////w8PDysrK////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////w8PDysrK////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////w8PDysrK////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////w8PDysrK////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////6+vrvLy8n5+fj4+PhISEg4ODiYmJlZWVr6+v3d3d////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////////////8/Pzo6Ojh4eHfX19bm5ubW1tdXV1goKCnJycwMDA////////////////////////////////////////////////////////w8PDysrK////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////qKioICAgAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeHh4////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////////wcHBHR0dAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQ0ND7u7u////////////////////////////////////////////////w8PDysrK////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////2traJCQkICAgHBwcHBwcLCwsKysrIyMjKioqIiIiJSUlExMTAAAAqqqq////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////////RUVFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjo6O////////////////////////////////////////////////w8PDysrK////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////n56eFxcXJCUlEhMTFQ8UIh8hGhoaERISHh0dEggOHh0dHyAgAAAAW1tb////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////8fHxICAgAAAACQkJGBgYJCQkLS0tLCwsJycnIiIiFhYWAwMDAAAAXFxc////////////////////////////////////////////////w8PDysrK////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////k5OTEhISJSMnGBYYMEQ3KjQxREJETEpMMDg1RWBXJSYoGRQaAQAASUlJ////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////2dnZDg4OCQkJQEBAUFBQVFRUWlpaVlZWT09PUFBQT09PLy8vAAAAS0tL////////////////////////////////////////////////w8PDysrK////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////kJGREREPPDg4LycpRltQQVJHX1hbZmJiS1BLZ4NzOzk3MCQkAAAAR0dJ////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////xsbGAQEBERERKioqKioqOTk5Ojo6NTU1Nzc3MzMzJSUlKSkpAAAAPz8/////////////////////////////////////////////////w8PDysrK////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////j5CQDwwMQTgzMickOykrPSstOCsqNiomPi8sOCIjPS4rRTMuBgABR0hK////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////vb29AAAAAgICDg4OGhoaQkJCR0dHQkJCSEhIOTk5DAwMERERAAAANzc3////////////////////////////////////////////////w8PDysrK////////////////////ycnJxMTE/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+////////////////////////////////////////////////////////+fn59PT08PDw8PDw8PDw8fHx8fHx9fX1+fn5/v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////jY+REAkKYlJJTT0yQywrTD4+Uzs2SjQvSTk2Uzs2VDs0VT04FAABRkhK////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////vb29AAAAAAAABAQEBwcHAAAAAAAAAAAAAAAAAAAABAQEAwMDAAAALy8v////////////////////////////////////////////////w8PDysrK////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9vb23Nzcu7u7oKCgiIiIa2trV1dXRkZGNTU1KCgoHx8fGhoaFRUVERERDw8PDw8PEBAQExMTFRUVGhoaICAgJiYmMTExQUFBUVFRZ2dngYGBnp6evLy83t7e/Pz8/////////////////////v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////jZCQCgAAsqzGk4mgSyYdjqyjX2dZaUJBl53Qb05QkWxkrtO8LCMNRDxB////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////u7u7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALCws////////////////////////////////////////////////w8PDysrK////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7u7uqKioa2trODg4FRUVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDBAQEAgICAAAAAwMDBAQEAwMDAgICBAQEAgICAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgICGhoaREREe3t7wsLC/////////////v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////jpKSIRUPnIejfWSAb0U6lI6Dd2del2Vd07nBtH94w45//uDRd0U/PT8/////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////vLy8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALCws////////////////////////////////////////////////w8PDysrK////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////z8/PY2NjDAwMAAAAAAAAAAAAAgICExMTHh4eISEhJCQkJSUlJCQkJiYmJCQkIyMjIiIiHh4eHR0dHBwcHh4eHh4eHR0dHR0dHx8fHh4eHx8fIyMjISEhHh4eISEhHx8fHx8fHh4eHBwcExMTAAAAAAAAAAAAAAAAJycnjo6O/v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////jZKVOi0qsIJloHBYr35yr25nw4J2wYp7uXtmw42Au4B5w5FyXUktRUdM////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////vb29AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALS0t////////////////////////////////////////////////w8PDysrK////////////////////ycnJxMTE/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+////////fn5+BwcHAAAAAwMDGRkZKCgoOjo6MTExIiIiGhoaFxcXGBgYGRkZGBgYGRkZGRkZGBgYFxcXGRkZGhoaGxsbGxsbGxsbGxsbGhoaGhoaGhoaGRkZGRkZGhoaGBgYGBgYGRkZGRkZFxcXGRkZHBwcHx8fIiIiKCgoHBwcAAAAAAAASEhIwMDA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////kpeSOy46rompmW99lmt3k210jGpshmhlfWFgd1tab1BSdGlUIB4KT05Q////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////vLy8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKysr/v7+////////////////////////////////////////////w8PDysrK////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9fX1XFxcAwMDEhISICAgLCwsPz8/T09PNDQ0HBwcFhYWFhYWGRkZGxsbHR0dHx8fHh4eHx8fICAgHx8fICAgISEhICAgHx8fICAgICAgHx8fICAgICAgICAgICAgICAgICAgICAgHx8fHR0dHBwcGhoaGRkZGBgYFxcXFRUVGxsbKCgoKCgoHx8fMjIyrKys////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////l5yZOS01kXGJbVBXWT9EVUBEUj1BUjs9TDY6RDE1Pi8uPCcpAAAAVVZY////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////vb29AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKCgo/f39////////////////////////////////////////////w8PDysrK////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////c3NzHR0dFhYWHR0dPDw8VFRUYGBgMDAwDAwMFRUVHR0dHR0dHR0dHR0dHh4eHh4eHh4eICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgHx8fHh4eHx8fHx8fHx8fHh4eGhoaFhYWFRUVFhYWGBgYOzs7Pz8/w8PD/////v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////nqGjMywlcVxJVUE1Qi4iQjIiOyYhNxkdNB8fKhseKBkcKRsgAAAAV1hY////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////vb29AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKCgo/f39////////////////////////////////////////////w8PDysrK////////////////////ycnJxMTE/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+////q6urLi4uICAgFhYWTU1NW1tbXV1dMTExCQkJGBgYGxsbHR0dHR0dHR0dHh4eICAgICAgICAgISEhISEhISEhICAgIiIiIiIiISEhIiIiIiIiIiIiISEhISEhIiIiIiIiIiIiISEhISEhISEhICAgICAgICAgHx8fHx8fHh4eHh4eHx8fGhoaFBQUFhYWCQkJOzs7ZWVl7u7u////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////paenNC4uZVRRTDo3Mx4bKQ8QKicSNEsAKiMKGhYAHSIMHicUAAAAV1dX////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////vb29AAAAAAAAAgICAwMDAAAAAAAAAAAAAAAAAAAAAwMDAAAAAAAALS0t////////////////////////////////////////////////w8PDysrK////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8fHxY2NjIyMjCAgIT09PWlpaTU1NREREFhYWEBAQFBQUFRUVHBwcHh4eHx8fICAgISEhISEhISEhICAgGhoaGRkZGxsbIiIiIyMjIiIiIiIiIyMjIiIiIyMjHh4eGRkZGxsbIiIiIiIiIiIiIiIiICAgISEhIiIiHBwcFxcXGBgYGhoaHx8fHBwcHBwcFRUVEBAQFhYWMjIyra2t////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////mJiYNjUzZWVlS01PMTk3IC0rIjs2KlI1JT84IWpwFzQvCg8EAAAAWFhY////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////vb29AAAAAAAABQUFBgYGFxcXHx8fLi4uODg4Dw8PAQEBAwMDAAAAHh4e8fHx////////////////////////////////////////////w8PDysrK////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+/KioqDg4OPDw8WVlZSEhITExMMTExDg4OISEhLCwsKysrHR0dHR0dHx8fICAgICAgISEhHh4eIyMjMTExMzMzLS0tICAgISEhIyMjIyMjIyMjIiIiHh4eKCgoNjY2NjY2IiIiISEhIiIiIiIiISEhISEhHR0dJCQkMjIyMTExIyMjGRkZHR0dGxsbGhoaFhYWAgICGhoaeHh4/f39////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////h4aGNTQ2aGpqTVBRMz48GS8kEyApGBskGSguElNnCh4pAAAAAAAAWllZ////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////vr6+AAAAAAAACwsLDg4OJSUlLS0tLCwsPj4+HBwcBgYGBwcHAAAADg4O39/f////////////////////////////////////////////w8PDysrK////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////lpaWAwMDEBAQVFRUTk5OQ0NDRkZGIyMjERERNjY2MzMzQkJCKioqGBgYHx8fICAgICAgISEhGhoaKCgoUVFRWFhYR0dHHx8fISEhIyMjIyMjIyMjHx8fJiYmODg4RERER0dHGxsbISEhIiIiIiIiISEhICAgGRkZRkZGPT09ODg4RkZGGRkZGxsbGxsbGhoaFhYWExMTEBAQODg44ODg////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////jI2NNTExWU5MNisrHxcUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXFtd////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////vr6+AAAAAAAAFRUVFhYWEhISDg4OCAgICAgIERERFhYWDw8PAAAAERER4+Pj////////////////////////////////////////////w8PDysrK////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////YmJiAAAAMDAwU1NTREREQUFBQEBAHBwcExMTPDw8Nzc3KSkpHh4eHBwcHh4eICAgIB8fHx8fHh4eMDAwQkJCQ0NDOzs7Hx8fICAgIiIiIiIiIiIiICAgIyMjNDQ0Nzc3JSUlGxsbISEhISEhISEhICAgICAgHR0dKSkpMzMzNDQ0KysrHBwcGxsbGRkZGRkZGRkZFxcXBgYGDg4OwMDA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////hYWFNzY0eHp8XVtdUlBNNTswHh0dOSolOywlIh8kKSMkMiwsBwYGU1NT////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////wMDAAAAAAgICHBwcHBwcGhoaGhoaGRkZGBgYGhoaHR0dGhoaAAAACwsL3d3d////////////////////////////////////////////w8PDysrK////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8/PzNjY2AwMDRERES0tLQEBAPz8/Ojo6HBwcERERERERExMTFBQUGhoaHR0dHR0dHR4eHh8fHx8fICAgIyMjHx8fHh4eHx8fICAgICAgICAgICAgICAgICAgHR0dIiIiJiYmHBwcICAgIB8fHx8fICAgICAgHh4eHx8fGBgYHBwcGxsbFRUVHBwcGhoaGBgYFxcXGBgYExMTCQkJAAAAmpqa////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////gIKCUFFR9NTK/e7p/////vj7////////////////////////VlNSKSkp////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////t7e3AAAADAwMIyMjISEhICAgHx8fHh4eHR0dHx8fIyMjIiIiAAAAGxsb7u7u////////////////////////////////////////////w8PDysrK////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4eHhGBgYCwsLSUlJRkZGPT09OTk5NDQ0GBgYERERFhYWGBgYGBgYGRkZGRkZGhoaGRocHBweHB4cHh4cHRwcHBwcHBwcHBwcHx8fHx8fHh4eHx8fHx8fHx8fHx8fHh4eHBwcHx8fHx8fHB0dHxweHB4eHB0fHRwcHBwcHR0dGxsbGxsbGhoaGRkZGRkZGBgYFhYWFRUVERERDg4OAAAAdnZ2////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////kpOTU1NT48i/3M3K0tbWztXKycfFzcrIzcvJzMbH1M3Q4+HfRkVDJSQk////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////q6urAAAAFBQUKSkpIyMjIyMjJiYmJSUlIiIiJCQkKSkpKSkpAAAALi4u////////////////////////////////////////////////w8PDysrK////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////0NDQBgYGEhISR0dHQkJCOTk3NDQ0MjIyFRcUDw8PFBQUFRUVFxcXFxcXFhcXGxcYHRkXGBkZHhkZGBoaFxocGxsbGxsbGxsbHBwcHBwcHBwcHBwcHBwcHBwcGxsbGxsbHBwcHBwcGxwcGxsbHRkcHBsbHBsZHBkaGRkZGRkZGhoaGBgYGBgYFxcXFxcXFhcXFRUVExMTDw8PDw8PAAAAWlpa////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////mZmZSEdHf4OGYGBkSk1IQlQ+FxQTCQMFEA0MFRoRFx0SIR4bAwICQUFB////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////tLS0AAAAFxcXISEhJicnJSYmFRUVICAgKioqJCQkIiIiKioqCAgILi4u+/v7////////////////////////////////////////////w8PDysrK////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////w8PDAAAAFRUVRkZGPDw8MzMzLy8vLCwsEhERCgoKEA8PEBAQEhISExIUDw4ODQ8PEQ8SEw8QDQ8PDxEREhIQEREREBAQEREREREREREREREREREREhISEhISERERERERERERERMQExISEw8QDQ8PEw8SDhMQDxAQERERFRUVFRUVExMTFRQUFRQUExISEhERERAQDw0QDQ0NDw8PAAAASUlJ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////mJiYT09PhYWFaWlpUE9PPzs+ISEhAgEBDQwMFScaFDUbJCsmDggKQ0ND////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////vb29AAAAEBAQHyAgTUpKKScpPT8/Ozs7Hh0fHx8fFxcXIyMjCAgILy8v+/v7////////////////////////////////////////////w8PDysrK////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////vb29AAAAFRUVQ0RCODg6NTU3MjMzMDAyGBcaDw0TFRQXFBMYFBMXGBcaKSkpLC0tJR8kLSAgKSwtKisrLisoKioqLCwsLCwsMDAwJiYmHh4eICAgHh4eKCgoLi4uLCsrLCwsLC0tLCkrJh8iJiYoJiMlLSUoLC8tJiYmFxYYGBcZGBcZGRQaGRQZGBUZFxMXFhMXEQ8SCAgLDw8PAAAAPj4+/Pz8////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////lZSUT09Pi4uLbm5uVlZWRERENTY2CwwMBQUGBwIGBgQGBgYGAAAASEhI////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////vr6+AAAAEBAQLi8vQTs9MC0tYWVlPD4+DAsNGhoaGxsbHBwcCwsLMTEx/f39////////////////////////////////////////////w8PDysrK////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////vb29AAAAFBQUPD09NTU3Pj5APTtAODc9IR4mGRYeIR8lIB4mHRsjJSInSEdJSkJEPXBSQXdTRkJBSkVNSklJSUlJS0tLSkpKQ0NDWVlZa2trZWVlampqUVFRRERGSkpKSUlJSEdJSkBAQndgVn5uXFJUR0RGT0pNQj9BHhsdHxshIR0jIRwkHRkfGhYcHRgfIRwiGBcbBQQJDgwPAAAAOjo6+fn5////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////vLy8PT09lJSUkpGRfHx8VFRUQT8/MC4uGhoaHx4eHx4eDQ0NAAAAfX19////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////7OzsGxsbHh4eU1NTfX5+amtrHRwcICAgLS4uLi4uNDQ0TU1NEhISU1NT////////////////////////////////////////////////w8PDysrK////////////////////ycnJxMTE/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+////vLy8AAAAFBQUODg4NDM1QUFBPTw+QT9DNjI3JCIkIR0iIyIlIiAiJyUlREFDPTI3O5RgOoxZPCcyRDQ+RUBFQkREQkJCQ0NDMzQ0Y2NjjY2Nfn9/ioqKVVVVNzc3QUJCQkJEPzg7SVFISqB5Wol3X4d3NW5UQTlAPjo9IBweIh0gIR4gIR4gKSMmLSkrJiIkIBofGxYbAQIECwwMAAAAODk5+vr6////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////iYmJSEhIY2NhYWFhS0tLPjw6Li0rAAAAAAAAAAAAAAAARUVF9PT0////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////////qampNjY2VVVVVlZWVVVVVlZWWFhYWVlZWVlZX19fU1NTQkJC0dHR////////////////////////////////////////////////w8PDysrK////////////////////ycnJxMTE/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+////vLy8AAAAExMTNTQ0MTExQ0NDNjY2WVdXbmxsPzw8GhgYJyUlJyMjKygoQkFBRTtAN1M/LnVRL08/NVpAQUREREFDQ0NDQ0NDNTU1YWFhiYmHenp4g4ODU1NTODg4Q0NBSEJFOi8xQH5mhrukqJabd9WvMI5aPS4zPzs7JSEhKCIkJSIiGhYYRUFBaWNkPTk7GhYVIBsbAAAACgsLAAAAODg4+fn5////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////yMjIo6SknJycmZmZl5eXkpKUhoaGiYqKmZqawMDA////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////////////4+Pju7u7tbW1srKytLS0s7OzsrKytbW1urq6urq69fX1////////////////////////////////////////////////////w8PDysrK////////////////////ycnJxMTE/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+////vLy8AAAAEhISMTEzMC8vRENDQkA+REE+NjIxKCQkKyYnLCYnKiQmLysqRURCS0hISDc8OldDLZZXObp9OFVLSTw+R0dFR0dFNzY0a2pomZeVh4aEkpCOW1lXOzw6TUdESkVIQDk6NFlIes2oz/PmkLelN1BCRzw+QD07KCIkKSUlKiUmKSIkKiIiLCQmKSIhLCMkIhsdAAAACwwMAAAANTY2+fn5////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////w8PDysrK////////////////////ycnJxMTE/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+////vLy8AAAAEhISMDAwLy0sRkJCRUJBQ0A/MzAuJyIiLicpLicnLCYjMiwpUk9OU1NTUlBSUkJKS1xQRmlXTFBLVFBPUlFPUlFPT05MWFdXYGBgXl1dYGBgVlVVT05QVFBNS1FOUVNTTz5DSlZQZYV5UVJQSkBDV1pTSUdFKSIkLCMjLSUlLSUlLCMjKiAgLCMiMScnIhseAAAACwsLAAAANTY2+fn5////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////w8PDysrK////////////////////ycnJxMTE/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+////vLy8AAAAEhMTLC0tLSoqSENDRUJBRUFAOTU0KyMkLykqLykqLSgkMSwpR0VFSUdHRkVCSUZGTD1ESDhATUZFSkZFSkZDSkZFS0dGRUJBQD09Qz8/QT4+R0RESkVISkVEREVDTENGTUhHRjo8OigvQj08T0hHUUlJQj49LCQkMiUmMycnMSYoLycnLyYmLyYmNSwpJh4eAAAACgsLAAAANTY2+fn5////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////w8PDysrK////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////vLy8AAAADxISKSsrLCkpSURBR0NARkJBOzc2LCcmLysqMCsqMSwpMSwpLCgkLSgkMScnMSclMikmMygmMygmMygmNCknMyonMygmMyolMikmMyonNCsmNCknNSknNiknNigoNigoNSgmMykkNicnNycmNycmNSclMyckNysoOCsoOSsoNiomNSknNSklNSgkOy0qLCAeAAAACgsLAAAANTY2+vr6////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////w8PDysrK////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////vb29AAAADxAQJygoKigoTEVCSkNARkI/QDs4MCsmMysoNSwnNiwnNiwnNSsmNiwpNS4pNi4pNy4pOC4nOCwpOCwpOS0rOi0sOjArOi0sOiwsOi0sOy0tOy4rOy4rOy4rPC4rPS4rPC4rPC4rOy0qPC0qPC0qOy0oOy0oPS8oPS4nPS4pOywnOysmOyolOykmQS8sLyIfAAAACQoKAQAANTY2+vr6////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////u7u79vb2////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////y8vLy8vL////////////////////////////////vLy88fHx////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////zc3NycnJ////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////vb29AAAAEBAQJCYmKCclT0VDTkRCSEM+Rj84NywpNiwmOSsoPC0sOy0sOy0sPC0sOy8rOy4sPC4sPS8uPS8uPS8uPTIsPjEsPzIsPzAtPy8uPzAtQDAvQDEuQDEwQDAvQTAvQi8xQjEuQjIrQjEsQzIrRDItQzItQjEsRDItQzItRDEsQjArQC8qPy0pPywoRTEtNCQhAAAACAkKAQAANTY4+fn5////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////o6OjwcHB1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbWmpqaysrK////////////////////////////////pqamvLy81tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbWm5ubxsbG////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////vr6+AAAAERERIyYkJyYkUUVFUkRDTkQ9TT88Pi4tPCsmPy4pQy8vQTAvQC4uQDAtPjAtPzEuQjEuRDIvRTMwRDEuQS8qSDUvRjQvRDMuRTMuRDMuRjQvSTYySjUySjQxSzcxSzcxSjQxSjUySjUySDUvRjMuRTItRzIuTDUwSzQvSzQvSzQvSjItSTEsSTEsTDQvNyYiAAAACAkJAgAANjY4+fn5////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////1NTUurq6vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8uLi49PT0////////////////////////////////19fXurq6vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8t7e38fHx////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////vb6+AAAAEhISIiUlKCYmU0ZGVUZDRzw6RDw5MiUjLR8eNCUkMSIfPy8sQzItQjItRTItRjMsRzUxNigjLyAbOiwpQTEwMyYmQjQxSjczSTYySzcvTjo0OysmNiciPS4nPC0mOywpPi0sNiYjOCkmTDg0TDgyTzcwTTgyNSciNSQiOyonOCMgOyQjOSUjQy4rVjo0OigkAAAACAgKAAAANzY4+fn5////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////vr6+AAAAERERICMkJyUnVkdHVD8/UEBDdW5wbGVnYVtedXR0X1tbNyopRjAuRTMwRDMuSTQxMyEeV01PeXZ2dHNwhn6AYV9fQzEsSjYwSzozUT40OSghRkA/a2hncW1qWVNOVlJQcGlqgX16WlVSOSMkXD06XT83OyolW1lXfHZ5cGtqYmBccW1tdHBwQTUyUDIqQy8pAAAACAgKAAAANzY2+Pj4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+/AAAAEBAQHyEhJyIlWUlIVkRBTkRCaGNiXVZXSkRFUElJX1VVQC4uRzEuSDQuSzQvTjYzOCQjU0hIcGprUExMUkdJSUNEOy0qVjo1VD0zVEA4QC0pU0lJWlZWPzs5VlBPV05OUEhIYmBcRT45QSwpXkE7XkE7Qy0qX1NPbmRkTkZDWldSWlVSWlBORDQtWzozSzItAAAABwcJAAAAODc3+fn5////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+/AAAAEBERICIiKSMkW0pJY1BMQTMsMSIfKBITFgACGAIEGgYGQSsoUTg1STQxTTUyVTg0UjYuMBsUNRIPLAcFJA8JMRoXRjMsYT85XD01Wz01Xj8+TTQzPR4cOxkURiciSCkgOx0UOx0dUzAvZUM+ZEI7ZEE7ZkU8Ty8qQCghQykjSCglSiYmQyMfUjgwakk+TTEtAAAACAkKAQEBOjk5+vr6////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wcHBAAAAEBISISMjKiYlXExHVkE7cmBZkoJ/hXRzempneWxpfnNtWkZASC0nUDcxUDcyTzUvVUE5ZE5ITFlNfnpxgmFeZ1VPZUpCWDowXEA4XUE3Y0A7YDw4d1VMi2xec1ZOc1dNhmpdfFZSb0M9b0k/bUc/bkk/dU5GbD87XTQyYDUtaTsybjw2azo2a0U7dk5DVDYwAAAABggIAQEBOzk7+vr6////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ycnJxMTE/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+////xMTEAgEBERISICMjKiUmYE5JRS4tppmZ//753uPe5uHk5eDd9vXzfG1qOBsWWTg1WDs1SCslbVVU0L/Ajb68jv/4vNPMqZaRiHNtTi4pX0I6YUQ6ZUM9XDcpq5+reoHLXWKrYWOujpHWs6SkaEAvdk9Cc05Edk9HaDczooiF2M3LycK5e6SGSZdlTZlna19NjVBMZUA8AAAABAcHAAAAPDo8+vr6/////v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////xcXFBQQEERMQICMjKiUmYk9MSTEuoJSY///939rV4uDS4NzN//3xdmpgQR0eVjg8Uz81QysoeVtY0tPRcXmUfs/fdN7OjomIhmdnWDcuZkQ9Z0VAakY+aEQvnI+sbHPfhInwkZHzh4fsppqpdEw4fE5Ge1BKfVRHYzEqvqyp////////kt6+NsWAPMiDbnBZlU1La0Q+AAAABAcIAAIAPTs9+vr6/////v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ycnJxMTE/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+////yMjICAcHEhISISMkKyUmYk9OTDEqqJyg3OD439DkuLTZzdLf0svwj3t2Ph0ZWDw2XT03VDEuZVRRk5WPuo1I99W9a5iuIo+LVnlqZDcyb0hCbkpCcElDYjssvbO1wcb3k5HkhIjeo6vuwLS2a0IzfFBIflJMhFZNc0A6pIyJ4+Xl7d/jnMSmQatvhdWlinZlkExKcUZAAAAAAwcHAAAAQD5A+vr6////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ycnJxMTE/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+////ysrKCgoKEhISISMjLCYnYU9OYEM3dmBvaWfWcXDbPjm1VVbZVEm8c1RQUDIoXTs5Xzw7WDEsYEpKq7ay/9SByKyXRoSjMJ2KWnxwZzY2cktFcU5DcktDXjEw3dXO////j42dcG197fXz5dvVaTo3gVdGhFhNilVTbzo1vKmi////////////6ff3////qoR+nVZNjVtQAAAAAgUGAgEBQUBC+/v7////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7u3r//76////////////////////////////////////////////////////////////////5OXl8e7u////////////////////4+Tm7uvp////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////zMzMDQwMERERIyUlLCgmY1BNY0tAWkhFQTOhg4TX7e7/U0jAPDCHUjUlYD45XD08XkE7VDAod1xb5OHfmJamc77PatHJkIyHh2hoYz83c01Hc09Hdk1HXjQw2c7Q////sauix8e/////2MjHajw3f1VMf1ZNhFVLeEQ+oH11tL+1nLiqpLSovMi+28zHxI6D4Ix/r3NoAAAAAAMEBAICQkRE+/v7////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////9/j65ebm5ebo6Obj8fD05eHk9fX19PPx7u/x1NTU////////1NTW//343N3f7Ovp8/X34uDg6Obk4uLm5ebo5ePg///7ycvSysK/////////////4OPo6+jj+fj27O3v6Ojm9/Tx9Pf33d7e8vPx8/Px6eflcXR+xLWq+vr83t/h+/v7+vr6////////////////////////////////////////+/3/xs7WdGx5l5GI5OPj4N7g////39/j5OHmgoKUhH98z83K9vX129vb7Ozs+Pn13Nze9fHu7O3y6ubl+fz84eDi5OXl5uTi+/v55+rs6+rm7/Dw19nb9fLv9PX16+7u5+fn4uHh8O/s/f396unn+vf0////////////////////////////ycnJxMTE/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+////z8/PERAQEw8QHiQiLy4sgWZhemBZblhQalRSgGxgkn5rZ0w/Vzs5UjcyVjc3WTo5Wz44Wjo1YkJBd1dRWENDVFtWcWRac0pJa0hEZ0Q+aklAa0pBcEtDa0U/f2FZmX5zn4B4r5GNpoV/jmVfhFVLkV5Vk2FYmWVcqXBnq2hdnmxaiHpeenZaln9lxH5w2I1/7qKQq3ZnAAAAAAIEBAEBR0hI/Pz8////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////ztjilZuoy8G3mZuga2ZwuLCrf4KLtLO7naWgo5WQ/fz/rbS5fHBybnN+kZKKx8TKjpGcdnp9g3Z4n5WVgn6AkpSWj42Ln5eUxL20////lpObzMbHpa66hoF6fXyGnZygi3998+7nusDIhoKHjpWdoqGnp6CdoJyhmpSVxsPFur3AoqWq8+/q5OjrXmt4rqah////p7G7ZmJh59vT7Pj/aHaFqqGZ/f70t77Fd3B6qKqipqWnrqWgfH6FpKSmu77DfHN+rqmgsbO2VFValZGO4N/hmqSqhoB9s7W4oKGmwL65mI6QnZWXpquyfICLxcXFuMDKqKOiZGNhqaShzdTed3d5oZqfhImdm5WQlJSSioaGzsm+9e7n////////////////////////////ycnJxMTE/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+////09PTFRUXERAQHCMiNTIumXt3nn11lHRukG9ghmNad1BQeFNEeVRFeFVSeFRQelNPe1ROfFVPeFFJbUY+d1BIfklFfUhEf1NNhllTj19ZkWFZlGVdmGdfn2xlk15Ti1NIlVtSl1lSm1tSrW5kxYV5zYp81Y+G3JWM3ZuP45+R8ZmR6ZiQ5JmN5ZGEz4580Y164Z2JqXZpAAAAAAECAwECS0tL/Pz8////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////zNjncHaGoZaMgYaHdXJyqqKfYGJscneCd32Ck46F9vLvsre/mI2RcHSGi5OUfIWLjYWMjpKfgXl+xLiwtKenc3+JaWdt//f0////xtDaUE5atrGwuri6aGVqf3yEoKexd2hq/fn5wsnYcGhweXqFfIKQmpadrqKacG9zmpCS3+XsqrO70tXYl5eZPTk+f25rt7jAV2JzUU1NzL+3qqyvODQ6XVRW7+jh////fIKQiYOEnpKQpKCdQj9Hp6isk5qih4CBoJCNxL3CaWx5cHh93tjO0tXfoZyfmaGpm5udrq+tdGVne3F2dXh9lqCmuL/JjIuRlIaGe3d/kpKIkaKvYFNXuKmkiJGjubq/amdskoKB////////////////////////////////////ycnJxMTE/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+////1tXVGRkZERERHyMjOjIyoHx7pIB3nnx0oHp2onl5pXp8n3VvoHRronRuo3Ruo3RspHRspHNro3RppHNrpXNrqHRrqXRtq3ZtrXhrrnlusnxzs310tn92vYN6woh6xol8zo6B1JOF2piK3pyO4aCS5KOT5KKU5p+S4pyM3ZqI2pWF0pKCzpKCz5KAyY9/y4x/35uRpnRsAAAAAAICAwMDTk5O/f39////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////9Pf6tba7sbK0ysjD6urqv7m+4N/dub++vL3Cubq6/Pv3+///b3WCp5mXyc/WpbCwsa6w0crN3NvbyczRhH2CpqCZ39vb////////0NXc0tPT2+Lgqaao2tDI293gqrK6npWV9+7rn6y7gXBt0dHRmqWxp56hv7q3t7KvzsvN293g1NfalZKap6Oo39fX493ixMPJyMjM6uru4uPoycXF2M/P1NHZ6uXo////1NjdysK94+PnurS19vP1vb3F4dnW6e7xxL26ko6Usqutr7W85d/Y////v8PK0s3G0tPY0cfH39/hsrCwq6yu4uLeuLvImZOSzsK87u72tri6x8jIysbG2dbT0tbW3d7h2dbU6+Pl////////////////////////////////////ycnJxMTE/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+////19fXHR0dExISICMjOjI0oX98poN7n3x5oHt2oHp2onx4n3dvonRrp3htqXlxq31ysX53s394s353tX15uIB6uIF9uoR7vIV4v4R9w4h/yI6CyY+DzpGG15WM3ZqQ4pyT5qCX6KKb5qGa35+S2JuN0JeJzZGGx5CDxI6Bxox+voh7t4Z6s4F5s3t3t3d1tH1ywoyDkGdhAAAAAAMDAgQCU1FT/f39////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////////////////////////////////9vf6497d////////////////////7/T3xcXH+vXy////////////////////////5Obp////////5ubm////////2NfZ///6////////////////////////////7+7y4dzf////////////////////////////////////////////////////////////////////////////////////1tne7OXg////////////////////////////////////////////6unr////////////////////////////////////////////////////////////////////////////////ycnJxMTE/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+////2NjYHh4eExATIiUlOzYxoX98poB/ont4oXp2onp2pH13n3hwnXJqpHhtp3dvqHpxrnxzsX53toF6uoR7u4V+vYmAwouExoyEyI6GzZCFz5KH0ZSJ05OI05CJzJCHxY6DwIyBu4h9tIN5r4J1qH1ypHpvo3luoHZtoHNqmXFnlHBnmmtnm25lknZfj29djmZeoHFrdlJPAAAAAAYEAgYDVlRW/f39////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////1uDmpp2a////ra2y///y/////////////////////////////////P7//////////////////////////////////////////////////////////////////////////////f//r7Kz7uXb///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9////////////////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2traHx8fEhIUJikrOToymn14nHt6mHZzmXZzmXVym3lxm3Ntk2hllmxmm2xmnXBnnXJpnnNqoHRro3Zto3ZtpHZrqHVuqXVwpnVtp3ZupnRso3NroHNqnHFmlGxkjmhgiWldhWZcgWNXgWNbgmNbgGFZfl9ZfV1XfF1Te11Vel1VelZVeWdQisRWi9ZUg5NSk5Fga3BEAAAABQEGCQYGWFdZ/v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////2uHppaqyx8G8rKysk5GbtKysw8TGqamr0dDMuLe9n5mYi42Nop+d////1uHre3p+ko+XfX6F0crDjJGcoJOO0tLQm5iY9PLwwM7benN6tbKvpqOg6+jm5u3wnZyapJ+kuK+vubq/qKWqv8DAtLi7qaGc/vbux9Tfd3N6uLOspaKf8ezp5O72e3d+q6uts7i5kpGMyby5tsHLm5WQ////3ePrnJqczc3JnZ+fxb/AlZujsq6pvr7GuK2rsrCyo6WvwsTErbG2gH5+wLe0+/v/sbzGeG5u2Njc3t3d0dDQfoKNoZmbq6uvpaWlkJGUnJOTpp+gu7Svv7/Dk5ifmpiV1tPV1M/I//36k56o1su/////n6Grxb+6nJec39bR////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////29vbISEfFBISJyotNzg0lHtzlHhxj3Ftj3Jqj3JqkHJqkW5ph2JeiGJci2VdjWZekGdfkmhhkmlhlGpjlWlkk2pilGtjlGxkkm5lkmxkkmtjjmxhimlfiGheiGhehmZbg2VbhWdbhmddh2ZehWRehWRehmNghWJfgGFbf2Baf19ZfFdWeWZPhLlUgsJSd4FPfoFWXGNAAAAABwIGCAYGVllb/v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////wc3fb3WHr6KVeH6FUk1QsKmiSkxboqWwkpuekIB7lZGWSU1UcHJy6OHa2OHmPjhGYlletsDGhoyTlIaDkY+VS1RcZWFm9fLrucrVQzdBbGxsX19k7uXgsb/JOEBOiXx6sqynJiEnpqepcoGQe3R7jXp1/PLqv83YPzRBb25uXl5m8OjgwsfSX1Zjmp6rb3aAXFtXrqqjjYyWZ1tg/fz5v8nZjI+cYGpyWVBLf4iOdmpss7nAgn19sKaaQTlEeHmIrKunanWAQ0RJm5SN+fb0pLnJSzY6ko+Ucm13ubWyTE9hamFoqKqtopybbG98X1lhkoOAg4GHe3d+Z2p1ZGtptrKt7+zp////h5Ofkol/n6a6naGksLKsOiswv7Oz////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////3NzcIiMhExQUKCksQDk4qYKBqYJ6oX10o3x2p393qH54rX96p3pzqnhwrnt0sX53toJ5uIR7uYV+t4V9t4R+toN9s4J8roF6q4B3qX50pX1zon1yoHpynntun3twnntynXpzoHp2o3x2oXp2n3h0oHl1oXp2oHp2nXdznHZwm3ZwmnRslHRsknFpjGdhhGBdkGtnbVBMAAAAAAYEBQcHXFtd/v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////5ez0j5KcmJaYp6eiyMfFq6OmkZOdYGFpra2lw7/EkIeJoZ2kg4qP5+bY/v//o56ltbKylpyhqaaorbCunZaVoKGjurO2////3OTrqaClr6+rtK+y////vcjNtrCz2tripJqax8HEqqiwuLa4nqClppaP/vz65Ovzp5+kr6+tsa6w////tr3FWlhla2hyyLy6uL/Hk5ycvbWyv7m48e3oxNDaTk1XurOssLS/mpya0dDSt7a0xcXHr6WluLW3j5GZkpOYuLezr7S7lJOR//36093praWorqmmtLOz09XXr6murqqvsrrCoZiTr6amt7OzhYSOfnJqoKGmoZ2klJyisrCk////////foqVYmRdsqqture9t7CroKSloJyZ//76////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////3t3fJSUmExMVKiwsQj06rYSKsYSSq3+Qq32Eq4BzroB1soN4rnptqnForHVnqHRlpHVjonRhnnFim29imG1gk2xejGlaiGdYh2VWhWNUgmJSgmJVg2NWg2NUh2VYh2RZhGNbhWJdhGFcgWBagV5ZgV5ZgF1YfFtYel1XeFpUdVhUdFhTc1VSdE9QcVJOblROe11XWUY8AAAAAgQGCQcHYmBc////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////////2d3gyL+4////4OnvpaKg6+Td////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+/39wMXKzsbD////////////////////////xsrLzMS9////////////////////////////////////////////////////////////////////////////////////ydHZtK+s//rx////uru7///42OPvv7u4////////////////rLS5zdDO6+Tf//36////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////3t/dJiYmEhAVKjArQ0A0oYKGpYjBpIftmXnSk3GhknCVjnCWhWaMflp/flp/fFp9eFl8dFd5cFZ2b1ZycFdvcVVublVsbFNobVNoa1NmalRkbFVkbFVibFRjcVRhblJfalFdaVBaZ01WZEtSY0xSY0xQYUpMX0lHXkZFWkJCV0BCVT5AUj07Tj03TTs2TDg4Tz86OSwpAAAABQYGBwgIYGJi////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////6vH21s7J////yMnMyMbG////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////0M3L4+Dg////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////3t/fJiQkERISLjIySD43lnJ8jXbAiHr8fGrbeWOieGKTd2KYdV2TaVGHaFCFalCDak6BZk2AY016ZU52ZE50Yk5yYEtvX0prYEtsYk1oY0xmYkxkYUxkYUpgZ01fY0xbXEZXW0VSWkNPWUJMWENKV0NHV0JGVEFDUUA/Tz08TTs4Sjk4STc0RzUxRTQvRDQvSTgzNCckAAAABAYGBwgGY2Jk////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////6O/2wcHFzszMrq2v1NHO4d/czs/UzMjF////1tjbvLm7vLi4/v394+zyzszKz9LQv7q5zdTcsa+t1dbUuLe3xsbO4N7c9/b09vj4t7/FxLy3+/v93+Li3NjVxcPL0MjFzc7TxsfM2NPQ4tzb3uXt////5ejqsK+vsq2w3NjXys7Ota6v////5+rvoqGjp6+5a2hu39jRgn+ScGxnrq6qxsXLwsjN0cnEubi4s6qqysvLs7S55OPe0czJ+fj61N3ls7Cuvbm5vb7B1dbWuLq8r6ah//76297ls7Gzzs/RsbO17OXe/Pv519ff8/T3////////tr7FsK+t9fXw19zlx7246uruuba4yMjSZF9vlZOHxsTBurm5r66w+vj2////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////39/fJiQkFRQTMTU4Pj07fGlke2V9dF6Jblp0b1tVbldSa1VTa1RSW0RDV0A7WkI6WEA5Vz86VEA6VUE3V0I6Vj88VkA6V0E5V0A7WEA9WEA9WD8+Vz88WD47XkM9Vz88TTk3Tjk5UDo6Tjs3TTo0TDk0TDc1Sjc0RzYzRjUyRDMwQTAvQS4uPy4rPi8oPi4pQTEuLyQhAAAAAwUFBggEZWRm////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////09/upqWrt66pS0BHure9i5eZWFNat6mm////hJGkgHBnjomIuK2n4Oz5goaWjY2Ii4qIZWJsuLe1a3R+lY2Df4CNs7S2nJifjYmPbXyErp+Y9fT0m6iyMjU+nJSRwLiwXlVYlpysy8nLuLWwNT1Lq6CWz9PUQTxKVEhPm6CthpCOk4iA/Pn3uLvIVEhSfoKPvsnVr66sdWxzp5+YkI6YlJWghpSlOC44h313oJujR0VHkZORk5ymWlZV8u/qtcfSSDxAZ1dcmpmkZGl0g4SHmo2P///4rrLBgXaAW2Fuam9s1dPRoqOmMjM4ppyW////lqGujIR9rLnEUmJrurGrrqqnQDg6qKenh42aeXN9yMS7pKmyOzk5g39849ze////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////39/fJCQkEhQUNTY7SkM+mXdmmHJhjmtWjGhTjGVSiWBVhF5PhF9QdVFAbEc0bEk2ZkY1ZkU2ZUU5ZEU3Y0c2YEI4YEI4X0I4XkA4Wz81Wj84WT43VT02Vjs0Wz01VDkzSTQxSTQ0SjU0RzQwRjQvRjIyRDExQjAvQC0tPi0sPS0sOSsoOConOCkoNyslNSklOi4pKSEcAAAABAYECAgIZmVn////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////z9zpjo2L0MPAiYaMeoWNi4eHhIONpJiY/v//dnyMrZ2YjoqKz8XA8vv/bHR+i4qOkZeUr6uqw8LEn6SskZaTqaShjpGempyfubSzh4yUmpqS///7lqCsgn6EwMLHsaijfnRyfICJk5ioraqogXZ2m42Nw8XPko2XnZmZe4aQhYqRlpaR/Pn0wcXGo5qclZqplp2inZudqaepkIWHjYqQh42QkY+bkYiRw8fJmJiamJKblJmago2NjoiN////1N7miX+EoJmcenN6qaGmrrzGl5OS/fz6tLvIc2RksKmykJqgi5CRkpefjYiHqZmU/vn8cX+Qvqyf////i5Cdvbu7pJ2ak4iKoKCknJujmJ2mpZyZtq+yioiSfoOE3NnP////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4ODgJSUlFBMSODo6SEVAmXVql3BkjmpZjGZXhGJXgl9Uf1xPf11OcVBBZEIzZkU2YkMzYkI0YUA1YkQ0YEY1W0AzW0AxWkAzWT01Vj4yVDwxUTsxTDgwSTUvUzQxTzQwRDEuQzIvQjAvQC0tPy0tPi4tOy0qOysqPCgqOSkoNikmNCkkMyYlMiYiMiYiMSYiNSsmJB4ZAAAABgcHCQkJZGVl////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////6vH2hIiPh4F+7e7o4uTi9fDv2+Ho0s7O/v//0dDS7ebn5uXl/////v//6Onl6ers////////3t3a///97/Dz1dfcv72/9Pb0////8fDy7+7u////+/v7///97/Dz6ufn3uPmYmVosayr6efp/fz6+ff58PDy+Pb0////6Oro6Ojq8vLy////9ff18/Px+vn5293d9O/s////5uXj+/z64uTk4+De////9Pv/hICA6d3X7e3x////9fPz////9vf69vT0////3NrX////2u30hX6A++/n9vn739va////9/j87Oro7vDz/f399/X3/vz80trkjYuRqaWl2c3N7fH25uHe////3Nvd////9Pj56efknZ2h2tHM7Ozw////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4ODgKCgoFRQTOz4+Q0NBcmZecGBbaVlWZVRPX09MXE1GWktEWUpHUkM+QTItQzIvSDIvSDQuRTAuRTcwRzsvRjQvRjQvSDUxRTMwRjQvRjItQy4sQS0sPisrSjEqRjEpOywpPisrPCsoPCkpOyopOSonNiokNSgkNCclMyckMiYiMSQiMSQiMCQhLiIgLyIgMiYkIhocAAAABwcHCgkJY2Vl////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////5Obp////////////////////////////////////////////////////6ero9vLx////////////9/n8//7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////29ze////////////////////////////////9/n7////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4ODgKioqExQUP0BAS0RGcmNicV9aallUZVNQYU9MX0xJXElFWkhDWEZBSDMwRC8uSDMwSDMwRDItRjYwSDwuRDMuRDIvRTItRDEsQS0sPiwqPSsoPConOCcpRzEnQy4mNCkkOicnNyglNykmNCkkMighMCUiLyQhMCUgLyMfLiMfLSIgLCIfKyAeKyIdJyAdLCIiHhcbAAAACAgICwoKZGVl////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////4N/d+/n07e/x/Pv53Nvf+PHq////////////8/Ty8u/s7O7x3t7e4OHhwsfScm15nJiR1tPO7uzq/////////////////f7/5+bo5+fn2NnZ3+Dg7u3q////5Obo2NbU8vLw5+jq39/d8u7p////////0dHR9PDr3+Hj3dnY////////6eru7e7w1NPV+/f02Nnb4ebnubS3//ny6+7x19fX7Ovp///39fj609bY6+vp5uTi8e/s////////////////////6Ort397e5OXl6+nn////5+nr4d7d3d3d5OPe////6Orx39ra////+/7/29jW////4ufu3drY////7e/x1dXV3+De+Pj21tbY9PLv////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4ODgKSooFBUVQUNDS0ZJcmJib15ZZ1dSY1NOX09KXEtIW0lGWUVDWUdCSjc0QCwqQzAtRDEsQzArRTUqRTgqQS0sQC0pQCsoPisnOykmOCghOCglOCYmNCUkRS0kQSolMCUiNCUkMiUiMyciMSUiLyIgLCIfLCIfKyIfKiAeKR8fJx4eJx4eJB4dJh8eIxweJiAhHRUYAAAACAgICgkJZGVl////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////1NnhmZuiuby6nY6Oo56jj5ik29PLwb28VF9sw7+66+7peHZ2kYuKfnmAmZmhpKazgX2JurWmzM3H3tjT////n6Grl5meqaqs+fLrm6SykYyJh3p8hoWPt7Gs/f//goqapJiSrKShdXJ6nKCjeXh2593XyM7TcGhre3+Me3522MzCtrrJtK2v3eDnSkpSraein6atend31NPXvLWu+Pr8nqOzdmttoaCic3uFaGdjtrOympOdzcjHdH2DvK+n////qrK4XFhb39zXzNPac2lpcXV8u7Gp+Pz8aXaJe25ulIuIjo2LYmdvoZyZqaGc5d7Xz9jim5ablZ6kcXFtyry5+vr6qrS+gHFuop6jYGpyhYWB4NXT/vz6////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4OHhKSgoFBQUREVHTEpIcGNhb19aZlpSYlNMX09KW0xFW0lEWEVCWUdCTDg2PCcnQCsqQC0pPiopPzApQDQqOysmOyojOigkOCciNyciNCUiNCIkMyIkMCIgQyoiPykhLCIdLyIfLiIeLiIdLSIdLB8eKh4eKR4eJh4eJh4bJB4dJh0dIxweIRwdIBwdIBoeJB0fGRIWAAAACAcHCgkJZGZm////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////zNXnhIyfk5SSeG9xXVlel5mel56mhIGBSkdHlIJ9n6iue36DwbWzgXuDcWl0sKy0jZSej353//34////////hoWPTj9FTkhP8fPzssDNh3t7mI6TZGBwz7+88P//en6OsayskoF+nY+Tjpmha21y8Oniur3HioiOhYudg4eKpKypgH+FloiDtbS4dG93zcvJjpagYmluxL61////5/j/n6KnsqSkdXd+YWp6hIeRnJ+YfXl+d32CWFxj5NnN3eftU1trVE9PwrWrwre5npOVl5um0crH/P3/bHeOjoOH08zJcG9xUlZor66ulY2I3M6/ztfpen2KYWZtbnBzrqif/fz+lZuomIiNhH2Fc3F9c3+Furew/v39////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4OHhKikpFBQWRkhITktJcWZgb19cZ1dWYVFOXk1MW0pHWEdCVUM+VkU+Tjw3OiYkPCkkPSomOiYkOS4kOzIjNSkjNiYhNSYhMyQfMyMgMR8fMB4eLyAhLB8ePicgOSQfJB8YJyAbJiAbJh8cJh0dIx4dIR0dIxwcJhwaIh0cIBweIRseIBsbHxgbHRcYHRUYHhcYFQ8NAAAACAgICgkJZGZm////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////ws3ZXlxhz8nA0NXWwsLCyMHDzszM2t3i6N/f5N7h0dPV6Obmvr7IuLa2sKuq6OPi3uXoxb26+/j2////prXKf4KLgnpzlo2PqrjHuLa0tbS2bWp0koWD++/s7/z+lp6ubmduxLqwyMbOsrKy39zc//36////h5ajlIeE2Nzjtbi74N/c6ujhoaCk1dTYxsjI39vYwMbN3NrT////9Pj719vb39zc2djU7ufo4ebvury+z9LSq66s2M/M////6e3wwsPI6+vt6ebou7e8kYyRZWdwtq+s////zs/U3dzgkZKXwrWr9PDw1dngwri4////oqy4ZV1a7OXe0Njgx8O+////t7zBaGJqlYeE+fLzu8PL1dLN////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4ODgKioqFRUVSktLUE1McGJhbl5bZVhWX1JQW01MWUlIVUZBUkM+T0A7Tj45OColNCQfOiYiNiQfNyweOTIeMiIhMiEgMSEgLSAfMCIdLiYZLCkTLCAbJBgYPh8cOBweIhQaJhYdJBYdIxcbJBYdIRUbHxcbIBYbIhYZHxUYHhUYHRMYGxIXGRITFw4TFw0SGA8TEAkKAAAABwgICQkJZWVl////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////4uTm9vDn////////////////////////////////////////6Ozv/Pr3////////////////////////1NjdyszR3d7e9vb21tXb5t/a////7/P2////////////////5uTk////6/P48/Du////////////////5ODj////////////////8fb78e7r////////////////////////////////////////////////////////////////////////////////9vv+1NTUysrM5eTi////////////zMzO////////////////////3NvZ//75////////////////////5OXn////////////////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4ODgKSkpFRUVTExMU09Pb2Jga11aZFdUXlFRWUxKV0dGVERBUEE8TT45Tz86OywnLh8cMyMgMCAfMigbNS0cLSAdLR4dLB0cKxsdLCoXL0wUMWAQLFAUITIUOi0ZNioZHiIZJSIdJCMaJCMYJCEZIh8YIx8WHx8VGx0UGxwSGhsTGBoSFhgQFxgNFxcPFBMPFxcUDRAMAAAABwgGCAgIZGNl////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4///////////////////////////////////////////////////////////////////////////////////9//////////////////////////////78////+Pn7+Pb0////////////////////////////////ysrSmpqeztLT5+Pi//v2/////////////////////////////////////////P39////////////8Pn/l5GS////qKy31Me9//////7/////////////+f7/3tvd///9///////////////////////////////////////////////////9////////////////////////////////////////////////////////////////////////////////////////////////////////////////ycnJxMTE/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+////4eHhKCgoFBQUTU5QU1FPbmRga11aY1ZWXVJQWU1LVUZFUEI/TkA9Sj04Sz06PTArKR0aLR0eKhsbLiYZMS0YKR0aKBsZKRsbKRgdJicTN3cPTMkBPawANHUJSGcPQGMMKlkHLlkQLlcNLFUHKFEJJU0IJksAJkoAJEgAI0YBIkYAIkUAIkMAI0IAIUAAHz0AJEICGy0GAAAABwQKCQgKZWVj////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////4u31kpWVsqmkpqKiqqiumZ6lnZeQurnBvrm8zMfEnZqcmaCjo6GeyMfPqaWl//v0usXLiYaD083IsLO4h4CDm5KUmZqcpKWqo6arsK+tvbSteXODamZlvsvJr6Wf8u7pqamr+vn2ycrPqqmtmZub////ytLafX+Eta6n8Ozr+/7/oaCcopuiiYiQoKauiY+Xyb62lZijlIqKubi8p6WruLu9vre0xsDBkZefr6Sc8vPxipOhlIqKraqqtbKwm5iYeXV8xbu1////qqquvbOzfn2HpaWpq66zoZiR+Ozg9v//rLfBxr6229zcjZOaycTHrrC1t62l7eno////////////////////////////////////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4eHhJycnFRUVUVJSVFJSbGRda11bY1ZWW1JPWExMVEZGTUBAST07Rzo6RTk3PjIwKR0aKRkdJhkbKSYXLS0YJh0YJhsZJBoYJBgaJCcPMGMEO5sAMoEGKFQMQkkXPEQWIjwPJDgTIzcSIjcNHjMQHjMQHjEOHDANGS8LGS8LGi0NGSwKFysGFywIFioJFCgGFioFER0DAAAABwQKCQgKY2Vj////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////5vX/naSdloeHfW5wiH+KW2Fxdnt8j5iflY2NnI+PfW10XV9sfIOAeoKMpZKP/P7/WmBn8eDP////qLbAUEFIiXp5kpSfl52lj5SdiIGGo5GKi4SLWVdf0MvK+fr6////8/Pvi5icVkQ/x8PLdoeKzsnOW1pizcCx////////1N7kW2Fkd2dpeHN9eoKSvsLDk5GOe21rmZ6mLCo1qKiodoWSiX13f3J2tKen///75e/3V2V7Y1tikoqMjYSHa1xhe3iAtKuw////qayvopCLYlpqhYqatLvAn5CJ//7yws7bLTI+bWBYm5ugZ3J6lJmao56lf3Zxvq6p////////////////////////////////////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsLCoqFBMTUFJSVVRQbmJea15cYFlUWVJNVU1IUkZES0I/Rz07Rjs7QjY0QzY1LCIbIxkVIxkWJCYULDAXJh0XJhoZJBkXIxYXIyETJC8OJjMKJCcRFxUMMxcTLRMSEggLFgoKEwsNEg8SFhkcFiMhFB4kEhQZEwsNEAgLDQcLEAYODAYMCQgKCQUKCAQKCAUKAwQGAAAACAgGCAgIYmNj////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////3/H8fYB7sKWfnI6LnJyknZmjpKmwoaajq7CwkpGPm42K2NHWoquzfoqMqJyc+fr8a3N71Mm9zs3PwsPGq6GjrKWncXB6lJeauLW6oaCirqGX3trfjo2Vyr+9/////f//eo+XTEU61MC4naS4Znd6tKysVk9Wx8C309TW4NjV3ObmsrCy0szHt7a2vsHLoqanqaSjsbOzjoqHxL/CsrC2u7i4qbGyYmFjwbCt////+Pr8r7K8ubK3ra+xp5iR4NveaHB+qpmW////cHR7lYV4uLa4rrTEkpqkloeA+vXux8rNnpOXurfB4t/lo6muipWbcHN6l46E8ezp////////////////////////////////////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////0tLSIiMjFhYYUlNTV1VRa15eZ1lZX1NPWUxKVEdFUEBASTw6RDg2QzU0Py8uQzIvLh8cGgoKHwwNJBsJJCUMHBAKHgwMHA0MGQsLGgoNGQoIGAsFFAcDEAIGLg8HJAoICgACEAICDAkIDxcbFy04FjZAFzpAHTI1FRkaEQ4OCgsLDQsPDQoSCwsOCQgLCAcKCggNBQYIAAAACAgICAgIY2Nj////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////5e70lZSU//vu/////////f37////////////////////////////////8/X3////193kl5yjoJiY8+nh////19rdl5WXwsTG7Orn////////////////////////+P3/iI6T5uDX3+TnnJ6gqq2vzsfEz8zSqbK4m5qe3tHO////////////////////////////////////////////////////////////////////////////////////////ztLXysC+////ur/Gt7Oy////6/L5pKmwvre0+fHq////////////////////////wcDA////////////////////////////////////////////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////gICACQoKHh8dVVRUWVhabnFzaW5vY2ZpXWJnWWBjVFxfTldcSlVaR1VXQ1NWRVRXOUpLJDg7JjlAK0g/LFJDIj5BJj1EIj9DID9DID1DHjtDGztDGztFGjpDOUtEMElEEzpHGT1GHUpXH2l1IIieL57GJ4OZFEFEEyUmDgwRCwkJCwkNCQgOBggKBQgIBQcJBQcJAwQGAAAACAgICgoKYmJi////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////6e3wxMPB7u7u//7/////////////////////////////////////////////////////////////////////////////////////zcnG////////////////////////////////////////////////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////fn5+CQkJIyAeVVNRVltcc4SEa4OEZX2BYnt+X3l+W3Z6UXR3T3N4TXR3SnN4SnN5SXF8M2NvKWFuLndxM4B4LGp3LWl6Kmx6KWx4Jmx6JG5+JnGBKHOEJHKARoWBP4KEIHSIJ3eKLIedNanENszyT//+N7jfDTpIESgqDAwRCQUJBwcJBgULBAYLBAcHAwUGAwUGAQMDAAAACQkHCgoKYWFh////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////5u31xMPHxMTCubm7yczRubKvwL6+xcTGsK2yuLm708/M0tPTq6yx4+LdzMfE+ff33eHmr66wt7e7xMPJxMO/t7aytrKy////5OrxoJ6g29fW1NfcrainycvLqamr/fv95+3wuLq/zMzOyMbGu7i9raysw8HBx8jLv8DDtK6r////////oaSpsrCwx7+62NLLwr7Fvb3Bubq4xsXHwL+/v7y6jI6dXVhfu8G8p5+a3M/H////8PDw7+7u+vj25uzzwb29////v8rSy8O8////urzB+fXw19verqysztDSwL7E4trVztLXv7my2NzcZWhzuaea6ejssq2y5OTiz9XYlo2I1srA////////////////////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////goKCCwsLHh4eVVVVWlpab25wamxsYmdkXmNgW11dVVdZUFRUS05RRUtOQklMQUdMQUpLKTU5FigqIUAvJUg1Gy0uHSkxGi0wGS0wGioyGCwxFTAuFC0yEywyOT41MDk0Eik0FSw1EjlBHVRiIXGKIIuiIHOGFjtFDSEhCQoNBAcHBQcJBQQKAwUKBAYGAgUGAgUGAAMEAAAACAgKCgoKYWFh////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////2OHxh4+deXh0kIyJg4yaWFBTgXNxhX6LaWh5eYSPqqOmgn55f3x5k52lV1JT9OrixMnUYVtjhZCcPT0/joZ8doKIkod/+/j2xMrSU0tYoqW0urvFdW5xR0VLdHNz8Ojlx9DgcneJwLmylpiYamFseWtxfHiCeHuIoKOtkIuIubOkpKKqfH+GXWFud2lmhYB3aG95Ly8xwryznaezg3VzlImJg4CNbm541NLN29vX8uvm////enJ1XlhdiYOC7PD1c3F5xcC9cXuBgH967urvfnmA/PXksrXAg3uCQklXrq6soKesgnV1e3+CYWNuura2nJ+kSEBFqaenZW56q5+d087H8Ozn////////////////////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////goKCCgoKHB0dV1lZW1hYbWFhaFxcX1dSWVFMVEtGT0ZBSz89RTg2QDQyPDEvOSwsPTAuKRsYDwACFxYEGSIADQYCEAICDQUADQQADwECDQAACgAACAABBAAAMA4FIwoAAQAABQABAgEABw8SDyQqDSwvDjAxECsuCRMVBwgKBQYKBAUJAwUJBAYIAgUGAwQGBAQGAwEFAAAACQkJCgoKYGBg////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////0d7pgH9/srCykpWQsbW4mJObjoiLe3J0rrC1tLnIkpaYiIOGnJuYhZCQkYqR////ys/Whn6BsrvFenl/yr+5pq+/h4d/+vfypaq5cWlyb32Hqaijx8HEnpuld36D5uPU4+v1dHeClZKSlJiYqaieuKywramxd3+NkI+Vv7az2tjVkpmmj4eOn5uloJ6en5ycq6m1cHF229jVvsPKk42OjX14wLnAdnyMrKCc////////u8TQaWt4a2VomomCv8TPsa624d7dmqOrdoCAz83VraCi//76rbfJalxjpJ2ksri9mp+ii4KFg3x/l5mgsLS3iISEk4yRrqmsbXSBk4WH////////////////////////////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////gYGBCAgIHx8fWVlZWllXa2dlaWJfY1tYXlZTWVJPU01KTkdCSEI9Rj07Qjk3PTUyOzY1NCsoFAcLFh4NHS8DEg0PFgsSEw4KEgwMEwwMEwwMEgsNDQkNCAcKNxsQJxcNBQMKDAcKCQkJCw4QChgYChshChsdBhASBQgKBAQKBgQKAQMHAgUGBAYIBAUGBAMFBQMFBQEFAAAACAgICwsLX19f/v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////6vH2g4OHu7Ow9/j6/Pz6+vn53eHm1tLP+Pn1////////7fDy+Pb4////9/X3////tbnAppycvcfRvbOz////////8vL0////1Nne3dnY5ujm5+jm/fv5////8vL0////////7Ovr4uTm7u/x/v/79vXzvcDKlpWX1tXVwb3C////6PD1z8zO9PHv/////Pv9srK8uq6y6OnpxcTG6+jl6OXi////7/Hx9PHu////////iIqXgIWQsLOs1c/Mi4yX3drX////nKq1jpKNvry8vrS0////pKq3tqqk////6uvt+/j26e3w8Ofk/Pv76ezs+PLt////5+Xl8vb2zs/R//v6////////////////////////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////gYGBCAgIHx8hWVpaXVtZa2dlamFhY1xXXldSWVJPU01KTkdER0I/RD09QDc5OjQzNTIwNjAvFw8QEhwGHTAFEA0NEwgOEgsLDwoMEAkKDgsJDgsJCgkJBgYGNxsQJxYLAwMKCQgKBgYJCgcHBggIBQgJCAgIBgUFAwUFBgYGBQUFAQUFBAUGBQQGBAMFBAQGBQQGBQEFAAAACAgICwsLXl5e/v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////////////////////5OXl7+vq////////////////////////+P7/2tfX////6urq/////////////////////////////////////////////////////////////////////////////////////////////////////////////P39//76////9fb5////////////////////////////////////////////7+7w///9////+/v78e/v+vj2////////////////////////9vn7/fn0////////////8vT29vLv////////////////////////////////////////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////gICACQkJHx8hW1paXVxaa2dlaGBiYVxbXVdWWFBSU0tNS0dHRUJBQT07PTk3OTM0NTEwOTMyHhQZEBkEHTEGDAsJDwYKDgoJDQgKCwkJCQkJCQgICQgKBgMHORoQJhYKAAIHBwcJBQcJBwUKBgUGBgIGBgEGBwIFCAQGCAUJBAQGBAQGBgUGBgUGBgUGCAcHCAUJBgMFAAAACQkJCwsLXV1d/v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////+v//yMnJ/vfw////0czP////2djg4eDihIOWe3ZzyMbD7u3tzs7Q9/Pu////4+Xn0djgcWxz7+rll6CsopKL+fbx6+ro////8/b73Nzc39zb2tvb8vHt4+PlycjK//76////zs/P4+Lg3+Li4eLi6Ojo7uvo2drc7Onk9vf15+fnz87O+Pfz1tja3NbR////////////////9Pf65OTo4uLg1dTS3d3d+Pbz9/n73eDi+fj04uPj2dfU////////////////////5+nr4+Dd3N3d7u3q7e7uysnL9vPu0tvlaGVr9ezk/v//3NXYs7vFenJt//755erv1tXT6Ojo3Nze4eDg1tPV6ujl////////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////f39/CQkJHx8fW1tbX11bbGVnaGFjYV1cXFhWVlJQUU1MS0dHRkJBQDw6PTY3OTU1NTExNzIyJh0iDxoEGjAECgoGDAYICQgICggICgYKCAgICAcHBwUJBQIIOhsPJxUIAAAGBgcJBAcIBAYKBQQGBwMGBQUGCAUJCQQGBwMGBwMGCQUFCAcHBwcHCQcHCggGCwgICAQGAAAACAgICwsLXV1d/v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////2uLpfX6DqqurjZmbqqGcqJ+fcHV8paSovcDDe3J9raees7a5Tk5WhoSC9evm4urvVFxsem90tLa5vbSsnZmhnJykq6yvb25u5tzU0+HuT0pUcGNnq661kpeeioOAhHh89Ojgrb/KhX14rKmzkpWfo6ardHN+bWNnpZiVvreykI2TWF5joqCZnp2la2t1nJKU///92OHvZXSDpZqO4eDgfYaWkZCSopWSiYWF0cW73eb0jZCbl5ugbWlkzL+1xsjPXGt6pJ2W////1+TxV11ta2NmrKutpqOofHNudGxwxLaz+f//oqi3paOjjYKEuK2ni42Xp620ray2iYmWk42KnJKScnd+bWhtXlRbz8bG////////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////f39/CQkJHx8fXFxcYF9dbWZoaWNiYV5cW1hWVFFOUE1MTEhHRkJBQT07PDk3OTU1NTIyNC4vLCUqFCMMFC4ACAcFCwQKCQcJCQcJCAcKCgcHCwUGBQYKAwEJMBoKJhQKAwAHBAcKBgYJBAUGBQQHBQUFBQYGBwcJCAUJCAQGCQUJCwUGCgcHCQgICQcHCgcHDgkKCgcHAAAABwgICgoKW1xc/f39////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////hZariH11////k6Wym5CGo56dTk1Xqaqsm6GmjYeGloeEwbq9dXmEdH2Czce+8/X4aWl8d3F4tri4kY6Md25rjo2TZnB8cm1w8unh4+zsZFxlgniCg4ONjoePr6+vo5mZ9+3nuMTRdnd1h4uScmt4uK+skJGcfHR7sa2yiX96k4qMhomUkZubenp+k5ahtK+0////pay0PTc8b2JiyMXKipOjj4uSrqepcGFm5tvR1+T2ZWFtlY6ThomOnqOjk5KSSURJaV1f8Orp7PP4ZmZ5gHuDkpOblIiGpZqajIiP1MfH6vj/kZidd3yDgnVwsqynXlpfmJynXmZ0nJmZycLDtaill52ngHqCeHd7hoeJ9PDt////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////fn5+BwcHICAgXV1dYmBgbWhnZmJhYFxbW1dWVVFQUU1MS0dGR0NCQT49PDk3NzQ0NDExMiwtMSkwHiwWEisABgYECQIICQQKCQYGCQUJCAUJBAUJAQQGBwUASB8NNhkLAAAGAwYKCQYFCQUFCQUFCQYGCwcFCQQKCAQKCQcJCgcHCwcHCggICwgIDAkJDQkJDggKCwcHAAAABwgICQoKWltb/v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////0Njif3yCr66wtq2w7vDzu7W2/vv7xsjP5NvY8vb5yMPAlJKYsq2svsLH5+Lb////1NLU5uPjv8PGx8PA3OHesq6t3tzZ5ODl///99fv41dLS6OfpsrGz6+Ld6PP1ZF9k49TJ////vsHG0dHPu7i639jV4OLk1dzjdHeAvrixpqesraapwMPI6ujlq73MgHNw///62Nrd2dDQ4t/lyc3aq7G2rrG4b2hwtqWe////8vj9rayu6eDZ4unwuby/3Nzc4tzb3Njf7+rt/v7+0tLU6OXlwMLF18zE+fz+Z2t0vqyl+vz+rrK11c7H8PP2xr/C6ennrq6uy8nG4ufn5+XjlpWZq6Og3tvd4uTmsrW18+/s////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////fn5+BwcHICAgX19fYmBgaWZkZWFgYVxbW1dWVlJQUU1MS0hFRkNBQj0+PDg4NzQyNC8yMSsuMSkwKDQhFCsCBQUFCAAGCAMHBgIICgMFBwMGAAIKAAACFgwAiz8fbjEaBQQAAwMGBgQJCAUFCAUFCQQGCgUJCQUJCQcHCwgIDAYJDAgIDAgIDAgIDgkKDgkKEAoMCwcHAAAACQkJCgoKWlpa////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////7PDzt7e31c/M////////////////////////////3+Po6OTf////////////////////////////////////////////////////////////////////////7ezw8u3s////////////////////////////5+Pg////3ePo6+bj////////////5+Xn/////////////////P//8e/v////6ejq////////////////////////////////////////////////////////////////////+Pf56ubm////////////////////////////////////////1djb/ffy////////////////////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////fn5+BQUFHx8fYGBgYmFfaWdkY19dW1dWVVFQUE1MTEhHR0NCQD07OjY2NDAwMSwtLSkrKyUoJR4mKDkgEy8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAMAaCsMVCIHBQABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAwAABAAABQABBgACBQEABQEBBgIBBQEAEAkJDggKAAAACQkJCgkJWVlZ/v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4/////////////////////////////////////////////////////////////////////////f7+////////+vv5////////////////////////+/v9/////////////v///v/9////////////////////+fj4/////////////////////////////////Pz+////////+/z+////////////////////////oqevxrmv/////////////P7+/////////////////////f///////////////////////P37/////f39/////////f76/////////////////////////////P7+////////////////+vr6/////////f7+/////////////////////P39///////////////9////+/z+/////Pv7////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////fn5+BAQEHh4eYWFhY2NjZGJgXFhWXVpYVVJQUU9NSklHRUNDRD9AQj0+Pzs7Ozg2NzYzNTIuLyksOEQwJDgTBAMBDQYIDAgIDAYJCggICgkHCwkHCggIEAgKFgsGFAwGDggKCgoIDgoJDgoJEAkKEAsJEAsJEAkKDAYJCAIECQMBCAQDCAIEBwMBCAQDBgIBBAAADgoJAAAACAgICggIWVlZ/v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////2+Dnm5ujw8C9s7GzlY+Q4tjQ8Pb7en2IrKmntre1goJ+q6Sj////yM7Tk5GZv8HDoKiwfHyBk4yPrZ6bvr3DcnR+oKGdmpuZysXItLK6rqed9vDpzdnjioyMraSk9+/nscDLl5GMwb/Do52gs7S3s7a7xr65qaiscnh9rq2t1djbkIuI9vLts8DSgHh6qqqvwL/Fr7KwopiY6+jt2ODnjZSesK+tr6qprqyqoaOlp6amhoiLkoqMnJKSmpiaj5OWpqSfxMHHgYeOmo6M//v08Pr/pLC6wbmx5eTooKe1op+fnJKQmJaY0MnC+Pz9goaTq6Wit7a0f4B+paCf////2uHompeXwcXFlZaUx7y8sLGzjY6Ttqyn/v/7s7jDt6qimJulsa2t////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////fHx8AwMDHh4eYmJiYF9fZF9fu7m53NnbzczMzMrIzcnJyMbIy8jFx8TCxr/Cw8G+w8C9wr69wr28xL++vrq3tbKvt7Oyt7Gyt7KxtrKytrKyt7GytrKys7Cwr66ysrCyt7OyuLSzubSzurS1ubWzurS1u7e2u7W4u7e3wb26v7q5u7i3vbq4vbm5vbe42NXVenZ2AgEBAAAACAgICQkJWFhY/v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////n6q3iI6VoKeqbF1dcmJn7N/Xz9voYmJ1q7C5hoWJU05RgX96+fLrsrnJVFFdmZudjZaZWl5raWFsk4F6iI+ZQT4+paGea3mGjZGUgnF29O7l/Pr4yNPZcnyAnI6S//7+jJKfsKqlc3R5lZKSW2Z3jYmPq5yRfH6DPUZQkpOTdYGJXVdc+fPsucDIe3qCV15sfX2Hd3l7h4B7q6Sjqq6zfYOVioWKopCLcW91VV1tlI+Wio+YZFdcnIuGpaOrXmRxiY6JZmhzgH+Hrqar///9usXQKi45W05LzszOgoudkYeHp5ubY1tkzcG54e34aGuAsbK1ioWKTElLeXh28uzjw8rYhYiVUVtlYFtam6CdamdnUE1ar56b+v//lpaap5qORUFLxL++////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////dHR0AAAAHx8fY2NjW1tbbmls6eTp////////5ODj////////7u7u9vX1/fv7//37/fz8/Pr6/fz6//z+//7+//7+/fz8/Pv7/fv7/fv7/fv9/fz8/fv7/Pv7/fz6/fz6/fz6/vz8/v37//78/v37/v37//7+//39+/n59/Pz9PHv8O/t+fb2+/f28+/v////vbe4AAAAAAAACAgICAgIVVVV/f39////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////8PH0qqq0vrm4tbW5lIaD/Pj3zdnjZGd7bGlzwLOuzs/ZiYuL+vjx2t/oi4qOk5Wav7+6w8PFu7W4sLS1YWJsjH+B4+DgqrG5i5qck4uO+Ojh////t8TMYmprnpSW9+jj7fT3raqqysjIraivwL2/qK20nJqcraqlyMrMnaKlp6ukxb3A////xdDSh4OBsrGzo6ioo6WqmZqY+PPs5e33nZ+poaGjt6qnv7y6vb/Gnp2ntKmrvbm5sKqpaGRrr6yym6Knt7axrb3Md2xs//r3xsnMpZqcv7vFys7Zo6qtnJuda2RtgXJx+PHq2ObwbXOGbmpxuayi09LchomM8vLqsbvLT0pRyMG6sbbBn6ahycG8rK+5lpGU////zNHcsqelk5abcWlp8vDt////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////fn5+AAAAHx8fZmdnXl1da2pq6ejo5tjQyaqiy6+svZyW2svE6e/u+/v9////////////////////9/j46+zs////////////////////////////////////////////////////////////////////////////////4N3d39vb8e/tysfFw72+8+/u////qqSlAAAAAAAACAgIBwcHU1NT/f39////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4///////////////////////////////////////////////////////////////////////////////919/nysTD////////////////////////////////////////////0NXc1MrK/////////////f///vv7////ytPZpKGf///9/fv4////////////////////////////////////////////////////////////////////////////////7vL34N/f/////////////////Pz6////////0tXalpOV3drX////////8/7/vLm5//rz////////////+f3/3t/h+///vrvA///3/////f783+jtxb6/////////////////wsTE4djQ////////////////////+/z8////////////////oKCk39nU////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////z8/PERAQGhkZaWlpXl9famtt8/j43Kyov3lw0peRuWRfzJ+Y+f///fv97vDu6unr5ufl4+Li5OTi4uHh1dLS1tHU4N/f/////////v//////////////////////////////////////////////////////////+vr66OXl8ers6eXlsq2strCx6+Xm////raupAAAAAAAACAkJCAgISEhI8/Pz////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////////////////////////////////////4u72u7q2////////+vr+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7u7//jz////////////////////////////////////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////3t7eEhISFxYWamtrY2Jib29v8Pf67ce81Y194MSz1JiC57eq+f3/8u/03+Tf6ujq5uXl39va39vb5eHg4t3czcrK29ja9e7x9/Xz8/Px8/L08/Ly8/Px9PTw9fPz9fPz9fTy9vT09fT09vT09vT09vT09vT0+Pb48O/v6+jo+ff37Orswb29wry77enp////sa+vAAAAAAAACAkJCgoKOzs76enp////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////5OnuubzBy8jIw8G/p6mrvry+0M7QtrW5v8LHyMrMubS5z8rJurq81tbUn6Sl6enfsrjAy7y14+nur6+0ycvNuLu+qamptrOzwLvAuLWzsLCssrS34eDbxsK/9PLyytPb29LK////5OPpvMPBs7Gz3+Tpw8C/v7q6pqawycS/zszK6uDg9fb0rK2yzsjF+vX08/j5rqux1dHQy87RxcG8tba2qqmr///99Pf5raqw29jWurq+9+3j9/n7oaKnuLe30NDMsbGxs6+v////0dbdq6uzu73AvbWtzMXAzMvRxsbGqaahyMTE2NbUxsfKxL+8////eIGRpZaL0M7Ora+yzc/Pw8DG0svI0dLUtrKyvb/BsrO339vWx8TB5+Hi////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////09PTCgsLFxcXbW5uZmRkcnBy9Pv/7Mq71pyD5su6z5d+572t+f//5uLn6uvp5N3f6ubm8u7r7evr7evp7+nm5OHe5+fi5t/i5uPh5+Pi5+Hk6OPi6ePk6OXi6OXi6ebj6eXl6ubm6+Xo6uXo6+fn7Obn7Ojo7+vr5+Pi6+jo+vv7////39zczsvL////////tbOzAAAAAAAABwgICAgINjY26enp////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////wM3ceoGTwLGkfoOKKjE7pqGahH+Jc254qauwW2t6j4WAu762PS416uPlkZ6xpJKN5ebk8+3mrrLBYV9ssbK0iZKYSk5ceGxwPT9GcGZejZKTeHVzmaCjUlBQ5NrV2eHm2tvVa296d25zd4iQs6qifIeZbWJgu66uV1Nmj5OWZWdquqqj+ff0scDFSD8/8d3OpbXEhYeMipahhnt/mJKZRUJHeXd09vLxpK23gIOImKOrg3Jt//7wzNHeV1lpqayxhIqRSEI9kouG+/bzur/KhISOb3uObl5beHRrcWhvbG98bXBppqSka2puV1Rgq56c////ub/Hl5WSWVJanJqkTlhmqqeitLeybF1dmJKZSEtYgIODo6WnUE5OysC6////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////0dHRBwcHGRkZcHBwZ2VldHJ0//////bs7dG9/uff9tnI/e7j////49rf5ODf5eLi497e3t3Y3t3d3dbd3tXY593d2tjV09bP19XV2tTX2tbV2tbV2tTX2tTX29jV3NnW3dnZ3tra39vb4Nzc4d3d49/e49/e5ODf4N3b//7+////////////////////////ycjIAAAAAAAABwgIBwcHMDAw5eXl////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////3OPwfoGOlZCNlZWRnaKnmJycnZubfXmBiIqNl56hube5sKuoj4yOZm95k5Caxbm3//fy////vsHLb2tziYqPr7KroqKsq6GkhomTpJePztHYiYyOi5SQkYyT//36+v//UVlecF1Y4Nbdm6q5pqedjpSZnJCM09DLoJugrLTCioqM6tvU7/b7am+BiX5u9/Pu0dXck5KapKWqkI2Sn5CLs7G5d32A6und3d/mkpCYoqesgHdy/vTiwMvYZGJ1g4aTqZ2bqKqxhYWD+vXuoqy2lo2Hp6izop2ipKGhkIySg4GNmZ2kmKGenZeWhYWPl4+S//7+o6uwjoWAenqHd3B6p6Gmur7Bsa6rlI+SjH5+t7K6jpadjZiUj4qP+fHs////////////////////ycnJxMTE/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+////0NDQBgYGGRkZcnNxbmxsbWls2Nfb+///+//79PX19f779v367/Ly6OXn4ODg4OLg4uLe4eHf4tzh39vb2d3Y3t3f3tng1trV2trY29nb29rY29rY2tnZ2tnb29ra3NvZ3NvZ3NvZ3NvZ3dza3dza3t3b3t7c3NvZ4ODe8PHv7u/t6+zq8vHx9PPz7e3r9fX1m5iYAAAAAAAACAgIBwcHKSkp4+Pj////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////8fDw5+ns+fj0////9fT4////8vHv5ufn////9/n78Ozs////3d/d/Pn2/P3/+vn5////////8/Lw5+jo+Pn5/v378vb5sa205tbR9fX1//////////////78qrvEdW5p5N7hsa+v/f3/8fHz/////////v//+Pn5/////v3/+/j24erygXuLuK2n7+zq////7Ovr//v69/v89O7p////9fX3////////7ezs/Pn3mqOrqZuW8fb3pKy4nZOW//r1////9fP1////0tbZe3h43NLN////////3+Tn4d/d+ff3/v37////4+fq1dPT///98vb37uvptbrDrKCe////8PL19PDv////6ubj////9vb6////+/r8/Pn5////////////////////ycnJxMTE/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+////z8/PBAQEGhoadHR0dnR0cm1ycW5ueXZ4dHF4cG9vbGxuaWZsZGRiY2VjY2FjYF1dWlhaU1JUUU9MWn9RXpdaS1pITkVKLywsIyMjLCYpKyYnKyYnKygmLCgmLCcoLCcoLCcoLCgmLCgmLSgnKyYnLCcoLSknLScpKiclJiIgJSEhJiIiJyMgJiMeJSMeJyMgFQ0LEAsNAAAACQkJCAgIJSYm4ODg////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4N/d//37////////////////9vb2////////////6uvt9/Pw////////////////////////8/P3////////////////////////////////////////////////////+/z//////////////////////////////////////////////////////////////////////////////////////////f39////////////////////////////////////////////////////////////////ycnJxMTE/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+////z8/PAgICGhoad3d3eHV3e3d3b21rZ2RkZWJiYV9fXlpYWVRXVVJSTk1LSUdHRUJCQDs+NzI6MDYpRoo4VrFLME4iMCopFQ0QAAAABAAABAAABQABBQABBQABBQABBQABBAAABAEABQABAQEABAEACgAABgACBAEBCQIACgMACAEBCgEACQIABgEABgEABQABFg0LFw8NAAAABwgIBwgIIyIi3t7e////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////7fT5vb299/Pw5ejq4uDe5eTo0c/P19ja5+Pe////2dnd5uXl29vd7+zp19nc29nX5ebm3Nze2tvb19bW3d7e3t/i3dza3dze3t/f2trYqq69Z2Rwrq6k1tXR6+Xg+vz+0dHR/fv25ujqxcPF//75tL/JdW1q6+jl6Ojo9/f50MzR////0tjd8u7r2t3f19XT9fPx7evp7uni/f7/1tPV7Ovo3uDg////7fH219bW4N3b3uDg8fHt39/fy8nJ///9/f//0tLU///94ufs8eni////u8HG3NXO/v39zs/P0M3K////////7O712NLT7/Hz2tja////////////////////////////////////////////////////////////////////////ycnJxMTE/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+////zs7OAgICGhoaeXp6e3l5e3h4enh4eHZ2dXNzcW9vbGpsZ2VlYmFhX11dWllZVFNTTk5OSkZLSkhBVXZFUopJP1Y2Pzs5Mi8uFhEMGBITGRUUGRYVGRUUGRUUGRUUGRUUGBUUGRUUGRUUGRYRHRQUHRQWGhcQGhkNGhYTGRUUGxcOGhYRHRUUHhUSHhUSHhUSHxYUFxAKAAAABggIBwkJHh0d2tra////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////1t/nenx/q62tnqKdiImHsLKqpaOzlIyTfoiOwK6d////c3uDvb+3m5ejnoyRb3iNi4+UtrGwsKCZmZicam9/nJyhw8TCp6yxfHZ7jIKEmZSXjo2ffXuGu8K/uLa4vLKoi4eMc251p6u2rLS1f3Fx6drP3uv4kZmjnKKpqp+hsKeknpyec3uDlIqCrLK3cnN1wbm5fn+EiIaDjY6MZ19hq6mrgYyYpJSU////sr7LT0dOcWRmp6mzhImUh4WDin6C6NzS/P//i4aNube0sL/Ct7GybGZro6eoiY6OlaCeoJqTf35+oZyV////nZ2lraCWbXB7sKmr////////////////////////////////////////////////////////////////////////ycnJxMTE/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+////zc3NAwMDGhoae3t7fHt7fXx8fXt7e3h4eHV1dHJycW9va2lpZmRkYWBgXVxcWFZWUVFPTExMTEhHSEU+PUI3Pz45Pjs5Oz82Hh0YFw8QGxYVGhYVGhYVGhYVGRYTGhcUHRcWHRcUGhIPGgkPGBYZGBUUHggPHQgPHxMVIBMVFwoNHRAVIBUXGBIQFxAPGRITHRYVEw8QAAAACAgICQkJHBwc2tra////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////hZariX11////s7S3nJ6clqCelo+Y49jWjZuok4WA////laCql56Zq6Oop56Zi5GhsLfFoJiaiXtxhoOBe4ONfn2IlJSUoKems66riYGIe21vrKevfoOQm5mhsbG5j4Z+jX9+kZCcYGp6o6eopqCf9Ojgw9HeeHuGgomTf39/fXFupaGgXV5pxLiyqLC3c3d+mqKgenV4kJCUgIaNj4SEnp2fdn+Jd3Jx5d/Y3uTpbGFpiH+EfXqEjYePq7K3qaKf6tzX////xb/En6Gmc3+BmqiwOS0q////w9Lhoayuwr+1cm93lI6N////paeqo5ePWFZev7ax////////////////////////////////////////////////////////////////////////ycnJxMTE/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+////zc3NAwMDGxsbenp6fn5+g4ODgYCAf319fHt7eXd3dnR0cXBwbGtrZ2ZmYWBgXFpaWFVVUFBQSEpMRURIRD5FQj1AQD48RENBKikpEw8QGxkXGhgXGhgXGhgXGBkVGhcXGxUYFxUUGB4TGSgbGBcXHRgTEhsSEBYRFxUSExUSDhERFxMSFxUVExMTGBgWCwsLAgIADw0NAAAACAgIAQEBLzAu8vLy////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////09vjgX6GrKutz8bJh4+UnZ+Xko+hnImI0dTZ0c3M////bHV9qqymgH2QuKac19ra6Ojq2tnbxcXFycjG4N/dxsfJuru/0tTSwsLExcLAvraz9vPz2Nzfv8TLcHN4xr+2y8rQt7e7yMrKztLTb2xz49bM7/b3r66u2dXU0NfVzc3Pz8fJ//7+0Nfe29TN2Nzfzc7K7+zq6ufn6OTi+fj+x8XH6ubhvsbJ5+Ha+/7/29jY6urss7Gz9Ovo3eryb2pp9+re8ff8komN6ufnaHB9ta+kqKu2nZaTtayxvsPMgoZ9Z1xYurGz////5uvwzMTGxcnMYFxf4drV////////////////////////////////////////////////////////////////////ycnJxMTE/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+////zc3NAgICGxsbfHx8gYGBhoaGhISEgoKCf39/e3t7d3d3dHR0b29vampqZWVlXl9fWVlZVFJUTU5QSkpKR0VHQUNBQUE/RkBFNTY2FRYWGBgYGRkZGRkZFxgYFhgYGBYYGRcZCAMHKVAzTqVtDwwLGS8eXuCMYNyDEyAUFikgVbhtJkorAAEBbWxsZmZmcnFxlJSUKSkrAAAACQcJAAAANTc1+fj6////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////7/P4uLe55eDf4+Tk5+Xj3Nzk5d7Z////////////19fX6ujo1NXY+fLt////////////////////////////////////6Ovu////////////////////7unk////7vT5+Pb0////////7uzu+PPy////////////////////////////////////////////////////////////////////////////////////////////////////6+jo//n2+/3/6ujm////////5eLg////wsrQyMG88e/tz9DS2tfQ////////////////////2tzj5uPh////////////////////////////////////////////////////////////////////ycnJxMTE/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+////zMzMAgICGxsbfn5+g4ODiYmJh4eHhISEgoKCf39/e3t7eHh4c3Nzbm5uaWlpY2RkX19fWVlZVFRUUE9PS0tLR0dHREREQ0NDREREJCQkGRkZHh4eHh4eHR0dHR0dHR4eHh4gFRIUMTs0S2RSHRccGBwXOX1IX9eEIy4jJzwve/+qMWhBAwACbmpqYl9fe3h4o6GhMDAwAAAACAcHAAAANDU19vb2////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////+vr8////////////////////////////+vn2+vz8////////////////////+Pr6////u8PKoJaR/////////////////////////////Pv9+ff5////////////+Pn7////////9vr/1NDX////7e/y///7/////f37/Pz66u3ykpCdmJGO8e/t/P3/////////+Pf3/Pr6/////////fz8/v7+/////////v7/8/f309Pb7u7u3t3h+fn5oKWs49jO////////////////////////////////////////////////////////9/b4/////////////f37/////////////////////Pz6/f7+////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////zMzMAwMDGxsbf39/g4ODhoaGhISEgYGBf39/fHx8enp6dnZ2cXFxbGxsZ2dnYGBgXFtbVlZWUFBQS0tLR0dHQ0NDPz8/PT09QkJCKioqERERGBgYFxcXFxcXGBgYGBgYGBgYFxcXHhcYHhYYEhkaFxMVCQABDxcQHh0ZFh4XIUUuGSIbFhMUFRUVEhISDw8PBgYGDw8PAAAABwcHAAAANjU19fX1////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////z9rktKqq5+3wg4qPvraxoZyhmZqdioyRlpWbu6+sv7m8m5mhwcLEnJ+pk5CNgXh77+LW1eLseHmBxcLAo6WqhIWIk4mJp52dh4OKoqWquLm+wr65oZiasq+0rLbCxcK9mpaW5N/cw8zYu7e8sLi/nJuZu7u2w8LAgYCIpquwurnBdmx3kI2ImKKgrKilq6exurq/v8PIxL61p5+irrCzoaSkvLu/gYWQj4WHj4+Pm42KramupK62r6ij+vj1l6S2qJySpKeuf3l+mJCTiYuWxMLErrOusqutsLK3eXF0xr26////y87Tf4CI6OXj2t3gjouNh4aMpKapsq+q/v39prXCbGFj4dXN////j46Y39TM////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////zMzMBAQEGxsbgoKCg4ODe3t7enp6eXl5d3d3dHR0cXFxbGxsZ2dnYmJiXV1dVlZWUFBQSkpKREREPz8/OTk5MjIyMDAwLi4uMDAwJCQkAAAAAAAAAgICAgICAwMDAwMDAwMDBAQEAgEBAAAAAQQABQMFBgEIAwAAAAEAAAAAAAAAAAAAAgYCAAAAAAAAAAAAAAAAAAAAAAAACAgIAQEBNjY29fX1////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////+fv9tri9T1JZraegw8LMdWVqYltojJKaqLDAl42NY1VVi42ShY2XamZwjoaBm46S7NrTydjleoKQjpWdnpWQdHmGYFtnkYB9loqObHSCtLvAsLCrVURBdXaGeoWXqaKZenJt7evrvsS/g4+VfH2C////l6GmmY+FZmR3eXuKs66zk42Si4OFc3V/iouHcG95cnaEsrrEnpuRYFFTWVxpa3R6oaajamVvPjVCmJuduqmoxMHHnJuo////////qq2yhX+AX2Vta2FrhHV1en+NfIORent9hYmKenRzjIGFwrW5+P3/aHOALysts6SZx8XHYVhffn6Ljpmrn5KN/v34ma3APSov3s/E////m5ym49bO////////////////////////////////////ycnJxMTE/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+////zMzMBQUFGhoagoKChYWFfn5+fn5+e3t7enp6d3d3c3Nzb29vbGxsZmZmYWFhW1tbVVVVT09PSUlJREREPj4+OTk5NTU1MTExMTExNDQ0EBAQAAAACAgICAgIBwcHBwcHBwcHBwcHBwcHCAUKCQcHCAkHBwgGBwYEAwcHBAUJCQYGBQYGAwUGBgYGBQUFBAQEAwMDAwMDAAAACQkJAQEBOzs79/f3////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////zN7pQjc3//rwzNfhjoF/3tbZm628enZ2sLStpqOjsaqtt7i9vbq/z9LUX11j5NbL4evwgoOGsrW3n5yct66ruri+rKutdHJyfXp6uba8vre0u729jpCTnp2fn5+kqaah/f35ytHUgImRhYCF0tHPs620tq+woZ+nlJOVzMPA29/kq6GfycbMnaSnsLSvfIiVVVNZs66nt7m5oKCimJiguLm3wb/D0MfJxNHZeXNyrKGjurS5////////rbW6mpGMzczOvLe8uLO4o6aro6enpaWtqKqo2drWYWVwwq+p8Pn/pqq10s3N29HRrKevkJCSb3OCaGVvxbmx////z9ffqKCi9/Tx9fj9gn2E59nO////////////////////////////////////ycnJxMTE/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+////z8/PBgYGGRkZg4ODh4eHgICAgICAfn5+fX19enp6d3d3dHR0cHBwampqZWVlYGBgW1tbVVVVT09PSEhIQ0NDPz8/PDw8Nzc3NDQ0Ojo6JycnBAQECwsLCwsLDAwMDAwMCwsLCwsLCgsLCgwMCwsLCgwKBwwICAwIDQoKCgoKCQwGDAgKCQkJCQkHCAgIBwcHBgYGBQUFAQEBCAgIAQEBQkJC+/v7////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////7PT7z8/R////////////////7fX6xL69////////////////8fL0////yMjN5NzX////////////t7e5///6////////////r66w8+zn////////////////////////////+fr8/fr35+XnqaioyL+85ePj8PHv////////////////////////////9f//ysS/////////////////////////////////xMTMzcW+/fv4////////////////////////7fT56efl////////////////z9HU1s7L////////////////4uXq+Pfy2uDl29HR////////////////////9fj7xb/A+fLr////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////3d3dERERExMTgYGBioqKgoKCgYGBgICAf39/fHx8enp6d3d3c3Nzbm5uaWlpZGRkYGBgWVlZU1NTTU1NSEhIQ0NDQEBAPT09OTk5ODg4Ojo6FRUVCAgIDw8PEBAQEBAQDw8PDw8PDw8PDxAQDw8PEA8PDw0QDw4ODQ0NDQ0NDgwPDAwMCwsLCgoKCgoKCQkJCQkJCAgIAwMDCgoKAAAATU1N////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////////////////////////////////////yMfL+O/p////////////////////////////////y9LZ08/K////////////////////////////////////////3N7jycrK////////////////////////////////////////////////////////////////////////////////////////////////////////////+///tLKyzcrI////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9PT0JycnBAQEenp6kJCQg4ODg4ODgoKCgoKCf39/fX19enp6d3d3c3Nzbm5uaWlpZGRkXl5eWVlZU1NTTk5OSUlJRUVFQkJCPz8/PDw8Q0NDLi4uCgoKFBQUFRUVFBQUFBQUFBQUFBQUExMTExMTExMTExMTFBQUEhISEhISEhISEBIPEBAQEBAQDg4ODAwMCwsLCgoKBQUFDQ0NAAAAaWlp////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////8vT3mp6juLGutbi2ua+v9Pf87Oro6OnppKOlyMXKvr/Bu7i/3dbRgYmTm4qB19jWq6uv2dnZlZidvrSv////xszTr6af2+Lll5iW6uHb////197lnZyay8a95ufnrKqy49/axcfR0cfBkY+hZF9frbCrvL/Cqamn08jG+vr8tb7EsKilt7OzvLq6wMDCmJugxLq0////uMDHv7i1yMrNrbG2tK6twL/By8fHsrO3vLy62dbRvbrApaKkvry8srW4sbXAZV9plI+CwcG84NrV////s7a7z8a+4eTnqKmsyMvLrKyszMPA//7+xcrPoqKgs66tvLe6s7W3rq2t3tvW0c3Ks7S5zMjH////////////////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////UVFRAAAAZ2dnmJiYhYWFhYWFhISEhISEgoKCgICAfn5+enp6d3d3c3NzbW1taGhoZGRkXl5eWVlZUlJSUFBQTk5OSEhIREREQkJCQkJCRkZGJCQkDAwMExMTFhYWGBgYGBgYFxcXFxcXFxcXFxcXFhYWFhYWFhYWFhYWFhYWFBQUFBQUEhISEREREBAQDQ0NCwsLBQUFDAwMAAAAmZmZ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////o6q4bWx2h4ycWFZSq6CWoKWyi4WMk5WXa2pnray0SEpVqaimrbCujX98oaavMTVAkZORbWt1bWhypZ2i////qKexgHNxo6ivfn+M2sO18fr/ZGlwy8rHiZaZT0xHp6uyXm16j4F6v760Y1tihn2AxMXIVl9vX2Jdu7Cq9fX1dYqiWUtNhXZ1k46TUkxUcnR/p5+k////093dYVxZb2FeYWp9VU1WoKOot6echoOFUmBtcXd8k4qPgHR2Z15pen2KpKaxgoGJqJqO4t/a6OXi////hImbuaah0djffXqGW2h1XmBZsqii//7+o6u1ZmdqW1ZegnV3V1xnenx6oqSmcG9tZl5lw7q3////////////////////////////////////////////////ycnJxMTE/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+////lpaWAAAAOzs7mZmZh4eHh4eHhoaGhYWFhISEg4ODfX5+eXl5eXp6cnJ0bG1ta2traWlpY2NjXl5eW1tbWlpaUlJUT1BQTU1NSktLR0dHSktLSUlLLS0vHR4eGBkZFxgYGBgYGhoaGRoaGhoaGhoaFBUVDxAQFhYWGBgYGBgWFhYWFRUVFRUVExMTEREREBAQDg4OCgoKBAQECwsL3t7e////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////29vjk5+vj42TqqWql56doJyZqaCgr7C6jJCTnqGhm5iitLS2qqionpyZh4SEm5igkZqapqShkpypnpWV////iZCggHRsgHuCm5ml5dzX4+72Yl9n////v8bQp52doaConJyft7W3sKmktrKxgHuCnZqipqesi5KZo6KY////rbXHnZOWp6amiHp4vrW6hZOioJiY////jpOlYFZO4dzQk5Oio52gnqSrk4uLoJ2Yh46Pl5qkyMnHwri4mpejdnF4v7m8rrfBiHp3//Xv/////fz8np6xybq6ytfiXlhis6qtlqCqnp2T////s7a7nZidn5ujioeHjoaTlJugj5mWrautiYWPrqGh////////////////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////6+vrERERAgICgICAmZmZhYWFiIiIh4eHhoaGgoKCiomJjo2Nf35+h4SEiIWDeHh4a2xsaWlpZmZmYGBgOzs7LSwsLy0tMS8uMS4uMC4uMC4sNTQxPTs5NTMwKyooLi0tJiclGRkZHRwcHBwcGRkZKSYlMi8sHR0YGBcaFxgaGBgYGBcWFxcXFhYWExMTExMTDQ0NEhISAAAAUVFR////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////1+bwnZOR///69/f5/////Pr4////////wMbOtrKx8fHz+fX0////7urn////+fj6////vsvWpZiW////mJqc5tvR/////v//+Pn5///9tLfCmJKTsKir//766ejo////+v7/8+7u////8vPvxc3VxsC7/////fv7////+Pf3///9////8e7r////uMPNppuW////nJyrl42N4+Hh9/Xz////9vb47vDy+Pn5////9vX3+Pn3/P37////8O/t/////f//8/Lw////////0NrggHyCi4eKkJKVwbey/////////Pr6////oKCk1cvD////4+bp6ebm//39////////2dze4N3d////////////////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////iIiIAAAALi4unp6ek5OTh4eHiIiIh4eHgoKClpeXo6GhiIaEpaCdpaGgg4ODbm9vb29vbGxsZWVlNzU1KigmLiopMCsqMCssLisrLywpKygkLSolNzMuODUwOjg2KSooGxsbIiAgHR0fGRkbQz88WlNOLSkmFxYZFxsdGxsZGRkXGBgYFxcXFhYWFBQUERERBQUFCQkJy8vL////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////6+zu/////////////////////////////////Pz+1dXV7Ojn////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ycnJxMTE/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+////9/f3ODg4AAAAQkJCoqKimpqaiIiIiYmJh4eHiYmJiYmJhISEh4aEhIODe3t7d3d3dXV1b29vbm5uZ2ZoW1lZXFpaXFdaWFZYVVNVVlRUVFJQLi0tIR4eJyQkISAiHR0dICAgICAgHx8fHh0dKicnMCwrIyAgHR0dHB0dHBwcGRoaGRkZGRkZFhYWEhISDg4OAAAAe3t7/////v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////5+3wzsvJ////////5efnwsPG7ern5Obm3uDi3Nvd1tXT6efk9fHu/f7+x9DWzs3L////+v7/09bZ4+Db9/Py////4OPmysjG2djW6erqxsfJ+PLt////297h5uTh2tvbxsfK8/Lw5eXj0dTV5uTk7e/2dXSJhn960NPOzMzM5uXlz9HT6+vr0tLSzs7Q6Ojm5ujo1tLR5eLi0tTW7Ovr19TZ5uHe6+7vzczK7ern////z8zS6+fk3d7j9vHu6e/20MzL////////4ePlwsLG9PHu6uvr4uPl3Nzg1tXT6Obj9PHv////2Nvez8jF6+3twMDC////////8PH05eboy83Q3trZ4OLkzMrM8O7r9vb2r6qt8+Xb5+/2x8XC9/f5ycXK////////////ycnJxMTE/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+////1tbWIiIiAAAAMDAwjY2NpKSkmpqaj4+PiIiIhYaGhoaGgIGBf39/f39/fX19enp6dnZ2cXFxcnJycnFxbWxsaGhoZWRmY2JkYmFhbWxsSkpKFRQUIB8fHyAgICAgICAgISEhISEhISAgHB0aGxoaHx4eHx8fHh4eHR0dHBwcGhoaFhYWFhYWCAgIAAAAUVFR/Pz8/////f39/v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////ztzm0ce9uMHHgHqCmJqamI2DxM3ZamlroJecfYSXlpGOhISEinx39PTwzdXWaWdprZmI/v//iYyVbm1pjoF8/Pz6l6KvkoJ9oZugSVFZgoJ+7+Te4ez4k5mnn56gXVhVraWetcDMcGxslpOVrqep/f3/goSXo6KgfoaJoJmUo5+pl5OacXmDhIR8qauysKitu77BVEtQhnh4lZSeXWFsq6ups7e4kIeJh4CD4tfRvsnTi42Utbq7fXFx9Oba0+Xw1s7CsLm/gHqBlZyboZaOu8TSbWtrpZudc3aMm5iVgYKCno6F5OvwgYeOk4yRWVhWlI2G6O/8k46T2NDSZXKDf3Rotrm8bXF0sq2qfIGMh4SCv7iu8fDrgouVramkmpeemJOSmpuex8PA/vr3ycnJxMTE/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+/v7+////zc3NPj4+AAAAAAAARUVFfX19mJiYoJ+foJ+fnJycl5eXkpKSjY2NiIiIg4ODf39/e3t7d3d3c3R0cHBwbGxsampqZ2dnZWZkZ2hoYmJkHx8fFBYTISEhISIgIiMhIiQiIyIkIiEjISIiICIiISEhHx8fHh4eHB0dGxsbFBQUAgICAAAAAgICYWFh9vb2/////v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////vsjNQkFBuqyprbLCj4mAlqSual5ivbCrkZurw8LIcG5wnY6N/v7+uLvGZWFc0cG29Pj7rK23Z2drqpiV+f/+iY6bo5iahHp/gX2HdH+E0Mm/8ff8bnGAmo6MjYuVoJ2WhpKddmhnraitmI+U////lJymhXp6i4mTlZuYh4eLf3F4k4+ZiJKYlZ+di4qMnJufhn6FgHR2mpCag4eUsbS2paeqfXN1emlq/fHrwczYjJCXnaSpgHBp9uTa////sLm/Qz1Av7Kypa+8mZOKjJmkcGNlxLiyi5KfvL/JcW9xuKWf5u74nqexra2vf3qElpuWhomMdG11vbq6j4+Zua2ntrm8dHqCnaKiZ2lwn5CP////9f/+qaiwvry6kY+RlJCQiYiMxcG+//r1ycnJxMTE/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+////////6urqjY2NNDQ0AAAAAAAACgoKJiUlQUBAVlZWZWVlc3Nzfn5+goKChYWFh4eHh4eHhYWFg4ODgoKCgICAfX19enp6eXl3dnZ2fn5+X15gLS0tJiYmIiIiICAgHyAgICAgHh4eGhoaFhcXEBAQCQkJAAAAAAAAAAAAAQEBHR0dTU1NoqKi/////////v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////5ezxNDtAtaqix8TJ4t3dycvO19fV2NbW397c3+Li5+fp6ufl7+rq/f//a2yBdGdi7evr9Pr9srO45t3Y9e3v+///tb3FcGpxsqKb////xcvS7+rj////vr/B4tjS8/f+ysvP29za3trXvsTJu7a5////5+vu1M3G8PD0zdDT3t/dvrm4+fTz2N7m09LQztPUwcHB8e7sxsjLkY2V1NPV09TX39nW4eXmxLq4//r3////ysnN4dzbipKZppSK3+LlNzs+vbCrxMHG5OTiycrN2drY2dfV397a3uHf5ufp6efl8Ovr////3Obrcm1s3dDNzM/U0M/M6ennxs7Vx8LF3uLl1M7J4+Xqzc7O7Oro8Ons////////7/b7xcPA7Ozsw7/E///7////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////6+vrs7Ozc3JyOzs7FxcXBQYGAAAAAAAAAAAAAAAAAAAABgYGCQkJCwsLDQ0NDg4ODg4ODw8PEBAQDg4ODg4ODg4ODQ8LFRUVCwsLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgEBBwcHDw8PHh4eLy8vU1NTg4ODwsLC+fn5/////////v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////5ezv5eLf////x8nJ//32////////////////////////////////////9fn8y8zP9PDv////5+jq////////////////7O3t////////////////////////////////////////////////////////////////////////////////////////////////////////////////5+bm////////////////////////////////+Pv/1tfZ4ubp6+nn////xsjG////////////////////////////////////////////7+zx//v2////////////////5ebo////////////////////////////////////////////////////////////ycnJxMTE/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+/v7+////////////////+fn55eXlzs7OsrKynp6eiYmJbm5uY2NjWVlZT09PQkJCOzs7Nzc3MjIyMDAwLi4uLi4uLi4uMDAwMDAwMjIyOzs7RUVFS0tLVlZWYGBgZ2dnbm5uf39/kpKSoKCgt7e3z8/P5ubm/f39/////////////////v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+/v7+fn59/f39PT09PT08/Pz9PT09PT09PT09PT08/Pz9vb2+fn5+fn5////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ycnJxMTE/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+/////////v7+/v7+/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+/////v7+/v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7Ozsubm5////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7u7us7Oz8fHx8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8vLy8/Pz/f39ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8fHxqKio19fX3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc2tra29vb+vr6ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////6+vrurq6////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////7/T5wMHBwsG/+/j1////////39/n////////r7W40ca89vr/vb+99PDt4+fqw8nO9vLv8fr/qq2yzsrF6urq7O7wxMrNrq6s9O3k////////+vr63d/fs7W1ra2v+/Xu////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////8PT3P0NXX1JQ+/f0////ZXiOWUU/////LDpFHxAHcmZctbW3Ulhdr6iqEytCDwAC7ujnHik5QjsyOURKHQ4KkZOLfnxuusDDMi004tG+////vc7kEQ8TnZWEsLKyMjE31su/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////pqq8vrCy////w9LlAAAAf1xFzt/mAAAAuJyJ////+PXy////LEZcAAAA0bid/P//AAAA4sitkK+/AAAA6+Xg3OPrbHmDAAAA2sOt////orDHfm9z////////AAAKbFE3////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////lpur28zH/f//AA8eAAAAup+SssTPAAAAr6ScRlNdvqyX////AAACHQsA////9v/+AAAA07ifmrfCDAEA9PT0EB81BAAAq52R+/v5////8fDw////laKtCRklAAAAqpiH////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////sK64vsDLOk5lAAAAhoKCysPK4OfqBAkOjoeADhQdoY+FJ0FaAAAAcXBsiYB9x8rPAAAAvaSRYH6PAAAA0tbXAAICoZWLlJKf5tnP////////XG6GAAAAAAAAl4yA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////ztjqExkiAAAAmX1q////oZ+s////1dzkgoOF0sS48fD6g4SMvban4+fompeZura7oKCg29jWqbK4qKKh////xNHXnqCglo6Q/fbv////2u7/AAAAZVVE+O7m////z8vL////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////8/n8PFRrAAAAXEUz////qcDYOTU88end////////////////////////////////////////////////////////////////////////////7Pb/EhUgtJiB5+72BwcWmHxp////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////yMjIy8vL////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9PT0urq6////////////////////////////////////////////////////6/T5homKl5aW///1////qrPBh4aG5tzU////////////////////////////////////////////////////////////////////////////////197lhYSGnJmee3l54tjQ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wsLCoqKi4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODgzMzMo6Oj////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////6+vrr6+vurq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6tra2zMzM//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + 0 + + + + + -0 + 9.292875 + 4.152777777777778 + 0.7083333333333334 + 0.2222222222222222 + 0.3541666666666667 + 0.1111111111111111 + + + 8.93870833333333 + 4.04166666666667 + 9.64704166666667 + 4.26388888888889 + + + 4 + 0 + 2 + 2 + 1 + + + 0.7083333333333334 + 0.2222222222222222 + -0 + + + 2 + + + 1 + 0.0277778 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0 + + + 0.7083333333333334 + 0.2222222222222222 + + + + 0 + + + + + -0 + 6.331875621441429 + 3.384656185165429 + 1.002915423783809 + 0.3417987407802541 + 0.5014577118919045 + 0.170899370390127 + + + 5.83041790954952 + 3.2137568147753 + 6.83333333333333 + 3.55555555555556 + + + 4 + 0 + 2 + 0 + 1 + + + 1.002915423783809 + 0.3417987407802541 + -0 + + + 2 + + + 1 + 0.0277778 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + -7.894919286223335e-16 + + + 1.002915423783809 + 0.3417987407802532 + + + + 0 + + + + + -0 + 6.264420393277335 + 3.557453285862936 + 1.137825880111997 + 0.4128712060519051 + 0.5689129400559985 + 0.2064356030259525 + + + 5.69550745322134 + 3.35101768283698 + 6.83333333333333 + 3.76388888888889 + + + 4 + 0 + 2 + 0 + 1 + + + 1.137825880111997 + 0.4128712060519051 + -0 + + + 2 + + + 1 + 0.0277778 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + -7.894919286223335e-16 + 0 + + + 1.137825880111996 + 0.4128712060519051 + + + + 0 + + + + + -0 + 7.244614171298354 + 4.186822576981525 + 3.388188324069961 + 1.376354846036949 + 1.694094162034981 + 0.6881774230184747 + + + 5.55052000926337 + 3.49864515396305 + 8.93870833333333 + 4.875 + + + 4 + 0 + 2 + 0 + 1 + + + 3.388188324069961 + 1.376354846036949 + -0 + + + 2 + + + 1 + 0.0277778 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + -7.894919286223335e-16 + 0 + + + 3.38818832406996 + 1.376354846036949 + + + + 0 + + + + + -0 + 6.413979166666667 + 3.201388888888889 + 0.8116527777777781 + 0.2638888888888889 + 0.4058263888888891 + 0.1319444444444444 + + + 6.00815277777778 + 3.06944444444444 + 6.81980555555556 + 3.33333333333333 + + + 4 + 0 + 2 + 2 + 1 + + + 0.8116527777777781 + 0.2638888888888889 + -0 + + + 2 + + + 1 + 0.0277778 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0 + + + 0.8116527777777781 + 0.2638888888888889 + + + + 0 + + + + + -0 + 8.520833333333334 + 4.16742361111111 + 0.9027777777777778 + 0.3318194444444447 + 0.4513888888888889 + 0.1659097222222224 + + + 8.06944444444444 + 4.00151388888889 + 8.97222222222222 + 4.33333333333333 + + + 4 + 0 + 2 + 2 + 1 + + + 0.9027777777777778 + 0.3318194444444447 + -0 + + + 2 + + + 1 + 0.0277778 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0 + + + 0.9027777777777778 + 0.3318194444444447 + + + + 0 + + + + + -0 + 8.583333333333334 + 4.479166666666667 + 2.083333333333333 + 0.7916666666666666 + 1.041666666666667 + 0.3958333333333333 + + + 7.54166666666667 + 4.08333333333333 + 9.625 + 4.875 + + + 4 + 0 + 2 + 2 + 1 + + + 2.083333333333333 + 0.7916666666666666 + -0 + + + 2 + + + 1 + 0.0277778 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0 + + + 2.083333333333333 + 0.7916666666666666 + + + + 0 + + + + + -0 + 6.364902777777778 + 4.5625 + 1.097222222222222 + 0.01388888888888889 + 0.5486111111111112 + 0.006944444444444444 + + + 5.81629166666667 + 4.56944444444444 + 6.91351388888889 + 4.56944444444444 + + + 4 + 0 + 2 + 2 + 1 + + + 1.097222222222222 + 0.01388888888888889 + -0 + + + 2 + + + 1 + 0.0277778 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.01388888888888889 + + + 1.097222222222222 + 0.01388888888888889 + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + 0 + 1 + 0 + 12 + 52 + 0.5 + + + diff --git a/images/docs/tutorial/tutorial_07.graffle/QuickLook/Preview.pdf b/images/docs/tutorial/tutorial_09.graffle/QuickLook/Preview.pdf similarity index 100% rename from images/docs/tutorial/tutorial_07.graffle/QuickLook/Preview.pdf rename to images/docs/tutorial/tutorial_09.graffle/QuickLook/Preview.pdf diff --git a/images/docs/tutorial/tutorial_07.graffle/QuickLook/Thumbnail.tiff b/images/docs/tutorial/tutorial_09.graffle/QuickLook/Thumbnail.tiff similarity index 100% rename from images/docs/tutorial/tutorial_07.graffle/QuickLook/Thumbnail.tiff rename to images/docs/tutorial/tutorial_09.graffle/QuickLook/Thumbnail.tiff diff --git a/images/docs/tutorial/tutorial_07.graffle/data.plist b/images/docs/tutorial/tutorial_09.graffle/data.plist similarity index 100% rename from images/docs/tutorial/tutorial_07.graffle/data.plist rename to images/docs/tutorial/tutorial_09.graffle/data.plist diff --git a/images/docs/tutorial/tutorial_09.graffle/image9.png b/images/docs/tutorial/tutorial_09.graffle/image9.png new file mode 100644 index 000000000000..10f8d932251f Binary files /dev/null and b/images/docs/tutorial/tutorial_09.graffle/image9.png differ diff --git a/images/docs/tutorial/tutorial_09.svg/image9.png b/images/docs/tutorial/tutorial_09.svg/image9.png new file mode 100644 index 000000000000..9e4131330682 Binary files /dev/null and b/images/docs/tutorial/tutorial_09.svg/image9.png differ diff --git a/images/docs/tutorial/tutorial_09.svg/tutorial_09.svg b/images/docs/tutorial/tutorial_09.svg/tutorial_09.svg new file mode 100644 index 000000000000..9cd633991feb --- /dev/null +++ b/images/docs/tutorial/tutorial_09.svg/tutorial_09.svg @@ -0,0 +1,1727 @@ + + + + + + Produced by OmniGraffle 6.5.2 2012-04-04 22:31:40 +0000 + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Canvas 1 + + + + + Layer 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Model + + + T + emplate + + + + V + iew + + + + + + + + + Scope Inheritance + + + + + Implicit Scope Declaration + + + + + Model / V + iew Data-binding + + + + + + + + </phone-list> + + <phone-list> + + + <li ng-repeat="phone in ..."> <span>{{phone.name}}</span> <p>{{phone.snippet}}</p></li> + + <ul> + + </ul> + + . . . + + + + + phoneList component + + + + + + + + + + + + + + + + + + PhoneListController + phoneList Scope + + + + + + + <div ng-view> </div> + + + + + + <html ng-app="phonecatApp"> + + + + + ng-view/$route + + + + ng-app + + + + + + + + + + + + RepeaterScope + + + + + + ng-repeat + + + + + + + + + + + Root Scope + + + + ngView Scope + + + + diff --git a/images/docs/tutorial/tutorial_10-11.graffle/image10.png b/images/docs/tutorial/tutorial_10-11.graffle/image10.png deleted file mode 100644 index 8b80d67cddd4..000000000000 Binary files a/images/docs/tutorial/tutorial_10-11.graffle/image10.png and /dev/null differ diff --git a/images/docs/tutorial/tutorial_10-11.vdx b/images/docs/tutorial/tutorial_10-11.vdx new file mode 100644 index 000000000000..6f87d5f2a646 --- /dev/null +++ b/images/docs/tutorial/tutorial_10-11.vdx @@ -0,0 +1,6183 @@ + + + + 12 + 52 + + + 7.68056 + 10.5 + 1 + 0.25 + 0.25 + 0.25 + 0.569444 + 1 + 1 + + + + + + + + + + + + + + 0.111111 + 0.111111 + + + 1 + 1 + 10.5 + 7.68056 + 3 + 0 + -0.0277778 + + + Layer 1 + 1 + 1 + 0 + + + + + + -0 + 1 + 1 + 5.056347222222223 + 4.759652777777777 + 3 + 5.619583333333334 + 1.5 + 2.809791666666667 + + + 3 + 5.480694444444445 + -0 + + + 1 + + + 1 + 0.0138889 + #4fff75 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 5.619583333333334 + + + 3 + 5.619583333333334 + + + 3 + 0 + + + 0 + 0 + + + 0 + 5.619583333333334 + + + + 0 + + + + + -0 + 4.861430555555556 + 3.218722222222222 + 1.604166666666667 + 1.055555555555556 + 0.8020833333333334 + 0.5277777777777778 + + + 4 + 0 + 2 + 2 + 1 + + + 1.604166666666667 + 1.055555555555556 + -0 + + + 1 + + + 0 + + + + + -0 + 0.8020833333333334 + 0.5277777777777778 + 1.604166666666667 + 1.055555555555556 + 0.8020833333333334 + 0.5277777777777778 + + + 4 + 0 + 2 + 2 + 1 + + + 1.604166666666667 + 1.055555555555556 + -0 + + + 1 + + + 0 + + + + + -0 + 0.8020833333333334 + 0.5277777777777778 + 1.604166666666667 + 1.055555555555556 + 0.8020833333333334 + 0.5277777777777778 + + + 1.283333333333333 + 0.6 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #ffffff + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 1.369241270833333 + 0.9009726111111109 + + + 1.369241270833333 + 0.1545829444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.2349253958333332 + 0.1545829444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.2349253958333332 + 0.9009726111111109 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 1.369241270833333 + 0.9009726111111109 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + + + -0 + 0.7980201388888888 + 0.7277458333333331 + 1.120984722222222 + 0.4669805555555555 + 0.5604923611111111 + 0.2334902777777778 + + + 1.120984722222222 + 0.3280916666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.466980555555556 + + + 1.120984722222223 + 0.466980555555556 + + + 1.120984722222223 + 0 + + + 0 + 0 + + + 0 + 0.466980555555556 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Phone +Scope + + + + + + -0 + 0.8796062499999996 + 0.3442888888888894 + 1.365795833333333 + 0.3101166666666667 + 0.6828979166666667 + 0.1550583333333333 + + + 1.365795833333333 + 0.1712277777777778 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3101166666666665 + + + 1.365795833333334 + 0.3101166666666665 + + + 1.365795833333334 + 0 + + + 0 + 0 + + + 0 + 0.3101166666666665 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.152778 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + phone: Object + + + + + + -0 + 1.159722222222222 + 5.513886111111111 + 1.930555555555556 + 0.3101166666666667 + 0.9652777777777778 + 0.1550583333333333 + + + 1.930555555555556 + 0.1712277777777778 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #f5ff36 + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3101166666666665 + + + 1.930555555555556 + 0.3101166666666665 + + + 1.930555555555556 + 0 + + + 0 + 0 + + + 0 + 0.3101166666666665 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + <ng:view> </ng:view> + + + + -0 + 1.764673611111111 + 4.758674444444444 + 3.307125 + 5.621555555555556 + 1.6535625 + 2.810777777777778 + + + 3.307125 + 5.482666666666667 + -0 + + + 1 + + + 1 + 0.0138889 + #f8ff29 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 5.621555555555556 + + + 3.307125 + 5.621555555555556 + + + 3.307125 + 0 + + + 0 + 0 + + + 0 + 5.621555555555556 + + + + 0 + + + + + -0 + 0.7638888888888888 + 1.736083333333333 + 0.02777777777777778 + 0.1666666666666667 + 0.01388888888888889 + 0.08333333333333333 + + + 0.02777777777777778 + 0.1666666666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.1666666666666667 + + + 0.02777777777777778 + 0.1666666666666667 + + + 0.02777777777777778 + 0 + + + 0 + 0 + + + 0 + 0.1666666666666667 + + + + 0 + + + + + -0 + 5.072597222222222 + 3.257705555555555 + 0.9583333333333334 + 0.3101166666666667 + 0.4791666666666667 + 0.1550583333333333 + + + 0.9583333333333334 + 0.3101166666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3101166666666665 + + + 0.9583333333333334 + 0.3101166666666665 + + + 0.9583333333333334 + 0 + + + 0 + 0 + + + 0 + 0.3101166666666665 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 0 + 0 + + 0.25 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Model + + + + -0 + 0.4444444444444444 + 1.479138888888889 + 0.6666666666666666 + 0.01388888888888889 + 0.3333333333333333 + 0.006944444444444444 + + + 0.111111111111111 + 1.48608333333333 + 0.777777777777778 + 1.48608333333333 + + + 4 + 0 + 2 + 2 + 1 + + + 0.6666666666666666 + 0.01388888888888889 + -0 + + + 2 + + + 9 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.01388888888888889 + + + 0.6666666666666666 + 0.01388888888888889 + + + + 0 + + + + + -0 + 1 + 1 + 8.513888888888889 + 4.759659722222223 + 3.638888888888889 + 5.619569444444444 + 1.819444444444444 + 2.809784722222222 + + + 3.638888888888889 + 5.480680555555555 + -0 + + + 1 + + + 1 + 0.0138889 + #2222ff + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 5.619569444444444 + + + 3.638888888888889 + 5.619569444444444 + + + 3.638888888888889 + 0 + + + 0 + 0 + + + 0 + 5.619569444444444 + + + + 0 + + + + + -0 + 8.513888888888889 + 2.113879166666667 + 0.6666666666666666 + 0.3280194444444444 + 0.3333333333333333 + 0.1640097222222222 + + + 0.6666666666666666 + 0.3280194444444444 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3280194444444441 + + + 0.6666666666666666 + 0.3280194444444441 + + + 0.6666666666666666 + 0 + + + 0 + 0 + + + 0 + 0.3280194444444441 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 0 + 0 + + 0.25 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + View + + + + -0 + 0.5277777777777778 + 7.208333333333333 + 0.6666666666666666 + 0.3055555555555556 + 0.3333333333333333 + 0.1527777777777778 + + + 0.6666666666666666 + 0.1666666666666667 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #fff82f + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 0.6666666666666666 + 0.3055555555555556 + + + 0.6666666666666666 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + <html> + + + + -0 + 0.5972222222222222 + 2.958319444444445 + 0.75 + 0.3055555555555556 + 0.375 + 0.1527777777777778 + + + 0.75 + 0.1666666666666667 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #f5ff36 + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 0.75 + 0.3055555555555556 + + + 0.75 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + </body> + + + + -0 + 0.5694444444444444 + 2.534708333333334 + 0.75 + 0.3055555555555556 + 0.375 + 0.1527777777777778 + + + 0.75 + 0.1666666666666667 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #f5ff36 + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 0.75 + 0.3055555555555556 + + + 0.75 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + </html> + + + + -0 + 1.986111111111111 + 2.098972222222222 + 1.208333333333333 + 0.3055555555555556 + 0.6041666666666666 + 0.1527777777777778 + + + 1.208333333333333 + 0.3055555555555556 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 1.208333333333333 + 0.3055555555555556 + + + 1.208333333333333 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 0 + 0 + + 0.25 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Template + + + + -0 + 9.680555555555555 + 6.546368055555556 + 0.75 + 0.3101166666666667 + 0.375 + 0.1550583333333333 + + + 0.75 + 0.3101166666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3101166666666665 + + + 0.75 + 0.3101166666666665 + + + 0.75 + 0 + + + 0 + 0 + + + 0 + 0.3101166666666665 + + + + 0 + + + + + -0 + 9.680555555555555 + 5.807279861111111 + 0.7083333333333334 + 0.2396347222222222 + 0.3541666666666667 + 0.1198173611111111 + + + 0.7083333333333334 + 0.2396347222222222 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2396347222222222 + + + 0.7083333333333334 + 0.2396347222222222 + + + 0.7083333333333334 + 0 + + + 0 + 0 + + + 0 + 0.2396347222222222 + + + + 0 + + + + + -0 + 5.159722222222222 + 1.480904861111111 + 2.402777777777778 + 0.239634722222222 + 1.201388888888889 + 0.119817361111111 + + + 4 + 0 + 2 + 2 + 1 + + + 2.402777777777778 + 0.239634722222222 + -0 + + + 1 + + + 0 + + + + + -0 + 0.3333333333333333 + 0.1215791666666664 + 0.6666666666666666 + 0.01388888888888889 + 0.3333333333333333 + 0.006944444444444444 + + + 0 + 0.128523611111111 + 0.666666666666667 + 0.128523611111111 + + + 4 + 0 + 2 + 2 + 1 + + + 0.6666666666666666 + 0.01388888888888889 + -0 + + + 2 + + + 1 + 0.0277778 + #17ff1c + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.01388888888888889 + + + 0.6666666666666666 + 0.01388888888888889 + + + + 0 + + + + + -0 + 1.590277777777778 + 0.119817361111111 + 1.625 + 0.2396347222222222 + 0.8125 + 0.1198173611111111 + + + 1.625 + 0.1007458333333333 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.239634722222222 + + + 1.625 + 0.239634722222222 + + + 1.625 + 0 + + + 0 + 0 + + + 0 + 0.239634722222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Scope Inheritance + + + + + + -0 + 5.229166666666667 + 1.770833333333333 + 10.23611111111111 + 0.01388888888888889 + 5.118055555555555 + 0.006944444444444444 + + + 0.111111111111111 + 1.76388888888889 + 10.3472222222222 + 1.77777777777778 + + + 4 + 0 + 2 + 2 + 1 + + + 10.23611111111111 + 0.01388888888888889 + -0 + + + 2 + + + 1 + 0.0277778 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0 + + + 10.23611111111111 + 0.01388888888888889 + + + + 0 + + + + + -0 + 1.990447222222222 + 1.480904861111111 + 2.185777777777778 + 0.2396347222222222 + 1.092888888888889 + 0.1198173611111111 + + + 2.185777777777778 + 0.1007458333333333 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.239634722222222 + + + 2.185777777777778 + 0.239634722222222 + + + 2.185777777777778 + 0 + + + 0 + 0 + + + 0 + 0.239634722222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Implicit Scope Declaration + + + + -0 + 0.9652777777777778 + 6.154243055555556 + 1.541666666666667 + 0.7529305555555555 + 0.7708333333333334 + 0.3764652777777778 + + + 1.541666666666667 + 0.6140416666666666 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #f5ff36 + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.7529305555555558 + + + 1.541666666666667 + 0.7529305555555558 + + + 1.541666666666667 + 0 + + + 0 + 0 + + + 0 + 0.7529305555555558 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + <body + ng:controller= + "PhoneCatCtrl"> + + + + -0 + 1.541666666666667 + 4.0945 + 2.666666666666667 + 1.772361111111111 + 1.333333333333333 + 0.8861805555555554 + + + 4 + 0 + 2 + 2 + 1 + + + 2.666666666666667 + 1.772361111111111 + -0 + + + 1 + + + 0 + + + + + -0 + 1.333333333333333 + 0.8024236111111106 + 2.666666666666667 + 1.604847222222222 + 1.333333333333333 + 0.8024236111111112 + + + 2.666666666666667 + 1.465958333333333 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #f5ff36 + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 1.604847222222222 + + + 2.666666666666667 + 1.604847222222222 + + + 2.666666666666667 + 0 + + + 0 + 0 + + + 0 + 1.604847222222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + img ng:src="{{phone.images}} +<h1> {{phone.name}} </h1> +... +<ul class="specs"> + <li ng:repeat="img in + phone.images"> + <img ng:src="{{img}}"/> + </li> +</ul> +... + + + + -0 + 0.9974277777777777 + 1.679575694444444 + 1.983513888888889 + 0.1855708333333334 + 0.9917569444444444 + 0.09278541666666668 + + + 1.983513888888889 + 0.1855708333333334 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #fffc47 + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.1855708333333336 + + + 1.983513888888889 + 0.1855708333333336 + + + 1.983513888888889 + 0 + + + 0 + 0 + + + 0 + 0.1855708333333336 + + + + 0 + + + 0.0694444 + 0.0694444 + 2 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + phone-detail.html + + + + + + -0 + 1.679351388888889 + 5.245493055555555 + 1.030186111111111 + 0.5633472222222219 + 0.5150930555555555 + 0.2816736111111109 + + + 2.19444444444444 + 4.96381944444444 + 1.16425833333333 + 5.52716666666667 + + + 4 + 0 + 2 + 2 + 1 + + + 1.030186111111111 + 0.5633472222222219 + -0 + + + 2 + + + 23 + 0.0138889 + #505050 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 1.030186111111111 + 0 + + + 1.973729821555834e-16 + 0.5633472222222219 + + + + 0 + + + + + -0 + 0.6280472222222222 + 5.257715277777778 + 0.81165 + 0.5633472222222223 + 0.405825 + 0.2816736111111112 + + + 0.222222222222222 + 4.97604166666667 + 1.03387222222222 + 5.53938888888889 + + + 4 + 0 + 2 + 2 + 1 + + + 0.81165 + 0.5633472222222223 + -0 + + + 2 + + + 23 + 0.0138889 + #505050 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 3.947459643111667e-16 + + + 0.81165 + 0.5633472222222227 + + + + 0 + + + + + -0 + 1.099063611111111 + 5.492207569444444 + 0.1303855555555556 + 0.07339041666666667 + 0.06519277777777778 + 0.03669520833333333 + + + 0.1303855555555556 + 0.06549847222222221 + -0 + + + 1 + + + 1 + 0.0138889 + #505050 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.07339041666666664 + + + 0.1303855555555558 + 0.07339041666666664 + + + 0.1303855555555558 + 0 + + + 0 + 0 + + + 0 + 0.07339041666666664 + + + + 0 + + + + + -0 + 5.183708333333333 + 6.125 + 1.875 + 1.002283333333333 + 0.9375 + 0.5011416666666667 + + + 4 + 0 + 2 + 2 + 1 + + + 1.875 + 1.002283333333333 + -0 + + + 1 + + + 0 + + + + + -0 + 0.9375 + 0.5011416666666667 + 1.875 + 1.002283333333333 + 0.9375 + 0.5011416666666667 + + + 4 + 0 + 2 + 2 + 1 + + + 1.875 + 1.002283333333333 + -0 + + + 1 + + + 0 + + + + + -0 + 0.9375 + 0.5011416666666667 + 1.875 + 1.002283333333333 + 0.9375 + 0.5011416666666667 + + + 1.5 + 0.5627094444444444 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #ffffff + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 1.600411875 + 0.8555019460166666 + + + 1.600411875 + 0.1467813873166668 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.2745881250000003 + 0.1467813873166668 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.2745881250000003 + 0.8555019460166666 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 1.600411875 + 0.8555019460166666 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + + + -0 + 0.9847243055555555 + 0.6591166666666667 + 1.146198611111111 + 0.2848277777777778 + 0.5730993055555555 + 0.1424138888888889 + + + 1.146198611111111 + 0.1459388888888889 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2848277777777777 + + + 1.146198611111111 + 0.2848277777777777 + + + 1.146198611111111 + 0 + + + 0 + 0 + + + 0 + 0.2848277777777777 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + PhoneCatCtrl +Scope + + + + + + -0 + 0.9938333333333339 + 0.3165326388888887 + 1.444722222222222 + 0.2396347222222222 + 0.7223611111111111 + 0.1198173611111111 + + + 1.444722222222222 + 0.1007458333333333 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2396347222222222 + + + 1.444722222222222 + 0.2396347222222222 + + + 1.444722222222222 + 0 + + + 0 + 0 + + + 0 + 0.2396347222222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 1 + 0 + + 0.152778 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + params: Object + + + + + + + -0 + 5.162875 + 4.631363888888888 + 2.083333333333333 + 1.259688888888889 + 1.041666666666667 + 0.6298444444444444 + + + 1.666666666666667 + 0.7428933333333333 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #ffffff + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 1.778235416666667 + 1.075211230177778 + + + 1.778235416666667 + 0.1844776587111107 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.3050979166666663 + 0.1844776587111107 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.3050979166666663 + 1.075211230177778 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 1.778235416666667 + 1.075211230177778 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + + + -0 + 5.180197222222223 + 4.901291666666667 + 1.356588888888889 + 0.4420555555555555 + 0.6782944444444445 + 0.2210277777777778 + + + 1.356588888888889 + 0.3031666666666666 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.4420555555555552 + + + 1.356588888888889 + 0.4420555555555552 + + + 1.356588888888889 + 0 + + + 0 + 0 + + + 0 + 0.4420555555555552 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + PhoneDetailCtrl +Scope + + + + -0 + 5.350855555555555 + 4.364474305555556 + 1.370155555555556 + 0.2396347222222222 + 0.6850777777777778 + 0.1198173611111111 + + + 1.370155555555556 + 0.1007458333333333 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.239634722222222 + + + 1.370155555555556 + 0.239634722222222 + + + 1.370155555555556 + 0 + + + 0 + 0 + + + 0 + 0.239634722222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 1 + 0 + + 0.152778 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + phone: Object + + + + + -0 + 5.149625 + 7.1875 + 1.097222222222222 + 0.5416666666666666 + 0.5486111111111112 + 0.2708333333333333 + + + 4 + 0 + 2 + 2 + 1 + + + 1.097222222222222 + 0.5416666666666666 + -0 + + + 1 + + + 0 + + + + + -0 + 0.5486111111111112 + 0.2708333333333333 + 1.097222222222222 + 0.5416666666666666 + 0.5486111111111112 + 0.2708333333333333 + + + 0.8777777777777778 + 0.2402777777777777 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #ffffff + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0.9365373194444442 + 0.4623412083333334 + + + 0.9365373194444442 + 0.07932545833333332 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.1606849027777781 + 0.07932545833333332 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.1606849027777781 + 0.4623412083333334 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 0.9365373194444442 + 0.4623412083333334 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + + + -0 + 0.580888194444444 + 0.2800576388888889 + 0.7486930555555555 + 0.2396347222222222 + 0.3743465277777778 + 0.1198173611111111 + + + 0.7486930555555555 + 0.1007458333333333 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2396347222222222 + + + 0.7486930555555552 + 0.2396347222222222 + + + 0.7486930555555552 + 0 + + + 0 + 0 + + + 0 + 0.2396347222222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Root Scope + + + + + + -0 + 4.986430555555556 + 3.093722222222222 + 1.604166666666667 + 1.055555555555556 + 0.8020833333333334 + 0.5277777777777778 + + + 4 + 0 + 2 + 2 + 1 + + + 1.604166666666667 + 1.055555555555556 + -0 + + + 1 + + + 0 + + + + + -0 + 0.8020833333333334 + 0.5277777777777778 + 1.604166666666667 + 1.055555555555556 + 0.8020833333333334 + 0.5277777777777778 + + + 4 + 0 + 2 + 2 + 1 + + + 1.604166666666667 + 1.055555555555556 + -0 + + + 1 + + + 0 + + + + + -0 + 0.8020833333333334 + 0.5277777777777778 + 1.604166666666667 + 1.055555555555556 + 0.8020833333333334 + 0.5277777777777778 + + + 1.283333333333333 + 0.6 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #ffffff + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 1.369241270833333 + 0.9009726111111109 + + + 1.369241270833333 + 0.1545829444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.2349253958333332 + 0.1545829444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.2349253958333332 + 0.9009726111111109 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 1.369241270833333 + 0.9009726111111109 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + + + -0 + 0.7980201388888888 + 0.7277458333333331 + 1.120984722222222 + 0.4669805555555555 + 0.5604923611111111 + 0.2334902777777778 + + + 1.120984722222222 + 0.3280916666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.466980555555556 + + + 1.120984722222223 + 0.466980555555556 + + + 1.120984722222223 + 0 + + + 0 + 0 + + + 0 + 0.466980555555556 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Phone +Scope + + + + + + -0 + 0.8796062499999996 + 0.3442888888888894 + 1.365795833333333 + 0.3101166666666667 + 0.6828979166666667 + 0.1550583333333333 + + + 1.365795833333333 + 0.1712277777777778 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3101166666666665 + + + 1.365795833333334 + 0.3101166666666665 + + + 1.365795833333334 + 0 + + + 0 + 0 + + + 0 + 0.3101166666666665 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.152778 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + phone: Object + + + + + + -0 + 5.111430555555556 + 2.968722222222222 + 1.604166666666667 + 1.055555555555556 + 0.8020833333333334 + 0.5277777777777778 + + + 4 + 0 + 2 + 2 + 1 + + + 1.604166666666667 + 1.055555555555556 + -0 + + + 1 + + + 0 + + + + + -0 + 0.8020833333333334 + 0.5277777777777778 + 1.604166666666667 + 1.055555555555556 + 0.8020833333333334 + 0.5277777777777778 + + + 4 + 0 + 2 + 2 + 1 + + + 1.604166666666667 + 1.055555555555556 + -0 + + + 1 + + + 0 + + + + + -0 + 0.8020833333333334 + 0.5277777777777778 + 1.604166666666667 + 1.055555555555556 + 0.8020833333333334 + 0.5277777777777778 + + + 1.283333333333333 + 0.6 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #ffffff + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 1.369241270833333 + 0.9009726111111109 + + + 1.369241270833333 + 0.1545829444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.2349253958333332 + 0.1545829444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.2349253958333332 + 0.9009726111111109 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 1.369241270833333 + 0.9009726111111109 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + + + -0 + 0.7980201388888888 + 0.7277458333333331 + 1.120984722222222 + 0.4669805555555555 + 0.5604923611111111 + 0.2334902777777778 + + + 1.120984722222222 + 0.3280916666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.466980555555556 + + + 1.120984722222223 + 0.466980555555556 + + + 1.120984722222223 + 0 + + + 0 + 0 + + + 0 + 0.466980555555556 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Phone +Scope + + + + + + -0 + 0.8796062499999996 + 0.3442888888888894 + 1.365795833333333 + 0.3101166666666667 + 0.6828979166666667 + 0.1550583333333333 + + + 1.365795833333333 + 0.1712277777777778 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3101166666666665 + + + 1.365795833333334 + 0.3101166666666665 + + + 1.365795833333334 + 0 + + + 0 + 0 + + + 0 + 0.3101166666666665 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.152778 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + phone: Object + + + + + + -0 + 5.250319444444445 + 2.843722222222222 + 1.604166666666667 + 1.055555555555556 + 0.8020833333333334 + 0.5277777777777778 + + + 4 + 0 + 2 + 2 + 1 + + + 1.604166666666667 + 1.055555555555556 + -0 + + + 1 + + + 0 + + + + + -0 + 0.8020833333333334 + 0.5277777777777778 + 1.604166666666667 + 1.055555555555556 + 0.8020833333333334 + 0.5277777777777778 + + + 4 + 0 + 2 + 2 + 1 + + + 1.604166666666667 + 1.055555555555556 + -0 + + + 1 + + + 0 + + + + + -0 + 0.8020833333333334 + 0.5277777777777778 + 1.604166666666667 + 1.055555555555556 + 0.8020833333333334 + 0.5277777777777778 + + + 1.283333333333333 + 0.6 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #ffffff + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 1.369241270833333 + 0.9009726111111109 + + + 1.369241270833333 + 0.1545829444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.2349253958333332 + 0.1545829444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.2349253958333332 + 0.9009726111111109 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 1.369241270833333 + 0.9009726111111109 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + + + -0 + 0.7980201388888888 + 0.7277458333333331 + 1.120984722222222 + 0.4669805555555555 + 0.5604923611111111 + 0.2334902777777778 + + + 1.120984722222222 + 0.3280916666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.466980555555556 + + + 1.120984722222223 + 0.466980555555556 + + + 1.120984722222223 + 0 + + + 0 + 0 + + + 0 + 0.466980555555556 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Repeater +Scope + + + + + + -0 + 0.8796062499999996 + 0.3442888888888894 + 1.365795833333333 + 0.3101166666666667 + 0.6828979166666667 + 0.1550583333333333 + + + 1.365795833333333 + 0.1712277777777778 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3101166666666665 + + + 1.365795833333334 + 0.3101166666666665 + + + 1.365795833333334 + 0 + + + 0 + 0 + + + 0 + 0.3101166666666665 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.152778 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + img: Object + + + + + + -0 + 2.731073725526453 + 7.198401807156336 + 3.726036481038607 + 0.0167953964085912 + 1.863018240519304 + 0.008397698204295602 + + + 0.86805548500715 + 7.20679950536063 + 4.59409196604576 + 7.19000410895204 + + + 4 + 0 + 2 + 0 + 1 + + + 3.726036481038607 + 0.0167953964085912 + -0 + + + 2 + + + 9 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 1.973729821555834e-16 + 0.0167953964085912 + + + 3.726036481038608 + 0 + + + + 0 + + + + + -0 + 5.068778295281517 + 3.811516771912513 + 0.04235711296602081 + 0.3692111638862667 + 0.02117855648301041 + 0.1846055819431333 + + + 5.04759973879851 + 3.62691118996938 + 5.08995685176453 + 3.99612235385565 + + + 4 + 0 + 2 + 0 + 1 + + + 0.04235711296602081 + 0.3692111638862667 + -0 + + + 2 + + + 1 + 0.0138889 + #5aff7b + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0 + + + 0.04235711296602081 + 0.3692111638862667 + + + + 0 + + + + + -0 + 5.135568653255891 + 3.749010179297441 + 0.01519999243670532 + 0.4913548363767946 + 0.007599996218352661 + 0.2456774181883973 + + + 5.12796865703754 + 3.50333276110904 + 5.14316864947424 + 3.99468759748584 + + + 4 + 0 + 2 + 0 + 1 + + + 0.01519999243670532 + 0.4913548363767946 + -0 + + + 2 + + + 1 + 0.0138889 + #53ff6f + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0 + + + 0.01519999243670532 + 0.4913548363767946 + + + + 0 + + + + + -0 + 5.20909175861777 + 3.6865107230488 + 0.03016743678196181 + 0.6166916311077636 + 0.01508371839098091 + 0.3083458155538818 + + + 5.22417547700875 + 3.37816490749492 + 5.19400804022679 + 3.99485653860268 + + + 4 + 0 + 2 + 0 + 1 + + + 0.03016743678196181 + 0.6166916311077636 + -0 + + + 2 + + + 1 + 0.0138889 + #4cff68 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0.0301674367819626 + 0 + + + 7.894919286223335e-16 + 0.6166916311077636 + + + + 0 + + + + + -0 + 5.178695031681942 + 5.44252919205102 + 0.01388888888888889 + 0.3487980052270241 + 0.006944444444444444 + 0.1743990026135121 + + + 5.1717505872375 + 5.26813018943751 + 5.17661231927481 + 5.61692819466453 + + + 4 + 0 + 2 + 0 + 1 + + + 0.01388888888888889 + 0.3487980052270241 + -0 + + + 2 + + + 1 + 0.0138889 + #4aff64 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 3.947459643111667e-16 + + + 0.004861732037310971 + 0.3487980052270245 + + + + 0 + + + + + -0 + 5.165517277529832 + 6.771384772220348 + 0.01388888888888889 + 0.2767498980601968 + 0.006944444444444444 + 0.1383749490300984 + + + 5.16743700761288 + 6.63300982319025 + 5.15857283308539 + 6.90975972125045 + + + 4 + 0 + 2 + 0 + 1 + + + 0.01388888888888889 + 0.2767498980601968 + -0 + + + 2 + + + 1 + 0.0138889 + #4aff6d + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0.008864174527493182 + 0 + + + 0 + 0.2767498980601968 + + + + 0 + + + + + -0 + 5.22601388888889 + 2.102955555555555 + 0.9583333333333334 + 0.3101166666666667 + 0.4791666666666667 + 0.1550583333333333 + + + 0.9583333333333334 + 0.3101166666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3101166666666665 + + + 0.9583333333333334 + 0.3101166666666665 + + + 0.9583333333333334 + 0 + + + 0 + 0 + + + 0 + 0.3101166666666665 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 0 + 0 + + 0.25 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Model + + + + -0 + 2.423611111111111 + 7.338515972222222 + 1.319444444444444 + 0.2396347222222222 + 0.6597222222222222 + 0.1198173611111111 + + + 1.319444444444444 + 0.2396347222222222 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2396347222222222 + + + 1.319444444444444 + 0.2396347222222222 + + + 1.319444444444444 + 0 + + + 0 + 0 + + + 0 + 0.2396347222222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 2 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + ng:autobind + + + + -0 + 2.696013888888889 + 6.256944444444445 + 1.444444444444444 + 0.2083333333333333 + 0.7222222222222222 + 0.1041666666666667 + + + 1.444444444444444 + 0.2083333333333333 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2083333333333333 + + + 1.444444444444444 + 0.2083333333333333 + + + 1.444444444444444 + 0 + + + 0 + 0 + + + 0 + 0.2083333333333333 + + + + 0 + + + 0.0694444 + 0.0694444 + 2 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + ng:controller + + + + -0 + 3.625 + 3.755210416666667 + 1.111111111111111 + 0.2396347222222222 + 0.5555555555555556 + 0.1198173611111111 + + + 1.111111111111111 + 0.2396347222222222 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.239634722222222 + + + 1.111111111111111 + 0.239634722222222 + + + 1.111111111111111 + 0 + + + 0 + 0 + + + 0 + 0.239634722222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 2 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + ng:repeat + + + + -0 + 3.329361111111111 + 5.496486111111111 + 1.652777777777778 + 0.3055555555555556 + 0.8263888888888888 + 0.1527777777777778 + + + 1.652777777777778 + 0.3055555555555556 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 1.652777777777778 + 0.3055555555555556 + + + 1.652777777777778 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0.0694444 + 0.0694444 + 2 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + ng:view/$route + + + + -0 + 8.877777777777778 + 1.480904861111111 + 2.899305555555555 + 0.239634722222222 + 1.449652777777778 + 0.119817361111111 + + + 4 + 0 + 2 + 2 + 1 + + + 2.899305555555555 + 0.239634722222222 + -0 + + + 1 + + + 0 + + + + + -0 + 0.3333333333333333 + 0.05213472222222196 + 0.6666666666666666 + 0.01388888888888889 + 0.3333333333333333 + 0.006944444444444444 + + + 0 + 0.0590791666666664 + 0.666666666666667 + 0.0590791666666664 + + + 4 + 0 + 2 + 2 + 1 + + + 0.6666666666666666 + 0.01388888888888889 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.01388888888888889 + + + 0.6666666666666666 + 0.01388888888888889 + + + + 0 + + + + + -0 + 1.803819444444444 + 0.119817361111111 + 2.190972222222222 + 0.2396347222222222 + 1.095486111111111 + 0.1198173611111111 + + + 2.190972222222222 + 0.1007458333333333 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.239634722222222 + + + 2.190972222222222 + 0.239634722222222 + + + 2.190972222222222 + 0 + + + 0 + 0 + + + 0 + 0.239634722222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Model / View Data-binding + + + + -0 + 0.3333333333333333 + 0.177134722222222 + 0.6666666666666666 + 0.01388888888888889 + 0.3333333333333333 + 0.006944444444444444 + + + 0 + 0.184079166666666 + 0.666666666666667 + 0.184079166666666 + + + 4 + 0 + 2 + 2 + 1 + + + 0.6666666666666666 + 0.01388888888888889 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.01388888888888889 + + + 0.6666666666666666 + 0.01388888888888889 + + + + 0 + + + + + + + -0 + 2.99119865033105 + 6.140198746792429 + 2.496286523267455 + 0.01730502862622529 + 1.248143261633728 + 0.008652514313112647 + + + 1.74305538869732 + 6.14885126110554 + 4.23934191196478 + 6.13154623247932 + + + 4 + 0 + 2 + 0 + 1 + + + 2.496286523267455 + 0.01730502862622529 + -0 + + + 2 + + + 9 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 1.973729821555834e-16 + 0.01730502862622529 + + + 2.496286523267456 + 0 + + + + 0 + + + + + -0 + 3.491101061355174 + 3.545652169261154 + 1.218692394248101 + 0.2907523983907454 + 0.6093461971240504 + 0.1453761991953727 + + + 2.88175486423112 + 3.69102836845653 + 4.10044725847922 + 3.40027597006578 + + + 4 + 0 + 2 + 0 + 1 + + + 1.218692394248101 + 0.2907523983907454 + -0 + + + 2 + + + 9 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.2907523983907462 + + + 1.218692394248101 + 7.894919286223335e-16 + + + + 0 + + + + + -0 + 3.558849747941347 + 3.473755006492709 + 1.354278031108768 + 0.360518152548763 + 0.6771390155543838 + 0.1802590762743815 + + + 2.88171073238696 + 3.65401408276709 + 4.23598876349573 + 3.29349593021833 + + + 4 + 0 + 2 + 0 + 1 + + + 1.354278031108768 + 0.360518152548763 + -0 + + + 2 + + + 9 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + -3.947459643111667e-16 + 0.360518152548763 + + + 1.354278031108767 + 0 + + + + 0 + + + + + -0 + 3.626526942964235 + 3.402167739245505 + 1.489721397032968 + 0.4348529638749707 + 0.744860698516484 + 0.2174264819374853 + + + 2.88166624444775 + 3.61959422118299 + 4.37138764148072 + 3.18474125730802 + + + 4 + 0 + 2 + 0 + 1 + + + 1.489721397032968 + 0.4348529638749707 + -0 + + + 2 + + + 9 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + -3.947459643111667e-16 + 0.4348529638749707 + + + 1.489721397032967 + 0 + + + + 0 + + + + + -0 + 3.700762639187988 + 3.331329554784668 + 1.638276841622546 + 0.5155247466368265 + 0.8191384208112731 + 0.2577623733184132 + + + 2.88162421837671 + 3.58909192810308 + 4.51990105999926 + 3.07356718146625 + + + 4 + 0 + 2 + 0 + 1 + + + 1.638276841622546 + 0.5155247466368265 + -0 + + + 2 + + + 9 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 3.947459643111667e-16 + 0.5155247466368265 + + + 1.638276841622546 + 0 + + + + 0 + + + + + -0 + 3.174690074867552 + 5.210269564519223 + 2.085491260846215 + 0.6072386487393315 + 1.042745630423108 + 0.3036193243696658 + + + 2.13194444444444 + 5.51388888888889 + 4.21743570529066 + 4.90665024014956 + + + 4 + 0 + 2 + 0 + 1 + + + 2.085491260846215 + 0.6072386487393315 + -0 + + + 2 + + + 9 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.6072386487393315 + + + 2.085491260846215 + 0 + + + + 0 + + + + + -0 + 8.513888888888889 + 4.75 + 3.5 + 4 + 1.75 + 2 + + + 3.5 + 3.861111111111111 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 4 + + + 3.5 + 4 + + + 3.5 + 0 + + + 0 + 0 + + + 0 + 4 + + + + 0 + 0 + 3.5 + 4 + + Qk0AAAAAAAAAADYAAAAoAAAA/AAAACABAAABABgAAAAAAIBSAwAAAAAAAAAAAAAAAAAAAAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7fH2qKep19HM4OHjqqen1dXXra+y7+nm////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wsLMVFRjtra6xsHEbGFpSEtUcHN02NLR////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////pqu2a2dxgo6Yo52Tv7e5mJeid4KHx8S4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2N/k0M3L3uDg4OHf+Pb0////6+3v+/n2////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////yMfH+/r87vL14+De////3eLp2tnV////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4uzyeXJ1hIaJZ15rY2Vlb2de////xs7VfYCHgHt6////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////h6O4QTQo////paGmcHF5WV5ew8C5pKWlNTc7joN7////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ztvlUlJUuLaz6ezsbXeDKztBZmtkRzkvWk1M29HM////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////6O7zra6s2NjW1NbYvb7A4+De//7+y8zO19XS////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////xMvVlJehoqitnpKSnJeWs7KtoqOmjYyIv7S0+ff5////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////tLrHjpGWhJSkcWRosKagb29xPUVXXmRpnJWM9Orl////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////rLbAb2hlsK+zvbe6pqOojYN9zcbLsrzJlZOO/fjx////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8/X1oaGk5dvW////sbK0+/Hr////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////5+72qamptLKwsrG3xMXHu7q4qq2wzsvI5uflmpugurm5qaim+PLt0dbbycO82N7fmZiW1MvG////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////5PX6Tk1BTUNIKjRNjo6GdGJdOkBUeHB31NTQAgodRkFGSjk8urq6P0tbZmFYXltWNzAyfXJw////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+f//Z2hei316SE1dqaWlbWVlXFJSXF5ooZWReHx8l5KRg4WIbGlrcXJ/fX5+kYyLOTlBh3h1////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4O33T1BQ1cKz8O/t9vb4f4+lWE5H6unk7evt+fr2////+f3/7ero//z8////////Z3N9loZ7////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9/f7+Pj4/v39////////////9/j4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8fL109TW5OHe////8e/v5ujq39zb8/T209LS8vLw7u7y2dXY///96u3359/c////0tHR3d7c7evo////0Nbb0c3M5uTi6+3t5OTm8e7r////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////t8PNlY+ImpeVk5WYm5+ulY+Ugn+Bampqq6eiuLjCZ2Nqq6mpkZmfnZaVwr65ko+RenJ1io2Yrquq////c4Wbe3V0zMzI3uHfj5CazsG3////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////0NzimZaPfn2BoJ2fmaW3pqCbq6eucWx0kpubfHqAal9pq7CzY2p4o5qTrbCuZ1palI2XbHCCtqqq/v7+////xcXN9u7r////paiy3NDO////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ucbQam9ohnh1s6+2jJCV19nP5+Pg6eruvsPGqaqqyMHExMPH7+nm3OLnzsjHy83PaGVxgnl76+Ld9fj7tL/LbGNo5NPL+v//iYSL39DG////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////6u3wx8jK7Ofe8fP14N3b////////////////////////////////////////////6evt//z3/////v//wMfRwr65/////f//4t/d+vfy//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////78///////////////////////////////////9/////////////////////////////////////////v//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////3ej1fn58koyHpKexnKWrjYmJamVol5icj42IzszKjpejlY6HjH+JpqWnkY+Zt66zoqOjY2Vvg4aRnZSP++/j////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////5fX/S1ZYQzo4YVtpjZysTUlHRj1BKi48ODY8c3F2X2R0ZVxOTEJHAAIUYWJlZmp3VEY8X2FwLz9ebl1O/+7d////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////3+/+OkRKHxgPgIeMb3yRopmGp6WlxcHGpauzhIuScXNzu7avl5GUy8nLoqevubKzhIiLTFFYKCk3s6ig//78////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4uvzm5qap6GawsnMra+y////////////////////6e3w/////////////////////f//qLK4v7ev////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9v/+wcHD////xsvWraKiy8vLkZOWoJ+jpqqrrqOjqJ6evLm+rquxxsbGur7Dvbm2m5yaqKSk+fj6////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ycnNv7+/+fj4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ucvbLiku/P//np+no5qVLCkyi4WKl5uqbHB5bWJnsKOZbmZrj5aecYCPhHuAkYuQTUlMe3hz3tfU////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////5enwvrzC7+7rw8fO4NbWwMjQlpiazs7M6evlxsXH2NHM6vD3tbOz////9/j6srKywr+6+fr2lJKkZmJhtras5ebpucHIwby5+PHs////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8vn8bWtrmIyIytHY3d7empGRuLK3kaCtk42Ou7nBq6arjouImYuGpqSqrqyyl5ecrZ6XwsHLfYGB5uPe////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////xMvOXmJlYmFrsKmzubasjpSZeIGJ19TP7+/qlJaju6ql3e79gXyB////wMbVkZSfgoiLtamhtLO/gHV1rauto6q6i5eqno2G9OLV////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////1eTsjYWC+fj2p6ms//jw/f39////0d3nsKil////////ucHIqKKh//34////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ytTeQUVKW1JZ29Tdq7aw1c26xcnZzr+/////nqKvzb243u/8nJWa////x9HhXmR2rqefwsHBoqGneHBzs6+2o67Afnp9qpiQ/fn0///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////zdLfh4KQwr7Dqa61uLGsxMjLbmt11cvF////qKas3M7E2OPvq6Ce////wsrSkoyJ/Pjz3eLryMfJ7u/t////w8LK29PL8u/u////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////0dXYxL65////////ycvN7OLd8/n/z8/N2djaxsDD9/f1w8XF5uLd2t7jysXCzMzMwsC+xMrRq6Sh///9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9/b4////9fj6//v4////8O/t////////////////////////////+vr6////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////lZywjHt68ff6t7e50M/FZGRmam12mqKff25nqKOgZmlzq6mvr7a7j4WFf3x+R0hLkIuGxsXH087H////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////6e3w2trY19XV//v48Pf6397a////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////vsHYuKuz/P//yMjKwM7TWldUlJeagoKAurCuoJqZc3SBg4mWlpmZvrCtsKuug4ONd36B49zS////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////nay/mY6Mqq20vK+jsL/PNTdHVVlU9+/lmK3IWVBX////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2+LpdnWAcGx019HI////X2x8p5GF+///UU1M7Obd2dXVv8PIgXx76ebh0trijoaD0MrJ3d/i/Pv3////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////W2p3UUhDOkJKp5aFt7rFY2Z4UF5kvLOfpq+/d290////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8vX46url5efn7uvp////9fXz////////+Pr8//36////+Pv9////////9fj76+3t////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////1uXyQD09cHV6QUZH1sq7fnd8c3+MQ0pNkYx/bXN6ppyc////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////5ePp////////5ubo//787+/v7ezs+/r69PT46urq////8/X39vTx9PX1///76e/2xL2/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4+vzzczM29ze2tvb6+ni09HR1tne0dHPycnJzc3R6ejq//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////78////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////1t3gtbq/pJ6Zq52YfYSOcm5zbmVs1M/Sn6OjzM3Hp6WypZSZe4KVlZeXuLCtt6ykpqepsqyl////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+vj2/////////////////f7++/z6////+vn7/////////f3//////P39///9/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7++/z8////8vX49/j4////////7u/v/////////////f///f39////////+vr6////1dXf39va//78////+vr6/////////////f/9///////9////+Pr9/////fr37vb9kJCU//ft////+Pv+1NTc//r1////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8PHzn66ziIZ/mIqMj4yWb2x4bGhwqKyzl5udoKeiqaCln5OVgYebnqSzsqqta2Vku66r/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////f7+19/muLa0oKWqfoSJtbKvtbvAw767/v78uLzDnZaTkZSZrKuvzcvLpqWvkYyLl4+S0c3Moqmsua+q////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////sbzJs7Ck1tTgjoiSzc/NnpmZwr/Etr7IkpCQ6ebjoamwxrux////o56l+Pf3dX2F7OTY2+XvnqCrtrSxwbiw09bY0dLQyMnJ6OnnyNLYuLCwqKKjq66zxcjLsqyllo+MqaisxMvSi5CbtqyivL7ApqCfnpudxb++////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////1d3tNjRIsqies7i/qqOm09HR2NjYr7a3UFVYpamieXWHsZ6Ux8rNzNXhbnF2p5qM+/j1////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////5Ov1anOGaGBZ3drYxMvVxMXFUF5riH5y/v78sbS/gHV6RUNOqa2wc4CLhHh2qaCgY1lghouSVV9pt6ij////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////tsbVgoV+lZCXo5WX5e/qXVhVkIiFnqKj+fPs8+PomJ2mdnZy5eXgxMXHV15sdXFw///7oq+1sK2h////g4WKtqie////ztHWmaKwoa2rkImErKafiJidXlxitKqchH6BiZSpcXuDrKSflZKSQURLl4qHxsfMpJ6m////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9fb40tTbwry7///6////////////////0NLV5ePhwcPN7ePe/////P//4t/a////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+/z+rr/Pe21q9PPviYiSj4qYR1dvmoV0////goyeeWdk2tPVs7W8r62rztHM1M7Rs7S2goyMqJ+f/fT0////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////p7jIcnJtiIaQoZecjZOgXEtDwczUd35//Pjt3MzUjI2QQVJbh4B5+PftPj1H1L+z////ydPYu7q1kZemOTMy9ezi7/DznqWvlJagdnZ2j4JzqbvETUM+5eHhV1xhcGZmbGx0t7Wwq7Cxq6ajsK+v2c/PsbS+xLm5////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8/f6n52nzsnG////////////////////+/r//Pv7////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9f7+zsvJ6+nmq6qs0s/My8/e2c/R////wcLF/fXu////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////xM3Vw8C529vltK+23dnet7Czv8bOsrKu6ejkxcTGtra0oaar1M7N/f3/zM3Q//jx////////8/DuxcXJpqWn//r17vH0jo+SvbWu7uvp3tzctLnAs66p////r7S3paCZ//32////////////////+v7/1dTU//76////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2+Lnrqyy0MnEu7W2lZaZq66xtLi/amJxko5/vsDCi4uLs6+sv73DqK2wpJyZ9unf////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////0t3q2NXS////////////////////////////////////////////////8vX6/v39////////////////////////////////7Ozs////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8PT7////////////////////////////////////////////////7vT84NjV////////8vX67u3x////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////6+zqo7S5bmNdpJGLWlZmeXqJrKuzh4OKpp2VqqaySUZOgH97hYmUrKal9fTw//78////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+/7/t7vAwr+95+jts7zCk5COnZeUpKirsbK3wry3xsXDjo6OwLu4wsnRp6KfydHWgoWP4drV////wsjNjY+UoKars7K0ubOyp6ept7m8r66p5N7X/P3/t7nEnJeanJ2ivL7BuLq8mZOUnJaTs7GvsrnGpaSoqKOg4t7b////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ydHZxMG829ritK+2x8vMwLu61tbas7SwpZ6f6enpxs7V1s3F////wLy8////o6qy7ebc7PT+sayz3N3d5eTi/f7+rrW6mJueuLa0x8O+5dvb0djivcDAxcPBxby1q7O7aWRn3NTM0tTStrnEsayv+PLr////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////3+X0QURYpp+K0c/RlZCYhICFxb2/xs3Un5qZhoCFopqhkpmahomOs6mp////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8fn+wcjPQEVMNzxJhY2bendrBQABICIyVWJ4fndsRjIiMTA0aHB+lY+WNS0olZmZaXN/n4p5////cHWFNzpNIzJTYFpfblpHRkFJAA0oMCketqmc5u/1r6OXgXuFDhMogYGBXWFrQDs6AgAAhH5/HjNHm39qusXLmZKL////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////pLXFenpymJWdgXF45+/oWVVUa2JkkZyYw8HDmpOddHV4gHlw+v75o6Kqh4+ZUlRX9vDprbvFv7Wp9P3/pKOl/vz1xczRfIWNqqqm3OHeUk9PXVxgn6ahqJmUlo6La2p1rLPAl5mbUU5OurWuu7q+0MG8////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4ObupKGtzMTBzc3P7u7s////////////////8vX3////////0NPdtbGw//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7/dHyEOywlkZiia3R8xsCtcWxplY+SZnaFn5SOraOeOkFScnR+eXF+X0xAfICFbnV4vbWr////ZXF8XlxefICPhIOLfHdwb2lmgoiQbG54tKia+vz8m5WQp56eT1FgfH6AkY6MsLKsc2pqpaSmWF5j4NDBnKWtraKc////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////u8rZgoaBkIySu6+zq7K8aFtRwsfKnqen////i3+LhHZxZXiBnZiT7u/pHyIvvqyf////s7/FmZuU///9o6Or5dbR////zdbkwr/Hm6SnbGBYn6exfXhzpaGpeW9vi4qMi46Tmp2ihoGE39vbqqq14NLN////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////3N/izc3L////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////mZeZnY+M0M/VwsfE7+zn////////9fX3/fv7////k6Kxd3d6goCG5NTH////////+/z8////z9bboqmxsq2s+vz++Pv9+/r4////////////////wsTJ2M/H/v378vPz////////////////////5u/1tbS2+PPw////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////r7vGrKmdysvXnpqisq64oZKRwcvXkJGPmZSRwr69s7i5gYyUsqio/Pr3oaGk9+vh////+vz+wsTJoJueeXd73tPN9vv8eoGRtbCzf3196NbJ7fn/dnl8p6Cb4tjQ////5eXl//78////0dbdycbE///9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2N7jqqmp9fby4uTmx8XHxsnMxMC/x8fJztDQdnGBbmpnw8bBuri6z9bbpqKh/fjx////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7PDx//z3/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////vz8/////P/////9////9fb2////9vX3/////////P//////////////////////////////////7O3v/////////////f3//v35////5ufn////4eLk9/Dr/////////////////////v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wc3Yg39+ubm3m52bm4uKn5ykWmV4WlFYn6OqvbSvhnh/nZaYfoeObWttysnL1NHM/v34////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7fH219TS////5+rtzM7Q8fDt3tzi6eHc////yMjK29vb3t7g6+rl9PDt//7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2trc+fbz9vr7/////P//19HW////19ng+fLv////3t7g5uXj4N/h4N/dwMfP8O7r6Ovt4dzZ////4+Li////193i7+vm////1Njbl5aW/Pv2nqe3mo6G////y87Q2Nnb4+Pl////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////jp6rj4J4////eneJdWZjjI6RhoCImJObiI2YtaWgwLu+e3N4lJCadYCGzsm+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4evzrri2mZGO4dnSwcnRiYePdH6Ip5+awsC5h36DdG10bGx5yMbIqLO4fG5p//rz/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////P//e3yH8ODTv8zXwsXIysnVmZCQjYqSkJGgtrOw////dH6GuLmxmJapm4qDv9DZkoSBbWlnlZOM////lZeiwMLHVl9n4tXG3OXzvLCwtbi6pZyX4ufwm5ujbHJ6fXt2ysTJ3tza////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////3ebulZKXn56eqKOg6+rm1dfX6uXi////2tvd7OXg////3tza////5ufq+Pbz////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////1eTvbnd3mJKI3tbR197wb2l3gH+Jtra0oqSigXRsr6arfYCQjZadZ21yoZOR////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////paey79/U////mai9up+g5e7gGxMb6OHmm6mn////n667lp2YlY+W3tbZm6izoJWHtLO3f4yPvLyy4uHfMz9Qlol/////tMHTe3+Ol5OapJaUmZeZiIeNXF5rgISEq6un6ubm////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4N/f////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////eICNh3xy////p7DAdGps+PHu3ePqz8jK8fTt39zc4uLkusHCzMjF+PL1////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8/j9l4+R1svJo6u5d3l8nJCSn5ychoOLjpKds6yp////c32Hqauhko6alY6YXF5z0Ma8naasYXF8ioB+/PXtfH6F2ce9////3ObrmZui493c9vb0yMvNubWz9/Ty0NbbzM3N4uHh////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////29ra////7fT519bW4OLlwL29/ffy////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////3d/i///97O3t/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////P3/9PHu/P3/v8TM1M/I8fX419TW////0tTZ+vPu////2dra6efl3d7h7urn7/T31tHU6Orqy8vN8O3r/////Pz/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////3OXvlZSWoKCewLyvo667ZWtwy8zMuLKt/vjv////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+vv9////+/v7////////////+/z6////////+/v7/////v76/////////////////////v//////////9vf5/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////f379vb2/////f7+////7e/x//36////9vT2////////////7u7w////////8vL0+/z+8/Pz/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v////////////////////78////////////////+/z6////////9vb2//7++fv9+ff0////+fv+/fr4////+vn5////0s/U+vbx+fr6+Pj4/vz89/j4/////f39/////////Pv7+///0s/R/v35////////////////////////////////////////////////////////////////////////////////////////////////jp2sj4N5////Zl1q69jL09vp49vb////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8PX6YWBk3c3AvcfRPTo/dHV6gIuVdHl+RkBFvrKq////rLzJZWBf9PPxiZemZ11fenR8k5qilJykaGBZp52R////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2eTunJeX4N/ap661vbq6vby40tHRvry6oaKmycbDzdHUnaClz83Ip52fnaOrsrSyl5CJp6iqqKmr6+Pb////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ztPam5WWub3AhIeSioGDraurs7Cwko6NdXB1yb25/f//jo6M3t7inp2sv7WppqittK+0j46O8+XW6/f/r6ao3+fsf4KCxsTB5uPh/v//rK6xv7/HvcHQuLCtw8LEko2VzNPYp6Og+/TthZesdXZ25efnpaSo0czLoKa2w7+/wcHFoJWav8bNop6b/vz6////////////////////////////////////////////////////////////////////////////////////////////////ws7Zg3x/t7a0i4aN3tvWaGh3uaql////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////SEth/urbxc/XAAAASEJQkp+yMj1NIxcO6eHe////u9DoV0pU////cn+SKhceIh4sVlpjRlpuGRcWX1BJ7+Xd////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4O77xr/EnpyZb3uApKKg9vTvk5Sfj4qJW2BhhoSCYWd1ioeC9vv2R0hLY2JkycG5qqCWeHt9bXaA49jM////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////sbTDdnuKfYKFYVxma2ZylJGTj4SHfG1tgnyEua+0////eoCFmJmZioGM7uffcX6GlomGmp6hlZKI5+rqwcPITU9WnJKM5efq8e3s5+rsf4qPIio6y7OytMjJTjY1xsjNkZaR////////4unura2y8vT3wsTGi3+Lx8LOhZ2nfl9bwsfCm5aN////////////////////////////////////////////////////////////////////////////////////////////////////////////2N7jq6qo//704ez4paKi/vny////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8vT+vMPQSkdPj4F+y9DVnpqVoKa1QFVuV1hYt6qi6+bl4+XsbXiUTkpSycfFc3R5loyHkJKVkJGUvby6wMXMk5CQ9PDr////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ydjloZSUzMzOQUFGzce2uMbVhHlxq6mxLCY07+LWlqKyuqumc4SNjXdpyNfkXVVSnpaMQEhLeHV9/fbu////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////oqq4UUtOysS9xsXLxL7Dra+ytaie5+boYWd1sqCZ/v//YWVokpSUioCEpJ6oLCk5393Yk5ycNT9FnJOM6/b0RDs9//3z1drh8erlq7W9dnh6ZnJ8no2OpK6uaVhdmJigpKKd////9/n809zheXB3w7/Erayupp2ioKOyi5abhnRzmJeXsaql////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////6unv6+jo////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9/r/pq26pqKfjYyM7+rl////7ff9lJ+ntbKv////////3uTskI6WrK2twMC8wLq7///6////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4ufsycG+////19rf4d7ewcnTxcO+6OjovLfD+vLv7/P00s/Pra+x7OLY/v//qqyuv7q10NHR7+7p////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////yMrK6+La////////////////////////3uHk3NPO/f//r66s5ubou7m/2M/PtLTB1NTYvcC+o6Wn7eTf/v//0tLU////////////8fPzray05+PgytPZy8G77O/0o6Cl9fDt////+/39sr3Kn5eX6+rsz8nK/Pz6rrW93tXP3uXsqqOl+/n7////////////////////////////////////////////////////////////////////////////////////////////////////////0dvjuby+2dTToJ+fure0wMTLyMG+vcHErqGc////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9/X3////////////////////////////////////////////////////////////////////////////////8fj/6efp////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////z9XY1MzO/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Pn+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8/X3orCzUEZEeG9lzsa1xMnYrqWo+vv59vb0////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+/3/rKu30c7QuLe709PPpqiq8+3m3eTruK2x7/DyqKm06uDe////xsjLuLKxu7u/mZul6NzS////pKqvsa+s3d3Zv8DLt7S6sbO48+vk////////////////////////////////////////////////////////////////////////////////////////////xM7Wm5ubtLGvm5ecwcTGuru/oZ+dw763sru+zsfC3ODlmJebuLu+pqOjmpKNkZWYyMXC+Pr8r7S33djVy8vTp6yvuba4vbG2qq6z0s/M1trdg4GDh5SaKzc5eWlmraajtK2m////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7O/yz83L9vf3ub/O2M3L5Ojrsamu2uHonZmW/Pr3yM/XxMC96enrwLu+4+Tms7S/5uDf1dvixrm7x83UopmW////t7zDzsfE5+ro5eDZ/fv5o6Cq7evrwsnRyb2////9////p6is3dbO0dPYu7u/wsLG///2////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+Pz9NDY5wrKtbHqHpZOAvL/Mqpyb////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////1+XwmZqS////g4SR28zB4eXleH+Ml4CCsLSvVkxWoJ6rpKeg////mJuohHBqdnd/hpOkyL65cXqCl4+IlZ6jlZiQdXKE4tTJtr/Lxba1////////////////////////////////////////////////////////////////////////////////////////////mK29UlRMc2ZqFw0UYmZziZKkKyknXlFBN0JXjoB5oKm5DxQnent3dG1oGgYAHRclk5KY9vr6n6y3Pj09RkFLPlNugoB5dmZlAAAAl5CSvL/AAAAAMzA1anFyl5iYLzA1T0Ay6uLb////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////6e3wZWtwREJSv7XAmKWnfGdpnpyeoKCe4+Pf////p7DCq6Wo1NzaW1xcX1hgubW/fIiSmISGpaOeqqSb5OLf////kJakvLCw09rYW2JldWRpsK60YWh2qJujoKOc1cq+////dHWE2sq/qLC+ioiUl5ykqZuP3dbR////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2uXth4WF////sb3Hp6Og1NHT1szH////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////5O/1lJiT8PHxmJWf9Ozni5ekXGFpu6WpztbNLiIqzMnTm6Ge///9pay2hHh2dHV44OTfwtPgLB8e//v0m669jJKLgXqH4NnUq7C/2cvI////////////////////////////////////////////////////////////////////////////////////////////q7/KWlpSqKWlWVVUkJKfbnl/npeSeHd7goOFcG9xh4CFV2BqrqahxsfDg3hsZ2d6jYuT/v//PUFId19Rd36MXmhyrrGzmo6Kg4GGamVoraWifnx6m5SVj5effXp1g4GHbmpq6OHa////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////n6Knf4KCKzZJ0bu3l6+5aU5JwMTEmZaP////////q7K/x7u3xtXkQ0RGcGBl29njZXmJmn14uL65r6Wb////////oqGtsLK8tLa4gIWCLCIs7evrPElZwK2qsLqzxbmr/f//lZGj0MHBu8nRcHR3q6Kk3dvY8e7s////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////1N7mx8TE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////0dHVxcbIubKz8/X3eYWXqqKby9DVpJqaw8LIjpOa0MjF/////Pz++Pn5+Pj2//780t3pqqOl////ipKZz9DIsrLBnZGT3d3b////////////////////////////////////////////////////////////////////////////////////////////////qrvGXlta+/fy////////v8PE/Pjz////////+Pj6+vj4////////////////pLPCoZqX+/3/lZORw7WywMHE2dvZ/Pz+/fz8////+Pf3+fr8/////////Pz///z6////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////z9Xcnpuhzc3Ps7rBv7i1wsTHjoiN49/e////////ubrC0sjA2+Lqm5KZwr/HnqSsxcLAur/EnZOT6ubm////////sKyy0crHzdffta2ourq+mJaexcXJq7K5saWh+PXzxdLahX+Ef3p/7Onk8PLyxMPF////////////////////////////////////////////////////////////////////////////////////5/D40s/M+/7/nqCl8vHt////4uTmpaitvru4urm5s7O3pKepqaioyMfFwsbNzca/3Nzcra+ysbW4v7+9s7K0j5mllJCV7uno////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+fn5///////////////////////////////////////////////////////////////////////////////////////////////////////9///////9////////////////////////////////////////////////////////////////+v7/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////3tze////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9/n7////////////////////////////////////////////////////////////////////////////////////////////////6fP5pqKnYmZtMSQd8/b0TktVsaqjLT9TSTw5X1RWJyQ0RUlSHx0nQkFJlZKYa2NQKy87LjJLV2FxV1VdOi4yzM7RXGV3taCP////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+/7/0dTVxcbI0dDS5+bo397ez8/P3Nza2Nrc5+bo2trc0dDQ4+Ph1dTW0dPW4+Dd/v7+09PR6Obm1dDV8/Hu3ODl2tnV////4eXwr664y83Pv7/Bz83N4+Li////5Ovy2tjV2tje39rZ7e/xycnJt77IxMDD///7////////////////////////////////////////////////////////////////////////////////////yMzP1MzE////2Nfb6urqyM7WycXC0tDQ8Ovq////2Nnb09HPyMnJ2NTT////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////vs/aRUJE3NLK5u7zysfF5efn09DS6Obkv8DC5d7X////8/n+1M7J8/Px2t3g19PT19bY7Ovo3t/fvbu98e7r////4enuvLu7//763OPqzczJ8fT22trY////6u/20NLU4N7c////9vv/39rd7e7uu7y8////7fX93dXY3+burKem//78////////////////////////////////////////////////////////////2ur5AAAA1r2nxNHcPTw6wcG9foWKjIN+q6KbS0tahIWNcnJwkZOdc3KFbVtGbWxwY2mBcXmJjY2LTEZHd3d5TlZdvLSq//v4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+/7/aXR6o5+atLa5kJGUko2Minx8ko2QeH6Ij5Gci4mVkIyJn5KSkYiLi5OdsrK1/v7+gYmMbl5XpKOngIiSmp2nqJyW//34q7G2rK+0dYGJtrKmmqCoj4qNysXCnKGhUFVYs7Gzvry3gnd5hICIw8fKsbS55NbR////////////////////////////////////////////////////////////////////////////////////0dLSpaKg1dXRmJum1MrEhZyxhYF+xsG6fYSLg4eQq6GTc3FsmZiUgYOFtK2m////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////tLzGhoOFoJ+fq7CzsK+7em9vgISLYWFuXlFPe3qAmZWdzMzKo56hopybi5WbYF1nZVtgrK6zmZuigXRvfXB01sbB1uDoenp6rbCyfYeH4t7Re3yAcmts3+LifXFubmlskJOR2dfV/v34wMfKb29zm5iVzMvHpquypZugm5GTr6+vwLy3///9////////////////////////////////////////////////////////////7v3/enl///Pp7u/y+Pj49Pb47Ozq+vv5vcPKTU1Sraur8vPv6ff/UFNh6uDS5+31Xmd1eICHtK2mqamnxsPA/f379PX3//37////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////lqCj/fPh////l6CsjIGBmY+UdW10opqfjpWfqqyux8TGlYiMcmpsa3F5t7i0////tr67koWAmJmednuKe3qCqZWN////mKKdwMXFqLO5////5vL/nJeeysXCvb24g4qPvb/EsK6ndmxucGNo6OfprrTB3c3I////////////////////////////////////////////////////////////////////////////////////6ezzf4KL0srDv8XS28vI////1tLc6u3wYWZmhIKCmIyIubqyp6urd3iDv7Or////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////cHuFyrSi////SkthrqKWtKuunp2lfHuGkIOBlZuoqqiyzc3LnpymcG54kJCQiYCHiIKKiY6WmI2PtK+vkYuQ+Ojjjqe8moyC////naGmw8HDZ2VrycC0tcDKWk1KgoKCq6Ka6eft//37t8XSMDI3zcW90djbT1Zox6qrxszBo5qO////////////////////////////////////////////////////////////////////////////////////////////////////7/H27u3r/////////P//+vv3////+/7/6uvr/P378/Ly////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+v3/Ymtw1si3/P//tLnBvr6+c295saKb3NzksLK34ePh6+rs4uHjyMfHwcLC5uTh+/7/cXFtzcC0y8nL8Ozrx8nM2tHM////0NPWkZiidHl6/PLk4+33uLW3////oLG8iYB23d7j2tHR7O/xwLm00NLZuLa2/Prz////////////////////////////////////////////////////////////////////////////////////n63CODMy6ubhpKCo0snEsMDPlIeLcXZ9dWpk////XFxggnx1e4WDhn1/3tLM////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ucDIkYmLo6SmnZaY4uTe6Ofl5eXl4d3c////iJajmYmE////lZ2pk4R97uzn5ubo9vX1wsTG6N/Z9v//amlz3cu+3OXvg4CGqqes1c/QkpKfX1JU3+fuTE9U5tXErMLSWE9K4dzZ//76tsHTXFJd1tPYWmd0iYJ9v8DKjIKAz8rH////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+v3/0dHR7+vq////6urq////8PL0/////P//7u3t////////////////////////+/7/zs3P9e/q////////////////////////4+Pnz87M+/f0/P//6evr////4OTn1dHO////////////////8PL0+vjz////////////////////////////////////////////////////////////////////////////////////////////2Nja7uvo9fTy////zNPd2dfU5+fl8e/s////6uzu0dHRz8/R6ufg////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////3OTnxcLC////////////////////////////7+zs////6efl/////////////////////////////Pr89PHv////8fb7vr2/6OHc////0dLU3dzg6Ofl////+///2trY////////+/3/4N3i//767PL34t7Z6Ort2NXV////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+fv9///9+Pn5lZ+vzsW98f7/WVlh9Onb////9Pb4/fv5/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////f39//78////8/f69fXx////////6+zv//r3/////v///fz8////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+fr87Ovr////////////8vP1/////Pv7////////////////////////////+/39////////+vn3////5+fl//////////76////X2dz9efW1OT0Yl9d////////+/j9/////f//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8PX6XFxgxK2f8PP4fXZ7wcDIQ0lgmIV0eHd7dnFu8+zj////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////orK/bG9xgH6CgYODwsHBvsDCUVJXrKmfr7e/xcLEf4F/eW9n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////yNXfx7604+bznpqik5SQn5OFlqGuqaam0dHRb2t13d7g09XVdGNodX2Po5qT9vn5UV9yVElH7+LY0dvlsra2tbe5lpOYV1RelZqhXV9ug25XbneMTEtVopuUopuWhnZ9aXOFqqKb+///YWVy7+ff////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////TE9l/+TRz9/mGRYVk5igcXeHZmBbAAAANjIxxby0////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ssLRGCkyLSUg5NnP5un0ICYtZ1JG////aIGPSTo6aWVgf3Zq////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////6+/y1+PjHig2c2drY2p3XlRIPkBQhIyWY2x6AAAAfnl4i4yKPjQ3Ii5IV0tJvLS2EB0xYVA4//783ebrYWt3W1pXYl9kLzI/b3OAjoqQT0M7ExUncXqNXGNkPSwgXlNTExszZltXhomUTEpS/Pz6////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8vT+uL/OSkdPkYOAoqeyr66py9PanJ2lrqWf39vbkpWa39rT////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////kaO5OUE+SEFDrZaO////ICQt5sy22ev4AAAAzr+8N0pmV0Iy////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////6fL4AAIRUDsr0tTZz9DVn6CicnqBb3J1ubu+vbq6x765ytDXqKKn0czLkZecZ2uAVFtj1s/I/vr5tsTOFxUYqZuTz8vIqqmpx8fLr7W9o5uUxsHEjpehw7qy1tjdqKGi0M3KkpWXcneGcnJy//ny////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+Pv+29vd+fPu////////////z9DS//754uTn+/n2////////////////3dzc//349/v/7ern8PLy9PPz9fT23eDi3tza/vv4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+Pr/qa+8q6ekj5CS+PHs////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////x9DYqaqqubaz6OTh////29rc////xtjllZGO////tcHNpp6Z////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2eXvj4iK//n0vMLH///9////////////////////////////////////////6fb/tLS0////////6Onrx8rPv7y6///7////////////////////////////////////////////////+vz////9////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8fn+dXp3////lp2ykIqHc36IjnZqm6i6SEI/4Ojrk5ugf3dw0cfCt8TKSkxRqZ+fYG16iH5y5fD8QkBLPjMrgHpxiJyuW0hC+O3j////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////597WusfNAAAAhXl7PElPindkN0NcpZeUr7vBAAADAAAApZiMTlZeWWBqeG59PT5AVVZS09bbDAoXWT4p6ujjKD1QVEI2+/Xu////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////jJeiAAAAb2BT+fX9q7i6cWxnNjlEU0tNjYiHcHB4fICJvLOno6SpZmp5wbu2pq+0VlZWS1JkT0RPvK6iwcPGcHiAvbOr/fz8////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8/n+IzI7b1dM8vT2lpKP////////4unspZ6b/////////////Pz+////////////////////pbfHV0tJ////////////+fn5////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+fv+8O3r////9Pr/3t7c////////////////////////////////////////////////////+vv7+Pj0////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////hY2fr6CV////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////dXyKwbGm////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////6vP5nJ2doaCc19DJ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////cHWEy7yv////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////n6y/koWA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////6/T8o6Ol////kpqqnJCC////3tvb/f7/jpWajIiFrKyuraqwl5WVmpyjmZmZjouGvLW4w8nQjImJ39/btbjCkI2SoqSpnZiYtrK1ipCVmqCljoKA6N7Y////2uPvhYqLnpeOqKasqKiwmJiWwcK+wMbOfH5+raeg////////////////////////////////////////////////////////////////////////////////////qbK8kpORsKmk4eDim6OqiIeFw769sbS5oKGfn6CjsLKym5mfuba2jI+U1szErbK5hXd08efh////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////t73FoaCb0svE6uvtjpWauri1naCnzsW7wMnTn5ub7PDxipGWnJaNhouSJiwtSEZGsq2qmaGpr6Ob////wMvYgYKAraadpqOroaOonZ2ZysnJrbW/foB+wrqz////usXPuLey+/fy1trhj5GT0c3Iqa62rqSio6Wvnp2drq6smJaWwr+8x83Smo+J3uHklJaZ29HJq661i3x3+O7m////////////////////////////////////y9PbiYWCrqek3tzevcbOnZKK297ln6Ksm5mUrbKzra2yl5aWsrGs0dXWhISH4uDgjpOetquls7a7gYmMkoyP+PLr4uXo///9pKq4rKemkZidnJ+fhnx81s7J////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8/n+eoGJr7GzAAAGqJJ42PH8GBUW///3aHN5AAAAand5gX6EJBMfPT5Senx0AQAAbHZ8gX6EY11iZ2dydGpoFhMmX2JyZlZTOzpHVFNZ////JzFAuJ+H////wdHeNj5EFQ4FYmx0enWFYFxQNkpTd3FqREtRMjY3////////////////////////////////////////////////////////////////////////////////////UWNxUkEyY2t5RT5Di4uHAAAAdX5+c3J6bm9yZ2x5NTk8KR4cr62zAw8a7NW5////Ehkhzrae////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////p6qvwsfINzhFaWdpbXSEOjgzXGZsgnJ5MzZBVVlb////O0ZQEgoDb3FvVF9sjYByjp6uCwsUnY2I//z6qLS/EhkfQToqYGNuZWZ5dXdtKjQ6dHRyQEpSVk9G////u77JsbS/NztCjYyCUU1KWFJXHCMuqZ+aODhLVlRefYuNZ2BPICgwf4aDYFFYUU9kNkNJ/+TH////EBYb3sex////////////////////////////////2+XxDxQasZ+K1dTWf4+lX2ZhYlRYRUddgXyDTEhHZHZ3eXB7R0NJZnuAO0BDV0g9U2Z8IR4X6uTfRUhYXmRrR0JM3tXPFiIv9uPLdYCZMzNCT1JZ///9RFZpgmpX////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////6e7xEiI2NCUa////P1BpGg0Nxs3SqLCuHBsdjZqcpqeqW0xca2l7sLixJCEfoKmpg4iVTk9ScW50mJCLWVZpeXqPl42HQUVVdGtui4yXBgoVqZ+X+/jz3eXsZHF8Qzs0k56jWlppQTQ0eIGGiIeEU1FZXWFk////////////////////////////////////////////////////////////////////////////////////iZScUUZEVVdgmpGJuMHEGxkdjZmbaGVxeXJ3ZGNtgHZxND1Cg4GDLzpAbGNXSFJgGxkfsqqj+/jz////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2+brKjdBTDwzqrTAY19nem9xUV9ujH5+ZWdsIiswd3d5eYODQz08e4KAZ3R/UEpATk9PQExccWJb//bsydTaNkVUbGRcj5meREFSXVJMcXh5ent9VlZee3p1////////am+TFx8dtru4X05GiYGIQlpofnduPjs7PD5LYWlsU0k5YWNog42TXlFTdHCAPVRgcmlbPkhZHBgfuLGs/vz3////////////////////////////nrbJCQYC////////2/H/WF5lYVNVam18aW1yLiUpjpSVe4GIKSQpfoKHg4aEPzs5Q0lRZ250mpqiKx4lioaGnJykXVtjDA0Y08zFjYqPTFNmaWBjmpehEBwqi35y6OLd////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////GSIzhGlW////tLS419LR2d7h0dXVw8G86ursh42VMjI7VURJ2eDfx8S96vT0Iik8jnxp7u7qkJWiPEJPUEhTi4WGanB1Zl9gtK+v19bW2Nrc+vbx9vj6vMTH29TN7u7wtbi9q6mr//z35evwLkFVNTIr////////////////////////////////////////////////////////////////////////////////////Wmp3OS8tODg2kX5t2+Tpw8C97ezuYWFpgHp5XFtb2si+0dbb19bTzNHUnZ6hnpub3tzc19nc+/jz////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////aXyONyslz87Er77IWFNS5tfNu7/K5N/W8PX2rKurraurys/M0c7J+/n5x83StrW16+nk1dvg1c7H////5+3ys7m85+Pe6Ovur7Cys62s////0NfeCRopaGBU////2OXvAAAAwaeN4/v/AAAAyK+g4Onu0c7L0dTUrq+vvbu5tbKw//z32+LsvLax+fv5v8fPnJ6gop+c3tvb19nb/vv4////////////////////////////3eryGyEoybaiqbO/tqym19nkvriz+vz8tb7ErKqs6eTjztjdqqqq4dbQ////uLm7/Pn20dbjrKywYV5cdm9yen2Iq6ad1dLQ3OHkc3R/bnN6aWNkp5qY1tXT2drc6efk////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////1tbY6eLd////////////////////////////r7K9jpCMwrm0////////7/n/npqa////////tbjFjJCRysjFsa+32NXQ////////////////////////////////////////////////////ws3Zqaaj////////////////////////////////////////////////////////////////////////////////////rbS7m5qYq6im5NzV////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////3+HmwsPGm56j5eDX////////////////////////////////////////////////////////////////////////////////////////////////qLG7wLu0////xtHZiIeC///4/f//iYuOzcK6////////////////////////////////////////////////////////////////////////////////////////////////0tnenp2bmJSbyb25////////////////////////////////////////////////////////////8/j/naCq///0////////r7bExMG+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8vLy7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u+vr6////////////////////////////////////////8/Pz7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u+fn5////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////urq6r6+vuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4n5+f4+Pj////////////////////////////////vr6+rKysuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4np6e39/f////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////rq6u6enp////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ubm5xcXF////////////////////////////////r6+v4+Pj////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////vLy8wcHB////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////w8PDysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////w8PDysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////w8PDysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////w8PDysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////w8PDysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////w8PDysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////////o6OjNjY2qaim////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////////////////////////////////////+Pn5iYqKVFRUQUBCQ0NDV1dXdnd32NjY////////////////////////////////////////w8PDysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////4+LiAAAAAAAAdnZ2////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////////////////////////////////+Pj4R0dHAAAAAAAACgQGCwUGCAACAAAADwwLz8/P////////////////////////////////////w8PDysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////nJuZAAAAAwEBqamp////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////////////////////////////////rq2tAAAAIBsZKiMgJyIgKCIkJyAiMiwrAAAAh4aE////////////////////////////////////w8PDysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////hIKCAwEALCgmysnH////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////////////////////////////////cG9vAAAACQUFEAsJFxIQGBQTGhcUEA4OAAAAnJuZ////////////////////////////////////w8PDysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////paSkDQsJOjc01NPT////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////rKurpKKi9vb0////////////////TE1NAQAAEwcLJjQlR1BCVU5JVGNVJSQhAAAAxcTE////////////////////////////////////w8PDysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////t7a2EA8NMiws19bU////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////7+7uYl9dAAAAAAAASkdF7u7u/////////Pz8MzQ0EAgIKx4XLSwiOjcrRTcwRT4xMh8SIhcU6Ovt////////////////////////////////////w8PDysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////tba2EQ8PMS0s3Nvb////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////p6amAAAAAgEBAAAAAAAAkY+N////////5eXnHh4eIxkUOSwgNCAgPCYjPSwmTzUvOSIUSkNA////////////////////////////////////////w8PDysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////trW1FREPNTEx4uHh////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////trW1AQAAAAAAAQEBAAAAUVBO////////zs7QBAQEYV5qgW9+VFtQZWlfdl93pYyQfHhlaWFc////////////////////////////////////////w8PDysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////t7e1FREPNjIy5eTk////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////7OvrQjw7AAAAAAAAAgAAV1VT////////sbKyAAAAdWV1knSGgWxanoBxyZWR6bqplHdgg39/////////////////////////////////////////w8PDysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////tra2GRYVODQz5uXl////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////dnNwAAAAAAAAIBwbW1hV+vr6////jpCSBAMBl21gu4d6uH15tHtzrX5zrIV0PjAbnqCj////////////////////////////////////////w8PDysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////trW1GxcXOzc26Ofn////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////pKGfAwEAAAAAJCEfSkVC5+bm////cHNxFA0UmnONkmx1dVpfVkJESjk4NicmEAcJzc7M////////////////////////////////////////w8PDysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////tbSyGxcXPTk56+rq////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////0c/PGxgXAAAAJSMiSURB0tHP////V1lbHRQUZU1OTD02QjQvLRsYIBQNAQAAHx4c9vb2////////////////////////////////////////w8PDysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////tLO1FhIQOTU16+vr////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////9fT0QDw6AAAAIR8fSkVAwb68////Q0VFIRkUQTEoNSIiNTgiKj0TFSIXAAAAPz87////////////////////////////////////////////w8PDysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////tLOzFREPODUz7ezs////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////ZWJhAAAAGRgXTEVAsK2q////NTMzKSclOTs7Ljk3K0A5JlFMCzxFAAAAZWJh////////////////////////////////////////////w8PDysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////srGxEhAPOzg28PDw////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////i4iGAAAADQwMRkA7mJSR6OnpLy0tLy4uLjI1HiwmFBYXCwgNAAAAAAAAlJOR////////////////////////////////////////////w8PDysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////rq2tDgwMQ0A98vLy////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////srCuBQQCAgEBOTUye3dyt7a2LCoqGBYWDQUGGRkTNS4pW1BOcnByPDo5qKel////////////////////////////////////////////w8PDysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////qqmpDwwMT0pJ8/L0////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////19bTHRoZAAAAKyklaWNefn17Hx8fgnFqzcPD6+ru////////////fHl0r66s////////////////////////////////////////////w8PDysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////qKenEg8PWlVU9PTy////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////9/b0Ojc0AAAAHx0cWFRPODc1Kisr4b+18e3hucO8jYqMY2hhREpBPDk16Ofn////////////////////////////////////////////w8PDysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////qaioFRIUYV1a9PTy////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////////WVVUAAAAGBYVPjo5JCIgKSclMDEzFRkXCg8EBAAADx4PGScWT0hK//7+////////////////////////////////////////////w8PDysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////qqmpEQ8NY19c9fXz////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////////end1AAAADQ0NKCUjIB4eIyIgIyIgMi4sPzg6QkA7SEJBEAgGWVZU////////////////////////////////////////////////w8PDysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////r66uExAPaWVk9PPz////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////////mJaWBAEACQkHFhQTGRgYJiMiPDc2PDg1KCQhEgsLAAAADAgHxMPD////////////////////////////////////////////////w8PDysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////ubi4GhYVb2pp8/Ly////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////////uLe1CgcFDg0NCwoIHhwaFRITAAAABAAAGRUUQD07dHJy2djY////////////////////////////////////////////////////w8PDysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////xsXFJCEfenZz9PTy////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////////19bWFhIQCQgGDQwMEQ8KjIuLq6uptrS039/f////////////////////////////////////////////////////////////////w8PDysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////3t3dMC4saGRh7+7u////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////////9/f1KCYmAAAAGRkZGBcX4uPh////////////////////////////////////////////////////////////////////////////w8PDysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uLi46urq/////////////////////////////////////////////////////////////////fz8Ozk3BQMDy8rK////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////////////QUA+AAAAAAAATU1N/v7+////////////////////////////////////////////////////////////////////////////w8PDysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////////kY+PAAAApqam////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////////////YV9dAAAAAAAAysnJ////////////////////////////////////////////////////////////////////////////////w8PDysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////////////xcTE5OTk////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////////////wL68NjU1kJCQ////////////////////////////////////////////////////////////////////////////////////w8PDysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////w8PDysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////w8PDysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////w8PDysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////w8PDysrK////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////urq6/v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////zs7OyMjI////////////////////////////////urq6+Pj4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////0dHRxcXF////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////qKios7Ozw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDlJSU09PT////////////////////////////////q6urr6+vw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDlZWVz8/P////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////6enpzMzMy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL0dHR/v7+////////////////////////////////6+vrzc3Ny8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL0NDQ/f39////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8fHxuLi4vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29u7u71NTU////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////xMTEm5ub1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXVwsLCoqKi////////////////////////////////////////////////////////////////////////zc3Ntra2urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6sLCw7+/v////////////////////////////////0NDQtbW1urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6r6+v7e3t////////////////////yMjIz8/P////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+fn5u7u7////////////////////////////////////////////////////////////////////////o6OjysrK4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODgn5+fx8fH////////////////////////////////pqamxcXF4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODgoaGhw8PD////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////urq68vLy////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////x8fHzMzM////////////////////////////////u7u77e3t////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ysrKycnJ////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////w8PDysrK////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////w8PDysrK////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////w8PDysrK////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////w8PDysrK////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////w8PDysrK////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////6+vrvLy8n5+fj4+PhISEg4ODiYmJlZWVr6+v3d3d////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////////////8/Pzo6Ojh4eHfX19bm5ubW1tdXV1goKCnJycwMDA////////////////////////////////////////////////////////w8PDysrK////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////qKioICAgAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeHh4////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////////wcHBHR0dAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQ0ND7u7u////////////////////////////////////////////////w8PDysrK////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////2traJCQkICAgHBwcHBwcLCwsKysrIyMjKioqIiIiJSUlExMTAAAAqqqq////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////////RUVFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjo6O////////////////////////////////////////////////w8PDysrK////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////n56eFxcXJCUlEhMTFQ8UIh8hGhoaERISHh0dEggOHh0dHyAgAAAAW1tb////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////8fHxICAgAAAACQkJGBgYJCQkLS0tLCwsJycnIiIiFhYWAwMDAAAAXFxc////////////////////////////////////////////////w8PDysrK////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////k5OTEhISJSMnGBYYMEQ3KjQxREJETEpMMDg1RWBXJSYoGRQaAQAASUlJ////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////2dnZDg4OCQkJQEBAUFBQVFRUWlpaVlZWT09PUFBQT09PLy8vAAAAS0tL////////////////////////////////////////////////w8PDysrK////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////kJGREREPPDg4LycpRltQQVJHX1hbZmJiS1BLZ4NzOzk3MCQkAAAAR0dJ////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////xsbGAQEBERERKioqKioqOTk5Ojo6NTU1Nzc3MzMzJSUlKSkpAAAAPz8/////////////////////////////////////////////////w8PDysrK////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////j5CQDwwMQTgzMickOykrPSstOCsqNiomPi8sOCIjPS4rRTMuBgABR0hK////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////vb29AAAAAgICDg4OGhoaQkJCR0dHQkJCSEhIOTk5DAwMERERAAAANzc3////////////////////////////////////////////////w8PDysrK////////////////////ycnJxMTE/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+////////////////////////////////////////////////////////+fn59PT08PDw8PDw8PDw8fHx8fHx9fX1+fn5/v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////jY+REAkKYlJJTT0yQywrTD4+Uzs2SjQvSTk2Uzs2VDs0VT04FAABRkhK////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////vb29AAAAAAAABAQEBwcHAAAAAAAAAAAAAAAAAAAABAQEAwMDAAAALy8v////////////////////////////////////////////////w8PDysrK////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9vb23Nzcu7u7oKCgiIiIa2trV1dXRkZGNTU1KCgoHx8fGhoaFRUVERERDw8PDw8PEBAQExMTFRUVGhoaICAgJiYmMTExQUFBUVFRZ2dngYGBnp6evLy83t7e/Pz8/////////////////////v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////jZCQCgAAsqzGk4mgSyYdjqyjX2dZaUJBl53Qb05QkWxkrtO8LCMNRDxB////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////u7u7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALCws////////////////////////////////////////////////w8PDysrK////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7u7uqKioa2trODg4FRUVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDBAQEAgICAAAAAwMDBAQEAwMDAgICBAQEAgICAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgICGhoaREREe3t7wsLC/////////////v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////jpKSIRUPnIejfWSAb0U6lI6Dd2del2Vd07nBtH94w45//uDRd0U/PT8/////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////vLy8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALCws////////////////////////////////////////////////w8PDysrK////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////z8/PY2NjDAwMAAAAAAAAAAAAAgICExMTHh4eISEhJCQkJSUlJCQkJiYmJCQkIyMjIiIiHh4eHR0dHBwcHh4eHh4eHR0dHR0dHx8fHh4eHx8fIyMjISEhHh4eISEhHx8fHx8fHh4eHBwcExMTAAAAAAAAAAAAAAAAJycnjo6O/v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////jZKVOi0qsIJloHBYr35yr25nw4J2wYp7uXtmw42Au4B5w5FyXUktRUdM////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////vb29AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALS0t////////////////////////////////////////////////w8PDysrK////////////////////ycnJxMTE/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+////////fn5+BwcHAAAAAwMDGRkZKCgoOjo6MTExIiIiGhoaFxcXGBgYGRkZGBgYGRkZGRkZGBgYFxcXGRkZGhoaGxsbGxsbGxsbGxsbGhoaGhoaGhoaGRkZGRkZGhoaGBgYGBgYGRkZGRkZFxcXGRkZHBwcHx8fIiIiKCgoHBwcAAAAAAAASEhIwMDA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////kpeSOy46rompmW99lmt3k210jGpshmhlfWFgd1tab1BSdGlUIB4KT05Q////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////vLy8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKysr/v7+////////////////////////////////////////////w8PDysrK////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9fX1XFxcAwMDEhISICAgLCwsPz8/T09PNDQ0HBwcFhYWFhYWGRkZGxsbHR0dHx8fHh4eHx8fICAgHx8fICAgISEhICAgHx8fICAgICAgHx8fICAgICAgICAgICAgICAgICAgICAgHx8fHR0dHBwcGhoaGRkZGBgYFxcXFRUVGxsbKCgoKCgoHx8fMjIyrKys////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////l5yZOS01kXGJbVBXWT9EVUBEUj1BUjs9TDY6RDE1Pi8uPCcpAAAAVVZY////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////vb29AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKCgo/f39////////////////////////////////////////////w8PDysrK////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////c3NzHR0dFhYWHR0dPDw8VFRUYGBgMDAwDAwMFRUVHR0dHR0dHR0dHR0dHh4eHh4eHh4eICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgHx8fHh4eHx8fHx8fHx8fHh4eGhoaFhYWFRUVFhYWGBgYOzs7Pz8/w8PD/////v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////nqGjMywlcVxJVUE1Qi4iQjIiOyYhNxkdNB8fKhseKBkcKRsgAAAAV1hY////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////vb29AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKCgo/f39////////////////////////////////////////////w8PDysrK////////////////////ycnJxMTE/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+////q6urLi4uICAgFhYWTU1NW1tbXV1dMTExCQkJGBgYGxsbHR0dHR0dHR0dHh4eICAgICAgICAgISEhISEhISEhICAgIiIiIiIiISEhIiIiIiIiIiIiISEhISEhIiIiIiIiIiIiISEhISEhISEhICAgICAgICAgHx8fHx8fHh4eHh4eHx8fGhoaFBQUFhYWCQkJOzs7ZWVl7u7u////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////paenNC4uZVRRTDo3Mx4bKQ8QKicSNEsAKiMKGhYAHSIMHicUAAAAV1dX////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////vb29AAAAAAAAAgICAwMDAAAAAAAAAAAAAAAAAAAAAwMDAAAAAAAALS0t////////////////////////////////////////////////w8PDysrK////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8fHxY2NjIyMjCAgIT09PWlpaTU1NREREFhYWEBAQFBQUFRUVHBwcHh4eHx8fICAgISEhISEhISEhICAgGhoaGRkZGxsbIiIiIyMjIiIiIiIiIyMjIiIiIyMjHh4eGRkZGxsbIiIiIiIiIiIiIiIiICAgISEhIiIiHBwcFxcXGBgYGhoaHx8fHBwcHBwcFRUVEBAQFhYWMjIyra2t////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////mJiYNjUzZWVlS01PMTk3IC0rIjs2KlI1JT84IWpwFzQvCg8EAAAAWFhY////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////vb29AAAAAAAABQUFBgYGFxcXHx8fLi4uODg4Dw8PAQEBAwMDAAAAHh4e8fHx////////////////////////////////////////////w8PDysrK////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+/KioqDg4OPDw8WVlZSEhITExMMTExDg4OISEhLCwsKysrHR0dHR0dHx8fICAgICAgISEhHh4eIyMjMTExMzMzLS0tICAgISEhIyMjIyMjIyMjIiIiHh4eKCgoNjY2NjY2IiIiISEhIiIiIiIiISEhISEhHR0dJCQkMjIyMTExIyMjGRkZHR0dGxsbGhoaFhYWAgICGhoaeHh4/f39////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////h4aGNTQ2aGpqTVBRMz48GS8kEyApGBskGSguElNnCh4pAAAAAAAAWllZ////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////vr6+AAAAAAAACwsLDg4OJSUlLS0tLCwsPj4+HBwcBgYGBwcHAAAADg4O39/f////////////////////////////////////////////w8PDysrK////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////lpaWAwMDEBAQVFRUTk5OQ0NDRkZGIyMjERERNjY2MzMzQkJCKioqGBgYHx8fICAgICAgISEhGhoaKCgoUVFRWFhYR0dHHx8fISEhIyMjIyMjIyMjHx8fJiYmODg4RERER0dHGxsbISEhIiIiIiIiISEhICAgGRkZRkZGPT09ODg4RkZGGRkZGxsbGxsbGhoaFhYWExMTEBAQODg44ODg////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////jI2NNTExWU5MNisrHxcUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXFtd////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////vr6+AAAAAAAAFRUVFhYWEhISDg4OCAgICAgIERERFhYWDw8PAAAAERER4+Pj////////////////////////////////////////////w8PDysrK////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////YmJiAAAAMDAwU1NTREREQUFBQEBAHBwcExMTPDw8Nzc3KSkpHh4eHBwcHh4eICAgIB8fHx8fHh4eMDAwQkJCQ0NDOzs7Hx8fICAgIiIiIiIiIiIiICAgIyMjNDQ0Nzc3JSUlGxsbISEhISEhISEhICAgICAgHR0dKSkpMzMzNDQ0KysrHBwcGxsbGRkZGRkZGRkZFxcXBgYGDg4OwMDA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////hYWFNzY0eHp8XVtdUlBNNTswHh0dOSolOywlIh8kKSMkMiwsBwYGU1NT////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////wMDAAAAAAgICHBwcHBwcGhoaGhoaGRkZGBgYGhoaHR0dGhoaAAAACwsL3d3d////////////////////////////////////////////w8PDysrK////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8/PzNjY2AwMDRERES0tLQEBAPz8/Ojo6HBwcERERERERExMTFBQUGhoaHR0dHR0dHR4eHh8fHx8fICAgIyMjHx8fHh4eHx8fICAgICAgICAgICAgICAgICAgHR0dIiIiJiYmHBwcICAgIB8fHx8fICAgICAgHh4eHx8fGBgYHBwcGxsbFRUVHBwcGhoaGBgYFxcXGBgYExMTCQkJAAAAmpqa////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////gIKCUFFR9NTK/e7p/////vj7////////////////////////VlNSKSkp////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////t7e3AAAADAwMIyMjISEhICAgHx8fHh4eHR0dHx8fIyMjIiIiAAAAGxsb7u7u////////////////////////////////////////////w8PDysrK////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4eHhGBgYCwsLSUlJRkZGPT09OTk5NDQ0GBgYERERFhYWGBgYGBgYGRkZGRkZGhoaGRocHBweHB4cHh4cHRwcHBwcHBwcHBwcHx8fHx8fHh4eHx8fHx8fHx8fHx8fHh4eHBwcHx8fHx8fHB0dHxweHB4eHB0fHRwcHBwcHR0dGxsbGxsbGhoaGRkZGRkZGBgYFhYWFRUVERERDg4OAAAAdnZ2////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////kpOTU1NT48i/3M3K0tbWztXKycfFzcrIzcvJzMbH1M3Q4+HfRkVDJSQk////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////q6urAAAAFBQUKSkpIyMjIyMjJiYmJSUlIiIiJCQkKSkpKSkpAAAALi4u////////////////////////////////////////////////w8PDysrK////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////0NDQBgYGEhISR0dHQkJCOTk3NDQ0MjIyFRcUDw8PFBQUFRUVFxcXFxcXFhcXGxcYHRkXGBkZHhkZGBoaFxocGxsbGxsbGxsbHBwcHBwcHBwcHBwcHBwcHBwcGxsbGxsbHBwcHBwcGxwcGxsbHRkcHBsbHBsZHBkaGRkZGRkZGhoaGBgYGBgYFxcXFxcXFhcXFRUVExMTDw8PDw8PAAAAWlpa////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////mZmZSEdHf4OGYGBkSk1IQlQ+FxQTCQMFEA0MFRoRFx0SIR4bAwICQUFB////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////tLS0AAAAFxcXISEhJicnJSYmFRUVICAgKioqJCQkIiIiKioqCAgILi4u+/v7////////////////////////////////////////////w8PDysrK////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////w8PDAAAAFRUVRkZGPDw8MzMzLy8vLCwsEhERCgoKEA8PEBAQEhISExIUDw4ODQ8PEQ8SEw8QDQ8PDxEREhIQEREREBAQEREREREREREREREREREREhISEhISERERERERERERERMQExISEw8QDQ8PEw8SDhMQDxAQERERFRUVFRUVExMTFRQUFRQUExISEhERERAQDw0QDQ0NDw8PAAAASUlJ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////mJiYT09PhYWFaWlpUE9PPzs+ISEhAgEBDQwMFScaFDUbJCsmDggKQ0ND////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////vb29AAAAEBAQHyAgTUpKKScpPT8/Ozs7Hh0fHx8fFxcXIyMjCAgILy8v+/v7////////////////////////////////////////////w8PDysrK////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////vb29AAAAFRUVQ0RCODg6NTU3MjMzMDAyGBcaDw0TFRQXFBMYFBMXGBcaKSkpLC0tJR8kLSAgKSwtKisrLisoKioqLCwsLCwsMDAwJiYmHh4eICAgHh4eKCgoLi4uLCsrLCwsLC0tLCkrJh8iJiYoJiMlLSUoLC8tJiYmFxYYGBcZGBcZGRQaGRQZGBUZFxMXFhMXEQ8SCAgLDw8PAAAAPj4+/Pz8////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////lZSUT09Pi4uLbm5uVlZWRERENTY2CwwMBQUGBwIGBgQGBgYGAAAASEhI////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////vr6+AAAAEBAQLi8vQTs9MC0tYWVlPD4+DAsNGhoaGxsbHBwcCwsLMTEx/f39////////////////////////////////////////////w8PDysrK////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////vb29AAAAFBQUPD09NTU3Pj5APTtAODc9IR4mGRYeIR8lIB4mHRsjJSInSEdJSkJEPXBSQXdTRkJBSkVNSklJSUlJS0tLSkpKQ0NDWVlZa2trZWVlampqUVFRRERGSkpKSUlJSEdJSkBAQndgVn5uXFJUR0RGT0pNQj9BHhsdHxshIR0jIRwkHRkfGhYcHRgfIRwiGBcbBQQJDgwPAAAAOjo6+fn5////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////vLy8PT09lJSUkpGRfHx8VFRUQT8/MC4uGhoaHx4eHx4eDQ0NAAAAfX19////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////7OzsGxsbHh4eU1NTfX5+amtrHRwcICAgLS4uLi4uNDQ0TU1NEhISU1NT////////////////////////////////////////////////w8PDysrK////////////////////ycnJxMTE/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+////vLy8AAAAFBQUODg4NDM1QUFBPTw+QT9DNjI3JCIkIR0iIyIlIiAiJyUlREFDPTI3O5RgOoxZPCcyRDQ+RUBFQkREQkJCQ0NDMzQ0Y2NjjY2Nfn9/ioqKVVVVNzc3QUJCQkJEPzg7SVFISqB5Wol3X4d3NW5UQTlAPjo9IBweIh0gIR4gIR4gKSMmLSkrJiIkIBofGxYbAQIECwwMAAAAODk5+vr6////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////iYmJSEhIY2NhYWFhS0tLPjw6Li0rAAAAAAAAAAAAAAAARUVF9PT0////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////////qampNjY2VVVVVlZWVVVVVlZWWFhYWVlZWVlZX19fU1NTQkJC0dHR////////////////////////////////////////////////w8PDysrK////////////////////ycnJxMTE/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+////vLy8AAAAExMTNTQ0MTExQ0NDNjY2WVdXbmxsPzw8GhgYJyUlJyMjKygoQkFBRTtAN1M/LnVRL08/NVpAQUREREFDQ0NDQ0NDNTU1YWFhiYmHenp4g4ODU1NTODg4Q0NBSEJFOi8xQH5mhrukqJabd9WvMI5aPS4zPzs7JSEhKCIkJSIiGhYYRUFBaWNkPTk7GhYVIBsbAAAACgsLAAAAODg4+fn5////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////yMjIo6SknJycmZmZl5eXkpKUhoaGiYqKmZqawMDA////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////////////4+Pju7u7tbW1srKytLS0s7OzsrKytbW1urq6urq69fX1////////////////////////////////////////////////////w8PDysrK////////////////////ycnJxMTE/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+////vLy8AAAAEhISMTEzMC8vRENDQkA+REE+NjIxKCQkKyYnLCYnKiQmLysqRURCS0hISDc8OldDLZZXObp9OFVLSTw+R0dFR0dFNzY0a2pomZeVh4aEkpCOW1lXOzw6TUdESkVIQDk6NFlIes2oz/PmkLelN1BCRzw+QD07KCIkKSUlKiUmKSIkKiIiLCQmKSIhLCMkIhsdAAAACwwMAAAANTY2+fn5////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////w8PDysrK////////////////////ycnJxMTE/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+////vLy8AAAAEhISMDAwLy0sRkJCRUJBQ0A/MzAuJyIiLicpLicnLCYjMiwpUk9OU1NTUlBSUkJKS1xQRmlXTFBLVFBPUlFPUlFPT05MWFdXYGBgXl1dYGBgVlVVT05QVFBNS1FOUVNTTz5DSlZQZYV5UVJQSkBDV1pTSUdFKSIkLCMjLSUlLSUlLCMjKiAgLCMiMScnIhseAAAACwsLAAAANTY2+fn5////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////w8PDysrK////////////////////ycnJxMTE/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+////vLy8AAAAEhMTLC0tLSoqSENDRUJBRUFAOTU0KyMkLykqLykqLSgkMSwpR0VFSUdHRkVCSUZGTD1ESDhATUZFSkZFSkZDSkZFS0dGRUJBQD09Qz8/QT4+R0RESkVISkVEREVDTENGTUhHRjo8OigvQj08T0hHUUlJQj49LCQkMiUmMycnMSYoLycnLyYmLyYmNSwpJh4eAAAACgsLAAAANTY2+fn5////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////w8PDysrK////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////vLy8AAAADxISKSsrLCkpSURBR0NARkJBOzc2LCcmLysqMCsqMSwpMSwpLCgkLSgkMScnMSclMikmMygmMygmMygmNCknMyonMygmMyolMikmMyonNCsmNCknNSknNiknNigoNigoNSgmMykkNicnNycmNycmNSclMyckNysoOCsoOSsoNiomNSknNSklNSgkOy0qLCAeAAAACgsLAAAANTY2+vr6////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////uLi46urq////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wcHBzc3N////////////////////////////////ubm55eXl////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////w8PDysrK////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////vb29AAAADxAQJygoKigoTEVCSkNARkI/QDs4MCsmMysoNSwnNiwnNiwnNSsmNiwpNS4pNi4pNy4pOC4nOCwpOCwpOS0rOi0sOjArOi0sOiwsOi0sOy0tOy4rOy4rOy4rPC4rPS4rPC4rPC4rOy0qPC0qPC0qOy0oOy0oPS8oPS4nPS4pOywnOysmOyolOykmQS8sLyIfAAAACQoKAQAANTY2+vr6////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////u7u79vb2////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////y8vLy8vL////////////////////////////////vLy88fHx////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////zc3NycnJ////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////vb29AAAAEBAQJCYmKCclT0VDTkRCSEM+Rj84NywpNiwmOSsoPC0sOy0sOy0sPC0sOy8rOy4sPC4sPS8uPS8uPS8uPTIsPjEsPzIsPzAtPy8uPzAtQDAvQDEuQDEwQDAvQTAvQi8xQjEuQjIrQjEsQzIrRDItQzItQjEsRDItQzItRDEsQjArQC8qPy0pPywoRTEtNCQhAAAACAkKAQAANTY4+fn5////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////o6OjwcHB1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbWmpqaysrK////////////////////////////////pqamvLy81tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbWm5ubxsbG////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////vr6+AAAAERERIyYkJyYkUUVFUkRDTkQ9TT88Pi4tPCsmPy4pQy8vQTAvQC4uQDAtPjAtPzEuQjEuRDIvRTMwRDEuQS8qSDUvRjQvRDMuRTMuRDMuRjQvSTYySjUySjQxSzcxSzcxSjQxSjUySjUySDUvRjMuRTItRzIuTDUwSzQvSzQvSzQvSjItSTEsSTEsTDQvNyYiAAAACAkJAgAANjY4+fn5////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////1NTUurq6vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8uLi49PT0////////////////////////////////19fXurq6vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8t7e38fHx////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////vb6+AAAAEhISIiUlKCYmU0ZGVUZDRzw6RDw5MiUjLR8eNCUkMSIfPy8sQzItQjItRTItRjMsRzUxNigjLyAbOiwpQTEwMyYmQjQxSjczSTYySzcvTjo0OysmNiciPS4nPC0mOywpPi0sNiYjOCkmTDg0TDgyTzcwTTgyNSciNSQiOyonOCMgOyQjOSUjQy4rVjo0OigkAAAACAgKAAAANzY4+fn5////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////vr6+AAAAERERICMkJyUnVkdHVD8/UEBDdW5wbGVnYVtedXR0X1tbNyopRjAuRTMwRDMuSTQxMyEeV01PeXZ2dHNwhn6AYV9fQzEsSjYwSzozUT40OSghRkA/a2hncW1qWVNOVlJQcGlqgX16WlVSOSMkXD06XT83OyolW1lXfHZ5cGtqYmBccW1tdHBwQTUyUDIqQy8pAAAACAgKAAAANzY2+Pj4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+/AAAAEBAQHyEhJyIlWUlIVkRBTkRCaGNiXVZXSkRFUElJX1VVQC4uRzEuSDQuSzQvTjYzOCQjU0hIcGprUExMUkdJSUNEOy0qVjo1VD0zVEA4QC0pU0lJWlZWPzs5VlBPV05OUEhIYmBcRT45QSwpXkE7XkE7Qy0qX1NPbmRkTkZDWldSWlVSWlBORDQtWzozSzItAAAABwcJAAAAODc3+fn5////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+/AAAAEBERICIiKSMkW0pJY1BMQTMsMSIfKBITFgACGAIEGgYGQSsoUTg1STQxTTUyVTg0UjYuMBsUNRIPLAcFJA8JMRoXRjMsYT85XD01Wz01Xj8+TTQzPR4cOxkURiciSCkgOx0UOx0dUzAvZUM+ZEI7ZEE7ZkU8Ty8qQCghQykjSCglSiYmQyMfUjgwakk+TTEtAAAACAkKAQEBOjk5+vr6////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wcHBAAAAEBISISMjKiYlXExHVkE7cmBZkoJ/hXRzempneWxpfnNtWkZASC0nUDcxUDcyTzUvVUE5ZE5ITFlNfnpxgmFeZ1VPZUpCWDowXEA4XUE3Y0A7YDw4d1VMi2xec1ZOc1dNhmpdfFZSb0M9b0k/bUc/bkk/dU5GbD87XTQyYDUtaTsybjw2azo2a0U7dk5DVDYwAAAABggIAQEBOzk7+vr6////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ycnJxMTE/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+////xMTEAgEBERISICMjKiUmYE5JRS4tppmZ//753uPe5uHk5eDd9vXzfG1qOBsWWTg1WDs1SCslbVVU0L/Ajb68jv/4vNPMqZaRiHNtTi4pX0I6YUQ6ZUM9XDcpq5+reoHLXWKrYWOujpHWs6SkaEAvdk9Cc05Edk9HaDczooiF2M3LycK5e6SGSZdlTZlna19NjVBMZUA8AAAABAcHAAAAPDo8+vr6/////v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////xcXFBQQEERMQICMjKiUmYk9MSTEuoJSY///939rV4uDS4NzN//3xdmpgQR0eVjg8Uz81QysoeVtY0tPRcXmUfs/fdN7OjomIhmdnWDcuZkQ9Z0VAakY+aEQvnI+sbHPfhInwkZHzh4fsppqpdEw4fE5Ge1BKfVRHYzEqvqyp////////kt6+NsWAPMiDbnBZlU1La0Q+AAAABAcIAAIAPTs9+vr6/////v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ycnJxMTE/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+////yMjICAcHEhISISMkKyUmYk9OTDEqqJyg3OD439DkuLTZzdLf0svwj3t2Ph0ZWDw2XT03VDEuZVRRk5WPuo1I99W9a5iuIo+LVnlqZDcyb0hCbkpCcElDYjssvbO1wcb3k5HkhIjeo6vuwLS2a0IzfFBIflJMhFZNc0A6pIyJ4+Xl7d/jnMSmQatvhdWlinZlkExKcUZAAAAAAwcHAAAAQD5A+vr6////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ycnJxMTE/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+////ysrKCgoKEhISISMjLCYnYU9OYEM3dmBvaWfWcXDbPjm1VVbZVEm8c1RQUDIoXTs5Xzw7WDEsYEpKq7ay/9SByKyXRoSjMJ2KWnxwZzY2cktFcU5DcktDXjEw3dXO////j42dcG197fXz5dvVaTo3gVdGhFhNilVTbzo1vKmi////////////6ff3////qoR+nVZNjVtQAAAAAgUGAgEBQUBC+/v7////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7u3r//76////////////////////////////////////////////////////////////////5OXl8e7u////////////////////4+Tm7uvp////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////zMzMDQwMERERIyUlLCgmY1BNY0tAWkhFQTOhg4TX7e7/U0jAPDCHUjUlYD45XD08XkE7VDAod1xb5OHfmJamc77PatHJkIyHh2hoYz83c01Hc09Hdk1HXjQw2c7Q////sauix8e/////2MjHajw3f1VMf1ZNhFVLeEQ+oH11tL+1nLiqpLSovMi+28zHxI6D4Ix/r3NoAAAAAAMEBAICQkRE+/v7////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////9/j65ebm5ebo6Obj8fD05eHk9fX19PPx7u/x1NTU////////1NTW//343N3f7Ovp8/X34uDg6Obk4uLm5ebo5ePg///7ycvSysK/////////////4OPo6+jj+fj27O3v6Ojm9/Tx9Pf33d7e8vPx8/Px6eflcXR+xLWq+vr83t/h+/v7+vr6////////////////////////////////////////+/3/xs7WdGx5l5GI5OPj4N7g////39/j5OHmgoKUhH98z83K9vX129vb7Ozs+Pn13Nze9fHu7O3y6ubl+fz84eDi5OXl5uTi+/v55+rs6+rm7/Dw19nb9fLv9PX16+7u5+fn4uHh8O/s/f396unn+vf0////////////////////////////ycnJxMTE/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+////z8/PERAQEw8QHiQiLy4sgWZhemBZblhQalRSgGxgkn5rZ0w/Vzs5UjcyVjc3WTo5Wz44Wjo1YkJBd1dRWENDVFtWcWRac0pJa0hEZ0Q+aklAa0pBcEtDa0U/f2FZmX5zn4B4r5GNpoV/jmVfhFVLkV5Vk2FYmWVcqXBnq2hdnmxaiHpeenZaln9lxH5w2I1/7qKQq3ZnAAAAAAIEBAEBR0hI/Pz8////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////ztjilZuoy8G3mZuga2ZwuLCrf4KLtLO7naWgo5WQ/fz/rbS5fHBybnN+kZKKx8TKjpGcdnp9g3Z4n5WVgn6AkpSWj42Ln5eUxL20////lpObzMbHpa66hoF6fXyGnZygi3998+7nusDIhoKHjpWdoqGnp6CdoJyhmpSVxsPFur3AoqWq8+/q5OjrXmt4rqah////p7G7ZmJh59vT7Pj/aHaFqqGZ/f70t77Fd3B6qKqipqWnrqWgfH6FpKSmu77DfHN+rqmgsbO2VFValZGO4N/hmqSqhoB9s7W4oKGmwL65mI6QnZWXpquyfICLxcXFuMDKqKOiZGNhqaShzdTed3d5oZqfhImdm5WQlJSSioaGzsm+9e7n////////////////////////////ycnJxMTE/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+////09PTFRUXERAQHCMiNTIumXt3nn11lHRukG9ghmNad1BQeFNEeVRFeFVSeFRQelNPe1ROfFVPeFFJbUY+d1BIfklFfUhEf1NNhllTj19ZkWFZlGVdmGdfn2xlk15Ti1NIlVtSl1lSm1tSrW5kxYV5zYp81Y+G3JWM3ZuP45+R8ZmR6ZiQ5JmN5ZGEz4580Y164Z2JqXZpAAAAAAECAwECS0tL/Pz8////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////zNjncHaGoZaMgYaHdXJyqqKfYGJscneCd32Ck46F9vLvsre/mI2RcHSGi5OUfIWLjYWMjpKfgXl+xLiwtKenc3+JaWdt//f0////xtDaUE5atrGwuri6aGVqf3yEoKexd2hq/fn5wsnYcGhweXqFfIKQmpadrqKacG9zmpCS3+XsqrO70tXYl5eZPTk+f25rt7jAV2JzUU1NzL+3qqyvODQ6XVRW7+jh////fIKQiYOEnpKQpKCdQj9Hp6isk5qih4CBoJCNxL3CaWx5cHh93tjO0tXfoZyfmaGpm5udrq+tdGVne3F2dXh9lqCmuL/JjIuRlIaGe3d/kpKIkaKvYFNXuKmkiJGjubq/amdskoKB////////////////////////////////////ycnJxMTE/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+////1tXVGRkZERERHyMjOjIyoHx7pIB3nnx0oHp2onl5pXp8n3VvoHRronRuo3Ruo3RspHRspHNro3RppHNrpXNrqHRrqXRtq3ZtrXhrrnlusnxzs310tn92vYN6woh6xol8zo6B1JOF2piK3pyO4aCS5KOT5KKU5p+S4pyM3ZqI2pWF0pKCzpKCz5KAyY9/y4x/35uRpnRsAAAAAAICAwMDTk5O/f39////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////9Pf6tba7sbK0ysjD6urqv7m+4N/dub++vL3Cubq6/Pv3+///b3WCp5mXyc/WpbCwsa6w0crN3NvbyczRhH2CpqCZ39vb////////0NXc0tPT2+Lgqaao2tDI293gqrK6npWV9+7rn6y7gXBt0dHRmqWxp56hv7q3t7KvzsvN293g1NfalZKap6Oo39fX493ixMPJyMjM6uru4uPoycXF2M/P1NHZ6uXo////1NjdysK94+PnurS19vP1vb3F4dnW6e7xxL26ko6Usqutr7W85d/Y////v8PK0s3G0tPY0cfH39/hsrCwq6yu4uLeuLvImZOSzsK87u72tri6x8jIysbG2dbT0tbW3d7h2dbU6+Pl////////////////////////////////////ycnJxMTE/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+////19fXHR0dExISICMjOjI0oX98poN7n3x5oHt2oHp2onx4n3dvonRrp3htqXlxq31ysX53s394s353tX15uIB6uIF9uoR7vIV4v4R9w4h/yI6CyY+DzpGG15WM3ZqQ4pyT5qCX6KKb5qGa35+S2JuN0JeJzZGGx5CDxI6Bxox+voh7t4Z6s4F5s3t3t3d1tH1ywoyDkGdhAAAAAAMDAgQCU1FT/f39////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////////////////////////////////9vf6497d////////////////////7/T3xcXH+vXy////////////////////////5Obp////////5ubm////////2NfZ///6////////////////////////////7+7y4dzf////////////////////////////////////////////////////////////////////////////////////1tne7OXg////////////////////////////////////////////6unr////////////////////////////////////////////////////////////////////////////////ycnJxMTE/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+////2NjYHh4eExATIiUlOzYxoX98poB/ont4oXp2onp2pH13n3hwnXJqpHhtp3dvqHpxrnxzsX53toF6uoR7u4V+vYmAwouExoyEyI6GzZCFz5KH0ZSJ05OI05CJzJCHxY6DwIyBu4h9tIN5r4J1qH1ypHpvo3luoHZtoHNqmXFnlHBnmmtnm25lknZfj29djmZeoHFrdlJPAAAAAAYEAgYDVlRW/f39////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////1uDmpp2a////ra2y///y/////////////////////////////////P7//////////////////////////////////////////////////////////////////////////////f//r7Kz7uXb///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9////////////////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2traHx8fEhIUJikrOToymn14nHt6mHZzmXZzmXVym3lxm3Ntk2hllmxmm2xmnXBnnXJpnnNqoHRro3Zto3ZtpHZrqHVuqXVwpnVtp3ZupnRso3NroHNqnHFmlGxkjmhgiWldhWZcgWNXgWNbgmNbgGFZfl9ZfV1XfF1Te11Vel1VelZVeWdQisRWi9ZUg5NSk5Fga3BEAAAABQEGCQYGWFdZ/v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////2uHppaqyx8G8rKysk5GbtKysw8TGqamr0dDMuLe9n5mYi42Nop+d////1uHre3p+ko+XfX6F0crDjJGcoJOO0tLQm5iY9PLwwM7benN6tbKvpqOg6+jm5u3wnZyapJ+kuK+vubq/qKWqv8DAtLi7qaGc/vbux9Tfd3N6uLOspaKf8ezp5O72e3d+q6uts7i5kpGMyby5tsHLm5WQ////3ePrnJqczc3JnZ+fxb/AlZujsq6pvr7GuK2rsrCyo6WvwsTErbG2gH5+wLe0+/v/sbzGeG5u2Njc3t3d0dDQfoKNoZmbq6uvpaWlkJGUnJOTpp+gu7Svv7/Dk5ifmpiV1tPV1M/I//36k56o1su/////n6Grxb+6nJec39bR////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////29vbISEfFBISJyotNzg0lHtzlHhxj3Ftj3Jqj3JqkHJqkW5ph2JeiGJci2VdjWZekGdfkmhhkmlhlGpjlWlkk2pilGtjlGxkkm5lkmxkkmtjjmxhimlfiGheiGhehmZbg2VbhWdbhmddh2ZehWRehWRehmNghWJfgGFbf2Baf19ZfFdWeWZPhLlUgsJSd4FPfoFWXGNAAAAABwIGCAYGVllb/v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////wc3fb3WHr6KVeH6FUk1QsKmiSkxboqWwkpuekIB7lZGWSU1UcHJy6OHa2OHmPjhGYlletsDGhoyTlIaDkY+VS1RcZWFm9fLrucrVQzdBbGxsX19k7uXgsb/JOEBOiXx6sqynJiEnpqepcoGQe3R7jXp1/PLqv83YPzRBb25uXl5m8OjgwsfSX1Zjmp6rb3aAXFtXrqqjjYyWZ1tg/fz5v8nZjI+cYGpyWVBLf4iOdmpss7nAgn19sKaaQTlEeHmIrKunanWAQ0RJm5SN+fb0pLnJSzY6ko+Ucm13ubWyTE9hamFoqKqtopybbG98X1lhkoOAg4GHe3d+Z2p1ZGtptrKt7+zp////h5Ofkol/n6a6naGksLKsOiswv7Oz////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////3NzcIiMhExQUKCksQDk4qYKBqYJ6oX10o3x2p393qH54rX96p3pzqnhwrnt0sX53toJ5uIR7uYV+t4V9t4R+toN9s4J8roF6q4B3qX50pX1zon1yoHpynntun3twnntynXpzoHp2o3x2oXp2n3h0oHl1oXp2oHp2nXdznHZwm3ZwmnRslHRsknFpjGdhhGBdkGtnbVBMAAAAAAYEBQcHXFtd/v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////5ez0j5KcmJaYp6eiyMfFq6OmkZOdYGFpra2lw7/EkIeJoZ2kg4qP5+bY/v//o56ltbKylpyhqaaorbCunZaVoKGjurO2////3OTrqaClr6+rtK+y////vcjNtrCz2tripJqax8HEqqiwuLa4nqClppaP/vz65Ovzp5+kr6+tsa6w////tr3FWlhla2hyyLy6uL/Hk5ycvbWyv7m48e3oxNDaTk1XurOssLS/mpya0dDSt7a0xcXHr6WluLW3j5GZkpOYuLezr7S7lJOR//36093praWorqmmtLOz09XXr6murqqvsrrCoZiTr6amt7OzhYSOfnJqoKGmoZ2klJyisrCk////////foqVYmRdsqqture9t7CroKSloJyZ//76////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////3t3fJSUmExMVKiwsQj06rYSKsYSSq3+Qq32Eq4BzroB1soN4rnptqnForHVnqHRlpHVjonRhnnFim29imG1gk2xejGlaiGdYh2VWhWNUgmJSgmJVg2NWg2NUh2VYh2RZhGNbhWJdhGFcgWBagV5ZgV5ZgF1YfFtYel1XeFpUdVhUdFhTc1VSdE9QcVJOblROe11XWUY8AAAAAgQGCQcHYmBc////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////////2d3gyL+4////4OnvpaKg6+Td////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+/39wMXKzsbD////////////////////////xsrLzMS9////////////////////////////////////////////////////////////////////////////////////ydHZtK+s//rx////uru7///42OPvv7u4////////////////rLS5zdDO6+Tf//36////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////3t/dJiYmEhAVKjArQ0A0oYKGpYjBpIftmXnSk3GhknCVjnCWhWaMflp/flp/fFp9eFl8dFd5cFZ2b1ZycFdvcVVublVsbFNobVNoa1NmalRkbFVkbFVibFRjcVRhblJfalFdaVBaZ01WZEtSY0xSY0xQYUpMX0lHXkZFWkJCV0BCVT5AUj07Tj03TTs2TDg4Tz86OSwpAAAABQYGBwgIYGJi////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////6vH21s7J////yMnMyMbG////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////0M3L4+Dg////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////3t/fJiQkERISLjIySD43lnJ8jXbAiHr8fGrbeWOieGKTd2KYdV2TaVGHaFCFalCDak6BZk2AY016ZU52ZE50Yk5yYEtvX0prYEtsYk1oY0xmYkxkYUxkYUpgZ01fY0xbXEZXW0VSWkNPWUJMWENKV0NHV0JGVEFDUUA/Tz08TTs4Sjk4STc0RzUxRTQvRDQvSTgzNCckAAAABAYGBwgGY2Jk////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////6O/2wcHFzszMrq2v1NHO4d/czs/UzMjF////1tjbvLm7vLi4/v394+zyzszKz9LQv7q5zdTcsa+t1dbUuLe3xsbO4N7c9/b09vj4t7/FxLy3+/v93+Li3NjVxcPL0MjFzc7TxsfM2NPQ4tzb3uXt////5ejqsK+vsq2w3NjXys7Ota6v////5+rvoqGjp6+5a2hu39jRgn+ScGxnrq6qxsXLwsjN0cnEubi4s6qqysvLs7S55OPe0czJ+fj61N3ls7Cuvbm5vb7B1dbWuLq8r6ah//76297ls7Gzzs/RsbO17OXe/Pv519ff8/T3////////tr7FsK+t9fXw19zlx7246uruuba4yMjSZF9vlZOHxsTBurm5r66w+vj2////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////39/fJiQkFRQTMTU4Pj07fGlke2V9dF6Jblp0b1tVbldSa1VTa1RSW0RDV0A7WkI6WEA5Vz86VEA6VUE3V0I6Vj88VkA6V0E5V0A7WEA9WEA9WD8+Vz88WD47XkM9Vz88TTk3Tjk5UDo6Tjs3TTo0TDk0TDc1Sjc0RzYzRjUyRDMwQTAvQS4uPy4rPi8oPi4pQTEuLyQhAAAAAwUFBggEZWRm////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////09/upqWrt66pS0BHure9i5eZWFNat6mm////hJGkgHBnjomIuK2n4Oz5goaWjY2Ii4qIZWJsuLe1a3R+lY2Df4CNs7S2nJifjYmPbXyErp+Y9fT0m6iyMjU+nJSRwLiwXlVYlpysy8nLuLWwNT1Lq6CWz9PUQTxKVEhPm6CthpCOk4iA/Pn3uLvIVEhSfoKPvsnVr66sdWxzp5+YkI6YlJWghpSlOC44h313oJujR0VHkZORk5ymWlZV8u/qtcfSSDxAZ1dcmpmkZGl0g4SHmo2P///4rrLBgXaAW2Fuam9s1dPRoqOmMjM4ppyW////lqGujIR9rLnEUmJrurGrrqqnQDg6qKenh42aeXN9yMS7pKmyOzk5g39849ze////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////39/fJCQkEhQUNTY7SkM+mXdmmHJhjmtWjGhTjGVSiWBVhF5PhF9QdVFAbEc0bEk2ZkY1ZkU2ZUU5ZEU3Y0c2YEI4YEI4X0I4XkA4Wz81Wj84WT43VT02Vjs0Wz01VDkzSTQxSTQ0SjU0RzQwRjQvRjIyRDExQjAvQC0tPi0sPS0sOSsoOConOCkoNyslNSklOi4pKSEcAAAABAYECAgIZmVn////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////z9zpjo2L0MPAiYaMeoWNi4eHhIONpJiY/v//dnyMrZ2YjoqKz8XA8vv/bHR+i4qOkZeUr6uqw8LEn6SskZaTqaShjpGempyfubSzh4yUmpqS///7lqCsgn6EwMLHsaijfnRyfICJk5ioraqogXZ2m42Nw8XPko2XnZmZe4aQhYqRlpaR/Pn0wcXGo5qclZqplp2inZudqaepkIWHjYqQh42QkY+bkYiRw8fJmJiamJKblJmago2NjoiN////1N7miX+EoJmcenN6qaGmrrzGl5OS/fz6tLvIc2RksKmykJqgi5CRkpefjYiHqZmU/vn8cX+Qvqyf////i5Cdvbu7pJ2ak4iKoKCknJujmJ2mpZyZtq+yioiSfoOE3NnP////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4ODgJSUlFBMSODo6SEVAmXVql3BkjmpZjGZXhGJXgl9Uf1xPf11OcVBBZEIzZkU2YkMzYkI0YUA1YkQ0YEY1W0AzW0AxWkAzWT01Vj4yVDwxUTsxTDgwSTUvUzQxTzQwRDEuQzIvQjAvQC0tPy0tPi4tOy0qOysqPCgqOSkoNikmNCkkMyYlMiYiMiYiMSYiNSsmJB4ZAAAABgcHCQkJZGVl////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////6vH2hIiPh4F+7e7o4uTi9fDv2+Ho0s7O/v//0dDS7ebn5uXl/////v//6Onl6ers////////3t3a///97/Dz1dfcv72/9Pb0////8fDy7+7u////+/v7///97/Dz6ufn3uPmYmVosayr6efp/fz6+ff58PDy+Pb0////6Oro6Ojq8vLy////9ff18/Px+vn5293d9O/s////5uXj+/z64uTk4+De////9Pv/hICA6d3X7e3x////9fPz////9vf69vT0////3NrX////2u30hX6A++/n9vn739va////9/j87Oro7vDz/f399/X3/vz80trkjYuRqaWl2c3N7fH25uHe////3Nvd////9Pj56efknZ2h2tHM7Ozw////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4ODgKCgoFRQTOz4+Q0NBcmZecGBbaVlWZVRPX09MXE1GWktEWUpHUkM+QTItQzIvSDIvSDQuRTAuRTcwRzsvRjQvRjQvSDUxRTMwRjQvRjItQy4sQS0sPisrSjEqRjEpOywpPisrPCsoPCkpOyopOSonNiokNSgkNCclMyckMiYiMSQiMSQiMCQhLiIgLyIgMiYkIhocAAAABwcHCgkJY2Vl////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////5Obp////////////////////////////////////////////////////6ero9vLx////////////9/n8//7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////29ze////////////////////////////////9/n7////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4ODgKioqExQUP0BAS0RGcmNicV9aallUZVNQYU9MX0xJXElFWkhDWEZBSDMwRC8uSDMwSDMwRDItRjYwSDwuRDMuRDIvRTItRDEsQS0sPiwqPSsoPConOCcpRzEnQy4mNCkkOicnNyglNykmNCkkMighMCUiLyQhMCUgLyMfLiMfLSIgLCIfKyAeKyIdJyAdLCIiHhcbAAAACAgICwoKZGVl////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////4N/d+/n07e/x/Pv53Nvf+PHq////////////8/Ty8u/s7O7x3t7e4OHhwsfScm15nJiR1tPO7uzq/////////////////f7/5+bo5+fn2NnZ3+Dg7u3q////5Obo2NbU8vLw5+jq39/d8u7p////////0dHR9PDr3+Hj3dnY////////6eru7e7w1NPV+/f02Nnb4ebnubS3//ny6+7x19fX7Ovp///39fj609bY6+vp5uTi8e/s////////////////////6Ort397e5OXl6+nn////5+nr4d7d3d3d5OPe////6Orx39ra////+/7/29jW////4ufu3drY////7e/x1dXV3+De+Pj21tbY9PLv////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4ODgKSooFBUVQUNDS0ZJcmJib15ZZ1dSY1NOX09KXEtIW0lGWUVDWUdCSjc0QCwqQzAtRDEsQzArRTUqRTgqQS0sQC0pQCsoPisnOykmOCghOCglOCYmNCUkRS0kQSolMCUiNCUkMiUiMyciMSUiLyIgLCIfLCIfKyIfKiAeKR8fJx4eJx4eJB4dJh8eIxweJiAhHRUYAAAACAgICgkJZGVl////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////1NnhmZuiuby6nY6Oo56jj5ik29PLwb28VF9sw7+66+7peHZ2kYuKfnmAmZmhpKazgX2JurWmzM3H3tjT////n6Grl5meqaqs+fLrm6SykYyJh3p8hoWPt7Gs/f//goqapJiSrKShdXJ6nKCjeXh2593XyM7TcGhre3+Me3522MzCtrrJtK2v3eDnSkpSraein6atend31NPXvLWu+Pr8nqOzdmttoaCic3uFaGdjtrOympOdzcjHdH2DvK+n////qrK4XFhb39zXzNPac2lpcXV8u7Gp+Pz8aXaJe25ulIuIjo2LYmdvoZyZqaGc5d7Xz9jim5ablZ6kcXFtyry5+vr6qrS+gHFuop6jYGpyhYWB4NXT/vz6////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4OHhKSgoFBQUREVHTEpIcGNhb19aZlpSYlNMX09KW0xFW0lEWEVCWUdCTDg2PCcnQCsqQC0pPiopPzApQDQqOysmOyojOigkOCciNyciNCUiNCIkMyIkMCIgQyoiPykhLCIdLyIfLiIeLiIdLSIdLB8eKh4eKR4eJh4eJh4bJB4dJh0dIxweIRwdIBwdIBoeJB0fGRIWAAAACAcHCgkJZGZm////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////zNXnhIyfk5SSeG9xXVlel5mel56mhIGBSkdHlIJ9n6iue36DwbWzgXuDcWl0sKy0jZSej353//34////////hoWPTj9FTkhP8fPzssDNh3t7mI6TZGBwz7+88P//en6OsayskoF+nY+Tjpmha21y8Oniur3HioiOhYudg4eKpKypgH+FloiDtbS4dG93zcvJjpagYmluxL61////5/j/n6KnsqSkdXd+YWp6hIeRnJ+YfXl+d32CWFxj5NnN3eftU1trVE9PwrWrwre5npOVl5um0crH/P3/bHeOjoOH08zJcG9xUlZor66ulY2I3M6/ztfpen2KYWZtbnBzrqif/fz+lZuomIiNhH2Fc3F9c3+Furew/v39////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4OHhKikpFBQWRkhITktJcWZgb19cZ1dWYVFOXk1MW0pHWEdCVUM+VkU+Tjw3OiYkPCkkPSomOiYkOS4kOzIjNSkjNiYhNSYhMyQfMyMgMR8fMB4eLyAhLB8ePicgOSQfJB8YJyAbJiAbJh8cJh0dIx4dIR0dIxwcJhwaIh0cIBweIRseIBsbHxgbHRcYHRUYHhcYFQ8NAAAACAgICgkJZGZm////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////ws3ZXlxhz8nA0NXWwsLCyMHDzszM2t3i6N/f5N7h0dPV6Obmvr7IuLa2sKuq6OPi3uXoxb26+/j2////prXKf4KLgnpzlo2PqrjHuLa0tbS2bWp0koWD++/s7/z+lp6ubmduxLqwyMbOsrKy39zc//36////h5ajlIeE2Nzjtbi74N/c6ujhoaCk1dTYxsjI39vYwMbN3NrT////9Pj719vb39zc2djU7ufo4ebvury+z9LSq66s2M/M////6e3wwsPI6+vt6ebou7e8kYyRZWdwtq+s////zs/U3dzgkZKXwrWr9PDw1dngwri4////oqy4ZV1a7OXe0Njgx8O+////t7zBaGJqlYeE+fLzu8PL1dLN////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4ODgKioqFRUVSktLUE1McGJhbl5bZVhWX1JQW01MWUlIVUZBUkM+T0A7Tj45OColNCQfOiYiNiQfNyweOTIeMiIhMiEgMSEgLSAfMCIdLiYZLCkTLCAbJBgYPh8cOBweIhQaJhYdJBYdIxcbJBYdIRUbHxcbIBYbIhYZHxUYHhUYHRMYGxIXGRITFw4TFw0SGA8TEAkKAAAABwgICQkJZWVl////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////4uTm9vDn////////////////////////////////////////6Ozv/Pr3////////////////////////1NjdyszR3d7e9vb21tXb5t/a////7/P2////////////////5uTk////6/P48/Du////////////////5ODj////////////////8fb78e7r////////////////////////////////////////////////////////////////////////////////9vv+1NTUysrM5eTi////////////zMzO////////////////////3NvZ//75////////////////////5OXn////////////////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4ODgKSkpFRUVTExMU09Pb2Jga11aZFdUXlFRWUxKV0dGVERBUEE8TT45Tz86OywnLh8cMyMgMCAfMigbNS0cLSAdLR4dLB0cKxsdLCoXL0wUMWAQLFAUITIUOi0ZNioZHiIZJSIdJCMaJCMYJCEZIh8YIx8WHx8VGx0UGxwSGhsTGBoSFhgQFxgNFxcPFBMPFxcUDRAMAAAABwgGCAgIZGNl////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4///////////////////////////////////////////////////////////////////////////////////9//////////////////////////////78////+Pn7+Pb0////////////////////////////////ysrSmpqeztLT5+Pi//v2/////////////////////////////////////////P39////////////8Pn/l5GS////qKy31Me9//////7/////////////+f7/3tvd///9///////////////////////////////////////////////////9////////////////////////////////////////////////////////////////////////////////////////////////////////////////ycnJxMTE/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+////4eHhKCgoFBQUTU5QU1FPbmRga11aY1ZWXVJQWU1LVUZFUEI/TkA9Sj04Sz06PTArKR0aLR0eKhsbLiYZMS0YKR0aKBsZKRsbKRgdJicTN3cPTMkBPawANHUJSGcPQGMMKlkHLlkQLlcNLFUHKFEJJU0IJksAJkoAJEgAI0YBIkYAIkUAIkMAI0IAIUAAHz0AJEICGy0GAAAABwQKCQgKZWVj////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////4u31kpWVsqmkpqKiqqiumZ6lnZeQurnBvrm8zMfEnZqcmaCjo6GeyMfPqaWl//v0usXLiYaD083IsLO4h4CDm5KUmZqcpKWqo6arsK+tvbSteXODamZlvsvJr6Wf8u7pqamr+vn2ycrPqqmtmZub////ytLafX+Eta6n8Ozr+/7/oaCcopuiiYiQoKauiY+Xyb62lZijlIqKubi8p6WruLu9vre0xsDBkZefr6Sc8vPxipOhlIqKraqqtbKwm5iYeXV8xbu1////qqquvbOzfn2HpaWpq66zoZiR+Ozg9v//rLfBxr6229zcjZOaycTHrrC1t62l7eno////////////////////////////////////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4eHhJycnFRUVUVJSVFJSbGRda11bY1ZWW1JPWExMVEZGTUBAST07Rzo6RTk3PjIwKR0aKRkdJhkbKSYXLS0YJh0YJhsZJBoYJBgaJCcPMGMEO5sAMoEGKFQMQkkXPEQWIjwPJDgTIzcSIjcNHjMQHjMQHjEOHDANGS8LGS8LGi0NGSwKFysGFywIFioJFCgGFioFER0DAAAABwQKCQgKY2Vj////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////5vX/naSdloeHfW5wiH+KW2Fxdnt8j5iflY2NnI+PfW10XV9sfIOAeoKMpZKP/P7/WmBn8eDP////qLbAUEFIiXp5kpSfl52lj5SdiIGGo5GKi4SLWVdf0MvK+fr6////8/Pvi5icVkQ/x8PLdoeKzsnOW1pizcCx////////1N7kW2Fkd2dpeHN9eoKSvsLDk5GOe21rmZ6mLCo1qKiodoWSiX13f3J2tKen///75e/3V2V7Y1tikoqMjYSHa1xhe3iAtKuw////qayvopCLYlpqhYqatLvAn5CJ//7yws7bLTI+bWBYm5ugZ3J6lJmao56lf3Zxvq6p////////////////////////////////////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsLCoqFBMTUFJSVVRQbmJea15cYFlUWVJNVU1IUkZES0I/Rz07Rjs7QjY0QzY1LCIbIxkVIxkWJCYULDAXJh0XJhoZJBkXIxYXIyETJC8OJjMKJCcRFxUMMxcTLRMSEggLFgoKEwsNEg8SFhkcFiMhFB4kEhQZEwsNEAgLDQcLEAYODAYMCQgKCQUKCAQKCAUKAwQGAAAACAgGCAgIYmNj////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////3/H8fYB7sKWfnI6LnJyknZmjpKmwoaajq7CwkpGPm42K2NHWoquzfoqMqJyc+fr8a3N71Mm9zs3PwsPGq6GjrKWncXB6lJeauLW6oaCirqGX3trfjo2Vyr+9/////f//eo+XTEU61MC4naS4Znd6tKysVk9Wx8C309TW4NjV3ObmsrCy0szHt7a2vsHLoqanqaSjsbOzjoqHxL/CsrC2u7i4qbGyYmFjwbCt////+Pr8r7K8ubK3ra+xp5iR4NveaHB+qpmW////cHR7lYV4uLa4rrTEkpqkloeA+vXux8rNnpOXurfB4t/lo6muipWbcHN6l46E8ezp////////////////////////////////////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////0tLSIiMjFhYYUlNTV1VRa15eZ1lZX1NPWUxKVEdFUEBASTw6RDg2QzU0Py8uQzIvLh8cGgoKHwwNJBsJJCUMHBAKHgwMHA0MGQsLGgoNGQoIGAsFFAcDEAIGLg8HJAoICgACEAICDAkIDxcbFy04FjZAFzpAHTI1FRkaEQ4OCgsLDQsPDQoSCwsOCQgLCAcKCggNBQYIAAAACAgICAgIY2Nj////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////5e70lZSU//vu/////////f37////////////////////////////////8/X3////193kl5yjoJiY8+nh////19rdl5WXwsTG7Orn////////////////////////+P3/iI6T5uDX3+TnnJ6gqq2vzsfEz8zSqbK4m5qe3tHO////////////////////////////////////////////////////////////////////////////////////////ztLXysC+////ur/Gt7Oy////6/L5pKmwvre0+fHq////////////////////////wcDA////////////////////////////////////////////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////gICACQoKHh8dVVRUWVhabnFzaW5vY2ZpXWJnWWBjVFxfTldcSlVaR1VXQ1NWRVRXOUpLJDg7JjlAK0g/LFJDIj5BJj1EIj9DID9DID1DHjtDGztDGztFGjpDOUtEMElEEzpHGT1GHUpXH2l1IIieL57GJ4OZFEFEEyUmDgwRCwkJCwkNCQgOBggKBQgIBQcJBQcJAwQGAAAACAgICgoKYmJi////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////6e3wxMPB7u7u//7/////////////////////////////////////////////////////////////////////////////////////zcnG////////////////////////////////////////////////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////fn5+CQkJIyAeVVNRVltcc4SEa4OEZX2BYnt+X3l+W3Z6UXR3T3N4TXR3SnN4SnN5SXF8M2NvKWFuLndxM4B4LGp3LWl6Kmx6KWx4Jmx6JG5+JnGBKHOEJHKARoWBP4KEIHSIJ3eKLIedNanENszyT//+N7jfDTpIESgqDAwRCQUJBwcJBgULBAYLBAcHAwUGAwUGAQMDAAAACQkHCgoKYWFh////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////5u31xMPHxMTCubm7yczRubKvwL6+xcTGsK2yuLm708/M0tPTq6yx4+LdzMfE+ff33eHmr66wt7e7xMPJxMO/t7aytrKy////5OrxoJ6g29fW1NfcrainycvLqamr/fv95+3wuLq/zMzOyMbGu7i9raysw8HBx8jLv8DDtK6r////////oaSpsrCwx7+62NLLwr7Fvb3Bubq4xsXHwL+/v7y6jI6dXVhfu8G8p5+a3M/H////8PDw7+7u+vj25uzzwb29////v8rSy8O8////urzB+fXw19verqysztDSwL7E4trVztLXv7my2NzcZWhzuaea6ejssq2y5OTiz9XYlo2I1srA////////////////////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////goKCCwsLHh4eVVVVWlpab25wamxsYmdkXmNgW11dVVdZUFRUS05RRUtOQklMQUdMQUpLKTU5FigqIUAvJUg1Gy0uHSkxGi0wGS0wGioyGCwxFTAuFC0yEywyOT41MDk0Eik0FSw1EjlBHVRiIXGKIIuiIHOGFjtFDSEhCQoNBAcHBQcJBQQKAwUKBAYGAgUGAgUGAAMEAAAACAgKCgoKYWFh////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////2OHxh4+deXh0kIyJg4yaWFBTgXNxhX6LaWh5eYSPqqOmgn55f3x5k52lV1JT9OrixMnUYVtjhZCcPT0/joZ8doKIkod/+/j2xMrSU0tYoqW0urvFdW5xR0VLdHNz8Ojlx9DgcneJwLmylpiYamFseWtxfHiCeHuIoKOtkIuIubOkpKKqfH+GXWFud2lmhYB3aG95Ly8xwryznaezg3VzlImJg4CNbm541NLN29vX8uvm////enJ1XlhdiYOC7PD1c3F5xcC9cXuBgH967urvfnmA/PXksrXAg3uCQklXrq6soKesgnV1e3+CYWNuura2nJ+kSEBFqaenZW56q5+d087H8Ozn////////////////////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////goKCCgoKHB0dV1lZW1hYbWFhaFxcX1dSWVFMVEtGT0ZBSz89RTg2QDQyPDEvOSwsPTAuKRsYDwACFxYEGSIADQYCEAICDQUADQQADwECDQAACgAACAABBAAAMA4FIwoAAQAABQABAgEABw8SDyQqDSwvDjAxECsuCRMVBwgKBQYKBAUJAwUJBAYIAgUGAwQGBAQGAwEFAAAACQkJCgoKYGBg////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////0d7pgH9/srCykpWQsbW4mJObjoiLe3J0rrC1tLnIkpaYiIOGnJuYhZCQkYqR////ys/Whn6BsrvFenl/yr+5pq+/h4d/+vfypaq5cWlyb32Hqaijx8HEnpuld36D5uPU4+v1dHeClZKSlJiYqaieuKywramxd3+NkI+Vv7az2tjVkpmmj4eOn5uloJ6en5ycq6m1cHF229jVvsPKk42OjX14wLnAdnyMrKCc////////u8TQaWt4a2VomomCv8TPsa624d7dmqOrdoCAz83VraCi//76rbfJalxjpJ2ksri9mp+ii4KFg3x/l5mgsLS3iISEk4yRrqmsbXSBk4WH////////////////////////////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////gYGBCAgIHx8fWVlZWllXa2dlaWJfY1tYXlZTWVJPU01KTkdCSEI9Rj07Qjk3PTUyOzY1NCsoFAcLFh4NHS8DEg0PFgsSEw4KEgwMEwwMEwwMEgsNDQkNCAcKNxsQJxcNBQMKDAcKCQkJCw4QChgYChshChsdBhASBQgKBAQKBgQKAQMHAgUGBAYIBAUGBAMFBQMFBQEFAAAACAgICwsLX19f/v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////6vH2g4OHu7Ow9/j6/Pz6+vn53eHm1tLP+Pn1////////7fDy+Pb4////9/X3////tbnAppycvcfRvbOz////////8vL0////1Nne3dnY5ujm5+jm/fv5////8vL0////////7Ovr4uTm7u/x/v/79vXzvcDKlpWX1tXVwb3C////6PD1z8zO9PHv/////Pv9srK8uq6y6OnpxcTG6+jl6OXi////7/Hx9PHu////////iIqXgIWQsLOs1c/Mi4yX3drX////nKq1jpKNvry8vrS0////pKq3tqqk////6uvt+/j26e3w8Ofk/Pv76ezs+PLt////5+Xl8vb2zs/R//v6////////////////////////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////gYGBCAgIHx8hWVpaXVtZa2dlamFhY1xXXldSWVJPU01KTkdER0I/RD09QDc5OjQzNTIwNjAvFw8QEhwGHTAFEA0NEwgOEgsLDwoMEAkKDgsJDgsJCgkJBgYGNxsQJxYLAwMKCQgKBgYJCgcHBggIBQgJCAgIBgUFAwUFBgYGBQUFAQUFBAUGBQQGBAMFBAQGBQQGBQEFAAAACAgICwsLXl5e/v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////////////////////5OXl7+vq////////////////////////+P7/2tfX////6urq/////////////////////////////////////////////////////////////////////////////////////////////////////////////P39//76////9fb5////////////////////////////////////////////7+7w///9////+/v78e/v+vj2////////////////////////9vn7/fn0////////////8vT29vLv////////////////////////////////////////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////gICACQkJHx8hW1paXVxaa2dlaGBiYVxbXVdWWFBSU0tNS0dHRUJBQT07PTk3OTM0NTEwOTMyHhQZEBkEHTEGDAsJDwYKDgoJDQgKCwkJCQkJCQgICQgKBgMHORoQJhYKAAIHBwcJBQcJBwUKBgUGBgIGBgEGBwIFCAQGCAUJBAQGBAQGBgUGBgUGBgUGCAcHCAUJBgMFAAAACQkJCwsLXV1d/v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////+v//yMnJ/vfw////0czP////2djg4eDihIOWe3ZzyMbD7u3tzs7Q9/Pu////4+Xn0djgcWxz7+rll6CsopKL+fbx6+ro////8/b73Nzc39zb2tvb8vHt4+PlycjK//76////zs/P4+Lg3+Li4eLi6Ojo7uvo2drc7Onk9vf15+fnz87O+Pfz1tja3NbR////////////////9Pf65OTo4uLg1dTS3d3d+Pbz9/n73eDi+fj04uPj2dfU////////////////////5+nr4+Dd3N3d7u3q7e7uysnL9vPu0tvlaGVr9ezk/v//3NXYs7vFenJt//755erv1tXT6Ojo3Nze4eDg1tPV6ujl////////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////f39/CQkJHx8fW1tbX11bbGVnaGFjYV1cXFhWVlJQUU1MS0dHRkJBQDw6PTY3OTU1NTExNzIyJh0iDxoEGjAECgoGDAYICQgICggICgYKCAgICAcHBwUJBQIIOhsPJxUIAAAGBgcJBAcIBAYKBQQGBwMGBQUGCAUJCQQGBwMGBwMGCQUFCAcHBwcHCQcHCggGCwgICAQGAAAACAgICwsLXV1d/v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////2uLpfX6DqqurjZmbqqGcqJ+fcHV8paSovcDDe3J9raees7a5Tk5WhoSC9evm4urvVFxsem90tLa5vbSsnZmhnJykq6yvb25u5tzU0+HuT0pUcGNnq661kpeeioOAhHh89Ojgrb/KhX14rKmzkpWfo6ardHN+bWNnpZiVvreykI2TWF5joqCZnp2la2t1nJKU///92OHvZXSDpZqO4eDgfYaWkZCSopWSiYWF0cW73eb0jZCbl5ugbWlkzL+1xsjPXGt6pJ2W////1+TxV11ta2NmrKutpqOofHNudGxwxLaz+f//oqi3paOjjYKEuK2ni42Xp620ray2iYmWk42KnJKScnd+bWhtXlRbz8bG////////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////f39/CQkJHx8fXFxcYF9dbWZoaWNiYV5cW1hWVFFOUE1MTEhHRkJBQT07PDk3OTU1NTIyNC4vLCUqFCMMFC4ACAcFCwQKCQcJCQcJCAcKCgcHCwUGBQYKAwEJMBoKJhQKAwAHBAcKBgYJBAUGBQQHBQUFBQYGBwcJCAUJCAQGCQUJCwUGCgcHCQgICQcHCgcHDgkKCgcHAAAABwgICgoKW1xc/f39////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////hZariH11////k6Wym5CGo56dTk1Xqaqsm6GmjYeGloeEwbq9dXmEdH2Czce+8/X4aWl8d3F4tri4kY6Md25rjo2TZnB8cm1w8unh4+zsZFxlgniCg4ONjoePr6+vo5mZ9+3nuMTRdnd1h4uScmt4uK+skJGcfHR7sa2yiX96k4qMhomUkZubenp+k5ahtK+0////pay0PTc8b2JiyMXKipOjj4uSrqepcGFm5tvR1+T2ZWFtlY6ThomOnqOjk5KSSURJaV1f8Orp7PP4ZmZ5gHuDkpOblIiGpZqajIiP1MfH6vj/kZidd3yDgnVwsqynXlpfmJynXmZ0nJmZycLDtaill52ngHqCeHd7hoeJ9PDt////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////fn5+BwcHICAgXV1dYmBgbWhnZmJhYFxbW1dWVVFQUU1MS0dGR0NCQT49PDk3NzQ0NDExMiwtMSkwHiwWEisABgYECQIICQQKCQYGCQUJCAUJBAUJAQQGBwUASB8NNhkLAAAGAwYKCQYFCQUFCQUFCQYGCwcFCQQKCAQKCQcJCgcHCwcHCggICwgIDAkJDQkJDggKCwcHAAAABwgICQoKWltb/v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////0Njif3yCr66wtq2w7vDzu7W2/vv7xsjP5NvY8vb5yMPAlJKYsq2svsLH5+Lb////1NLU5uPjv8PGx8PA3OHesq6t3tzZ5ODl///99fv41dLS6OfpsrGz6+Ld6PP1ZF9k49TJ////vsHG0dHPu7i639jV4OLk1dzjdHeAvrixpqesraapwMPI6ujlq73MgHNw///62Nrd2dDQ4t/lyc3aq7G2rrG4b2hwtqWe////8vj9rayu6eDZ4unwuby/3Nzc4tzb3Njf7+rt/v7+0tLU6OXlwMLF18zE+fz+Z2t0vqyl+vz+rrK11c7H8PP2xr/C6ennrq6uy8nG4ufn5+XjlpWZq6Og3tvd4uTmsrW18+/s////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////fn5+BwcHICAgX19fYmBgaWZkZWFgYVxbW1dWVlJQUU1MS0hFRkNBQj0+PDg4NzQyNC8yMSsuMSkwKDQhFCsCBQUFCAAGCAMHBgIICgMFBwMGAAIKAAACFgwAiz8fbjEaBQQAAwMGBgQJCAUFCAUFCQQGCgUJCQUJCQcHCwgIDAYJDAgIDAgIDAgIDgkKDgkKEAoMCwcHAAAACQkJCgoKWlpa////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////7PDzt7e31c/M////////////////////////////3+Po6OTf////////////////////////////////////////////////////////////////////////7ezw8u3s////////////////////////////5+Pg////3ePo6+bj////////////5+Xn/////////////////P//8e/v////6ejq////////////////////////////////////////////////////////////////////+Pf56ubm////////////////////////////////////////1djb/ffy////////////////////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////fn5+BQUFHx8fYGBgYmFfaWdkY19dW1dWVVFQUE1MTEhHR0NCQD07OjY2NDAwMSwtLSkrKyUoJR4mKDkgEy8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAMAaCsMVCIHBQABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAwAABAAABQABBgACBQEABQEBBgIBBQEAEAkJDggKAAAACQkJCgkJWVlZ/v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4/////////////////////////////////////////////////////////////////////////f7+////////+vv5////////////////////////+/v9/////////////v///v/9////////////////////+fj4/////////////////////////////////Pz+////////+/z+////////////////////////oqevxrmv/////////////P7+/////////////////////f///////////////////////P37/////f39/////////f76/////////////////////////////P7+////////////////+vr6/////////f7+/////////////////////P39///////////////9////+/z+/////Pv7////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////fn5+BAQEHh4eYWFhY2NjZGJgXFhWXVpYVVJQUU9NSklHRUNDRD9AQj0+Pzs7Ozg2NzYzNTIuLyksOEQwJDgTBAMBDQYIDAgIDAYJCggICgkHCwkHCggIEAgKFgsGFAwGDggKCgoIDgoJDgoJEAkKEAsJEAsJEAkKDAYJCAIECQMBCAQDCAIEBwMBCAQDBgIBBAAADgoJAAAACAgICggIWVlZ/v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////2+Dnm5ujw8C9s7GzlY+Q4tjQ8Pb7en2IrKmntre1goJ+q6Sj////yM7Tk5GZv8HDoKiwfHyBk4yPrZ6bvr3DcnR+oKGdmpuZysXItLK6rqed9vDpzdnjioyMraSk9+/nscDLl5GMwb/Do52gs7S3s7a7xr65qaiscnh9rq2t1djbkIuI9vLts8DSgHh6qqqvwL/Fr7KwopiY6+jt2ODnjZSesK+tr6qprqyqoaOlp6amhoiLkoqMnJKSmpiaj5OWpqSfxMHHgYeOmo6M//v08Pr/pLC6wbmx5eTooKe1op+fnJKQmJaY0MnC+Pz9goaTq6Wit7a0f4B+paCf////2uHompeXwcXFlZaUx7y8sLGzjY6Ttqyn/v/7s7jDt6qimJulsa2t////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////fHx8AwMDHh4eYmJiYF9fZF9fu7m53NnbzczMzMrIzcnJyMbIy8jFx8TCxr/Cw8G+w8C9wr69wr28xL++vrq3tbKvt7Oyt7Gyt7KxtrKytrKyt7GytrKys7Cwr66ysrCyt7OyuLSzubSzurS1ubWzurS1u7e2u7W4u7e3wb26v7q5u7i3vbq4vbm5vbe42NXVenZ2AgEBAAAACAgICQkJWFhY/v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////n6q3iI6VoKeqbF1dcmJn7N/Xz9voYmJ1q7C5hoWJU05RgX96+fLrsrnJVFFdmZudjZaZWl5raWFsk4F6iI+ZQT4+paGea3mGjZGUgnF29O7l/Pr4yNPZcnyAnI6S//7+jJKfsKqlc3R5lZKSW2Z3jYmPq5yRfH6DPUZQkpOTdYGJXVdc+fPsucDIe3qCV15sfX2Hd3l7h4B7q6Sjqq6zfYOVioWKopCLcW91VV1tlI+Wio+YZFdcnIuGpaOrXmRxiY6JZmhzgH+Hrqar///9usXQKi45W05LzszOgoudkYeHp5ubY1tkzcG54e34aGuAsbK1ioWKTElLeXh28uzjw8rYhYiVUVtlYFtam6CdamdnUE1ar56b+v//lpaap5qORUFLxL++////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////dHR0AAAAHx8fY2NjW1tbbmls6eTp////////5ODj////////7u7u9vX1/fv7//37/fz8/Pr6/fz6//z+//7+//7+/fz8/Pv7/fv7/fv7/fv9/fz8/fv7/Pv7/fz6/fz6/fz6/vz8/v37//78/v37/v37//7+//39+/n59/Pz9PHv8O/t+fb2+/f28+/v////vbe4AAAAAAAACAgICAgIVVVV/f39////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////8PH0qqq0vrm4tbW5lIaD/Pj3zdnjZGd7bGlzwLOuzs/ZiYuL+vjx2t/oi4qOk5Wav7+6w8PFu7W4sLS1YWJsjH+B4+DgqrG5i5qck4uO+Ojh////t8TMYmprnpSW9+jj7fT3raqqysjIraivwL2/qK20nJqcraqlyMrMnaKlp6ukxb3A////xdDSh4OBsrGzo6ioo6WqmZqY+PPs5e33nZ+poaGjt6qnv7y6vb/Gnp2ntKmrvbm5sKqpaGRrr6yym6Knt7axrb3Md2xs//r3xsnMpZqcv7vFys7Zo6qtnJuda2RtgXJx+PHq2ObwbXOGbmpxuayi09LchomM8vLqsbvLT0pRyMG6sbbBn6ahycG8rK+5lpGU////zNHcsqelk5abcWlp8vDt////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////fn5+AAAAHx8fZmdnXl1da2pq6ejo5tjQyaqiy6+svZyW2svE6e/u+/v9////////////////////9/j46+zs////////////////////////////////////////////////////////////////////////////////4N3d39vb8e/tysfFw72+8+/u////qqSlAAAAAAAACAgIBwcHU1NT/f39////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4///////////////////////////////////////////////////////////////////////////////919/nysTD////////////////////////////////////////////0NXc1MrK/////////////f///vv7////ytPZpKGf///9/fv4////////////////////////////////////////////////////////////////////////////////7vL34N/f/////////////////Pz6////////0tXalpOV3drX////////8/7/vLm5//rz////////////+f3/3t/h+///vrvA///3/////f783+jtxb6/////////////////wsTE4djQ////////////////////+/z8////////////////oKCk39nU////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////z8/PERAQGhkZaWlpXl9famtt8/j43Kyov3lw0peRuWRfzJ+Y+f///fv97vDu6unr5ufl4+Li5OTi4uHh1dLS1tHU4N/f/////////v//////////////////////////////////////////////////////////+vr66OXl8ers6eXlsq2strCx6+Xm////raupAAAAAAAACAkJCAgISEhI8/Pz////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////////////////////////////////////4u72u7q2////////+vr+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7u7//jz////////////////////////////////////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////3t7eEhISFxYWamtrY2Jib29v8Pf67ce81Y194MSz1JiC57eq+f3/8u/03+Tf6ujq5uXl39va39vb5eHg4t3czcrK29ja9e7x9/Xz8/Px8/L08/Ly8/Px9PTw9fPz9fPz9fTy9vT09fT09vT09vT09vT09vT0+Pb48O/v6+jo+ff37Orswb29wry77enp////sa+vAAAAAAAACAkJCgoKOzs76enp////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////5OnuubzBy8jIw8G/p6mrvry+0M7QtrW5v8LHyMrMubS5z8rJurq81tbUn6Sl6enfsrjAy7y14+nur6+0ycvNuLu+qamptrOzwLvAuLWzsLCssrS34eDbxsK/9PLyytPb29LK////5OPpvMPBs7Gz3+Tpw8C/v7q6pqawycS/zszK6uDg9fb0rK2yzsjF+vX08/j5rqux1dHQy87RxcG8tba2qqmr///99Pf5raqw29jWurq+9+3j9/n7oaKnuLe30NDMsbGxs6+v////0dbdq6uzu73AvbWtzMXAzMvRxsbGqaahyMTE2NbUxsfKxL+8////eIGRpZaL0M7Ora+yzc/Pw8DG0svI0dLUtrKyvb/BsrO339vWx8TB5+Hi////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////09PTCgsLFxcXbW5uZmRkcnBy9Pv/7Mq71pyD5su6z5d+572t+f//5uLn6uvp5N3f6ubm8u7r7evr7evp7+nm5OHe5+fi5t/i5uPh5+Pi5+Hk6OPi6ePk6OXi6OXi6ebj6eXl6ubm6+Xo6uXo6+fn7Obn7Ojo7+vr5+Pi6+jo+vv7////39zczsvL////////tbOzAAAAAAAABwgICAgINjY26enp////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////wM3ceoGTwLGkfoOKKjE7pqGahH+Jc254qauwW2t6j4WAu762PS416uPlkZ6xpJKN5ebk8+3mrrLBYV9ssbK0iZKYSk5ceGxwPT9GcGZejZKTeHVzmaCjUlBQ5NrV2eHm2tvVa296d25zd4iQs6qifIeZbWJgu66uV1Nmj5OWZWdquqqj+ff0scDFSD8/8d3OpbXEhYeMipahhnt/mJKZRUJHeXd09vLxpK23gIOImKOrg3Jt//7wzNHeV1lpqayxhIqRSEI9kouG+/bzur/KhISOb3uObl5beHRrcWhvbG98bXBppqSka2puV1Rgq56c////ub/Hl5WSWVJanJqkTlhmqqeitLeybF1dmJKZSEtYgIODo6WnUE5OysC6////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////0dHRBwcHGRkZcHBwZ2VldHJ0//////bs7dG9/uff9tnI/e7j////49rf5ODf5eLi497e3t3Y3t3d3dbd3tXY593d2tjV09bP19XV2tTX2tbV2tbV2tTX2tTX29jV3NnW3dnZ3tra39vb4Nzc4d3d49/e49/e5ODf4N3b//7+////////////////////////ycjIAAAAAAAABwgIBwcHMDAw5eXl////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////3OPwfoGOlZCNlZWRnaKnmJycnZubfXmBiIqNl56hube5sKuoj4yOZm95k5Caxbm3//fy////vsHLb2tziYqPr7KroqKsq6GkhomTpJePztHYiYyOi5SQkYyT//36+v//UVlecF1Y4Nbdm6q5pqedjpSZnJCM09DLoJugrLTCioqM6tvU7/b7am+BiX5u9/Pu0dXck5KapKWqkI2Sn5CLs7G5d32A6und3d/mkpCYoqesgHdy/vTiwMvYZGJ1g4aTqZ2bqKqxhYWD+vXuoqy2lo2Hp6izop2ipKGhkIySg4GNmZ2kmKGenZeWhYWPl4+S//7+o6uwjoWAenqHd3B6p6Gmur7Bsa6rlI+SjH5+t7K6jpadjZiUj4qP+fHs////////////////////ycnJxMTE/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+////0NDQBgYGGRkZcnNxbmxsbWls2Nfb+///+//79PX19f779v367/Ly6OXn4ODg4OLg4uLe4eHf4tzh39vb2d3Y3t3f3tng1trV2trY29nb29rY29rY2tnZ2tnb29ra3NvZ3NvZ3NvZ3NvZ3dza3dza3t3b3t7c3NvZ4ODe8PHv7u/t6+zq8vHx9PPz7e3r9fX1m5iYAAAAAAAACAgIBwcHKSkp4+Pj////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////8fDw5+ns+fj0////9fT4////8vHv5ufn////9/n78Ozs////3d/d/Pn2/P3/+vn5////////8/Lw5+jo+Pn5/v378vb5sa205tbR9fX1//////////////78qrvEdW5p5N7hsa+v/f3/8fHz/////////v//+Pn5/////v3/+/j24erygXuLuK2n7+zq////7Ovr//v69/v89O7p////9fX3////////7ezs/Pn3mqOrqZuW8fb3pKy4nZOW//r1////9fP1////0tbZe3h43NLN////////3+Tn4d/d+ff3/v37////4+fq1dPT///98vb37uvptbrDrKCe////8PL19PDv////6ubj////9vb6////+/r8/Pn5////////////////////ycnJxMTE/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+////z8/PBAQEGhoadHR0dnR0cm1ycW5ueXZ4dHF4cG9vbGxuaWZsZGRiY2VjY2FjYF1dWlhaU1JUUU9MWn9RXpdaS1pITkVKLywsIyMjLCYpKyYnKyYnKygmLCgmLCcoLCcoLCcoLCgmLCgmLSgnKyYnLCcoLSknLScpKiclJiIgJSEhJiIiJyMgJiMeJSMeJyMgFQ0LEAsNAAAACQkJCAgIJSYm4ODg////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4N/d//37////////////////9vb2////////////6uvt9/Pw////////////////////////8/P3////////////////////////////////////////////////////+/z//////////////////////////////////////////////////////////////////////////////////////////f39////////////////////////////////////////////////////////////////ycnJxMTE/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+////z8/PAgICGhoad3d3eHV3e3d3b21rZ2RkZWJiYV9fXlpYWVRXVVJSTk1LSUdHRUJCQDs+NzI6MDYpRoo4VrFLME4iMCopFQ0QAAAABAAABAAABQABBQABBQABBQABBQABBAAABAEABQABAQEABAEACgAABgACBAEBCQIACgMACAEBCgEACQIABgEABgEABQABFg0LFw8NAAAABwgIBwgIIyIi3t7e////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////7fT5vb299/Pw5ejq4uDe5eTo0c/P19ja5+Pe////2dnd5uXl29vd7+zp19nc29nX5ebm3Nze2tvb19bW3d7e3t/i3dza3dze3t/f2trYqq69Z2Rwrq6k1tXR6+Xg+vz+0dHR/fv25ujqxcPF//75tL/JdW1q6+jl6Ojo9/f50MzR////0tjd8u7r2t3f19XT9fPx7evp7uni/f7/1tPV7Ovo3uDg////7fH219bW4N3b3uDg8fHt39/fy8nJ///9/f//0tLU///94ufs8eni////u8HG3NXO/v39zs/P0M3K////////7O712NLT7/Hz2tja////////////////////////////////////////////////////////////////////////ycnJxMTE/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+////zs7OAgICGhoaeXp6e3l5e3h4enh4eHZ2dXNzcW9vbGpsZ2VlYmFhX11dWllZVFNTTk5OSkZLSkhBVXZFUopJP1Y2Pzs5Mi8uFhEMGBITGRUUGRYVGRUUGRUUGRUUGRUUGBUUGRUUGRUUGRYRHRQUHRQWGhcQGhkNGhYTGRUUGxcOGhYRHRUUHhUSHhUSHhUSHxYUFxAKAAAABggIBwkJHh0d2tra////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////1t/nenx/q62tnqKdiImHsLKqpaOzlIyTfoiOwK6d////c3uDvb+3m5ejnoyRb3iNi4+UtrGwsKCZmZicam9/nJyhw8TCp6yxfHZ7jIKEmZSXjo2ffXuGu8K/uLa4vLKoi4eMc251p6u2rLS1f3Fx6drP3uv4kZmjnKKpqp+hsKeknpyec3uDlIqCrLK3cnN1wbm5fn+EiIaDjY6MZ19hq6mrgYyYpJSU////sr7LT0dOcWRmp6mzhImUh4WDin6C6NzS/P//i4aNube0sL/Ct7GybGZro6eoiY6OlaCeoJqTf35+oZyV////nZ2lraCWbXB7sKmr////////////////////////////////////////////////////////////////////////ycnJxMTE/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+////zc3NAwMDGhoae3t7fHt7fXx8fXt7e3h4eHV1dHJycW9va2lpZmRkYWBgXVxcWFZWUVFPTExMTEhHSEU+PUI3Pz45Pjs5Oz82Hh0YFw8QGxYVGhYVGhYVGhYVGRYTGhcUHRcWHRcUGhIPGgkPGBYZGBUUHggPHQgPHxMVIBMVFwoNHRAVIBUXGBIQFxAPGRITHRYVEw8QAAAACAgICQkJHBwc2tra////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////hZariX11////s7S3nJ6clqCelo+Y49jWjZuok4WA////laCql56Zq6Oop56Zi5GhsLfFoJiaiXtxhoOBe4ONfn2IlJSUoKems66riYGIe21vrKevfoOQm5mhsbG5j4Z+jX9+kZCcYGp6o6eopqCf9Ojgw9HeeHuGgomTf39/fXFupaGgXV5pxLiyqLC3c3d+mqKgenV4kJCUgIaNj4SEnp2fdn+Jd3Jx5d/Y3uTpbGFpiH+EfXqEjYePq7K3qaKf6tzX////xb/En6Gmc3+BmqiwOS0q////w9Lhoayuwr+1cm93lI6N////paeqo5ePWFZev7ax////////////////////////////////////////////////////////////////////////ycnJxMTE/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+////zc3NAwMDGxsbenp6fn5+g4ODgYCAf319fHt7eXd3dnR0cXBwbGtrZ2ZmYWBgXFpaWFVVUFBQSEpMRURIRD5FQj1AQD48RENBKikpEw8QGxkXGhgXGhgXGhgXGBkVGhcXGxUYFxUUGB4TGSgbGBcXHRgTEhsSEBYRFxUSExUSDhERFxMSFxUVExMTGBgWCwsLAgIADw0NAAAACAgIAQEBLzAu8vLy////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////09vjgX6GrKutz8bJh4+UnZ+Xko+hnImI0dTZ0c3M////bHV9qqymgH2QuKac19ra6Ojq2tnbxcXFycjG4N/dxsfJuru/0tTSwsLExcLAvraz9vPz2Nzfv8TLcHN4xr+2y8rQt7e7yMrKztLTb2xz49bM7/b3r66u2dXU0NfVzc3Pz8fJ//7+0Nfe29TN2Nzfzc7K7+zq6ufn6OTi+fj+x8XH6ubhvsbJ5+Ha+/7/29jY6urss7Gz9Ovo3eryb2pp9+re8ff8komN6ufnaHB9ta+kqKu2nZaTtayxvsPMgoZ9Z1xYurGz////5uvwzMTGxcnMYFxf4drV////////////////////////////////////////////////////////////////////ycnJxMTE/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+////zc3NAgICGxsbfHx8gYGBhoaGhISEgoKCf39/e3t7d3d3dHR0b29vampqZWVlXl9fWVlZVFJUTU5QSkpKR0VHQUNBQUE/RkBFNTY2FRYWGBgYGRkZGRkZFxgYFhgYGBYYGRcZCAMHKVAzTqVtDwwLGS8eXuCMYNyDEyAUFikgVbhtJkorAAEBbWxsZmZmcnFxlJSUKSkrAAAACQcJAAAANTc1+fj6////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////7/P4uLe55eDf4+Tk5+Xj3Nzk5d7Z////////////19fX6ujo1NXY+fLt////////////////////////////////////6Ovu////////////////////7unk////7vT5+Pb0////////7uzu+PPy////////////////////////////////////////////////////////////////////////////////////////////////////6+jo//n2+/3/6ujm////////5eLg////wsrQyMG88e/tz9DS2tfQ////////////////////2tzj5uPh////////////////////////////////////////////////////////////////////ycnJxMTE/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+////zMzMAgICGxsbfn5+g4ODiYmJh4eHhISEgoKCf39/e3t7eHh4c3Nzbm5uaWlpY2RkX19fWVlZVFRUUE9PS0tLR0dHREREQ0NDREREJCQkGRkZHh4eHh4eHR0dHR0dHR4eHh4gFRIUMTs0S2RSHRccGBwXOX1IX9eEIy4jJzwve/+qMWhBAwACbmpqYl9fe3h4o6GhMDAwAAAACAcHAAAANDU19vb2////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////+vr8////////////////////////////+vn2+vz8////////////////////+Pr6////u8PKoJaR/////////////////////////////Pv9+ff5////////////+Pn7////////9vr/1NDX////7e/y///7/////f37/Pz66u3ykpCdmJGO8e/t/P3/////////+Pf3/Pr6/////////fz8/v7+/////////v7/8/f309Pb7u7u3t3h+fn5oKWs49jO////////////////////////////////////////////////////////9/b4/////////////f37/////////////////////Pz6/f7+////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////zMzMAwMDGxsbf39/g4ODhoaGhISEgYGBf39/fHx8enp6dnZ2cXFxbGxsZ2dnYGBgXFtbVlZWUFBQS0tLR0dHQ0NDPz8/PT09QkJCKioqERERGBgYFxcXFxcXGBgYGBgYGBgYFxcXHhcYHhYYEhkaFxMVCQABDxcQHh0ZFh4XIUUuGSIbFhMUFRUVEhISDw8PBgYGDw8PAAAABwcHAAAANjU19fX1////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////z9rktKqq5+3wg4qPvraxoZyhmZqdioyRlpWbu6+sv7m8m5mhwcLEnJ+pk5CNgXh77+LW1eLseHmBxcLAo6WqhIWIk4mJp52dh4OKoqWquLm+wr65oZiasq+0rLbCxcK9mpaW5N/cw8zYu7e8sLi/nJuZu7u2w8LAgYCIpquwurnBdmx3kI2ImKKgrKilq6exurq/v8PIxL61p5+irrCzoaSkvLu/gYWQj4WHj4+Pm42KramupK62r6ij+vj1l6S2qJySpKeuf3l+mJCTiYuWxMLErrOusqutsLK3eXF0xr26////y87Tf4CI6OXj2t3gjouNh4aMpKapsq+q/v39prXCbGFj4dXN////j46Y39TM////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////zMzMBAQEGxsbgoKCg4ODe3t7enp6eXl5d3d3dHR0cXFxbGxsZ2dnYmJiXV1dVlZWUFBQSkpKREREPz8/OTk5MjIyMDAwLi4uMDAwJCQkAAAAAAAAAgICAgICAwMDAwMDAwMDBAQEAgEBAAAAAQQABQMFBgEIAwAAAAEAAAAAAAAAAAAAAgYCAAAAAAAAAAAAAAAAAAAAAAAACAgIAQEBNjY29fX1////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////+fv9tri9T1JZraegw8LMdWVqYltojJKaqLDAl42NY1VVi42ShY2XamZwjoaBm46S7NrTydjleoKQjpWdnpWQdHmGYFtnkYB9loqObHSCtLvAsLCrVURBdXaGeoWXqaKZenJt7evrvsS/g4+VfH2C////l6GmmY+FZmR3eXuKs66zk42Si4OFc3V/iouHcG95cnaEsrrEnpuRYFFTWVxpa3R6oaajamVvPjVCmJuduqmoxMHHnJuo////////qq2yhX+AX2Vta2FrhHV1en+NfIORent9hYmKenRzjIGFwrW5+P3/aHOALysts6SZx8XHYVhffn6Ljpmrn5KN/v34ma3APSov3s/E////m5ym49bO////////////////////////////////////ycnJxMTE/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+////zMzMBQUFGhoagoKChYWFfn5+fn5+e3t7enp6d3d3c3Nzb29vbGxsZmZmYWFhW1tbVVVVT09PSUlJREREPj4+OTk5NTU1MTExMTExNDQ0EBAQAAAACAgICAgIBwcHBwcHBwcHBwcHBwcHCAUKCQcHCAkHBwgGBwYEAwcHBAUJCQYGBQYGAwUGBgYGBQUFBAQEAwMDAwMDAAAACQkJAQEBOzs79/f3////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////zN7pQjc3//rwzNfhjoF/3tbZm628enZ2sLStpqOjsaqtt7i9vbq/z9LUX11j5NbL4evwgoOGsrW3n5yct66ruri+rKutdHJyfXp6uba8vre0u729jpCTnp2fn5+kqaah/f35ytHUgImRhYCF0tHPs620tq+woZ+nlJOVzMPA29/kq6GfycbMnaSnsLSvfIiVVVNZs66nt7m5oKCimJiguLm3wb/D0MfJxNHZeXNyrKGjurS5////////rbW6mpGMzczOvLe8uLO4o6aro6enpaWtqKqo2drWYWVwwq+p8Pn/pqq10s3N29HRrKevkJCSb3OCaGVvxbmx////z9ffqKCi9/Tx9fj9gn2E59nO////////////////////////////////////ycnJxMTE/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+////z8/PBgYGGRkZg4ODh4eHgICAgICAfn5+fX19enp6d3d3dHR0cHBwampqZWVlYGBgW1tbVVVVT09PSEhIQ0NDPz8/PDw8Nzc3NDQ0Ojo6JycnBAQECwsLCwsLDAwMDAwMCwsLCwsLCgsLCgwMCwsLCgwKBwwICAwIDQoKCgoKCQwGDAgKCQkJCQkHCAgIBwcHBgYGBQUFAQEBCAgIAQEBQkJC+/v7////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////7PT7z8/R////////////////7fX6xL69////////////////8fL0////yMjN5NzX////////////t7e5///6////////////r66w8+zn////////////////////////////+fr8/fr35+XnqaioyL+85ePj8PHv////////////////////////////9f//ysS/////////////////////////////////xMTMzcW+/fv4////////////////////////7fT56efl////////////////z9HU1s7L////////////////4uXq+Pfy2uDl29HR////////////////////9fj7xb/A+fLr////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////3d3dERERExMTgYGBioqKgoKCgYGBgICAf39/fHx8enp6d3d3c3Nzbm5uaWlpZGRkYGBgWVlZU1NTTU1NSEhIQ0NDQEBAPT09OTk5ODg4Ojo6FRUVCAgIDw8PEBAQEBAQDw8PDw8PDw8PDxAQDw8PEA8PDw0QDw4ODQ0NDQ0NDgwPDAwMCwsLCgoKCgoKCQkJCQkJCAgIAwMDCgoKAAAATU1N////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////////////////////////////////////yMfL+O/p////////////////////////////////y9LZ08/K////////////////////////////////////////3N7jycrK////////////////////////////////////////////////////////////////////////////////////////////////////////////+///tLKyzcrI////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9PT0JycnBAQEenp6kJCQg4ODg4ODgoKCgoKCf39/fX19enp6d3d3c3Nzbm5uaWlpZGRkXl5eWVlZU1NTTk5OSUlJRUVFQkJCPz8/PDw8Q0NDLi4uCgoKFBQUFRUVFBQUFBQUFBQUFBQUExMTExMTExMTExMTFBQUEhISEhISEhISEBIPEBAQEBAQDg4ODAwMCwsLCgoKBQUFDQ0NAAAAaWlp////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////8vT3mp6juLGutbi2ua+v9Pf87Oro6OnppKOlyMXKvr/Bu7i/3dbRgYmTm4qB19jWq6uv2dnZlZidvrSv////xszTr6af2+Lll5iW6uHb////197lnZyay8a95ufnrKqy49/axcfR0cfBkY+hZF9frbCrvL/Cqamn08jG+vr8tb7EsKilt7OzvLq6wMDCmJugxLq0////uMDHv7i1yMrNrbG2tK6twL/By8fHsrO3vLy62dbRvbrApaKkvry8srW4sbXAZV9plI+CwcG84NrV////s7a7z8a+4eTnqKmsyMvLrKyszMPA//7+xcrPoqKgs66tvLe6s7W3rq2t3tvW0c3Ks7S5zMjH////////////////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////UVFRAAAAZ2dnmJiYhYWFhYWFhISEhISEgoKCgICAfn5+enp6d3d3c3NzbW1taGhoZGRkXl5eWVlZUlJSUFBQTk5OSEhIREREQkJCQkJCRkZGJCQkDAwMExMTFhYWGBgYGBgYFxcXFxcXFxcXFxcXFhYWFhYWFhYWFhYWFhYWFBQUFBQUEhISEREREBAQDQ0NCwsLBQUFDAwMAAAAmZmZ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////o6q4bWx2h4ycWFZSq6CWoKWyi4WMk5WXa2pnray0SEpVqaimrbCujX98oaavMTVAkZORbWt1bWhypZ2i////qKexgHNxo6ivfn+M2sO18fr/ZGlwy8rHiZaZT0xHp6uyXm16j4F6v760Y1tihn2AxMXIVl9vX2Jdu7Cq9fX1dYqiWUtNhXZ1k46TUkxUcnR/p5+k////093dYVxZb2FeYWp9VU1WoKOot6echoOFUmBtcXd8k4qPgHR2Z15pen2KpKaxgoGJqJqO4t/a6OXi////hImbuaah0djffXqGW2h1XmBZsqii//7+o6u1ZmdqW1ZegnV3V1xnenx6oqSmcG9tZl5lw7q3////////////////////////////////////////////////ycnJxMTE/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+////lpaWAAAAOzs7mZmZh4eHh4eHhoaGhYWFhISEg4ODfX5+eXl5eXp6cnJ0bG1ta2traWlpY2NjXl5eW1tbWlpaUlJUT1BQTU1NSktLR0dHSktLSUlLLS0vHR4eGBkZFxgYGBgYGhoaGRoaGhoaGhoaFBUVDxAQFhYWGBgYGBgWFhYWFRUVFRUVExMTEREREBAQDg4OCgoKBAQECwsL3t7e////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////29vjk5+vj42TqqWql56doJyZqaCgr7C6jJCTnqGhm5iitLS2qqionpyZh4SEm5igkZqapqShkpypnpWV////iZCggHRsgHuCm5ml5dzX4+72Yl9n////v8bQp52doaConJyft7W3sKmktrKxgHuCnZqipqesi5KZo6KY////rbXHnZOWp6amiHp4vrW6hZOioJiY////jpOlYFZO4dzQk5Oio52gnqSrk4uLoJ2Yh46Pl5qkyMnHwri4mpejdnF4v7m8rrfBiHp3//Xv/////fz8np6xybq6ytfiXlhis6qtlqCqnp2T////s7a7nZidn5ujioeHjoaTlJugj5mWrautiYWPrqGh////////////////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////6+vrERERAgICgICAmZmZhYWFiIiIh4eHhoaGgoKCiomJjo2Nf35+h4SEiIWDeHh4a2xsaWlpZmZmYGBgOzs7LSwsLy0tMS8uMS4uMC4uMC4sNTQxPTs5NTMwKyooLi0tJiclGRkZHRwcHBwcGRkZKSYlMi8sHR0YGBcaFxgaGBgYGBcWFxcXFhYWExMTExMTDQ0NEhISAAAAUVFR////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////1+bwnZOR///69/f5/////Pr4////////wMbOtrKx8fHz+fX0////7urn////+fj6////vsvWpZiW////mJqc5tvR/////v//+Pn5///9tLfCmJKTsKir//766ejo////+v7/8+7u////8vPvxc3VxsC7/////fv7////+Pf3///9////8e7r////uMPNppuW////nJyrl42N4+Hh9/Xz////9vb47vDy+Pn5////9vX3+Pn3/P37////8O/t/////f//8/Lw////////0NrggHyCi4eKkJKVwbey/////////Pr6////oKCk1cvD////4+bp6ebm//39////////2dze4N3d////////////////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////iIiIAAAALi4unp6ek5OTh4eHiIiIh4eHgoKClpeXo6GhiIaEpaCdpaGgg4ODbm9vb29vbGxsZWVlNzU1KigmLiopMCsqMCssLisrLywpKygkLSolNzMuODUwOjg2KSooGxsbIiAgHR0fGRkbQz88WlNOLSkmFxYZFxsdGxsZGRkXGBgYFxcXFhYWFBQUERERBQUFCQkJy8vL////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////6+zu/////////////////////////////////Pz+1dXV7Ojn////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ycnJxMTE/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+////9/f3ODg4AAAAQkJCoqKimpqaiIiIiYmJh4eHiYmJiYmJhISEh4aEhIODe3t7d3d3dXV1b29vbm5uZ2ZoW1lZXFpaXFdaWFZYVVNVVlRUVFJQLi0tIR4eJyQkISAiHR0dICAgICAgHx8fHh0dKicnMCwrIyAgHR0dHB0dHBwcGRoaGRkZGRkZFhYWEhISDg4OAAAAe3t7/////v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////5+3wzsvJ////////5efnwsPG7ern5Obm3uDi3Nvd1tXT6efk9fHu/f7+x9DWzs3L////+v7/09bZ4+Db9/Py////4OPmysjG2djW6erqxsfJ+PLt////297h5uTh2tvbxsfK8/Lw5eXj0dTV5uTk7e/2dXSJhn960NPOzMzM5uXlz9HT6+vr0tLSzs7Q6Ojm5ujo1tLR5eLi0tTW7Ovr19TZ5uHe6+7vzczK7ern////z8zS6+fk3d7j9vHu6e/20MzL////////4ePlwsLG9PHu6uvr4uPl3Nzg1tXT6Obj9PHv////2Nvez8jF6+3twMDC////////8PH05eboy83Q3trZ4OLkzMrM8O7r9vb2r6qt8+Xb5+/2x8XC9/f5ycXK////////////ycnJxMTE/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+////1tbWIiIiAAAAMDAwjY2NpKSkmpqaj4+PiIiIhYaGhoaGgIGBf39/f39/fX19enp6dnZ2cXFxcnJycnFxbWxsaGhoZWRmY2JkYmFhbWxsSkpKFRQUIB8fHyAgICAgICAgISEhISEhISAgHB0aGxoaHx4eHx8fHh4eHR0dHBwcGhoaFhYWFhYWCAgIAAAAUVFR/Pz8/////f39/v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////ztzm0ce9uMHHgHqCmJqamI2DxM3ZamlroJecfYSXlpGOhISEinx39PTwzdXWaWdprZmI/v//iYyVbm1pjoF8/Pz6l6KvkoJ9oZugSVFZgoJ+7+Te4ez4k5mnn56gXVhVraWetcDMcGxslpOVrqep/f3/goSXo6KgfoaJoJmUo5+pl5OacXmDhIR8qauysKitu77BVEtQhnh4lZSeXWFsq6ups7e4kIeJh4CD4tfRvsnTi42Utbq7fXFx9Oba0+Xw1s7CsLm/gHqBlZyboZaOu8TSbWtrpZudc3aMm5iVgYKCno6F5OvwgYeOk4yRWVhWlI2G6O/8k46T2NDSZXKDf3Rotrm8bXF0sq2qfIGMh4SCv7iu8fDrgouVramkmpeemJOSmpuex8PA/vr3ycnJxMTE/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+/v7+////zc3NPj4+AAAAAAAARUVFfX19mJiYoJ+foJ+fnJycl5eXkpKSjY2NiIiIg4ODf39/e3t7d3d3c3R0cHBwbGxsampqZ2dnZWZkZ2hoYmJkHx8fFBYTISEhISIgIiMhIiQiIyIkIiEjISIiICIiISEhHx8fHh4eHB0dGxsbFBQUAgICAAAAAgICYWFh9vb2/////v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////vsjNQkFBuqyprbLCj4mAlqSual5ivbCrkZurw8LIcG5wnY6N/v7+uLvGZWFc0cG29Pj7rK23Z2drqpiV+f/+iY6bo5iahHp/gX2HdH+E0Mm/8ff8bnGAmo6MjYuVoJ2WhpKddmhnraitmI+U////lJymhXp6i4mTlZuYh4eLf3F4k4+ZiJKYlZ+di4qMnJufhn6FgHR2mpCag4eUsbS2paeqfXN1emlq/fHrwczYjJCXnaSpgHBp9uTa////sLm/Qz1Av7Kypa+8mZOKjJmkcGNlxLiyi5KfvL/JcW9xuKWf5u74nqexra2vf3qElpuWhomMdG11vbq6j4+Zua2ntrm8dHqCnaKiZ2lwn5CP////9f/+qaiwvry6kY+RlJCQiYiMxcG+//r1ycnJxMTE/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+////////6urqjY2NNDQ0AAAAAAAACgoKJiUlQUBAVlZWZWVlc3Nzfn5+goKChYWFh4eHh4eHhYWFg4ODgoKCgICAfX19enp6eXl3dnZ2fn5+X15gLS0tJiYmIiIiICAgHyAgICAgHh4eGhoaFhcXEBAQCQkJAAAAAAAAAAAAAQEBHR0dTU1NoqKi/////////v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////5ezxNDtAtaqix8TJ4t3dycvO19fV2NbW397c3+Li5+fp6ufl7+rq/f//a2yBdGdi7evr9Pr9srO45t3Y9e3v+///tb3FcGpxsqKb////xcvS7+rj////vr/B4tjS8/f+ysvP29za3trXvsTJu7a5////5+vu1M3G8PD0zdDT3t/dvrm4+fTz2N7m09LQztPUwcHB8e7sxsjLkY2V1NPV09TX39nW4eXmxLq4//r3////ysnN4dzbipKZppSK3+LlNzs+vbCrxMHG5OTiycrN2drY2dfV397a3uHf5ufp6efl8Ovr////3Obrcm1s3dDNzM/U0M/M6ennxs7Vx8LF3uLl1M7J4+Xqzc7O7Oro8Ons////////7/b7xcPA7Ozsw7/E///7////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////6+vrs7Ozc3JyOzs7FxcXBQYGAAAAAAAAAAAAAAAAAAAABgYGCQkJCwsLDQ0NDg4ODg4ODw8PEBAQDg4ODg4ODg4ODQ8LFRUVCwsLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgEBBwcHDw8PHh4eLy8vU1NTg4ODwsLC+fn5/////////v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////5ezv5eLf////x8nJ//32////////////////////////////////////9fn8y8zP9PDv////5+jq////////////////7O3t////////////////////////////////////////////////////////////////////////////////////////////////////////////////5+bm////////////////////////////////+Pv/1tfZ4ubp6+nn////xsjG////////////////////////////////////////////7+zx//v2////////////////5ebo////////////////////////////////////////////////////////////ycnJxMTE/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+/v7+////////////////+fn55eXlzs7OsrKynp6eiYmJbm5uY2NjWVlZT09PQkJCOzs7Nzc3MjIyMDAwLi4uLi4uLi4uMDAwMDAwMjIyOzs7RUVFS0tLVlZWYGBgZ2dnbm5uf39/kpKSoKCgt7e3z8/P5ubm/f39/////////////////v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+/v7+fn59/f39PT09PT08/Pz9PT09PT09PT09PT08/Pz9vb2+fn5+fn5////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ycnJxMTE/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+/////////v7+/v7+/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+/////v7+/v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7Ozsubm5////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7u7us7Oz8fHx8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8vLy8/Pz/f39ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8fHxqKio19fX3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc2tra29vb+vr6ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////6+vrurq6////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////7/T5wMHBwsG/+/j1////////39/n////////r7W40ca89vr/vb+99PDt4+fqw8nO9vLv8fr/qq2yzsrF6urq7O7wxMrNrq6s9O3k////////+vr63d/fs7W1ra2v+/Xu////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////8PT3P0NXX1JQ+/f0////ZXiOWUU/////LDpFHxAHcmZctbW3Ulhdr6iqEytCDwAC7ujnHik5QjsyOURKHQ4KkZOLfnxuusDDMi004tG+////vc7kEQ8TnZWEsLKyMjE31su/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////pqq8vrCy////w9LlAAAAf1xFzt/mAAAAuJyJ////+PXy////LEZcAAAA0bid/P//AAAA4sitkK+/AAAA6+Xg3OPrbHmDAAAA2sOt////orDHfm9z////////AAAKbFE3////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////lpur28zH/f//AA8eAAAAup+SssTPAAAAr6ScRlNdvqyX////AAACHQsA////9v/+AAAA07ifmrfCDAEA9PT0EB81BAAAq52R+/v5////8fDw////laKtCRklAAAAqpiH////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////sK64vsDLOk5lAAAAhoKCysPK4OfqBAkOjoeADhQdoY+FJ0FaAAAAcXBsiYB9x8rPAAAAvaSRYH6PAAAA0tbXAAICoZWLlJKf5tnP////////XG6GAAAAAAAAl4yA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////////ztjqExkiAAAAmX1q////oZ+s////1dzkgoOF0sS48fD6g4SMvban4+fompeZura7oKCg29jWqbK4qKKh////xNHXnqCglo6Q/fbv////2u7/AAAAZVVE+O7m////z8vL////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ycnJxMTE////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7OzsuLi4////////////////////////////////////////////////////8/n8PFRrAAAAXEUz////qcDYOTU88end////////////////////////////////////////////////////////////////////////////7Pb/EhUgtJiB5+72BwcWmHxp////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////yMjIy8vL////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9PT0urq6////////////////////////////////////////////////////6/T5homKl5aW///1////qrPBh4aG5tzU////////////////////////////////////////////////////////////////////////////////197lhYSGnJmee3l54tjQ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wsLCoqKi4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODgzMzMo6Oj////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////6+vrr6+vurq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6tra2zMzM//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + 0 + + + + + -0 + 5.158833333333333 + 4.531140972222222 + 1.875 + 0.2396347222222222 + 0.9375 + 0.1198173611111111 + + + 1.875 + 0.1007458333333333 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.239634722222222 + + + 1.875 + 0.239634722222222 + + + 1.875 + 0 + + + 0 + 0 + + + 0 + 0.239634722222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 1 + 0 + + 0.152778 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + setImage: Function + + + + + -0 + 6.640256944444444 + 4.875 + 1.370152777777777 + 1.083333333333333 + 0.6850763888888886 + 0.5416666666666666 + + + 5.95518055555556 + 4.33333333333333 + 7.32533333333333 + 5.41666666666667 + + + 4 + 0 + 2 + 2 + 1 + + + 1.370152777777777 + 1.083333333333333 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0 + + + 1.370152777777777 + 1.083333333333333 + + + + 0 + + + + + -0 + 8.483680555555557 + 6.291666666666667 + 0.6666666666666666 + 0.5277777777777778 + 0.3333333333333333 + 0.2638888888888889 + + + 8.15034722222222 + 6.02777777777778 + 8.81701388888889 + 6.55555555555556 + + + 4 + 0 + 2 + 2 + 1 + + + 0.6666666666666666 + 0.5277777777777778 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0 + + + 0.6666666666666666 + 0.5277777777777778 + + + + 0 + + + + + -0 + 7.827597222222222 + 3.645833333333333 + 3.638888888888889 + 1.236111111111111 + 1.819444444444444 + 0.6180555555555556 + + + 6.00815277777778 + 3.02777777777778 + 9.64704166666667 + 4.26388888888889 + + + 4 + 0 + 2 + 2 + 1 + + + 3.638888888888889 + 1.236111111111111 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0 + + + 3.638888888888889 + 1.236111111111111 + + + + 0 + + + + + -0 + 7.398491039311357 + 3.777092219200299 + 3.147462365821731 + 1.112482228266068 + 1.573731182910866 + 0.5562411141330341 + + + 5.82475985640049 + 3.22085110506727 + 8.97222222222222 + 4.33333333333333 + + + 4 + 0 + 2 + 0 + 1 + + + 3.147462365821731 + 1.112482228266068 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + -7.894919286223335e-16 + 0 + + + 3.14746236582173 + 1.112482228266068 + + + + 0 + + + + + -0 + 7.655412420206637 + 4.118649873243791 + 3.939175159586728 + 1.512700253512419 + 1.969587579793364 + 0.7563501267562095 + + + 5.68582484041327 + 3.36229974648758 + 9.625 + 4.875 + + + 4 + 0 + 2 + 0 + 1 + + + 3.939175159586728 + 1.512700253512419 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + -7.894919286223335e-16 + 0 + + + 3.939175159586727 + 1.512700253512419 + + + + 0 + + + + + -0 + 7.244531000013611 + 4.287177728856524 + 3.427604666639446 + 1.536755653398062 + 1.713802333319723 + 0.768377826699031 + + + 5.53072866669389 + 3.51879990215749 + 8.95833333333333 + 5.05555555555556 + + + 4 + 0 + 2 + 0 + 1 + + + 3.427604666639446 + 1.536755653398062 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + -7.894919286223335e-16 + 0 + + + 3.427604666639446 + 1.536755653398062 + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + 0 + 1 + 0 + 12 + 52 + 0.5 + + + diff --git a/images/docs/tutorial/tutorial_08-09.graffle/QuickLook/Preview.pdf b/images/docs/tutorial/tutorial_10.graffle/QuickLook/Preview.pdf similarity index 100% rename from images/docs/tutorial/tutorial_08-09.graffle/QuickLook/Preview.pdf rename to images/docs/tutorial/tutorial_10.graffle/QuickLook/Preview.pdf diff --git a/images/docs/tutorial/tutorial_08-09.graffle/QuickLook/Thumbnail.tiff b/images/docs/tutorial/tutorial_10.graffle/QuickLook/Thumbnail.tiff similarity index 100% rename from images/docs/tutorial/tutorial_08-09.graffle/QuickLook/Thumbnail.tiff rename to images/docs/tutorial/tutorial_10.graffle/QuickLook/Thumbnail.tiff diff --git a/images/docs/tutorial/tutorial_08-09.graffle/data.plist b/images/docs/tutorial/tutorial_10.graffle/data.plist similarity index 100% rename from images/docs/tutorial/tutorial_08-09.graffle/data.plist rename to images/docs/tutorial/tutorial_10.graffle/data.plist diff --git a/images/docs/tutorial/tutorial_10.graffle/image10.png b/images/docs/tutorial/tutorial_10.graffle/image10.png new file mode 100644 index 000000000000..c32a25ddf444 Binary files /dev/null and b/images/docs/tutorial/tutorial_10.graffle/image10.png differ diff --git a/images/docs/tutorial/tutorial_10.svg/image10.png b/images/docs/tutorial/tutorial_10.svg/image10.png new file mode 100644 index 000000000000..59e4946e8da9 Binary files /dev/null and b/images/docs/tutorial/tutorial_10.svg/image10.png differ diff --git a/images/docs/tutorial/tutorial_10.svg/tutorial_10.svg b/images/docs/tutorial/tutorial_10.svg/tutorial_10.svg new file mode 100644 index 000000000000..e87313504a18 --- /dev/null +++ b/images/docs/tutorial/tutorial_10.svg/tutorial_10.svg @@ -0,0 +1,1706 @@ + + + + + + Produced by OmniGraffle 6.5.2 2012-04-04 22:31:40 +0000 + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Canvas 1 + + + + + Layer 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Model + + + T + emplate + + + + V + iew + + + + + + + + + Scope Inheritance + + + + + Implicit Scope Declaration + + + + + Model / V + iew Data-binding + + + + + + + <phone-detail> + + + + + phoneDetail component + + + + + + + + + + + + + + + + + + + + + + + PhoneDetailControllerphone: Object + phoneDetail Scope + + + + + + </phone-detail> + + + + <img ng-src="{{$ctrl.phone.images[0]}}"/> + + + + <ul class="phone-thumbs"> <li ng-repeat= "img in $ctrl.phone.images"> <img ng-src="{{img}}" /> </li></ul> + + + + <ul class="specs"> <li>...</li> ...</ul> + + + + + <h1>{{$ctrl.phone.name}}</h1> + + + + + + <p>{{$ctrl.phone.description}}</p> + + + + + + + + + + + + + + RepeaterScopeimg: String + + + + + + + ng-repeat + + + + diff --git a/images/docs/tutorial/tutorial_10-11.graffle/QuickLook/Preview.pdf b/images/docs/tutorial/tutorial_12.graffle/QuickLook/Preview.pdf similarity index 100% rename from images/docs/tutorial/tutorial_10-11.graffle/QuickLook/Preview.pdf rename to images/docs/tutorial/tutorial_12.graffle/QuickLook/Preview.pdf diff --git a/images/docs/tutorial/tutorial_10-11.graffle/QuickLook/Thumbnail.tiff b/images/docs/tutorial/tutorial_12.graffle/QuickLook/Thumbnail.tiff similarity index 100% rename from images/docs/tutorial/tutorial_10-11.graffle/QuickLook/Thumbnail.tiff rename to images/docs/tutorial/tutorial_12.graffle/QuickLook/Thumbnail.tiff diff --git a/images/docs/tutorial/tutorial_10-11.graffle/data.plist b/images/docs/tutorial/tutorial_12.graffle/data.plist similarity index 100% rename from images/docs/tutorial/tutorial_10-11.graffle/data.plist rename to images/docs/tutorial/tutorial_12.graffle/data.plist diff --git a/images/docs/tutorial/tutorial_12.graffle/image10.png b/images/docs/tutorial/tutorial_12.graffle/image10.png new file mode 100644 index 000000000000..c32a25ddf444 Binary files /dev/null and b/images/docs/tutorial/tutorial_12.graffle/image10.png differ diff --git a/images/docs/tutorial/tutorial_12.svg/image10.png b/images/docs/tutorial/tutorial_12.svg/image10.png new file mode 100644 index 000000000000..59e4946e8da9 Binary files /dev/null and b/images/docs/tutorial/tutorial_12.svg/image10.png differ diff --git a/images/docs/tutorial/tutorial_12.svg/tutorial_12.svg b/images/docs/tutorial/tutorial_12.svg/tutorial_12.svg new file mode 100644 index 000000000000..f8c437f43e68 --- /dev/null +++ b/images/docs/tutorial/tutorial_12.svg/tutorial_12.svg @@ -0,0 +1,1844 @@ + + + + + + Produced by OmniGraffle 6.5.2 2012-04-04 22:31:40 +0000 + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Canvas 1 + + + + + Layer 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Model + + + T + emplate + + + + V + iew + + + + + + + + + Scope Inheritance + + + + + Implicit Scope Declaration + + + + + Model / V + iew Data-binding + + + + + + + <phone-detail> + + + + + phoneDetail component + + + + + + + + + + + + + + + + + + + + + PhoneDetail-Controllerphone: ObjectmainImageUrl: StringsetImage: Function + phoneDetail Scope + + + + + + </phone-detail> + + + + <img ng-src="{{$ctrl.mainImageUrl}}" /> + + + + <ul class="phone-thumbs"> <li ng-repeat="img in ..."> <img ng-src="{{img}}" ng-click="$ctrl.setImage(img)"/> </li></ul> + + + + <ul class="specs"> <li>...</li> ...</ul> + + + + + <h1>{{$ctrl.phone.name}}</h1> + + + + + + <p>{{$ctrl.phone.description}}</p> + + + + + + + + + + + + + RepeaterScopeimg: String + + + + + + + ng-repeat + + + + + *click* + + + + diff --git a/images/docs/tutorial/tutorial_proto.graffle/image7.png b/images/docs/tutorial/tutorial_proto.graffle/image7.png index 3a9618137f85..6d3ff1c228c7 100644 Binary files a/images/docs/tutorial/tutorial_proto.graffle/image7.png and b/images/docs/tutorial/tutorial_proto.graffle/image7.png differ diff --git a/images/docs/tutorial/tutorial_proto.svg/image7.png b/images/docs/tutorial/tutorial_proto.svg/image7.png new file mode 100644 index 000000000000..6d3ff1c228c7 Binary files /dev/null and b/images/docs/tutorial/tutorial_proto.svg/image7.png differ diff --git a/images/docs/tutorial/tutorial_proto.svg/tutorial_proto.svg b/images/docs/tutorial/tutorial_proto.svg/tutorial_proto.svg new file mode 100644 index 000000000000..476b56494c85 --- /dev/null +++ b/images/docs/tutorial/tutorial_proto.svg/tutorial_proto.svg @@ -0,0 +1,3 @@ + + + Produced by OmniGraffle 6.5.2 2011-05-09 23:14:43 +0000Canvas 1Layer 1function MyController(){ this.guy = 'Hank'; this.save = function(){ //do something nice }}ControllerModelroot scope Scope ReferenceViewData-binding<html></body></html>TemplateInput: <input name="guy" type="text">Name = <span ng:bind="guy"> </span><body ng:controller="MyCtrlr"><button ng:click="save()"> Save</button>child scopeguy: 'Hank'save: Function Scope Inheritance diff --git a/images/docs/tutorial/tutorial_proto.vdx b/images/docs/tutorial/tutorial_proto.vdx new file mode 100644 index 000000000000..fc365cc89d56 --- /dev/null +++ b/images/docs/tutorial/tutorial_proto.vdx @@ -0,0 +1,3727 @@ + + + + 12 + 52 + + + 7.68056 + 10.5 + 1 + 0.25 + 0.25 + 0.25 + 0.569444 + 1 + 1 + + + + + + + + + + + + + + 0.111111 + 0.111111 + + + 1 + 1 + 10.5 + 7.68056 + 3 + 0 + -0.0277778 + + + Layer 1 + 1 + 1 + 0 + + + + + + -0 + 1 + 1 + 4.513888888888889 + 5.531680555555556 + 2.402777777777778 + 1.603277777777778 + 1.201388888888889 + 0.8016388888888889 + + + 2.402777777777778 + 1.464388888888889 + -0 + + + 1 + + + 1 + 0.0138889 + #ff0d10 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 1.603277777777778 + + + 2.402777777777778 + 1.603277777777778 + + + 2.402777777777778 + 0 + + + 0 + 0 + + + 0 + 1.603277777777778 + + + + 0 + + + + + -0 + 4.513888888888889 + 5.726125 + 2.236111111111111 + 1.103277777777778 + 1.118055555555556 + 0.5516388888888889 + + + 2.236111111111111 + 0.964388888888889 + -0 + + + 1 + + + 1 + 0.0138889 + #ff0c1b + 0 + 0 + 0 + + + 1 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 1.103277777777778 + + + 2.236111111111111 + 1.103277777777778 + + + 2.236111111111111 + 0 + + + 0 + 0 + + + 0 + 1.103277777777778 + + + + 0 + + + + + -0 + 4.576388888888889 + 5.743041666666667 + 2.180555555555555 + 0.9166666666666666 + 1.090277777777778 + 0.4583333333333333 + + + 2.180555555555555 + 0.9166666666666666 + -0 + + + 1 + + + 0 + 0.0138889 + #ff0c1b + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.9166666666666666 + + + 2.180555555555555 + 0.9166666666666666 + + + 2.180555555555555 + 0 + + + 0 + 0 + + + 0 + 0.9166666666666666 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 0 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + function MyController(){ + this.guy = 'Hank'; + this.save = function(){ + //do something nice + } +} + + + + -0 + 4.451388888888889 + 4.930555555555555 + 1.277777777777778 + 0.3055555555555556 + 0.6388888888888888 + 0.1527777777777778 + + + 1.277777777777778 + 0.3055555555555556 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 1.277777777777778 + 0.3055555555555556 + + + 1.277777777777778 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 1 + 0 + + 0.25 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Controller + + + + -0 + 1 + 1 + 7.048611111111111 + 5.854166666666667 + 1.875 + 3.013888888888889 + 0.9375 + 1.506944444444444 + + + 1.875 + 2.875 + -0 + + + 1 + + + 1 + 0.0138889 + #4fff75 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 3.013888888888889 + + + 1.875 + 3.013888888888889 + + + 1.875 + 0 + + + 0 + 0 + + + 0 + 3.013888888888889 + + + + 0 + + + + + -0 + 1.555555555555556 + 4.826388888888889 + 2.916666666666667 + 5.069444444444445 + 1.458333333333333 + 2.534722222222222 + + + 2.916666666666667 + 4.930555555555555 + -0 + + + 1 + + + 1 + 0.0138889 + #f8ff29 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 5.069444444444445 + + + 2.916666666666667 + 5.069444444444445 + + + 2.916666666666667 + 0 + + + 0 + 0 + + + 0 + 5.069444444444445 + + + + 0 + + + + + -0 + 0.7638888888888888 + 2.069416666666667 + 0.02777777777777778 + 0.1666666666666667 + 0.01388888888888889 + 0.08333333333333333 + + + 0.02777777777777778 + 0.1666666666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.1666666666666667 + + + 0.02777777777777778 + 0.1666666666666667 + + + 0.02777777777777778 + 0 + + + 0 + 0 + + + 0 + 0.1666666666666667 + + + + 0 + + + + + -0 + 7.044770053286448 + 6.540841750467613 + 0.01388888888888889 + 0.3525186114648843 + 0.006944444444444444 + 0.1762593057324422 + + + 7.037825608842 + 6.71710105620005 + 7.04176406875325 + 6.36458244473517 + + + 4 + 0 + 2 + 0 + 1 + + + 0.01388888888888889 + 0.3525186114648843 + -0 + + + 2 + + + 1 + 0.0277778 + #29ff3e + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.3525186114648843 + + + 0.00393845991124427 + 0 + + + + 0 + + + + + -0 + 7.076388888888889 + 4.581052777777778 + 0.9583333333333334 + 0.3101166666666667 + 0.4791666666666667 + 0.1550583333333333 + + + 0.9583333333333334 + 0.3101166666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3101166666666665 + + + 0.9583333333333334 + 0.3101166666666665 + + + 0.9583333333333334 + 0 + + + 0 + 0 + + + 0 + 0.3101166666666665 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 1 + 0 + + 0.25 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Model + + + + -0 + 7.034722222222222 + 6.994875 + 1.180555555555556 + 0.5416666666666666 + 0.5902777777777778 + 0.2708333333333333 + + + 0.9444444444444444 + 0.2402777777777777 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #ffffff + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 1.007666736111111 + 0.4623412083333334 + + + 1.007666736111111 + 0.07932545833333332 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.1728888194444443 + 0.07932545833333332 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.1728888194444443 + 0.4623412083333334 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 1.007666736111111 + 0.4623412083333334 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + + + -0 + 7.069444444444445 + 7.004099305555555 + 0.8055555555555556 + 0.2396347222222222 + 0.4027777777777778 + 0.1198173611111111 + + + 0.8055555555555556 + 0.1007458333333333 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2396347222222222 + + + 0.8055555555555556 + 0.2396347222222222 + + + 0.8055555555555556 + 0 + + + 0 + 0 + + + 0 + 0.2396347222222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + root scope + + + + -0 + 1.256944444444444 + 1.810710416666667 + 2.291666666666667 + 0.239634722222222 + 1.145833333333333 + 0.119817361111111 + + + 4 + 0 + 2 + 2 + 1 + + + 2.291666666666667 + 0.239634722222222 + -0 + + + 1 + + + 0 + + + + + -0 + 0.3333333333333333 + 0.1215791666666664 + 0.6666666666666666 + 0.01388888888888889 + 0.3333333333333333 + 0.006944444444444444 + + + 0 + 0.128523611111111 + 0.666666666666667 + 0.128523611111111 + + + 4 + 0 + 2 + 2 + 1 + + + 0.6666666666666666 + 0.01388888888888889 + -0 + + + 2 + + + 9 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.01388888888888889 + + + 0.6666666666666666 + 0.01388888888888889 + + + + 0 + + + + + -0 + 1.534722222222222 + 0.119817361111111 + 1.513888888888889 + 0.2396347222222222 + 0.7569444444444444 + 0.1198173611111111 + + + 1.513888888888889 + 0.1007458333333333 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.239634722222222 + + + 1.513888888888889 + 0.239634722222222 + + + 1.513888888888889 + 0 + + + 0 + 0 + + + 0 + 0.239634722222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Scope Reference + + + + + + -0 + 1 + 1 + 9.409722222222221 + 5.630263888888889 + 1.875 + 3.461694444444444 + 0.9375 + 1.730847222222222 + + + 1.875 + 3.322805555555556 + -0 + + + 1 + + + 1 + 0.0138889 + #2222ff + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 3.461694444444444 + + + 1.875 + 3.461694444444444 + + + 1.875 + 0 + + + 0 + 0 + + + 0 + 3.461694444444444 + + + + 0 + + + + + -0 + 9.375 + 4.069444444444445 + 0.6666666666666666 + 0.3055555555555556 + 0.3333333333333333 + 0.1527777777777778 + + + 0.6666666666666666 + 0.3055555555555556 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 0.6666666666666666 + 0.3055555555555556 + + + 0.6666666666666666 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 1 + 0 + + 0.25 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + View + + + + -0 + 9.409722222222221 + 5.484381944444444 + 1.625 + 2.447902777777778 + 0.8125 + 1.223951388888889 + + + 1.625 + 2.309013888888889 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 2.447902777777778 + + + 1.625 + 2.447902777777778 + + + 1.625 + 0 + + + 0 + 0 + + + 0 + 2.447902777777778 + + + + 0 + + + + + -0 + 9.243055555555555 + 1.810710416666667 + 2.083333333333333 + 0.239634722222222 + 1.041666666666667 + 0.119817361111111 + + + 4 + 0 + 2 + 2 + 1 + + + 2.083333333333333 + 0.239634722222222 + -0 + + + 1 + + + 0 + + + + + -0 + 0.3333333333333333 + 0.05213472222222196 + 0.6666666666666666 + 0.01388888888888889 + 0.3333333333333333 + 0.006944444444444444 + + + 0 + 0.0590791666666664 + 0.666666666666667 + 0.0590791666666664 + + + 4 + 0 + 2 + 2 + 1 + + + 0.6666666666666666 + 0.01388888888888889 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.01388888888888889 + + + 0.6666666666666666 + 0.01388888888888889 + + + + 0 + + + + + -0 + 1.479166666666667 + 0.119817361111111 + 1.208333333333333 + 0.2396347222222222 + 0.6041666666666666 + 0.1198173611111111 + + + 1.208333333333333 + 0.1007458333333333 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.239634722222222 + + + 1.208333333333333 + 0.239634722222222 + + + 1.208333333333333 + 0 + + + 0 + 0 + + + 0 + 0.239634722222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Data-binding + + + + -0 + 0.3472222222222222 + 0.2188013888888886 + 0.6666666666666666 + 0.01388888888888889 + 0.3333333333333333 + 0.006944444444444444 + + + 0.0138888888888889 + 0.225745833333333 + 0.680555555555556 + 0.225745833333333 + + + 4 + 0 + 2 + 2 + 1 + + + 0.6666666666666666 + 0.01388888888888889 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.01388888888888889 + + + 0.6666666666666666 + 0.01388888888888889 + + + + 0 + + + + + + + -0 + 5.229166666666667 + 7.534722222222222 + 10.23611111111111 + 0.01388888888888889 + 5.118055555555555 + 0.006944444444444444 + + + 0.111111111111111 + 7.52777777777778 + 10.3472222222222 + 7.54166666666667 + + + 4 + 0 + 2 + 2 + 1 + + + 10.23611111111111 + 0.01388888888888889 + -0 + + + 2 + + + 1 + 0.0277778 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0 + + + 10.23611111111111 + 0.01388888888888889 + + + + 0 + + + + + -0 + 0.5277777777777778 + 7 + 0.6666666666666666 + 0.3055555555555556 + 0.3333333333333333 + 0.1527777777777778 + + + 0.6666666666666666 + 0.1666666666666667 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #fff82f + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 0.6666666666666666 + 0.3055555555555556 + + + 0.6666666666666666 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + <html> + + + + -0 + 0.5972222222222222 + 3.499986111111111 + 0.75 + 0.3055555555555556 + 0.375 + 0.1527777777777778 + + + 0.75 + 0.1666666666666667 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #f5ff36 + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 0.75 + 0.3055555555555556 + + + 0.75 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + </body> + + + + -0 + 0.5694444444444444 + 3.104152777777778 + 0.75 + 0.3055555555555556 + 0.375 + 0.1527777777777778 + + + 0.75 + 0.1666666666666667 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #f5ff36 + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 0.75 + 0.3055555555555556 + + + 0.75 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + </html> + + + + -0 + 1.479166666666667 + 2.541652777777778 + 1.208333333333333 + 0.3055555555555556 + 0.6041666666666666 + 0.1527777777777778 + + + 1.208333333333333 + 0.3055555555555556 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 1.208333333333333 + 0.3055555555555556 + + + 1.208333333333333 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 1 + 0 + + 0.25 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Template + + + + -0 + 1.340277777777778 + 5.28125 + 2.180555555555555 + 0.4027777777777778 + 1.090277777777778 + 0.2013888888888889 + + + 2.180555555555555 + 0.2638888888888889 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #f5ff36 + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.4027777777777778 + + + 2.180555555555555 + 0.4027777777777778 + + + 2.180555555555555 + 0 + + + 0 + 0 + + + 0 + 0.4027777777777778 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Input: <input name="guy" + type="text"> + + + + -0 + 1.451388888888889 + 4.798611111111111 + 2.402777777777778 + 0.4027777777777778 + 1.201388888888889 + 0.2013888888888889 + + + 2.402777777777778 + 0.2638888888888889 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #f5ff36 + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.4027777777777778 + + + 2.402777777777778 + 0.4027777777777778 + + + 2.402777777777778 + 0 + + + 0 + 0 + + + 0 + 0.4027777777777778 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Name = <span ng:bind="guy"> + </span> + + + + -0 + 1.548611111111111 + 5.763875000000001 + 2.652777777777778 + 0.3055555555555556 + 1.326388888888889 + 0.1527777777777778 + + + 2.652777777777778 + 0.1666666666666667 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #f5ff36 + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 2.652777777777778 + 0.3055555555555556 + + + 2.652777777777778 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + <body ng:controller="MyCtrlr"> + + + + -0 + 1.1875 + 4.125 + 1.875 + 0.7777777777777778 + 0.9375 + 0.3888888888888889 + + + 1.875 + 0.6388888888888888 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #f5ff36 + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.7777777777777778 + + + 1.875 + 0.7777777777777778 + + + 1.875 + 0 + + + 0 + 0 + + + 0 + 0.7777777777777778 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + <button + ng:click="save()"> + Save +</button> + + + + -0 + 7.048611111111111 + 5.751738888888889 + 1.652777777777778 + 1.211838888888889 + 0.8263888888888888 + 0.6059194444444443 + + + 4 + 0 + 2 + 2 + 1 + + + 1.652777777777778 + 1.211838888888889 + -0 + + + 1 + + + 0 + + + + + -0 + 0.8263888888888888 + 0.6059194444444445 + 1.652777777777778 + 1.211838888888889 + 0.8263888888888888 + 0.6059194444444445 + + + 1.322222222222222 + 0.7093983333333331 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #ffffff + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 1.410733430555556 + 1.034368719127778 + + + 1.410733430555556 + 0.177470169761111 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.2420443472222221 + 0.177470169761111 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.2420443472222221 + 1.034368719127778 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 1.410733430555556 + 1.034368719127778 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + + + -0 + 0.8527631944444438 + 0.9829131944444442 + 0.8615541666666666 + 0.2819513888888889 + 0.4307770833333333 + 0.1409756944444444 + + + 0.8615541666666666 + 0.1430625 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2819513888888889 + + + 0.8615541666666667 + 0.2819513888888889 + + + 0.8615541666666667 + 0 + + + 0 + 0 + + + 0 + 0.2819513888888889 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + child scope + + + + -0 + 0.9582631944444446 + 0.6447131944444444 + 0.8615541666666666 + 0.3443791666666667 + 0.4307770833333333 + 0.1721895833333333 + + + 0.8615541666666666 + 0.2054902777777778 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3443791666666666 + + + 0.861554166666666 + 0.3443791666666666 + + + 0.861554166666666 + 0 + + + 0 + 0 + + + 0 + 0.3443791666666666 + + + + 0 + + + + + -0 + 1.066690277777778 + 0.4407131944444441 + 1.078408333333333 + 0.3443791666666667 + 0.5392041666666666 + 0.1721895833333333 + + + 1.078408333333333 + 0.2054902777777778 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3443791666666666 + + + 1.078408333333333 + 0.3443791666666666 + + + 1.078408333333333 + 0 + + + 0 + 0 + + + 0 + 0.3443791666666666 + + + + 0 + + + + + + + -0 + 7.097222222222222 + 5.678138888888889 + 1.402777777777778 + 0.3055555555555556 + 0.7013888888888888 + 0.1527777777777778 + + + 1.402777777777778 + 0.1666666666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 1.402777777777778 + 0.3055555555555556 + + + 1.402777777777778 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 0 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + guy: 'Hank' + + + + + -0 + 3.184027695574949 + 5.747755662340568 + 0.6041668310723247 + 0.01388888888888889 + 0.3020834155361624 + 0.006944444444444444 + + + 2.88194428003879 + 5.75470010678501 + 3.48611111111111 + 5.75054273165305 + + + 4 + 0 + 2 + 0 + 1 + + + 0.6041668310723247 + 0.01388888888888889 + -0 + + + 2 + + + 9 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + -3.947459643111667e-16 + 0.01388888888888889 + + + 0.6041668310723244 + 0.009731513756922223 + + + + 0 + + + + + -0 + 5.940976765578696 + 5.741862132774235 + 0.548620197824058 + 0.01388888888888889 + 0.274310098912029 + 0.006944444444444444 + + + 5.66666666666667 + 5.74687677657546 + 6.21528686449073 + 5.74880657721868 + + + 4 + 0 + 2 + 0 + 1 + + + 0.548620197824058 + 0.01388888888888889 + -0 + + + 2 + + + 9 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.01195908824567206 + + + 0.548620197824058 + 0.01388888888888889 + + + + 0 + + + + + -0 + 3.652778062386409 + 6.992787546096337 + 5.569445017969653 + 0.01388888888888889 + 2.784722508984827 + 0.006944444444444444 + + + 0.868055553401582 + 6.99973199054078 + 6.43750057137123 + 6.99534538625939 + + + 4 + 0 + 2 + 0 + 1 + + + 5.569445017969653 + 0.01388888888888889 + -0 + + + 2 + + + 9 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + -9.868649107779169e-17 + 0.01388888888888889 + + + 5.569445017969652 + 0.009502284607499491 + + + + 0 + + + + + -0 + 7.097222222222222 + 5.536983333333334 + 1.402777777777778 + 0.3101166666666667 + 0.7013888888888888 + 0.1550583333333333 + + + 1.402777777777778 + 0.1712277777777778 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3101166666666665 + + + 1.402777777777778 + 0.3101166666666665 + + + 1.402777777777778 + 0 + + + 0 + 0 + + + 0 + 0.3101166666666665 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + save: Function + + + + -0 + 9.680555555555555 + 6.379701388888889 + 0.75 + 0.3101166666666667 + 0.375 + 0.1550583333333333 + + + 0.75 + 0.3101166666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3101166666666665 + + + 0.75 + 0.3101166666666665 + + + 0.75 + 0 + + + 0 + 0 + + + 0 + 0.3101166666666665 + + + + 0 + + + + + -0 + 9.680555555555555 + 5.640613194444445 + 0.7083333333333334 + 0.2396347222222222 + 0.3541666666666667 + 0.1198173611111111 + + + 0.7083333333333334 + 0.2396347222222222 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.239634722222222 + + + 0.7083333333333334 + 0.239634722222222 + + + 0.7083333333333334 + 0 + + + 0 + 0 + + + 0 + 0.239634722222222 + + + + 0 + + + + + -0 + 9.395833333333334 + 5.537143055555556 + 1.513888888888889 + 2.152777777777778 + 0.7569444444444444 + 1.076388888888889 + + + 1.513888888888889 + 2.013888888888889 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 2.152777777777778 + + + 1.513888888888889 + 2.152777777777778 + + + 1.513888888888889 + 0 + + + 0 + 0 + + + 0 + 2.152777777777778 + + + + 0 + 0 + 1.51389 + 2.15278 + + Qk0AAAAAAAAAADYAAAAoAAAAcQAAAJsAAAABABgAAAAAANzNAAAAAAAAAAAAAAAAAAAAAAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A/////////////////////////////////////////v7+/v7++/v7+fn5+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+fn5+/v7/v7+/v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP////////////////////////////////39/fb29urq6t7e3tTU1MzMzMnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJyczMzNTU1N7e3urq6vb29v39/f///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD////////////////////////////6+vro6OjHx8ecnJx9fX1ubm5qamppaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlqampubm59fX2cnJzHx8fo6Oj6+vr///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////+fn529vbo6OjcnJyhISEvLy84+Pj/Pz8/////////////////////////////////////////////////////////////////////////////////////////Pz84+PjvLy8hISEcnJyo6Oj29vb+fn5////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP////////////////////r6+tvb25aWlnp6etzc3Pn5+f39/f7+/v////////////////////////////////////////////////////////////////////////////////////////////////7+/v39/fn5+dzc3Hp6epaWltvb2/r6+v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD////////////////9/f3o6OiioqKJiYnr6+v7+/v9/f39/f39/f39/f38/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz7+/v8/Pz8/Pz8/Pz9/f38/Pz7+/vr6+uJiYmioqLo6Oj9/f3///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////9vb2xsbGf39/3d3d9PT09/f3+Pj49/f3+Pj4+Pj46u/24uHr7+vk9vb29vb29vb26u/2+O/p9/f36ur5+PPs9vb29vb29vb29vb29vb29/f39/f39/f36+ry7+vr9/f39/f39/f39/f39/f39/f39PT03t7ef39/xsbG9vb2////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP////////////7+/urq6pqamry8vOjo6PLy8vPz8/T09PX19fX19TWK5wAAAAAAAAAAAKh0APX31nKr7gAAAAAAAGxuRQAAPM6SAPT09Mvy9QAAjMSDAPT09PT09NTs+ABOrgAAAAAAAJUzAPX23vX19fT09PT09PPz8/Ly8unp6b29vZqamurq6v7+/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD////////////9/f3e3t6JiYnOzs7u7u7w8PDx8fHx8fHx8fHy8vLAyenn2cHx8fG54foAAGPXwwAAALiyaQDt8fE4jNaNEgDy9NPx8fF4tfMAAABaABb07aTt8fEAXs+URgDz8Mbx8fHl4Ojx8urx8fHx8fHx8fHx8fHw8PDu7u7Ozs6JiYne3t79/f3///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////+/v709PTl5eX2NjY7Ozs7e3t7u7u7+/v7+/v8PDw7+/v7+/v7+/vt9/4AABx17AARZDgTAARyLiDaqXPjBIA8PHZ5vDuADa4qpMAADym16oAxu3wAAB+sIsAv8XMwMDA2MjD7/Do7+/v7+/v7+/v7e3t7e3t7Ozs2NjYmJiY09PT+/v7////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP////////////n5+czMzKCgoODg4Onp6evr6+zs7O3t7e3t7e3t7e3t7eDu7Hqc0QAAAGIAGfDgou3t7bfL6IaLoTVogZExAO7wz6TZ+AAAAPHib2Or94QAJMvu0AAAiGI9AHFxcQBHeIQAJO7wz+3t7e3t7e3t7ezs7Ovr6+np6eHh4aCgoMzMzPn5+f///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD////////////7+/vS0tKdnZ3j4+Po6Ojp6enp6enp6enq6urq6urH5O8ALZMAAACnhy3t6sLr6+u+0u3Vwanr6+sgf9SQCwbs7dUdftuWLwDs7NzD6ewAAG/fxUcAW8qoZwDr7OQ0jdudQQDr69vq6urq6urp6enp6enp6enn5+fj4+OdnZ3S0tL7+/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A/////////////f393d3djo6O29vb5eXl5+fn5+fn6Ojo6enp6enpT5niVwAV6NOf6enp6enp6enpocz0ACBoAAAAPQAM1bRk1OvnFzmh2blG6enp6enpRYXWwIwAy+fqE1ejAAAAaiIA6Nia6enp6enp6Ojo6Ojo5+fn5ubm5OTk29vbjo6O3d3d/f39////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP////////////7+/unp6YiIiMjIyOPj4+Tk5OXl5ejo6O3t7fDw8Gaw7G0AHfLrueLr8cS9z+/s1O7v7+/v7+7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7v7+/v7+7u7u7u7u/v7/Dw8PDw8PDw8O/v7+3t7efn5+Xl5eXl5ePj48jIyIiIiOnp6f7+/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD////////////////19fWkpKSjo6Pk5eXp6Ojt7e/z8/Pz8/Pz8/PP7PkAQZ4AAAAAAABAAA3266Hz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Py8vLt7e3l5eXi4uKjo6Ojo6P19fX///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A/////////////////f394eHhgICA0tLS7Ozs9PT09PX19fX19fX19fX19fX1397w5d/g9vHq9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19PT08/Pz6urqzs/Nfn5+4eHh/f39////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP////////////////////n5+bOzs4iIiOfn5/X19fb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vX19eTk5IWFhbOzs/n5+f///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD////////////////////+/v74+PiioqKDg4Pg4OD5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4+Pje3t6BgYGgoKD4+Pj+/v7///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////+vr6tra2bm5un5+f0tLS7e3t+fn5/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8+fn57e3t0dHRnp6ebGxstra2+vr6////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP////////////////////////////////39/e3t7aioqHp6emZmZl1dXV5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl1dXWZmZnp6eqioqO3t7f39/f///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD////////////////////////////////////////+/v79/f36+vr39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f6+vr9/f3+/v7///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP////////////////////////////////////////////////fw//////////////b//vfx8v////////f2/v///////////////////////////////////////////////////////////+3x/+rq6v/86/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////b//vfx8v////////f2/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD////////e/f8YUq0AAAAAAACGPAD/+7r///////////+q3/+NED3//9////+x3/8AAGgAAACGPAB1oacAAABmABpWfqYAAAAAAACpgy+NscwAAD4AAAB0JQCxxawAOIcAAAAwAAfgwGJmm+AAAAAAAAAAAADWrFj////////////////////////////////////////////////////////////////////2//5BcM8AAAAAAAAAAAC1dxn///Cr2/8AAFcAAAAAAABRABP734ex3/8AAGgAAACGPAB1oacAAABmABpHd6IAAAAAAAC1ky5plckAAAAAAACgeQAaVKUAAAAAAADBkjN6tuIAAAAAAACGPAD/+sT///////////////////////////////////////////////////////////////////////////8A////////////////AHnjqkYA///w////////////1P7/AACSnTUA///n////SpnuAAAAu5sMp87cAABXQwAOv7SB9ezHADnEnTUA///n////N5HyMAAH/+6P////t+r/AAA+6roAfsb/AAAAMAAHwK5nnLfJAABX78EA////////////////9/v78vLy9/f39/f39/f39/f39/f38vH7+/z0////////////////////OYnuAAAA05IA////////////yfn/AABoXwAY//yj////SpnuAAAAu5sMp87cAABXQwAOv7SB8e3HACC+nTUA///w9v/+AEzIcwAf//+67f/+ACa1jQAo///wPHfkAAAAwosA///4////////////////////////////////////////////////////////////////////////////////AP///////////////2u5/9OIAP///////////+3//gBPwAAAAJ1KAP//3////1We+wAAAP/qeP///zWP+VEAE//8o/H//gA5xJ01AP//5////4fF/1EAE//2qv///8n5/wAAaO/YHwBMyAAAAPbbbv///////73v/5QtYP//3////////////wB/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAM6DAP///////////////////0qQ8gAAAPPRPf///////////8n5/wAAeZ1KAP//5////1We+wAAAP/qeP///zWP+VEAE//8o/H//gA5xJ01AP//3////zeR8p0LCP//5/H//gA5xKplAIK93gAAAKplAP//5////////////////////////////////////////////////////////////////////////////////////wD///////////////99y//OgAD///////////86iuYAAAAAAACVACv//+f////Z/f8AAKV9ACL/+7pJmPZRABP/9qrx//4AOcSdNQD//+f///+O1v9DAA7/9qr////J+f8AAFfm0zcAT8CkSAD///j///////////////////////////////+50PqxsqaxsbGxsbGxsbGxsbGxsbGrsrDt063///////////////////9KkPIAAADz0T3////////////J8/8AAHmdSgD//+f////Z/f8AAKV9ACL/+7pJmPZRABP/9qrx//4AOcSdNQD//+f///8bkfGdCwj//+fx//4AT8AAAAAAAABpABv//K7///////////////////////////////////////////////////////////////////////////////////////8A////////////////fcv/zoAA////////d7r8AAAAAAAArL13lEFr///f////////9v/+i67mAABXAAAAXwAY//aq8f/+ADnEnTUA///n////Yqb4UQAT//aq////zvn/AABo5tM3ADnEfVAApa2gpaWlq6ygq6q27c2m////////////////////////////////////////////////////////////////////////SpDyAAAA/NZP////////////z/7/AABonUoA///n////////9v/+i67mAABXAAAAXwAY//aq8f/+ADnEnTUA///n////N5HynQsI///n8f/+AE/AAAAAAAAA/Ntc////////////////////////////////////////////////////////////////////////////////////////////AP///////////////33L/86AAP///6Tb/wAAAAAAANynAMn/+4wAZ///3////73q/wAAV//gZfv//zyB4UMADv/3nvv//wA5xI06AP//2P///zeR8kMADv/uj////7Dk/wAAAPPRPSKA6UMADrmzj7e4rABhqAAAAM6KAP///////////////3mm8V1eQ2ZmZmZmZmZmZmZmZmZmZk5dW9ytO////////////////////0qQ8gAAADAABy4uLi4uLi4uLgAAPgAAAJ1KAP//5////73q/wAAV//gZfv//zyB4UMADv/3nvH//gAAuJU4AP//3/v//wBMyJ01AP//5/H//gA5xHQlADhvl6pYAP//3////////////////////////////////////////////////////////////////////////////////////////wD///////////////99y//YhwDU/v8AAIYAAAC2bgD///DD8/+MAGf//9////+w5P8AAADvwQD///8AeeOGACX9/81xmuAAAD4AAACNOgCwy7sAHX8AAABRABPKxZYUXrIAAAD30T697/8AAFfvzEzj//0AQLEAAAD84WT///////////////9unvRRQhhPT09PT09PT09PT09PT09APljXpyL///////////////////9KkPIAAADGqEXS19fS0tLX0dKbwtsAAD6dSgD//+f///+w5P8AAADvwQD///8AeeOGACX9/82KtOoAAD4AAACdZwCVuMgAAFedNQD//+fx//4AOcSkMwD///gned19IgD67bP///////////////////////////////////////////////////////////////////////////////////8A////////////////h8v/qYQAAGCyAAAAjRkA///N////w/P/lC1g///n////+///gq7mLABYK1FNQwAO7tB+////ytr6a5CxlVgsjbLEAAA+QzAA5L9jrNf1ACNyAAAAvIIA///n////veT/ITKUAAAAXysA6cqF////////////////////////////////////////////////////////////////////////////SpDyAAAA99ZN////////////z/7/AAB5nUoA///n////+///gq7mLABYK1FNQwAO7tB++///rcfpWG2YhkwAf6etAAAAUQAT8s9/////8f/+ADnEnTUA///wcZLbT09PUEBCwZBT///w////////////////////////////////////////////////////////////////////////////AP///////////////47W/wAAAAAAAFEAE//ypP///////8n5/2cAbP//v////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////0qQ8gAAAPPRPf///////////8n5/wAAeZ1KAP//5/////////////////////////////////////////////////////////////////H//gA5xJ01AP//3////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////9ZmucAAAAAAAD31mb///////////+d3P8wAAf/7o////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////85kuoAAADOiQD////////////J8/8AAGhRABP/9qr////////////////////////////////////////////////////////////////U8/8ACZmdNQD//+f///////////////////////////////////////////////////////////////////////////////////////////////8A////////3v3/GFKtAAAAAAAA4bQl////////////eKz1AAAAAAAAAAAA5blY////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9v/+QXDPAAAAAAAAAAAAtngA///wpNv/AABXAAAAAAAAUQAT+9+H////////////////////////////////////////////////////////3v3/NmCpAAAAlRMA///f////////////////////////////////////////////////////////////////////////////////////////////////AP////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////H7/+re6v//+P///////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+5ubnPz8/d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3Pz8+5ubn///////////////////////////////8A////////////////////////////////////////////////////////////6Pz/qqjKt7issbi3uKOn//3c////////////////////////////////////////////////////////////////////////////////////////////////////w8PD8PDw/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+8PDww8PD////////////////////////////////AP////////////////////////////////////////////////////////////b//oG16gAAAFEAE9/Kkf//5////////////////////////////////////////////////////////////////////////////////////////////////////8PDw/Dw8P////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Dw8MPDw////////////////////////////////wD////////////////////////////////////////////////////////////////t//4AALi9egD////////////////////////////////////////////////////////////////////////////////////////////////////////////Dw8Pw8PD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////w8PDDw8P///////////////////////////////8A////////////////////////////////////////////////////////////////8f/+ACC+2JoA9v/+8u7u///4////////////////8ff++PLr////+/b+////////////+///8u31///4////9v/+/Pfu////////////////////////////w8PD8PDw////////////////////////////////////////////9vv/9/Hy////8fv//Pfu////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8PDww8PD////////////////////////////////AP////////b//kF8ywAAAAAAAAAAAII9AEZ7qwAAAAAAALWTLmmVyQAAAAAAALZ4APL/7wA5xAAAAAAAAAAAAGkAG/7oov///////26m8AAAAAAAAIV0AAAAeXNfANWxhPv//yd53QAAAFEAE+7qlABMyEMADv/vj////////////////////////8PDw/Dw8P///////8n5/wAAaPfWTf///////8n5/0EAWf/3nrHf/wAAVwAAAHNfAAAjcqQzAMr860AAav/3nv///4fR/5UTAP//54fR/5UTAP//59n9/wAApZ1KAP//2P////////////////////////////////////////////////////////////////////////////////////////////////////Dw8MPDw////////////////////////////////wD///////////////9+v/8AAADHgQD////x//4AIL6dNQD///D2//4ATMhzAB///7rx//4APbp9IgD/+sTt//4AW8VzAB///7/U/v8AAIZpABvi2qYojdUAAABpKADx36HJ+f8AAGidWwCv1c/Tq30ATMhDAA7/74/////////////////////////Dw8Pw8PD////////J+f8AAFfz0T3////////J+f9BAFn/9543mu59ACL//82Qxv5DAA7/957J+f9BAFn/957///+H0f+VACv//+eHy/+dCwjp/+8AAK6GHQD//8j////////////////////////////////////////////////////////////////////////////////////////////////////////w8PDDw8P///////////////////////////////8A////////////////j9H/AAAA0poA////8f/+ADnEnTUA///f////N5HynQsI///n8f/+ACC+2JIA////////sOT/AAAA4bQAyfP/AABo2JoA////9v/+ADnEnTUA///nyfn/AABo2JkA////////+/////v0////////////////////////////w8PD8PDw////////yfn/AABX/NZP////////z/7/QQBZ//eej9H/AAAAxq5Up87cQgBB//eeyfn/QQBZ//aq////h9H/lQAr///nh9H/XwAYAEyCjToA//+/////////////////////////////////////////////////////////////////////////////////////////////////////////////8PDww8PD////////////////////////////////AP///////////////4/R/wAAANKRAP////H//gA5xJ01AP//5////xuR8Z0LCP//5/H//gAgvtOSAP///////875/wAAedOSAMn5/wAAaNOSAP////H//gA5xJ01AP//58n5/wAAaNOSAP///////////////////////////////////////////8PDw/Dw8P///////8n5/wAAaLWUAMLBzcLDuZW4yEMADv/3nv///9rt/5acvW2KlVEAE//3nsn5/wAAV//qeP///4bQ/5UAK///54/R/1EAEwA/asJ4AP//+P////////////////////////////////////////////////////////////////////////////////////////////////////////////Dw8MPDw////////////////////////////////wD///////////////+P0f8AAADSkQD////x//4AOcSdNQD//+f///83kfKdCwj//+fx//4AIL7TkgD////////O+f8AAGjTkgDJ+f8AAGjTkgD////x//4AOcSdNQD//+fJ+f8AAGjTkgD////////////////////////////////////////////Dw8Pw8PD////////J+f8AAGhpUwBvenhwcHBMc25RABP/957j/P/TwMP//+eHxf9RABP//KPJ8/8AAGhfABjt36FYqeiNACj//9+H0f+kARDe/vIAAJLHigD////////////////////////////////////////////////////////////////////////////////////////////////////////////w8PDDw8P///////////////////////////////8A////////////////j9H/AAAA0pEA////8f/+AAC4lTgA///f+///AEzInTUA///n7f/+AACuvW8A////////frj/AAAA0pEAyfP/AABo0pEA////8f/+ADnEnTUA///nzvn/AABo0poA////////6fH/7+Xd////////////////////////////w8PD8PDw////////yfn/AABX/NZP////////z//8QQBZ//ee3v3/HFWhAAAAAAAAxpoY///41Pn/cCuLpMGlAABoAAAA4LJj////h9H/lQAr///nye7/AACG6sY7////////////////////////////////////////////////////////////////////////////////////////////////////////8PDww8PD////////////////////////////////AP///////////////4/R/wAAANKRAPv//4q06gAAPgAAAJ1nAJW4yAAAV501AO7/5miU0wAAAAAAAK+LFYWsvgAAPgAAAPzbb730/wAAANKRAP///+n//QAmtZ01AP//36vc/wAAPryDAO7v5/L/7wAgvkMADv/3nv///////////////////////8PDw/Dw8P///////8n5/wAAV/PRPf///////8n5/0EAWf/3nv///////////////////////////////////////////////////4fR/5UAK///5/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Dw8MPDw////////////////////////////////wD///////////////+P0f8AAADSkQD7//+tx+lYbZiGTAB/p60AAABRABPyz3/x//6uwOVJbpipgy9Uh7UAAABDAA7guG3e/f9HXqksQ0Dcpibj//02Ua1BQUGvbTL//+cAV9YAAAAwAAdQAEPz4IUscM90JQD/+7r////////////////////////Dw8Pw8PD////////J+f8AAGj31k3////////J+f9BAFn/957///////////////////////////////////////////////////99y/+NACj//9/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////w8PDDw8P///////////////////////////////8A////////////////j9H/AAAA0poA////////////////////////////////////////////////////////////////////////////////////////////////////8f/+AFnN04kA////////////////////////////////////////////w8PD8PDw////////////////////////////////////////////////////////////////////////////////////////////yer/yqKe///w////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8PDww8PD////////////////////////////////AP///////////////364/wAAAMKCAP///////////////////////////////////////////////////////////////////////////////////////////////////////979/967tf///////////////////////////////////////////8PDw/Dw8P////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Dw8MPDw////////////////////////////////wD////////2//5BfMsAAAAAAAAAAACGPAD/+7r////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Dw8Pw8PD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////w8PDDw8P///////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////w8PD8PDw////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8PDww8PD////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////5qamrm5ucPDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw7m5uZqamv///////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9paWl3d3d8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx3d3dpaWn///////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wA= + + 0 + + + + + -0 + 8.340277777777779 + 6.027777777777778 + 1.930555555555556 + 0.6111111111111112 + 0.9652777777777778 + 0.3055555555555556 + + + 7.375 + 5.72222222222222 + 9.30555555555556 + 6.33333333333333 + + + 4 + 0 + 2 + 2 + 1 + + + 1.930555555555556 + 0.6111111111111112 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0 + + + 1.930555555555556 + 0.6111111111111112 + + + + 0 + + + + + -0 + 8.395833333333334 + 5.534722222222222 + 2.041666666666667 + 0.3194444444444444 + 1.020833333333333 + 0.1597222222222222 + + + 7.375 + 5.69444444444444 + 9.41666666666667 + 5.375 + + + 4 + 0 + 2 + 2 + 1 + + + 2.041666666666667 + 0.3194444444444444 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.3194444444444444 + + + 2.041666666666667 + 0 + + + + 0 + + + + + -0 + 7.826388888888889 + 5.065958333333334 + 1.875 + 0.7847500000000002 + 0.9375 + 0.3923750000000001 + + + 6.88888888888889 + 5.45833333333333 + 8.76388888888889 + 4.67358333333333 + + + 4 + 0 + 2 + 2 + 1 + + + 1.875 + 0.7847500000000002 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.7847500000000002 + + + 1.875 + 0 + + + + 0 + + + + + -0 + 5.572916666666667 + 1.810710416666667 + 2.402777777777778 + 0.239634722222222 + 1.201388888888889 + 0.119817361111111 + + + 4 + 0 + 2 + 2 + 1 + + + 2.402777777777778 + 0.239634722222222 + -0 + + + 1 + + + 0 + + + + + -0 + 0.3333333333333333 + 0.1215791666666664 + 0.6666666666666666 + 0.01388888888888889 + 0.3333333333333333 + 0.006944444444444444 + + + 0 + 0.128523611111111 + 0.666666666666667 + 0.128523611111111 + + + 4 + 0 + 2 + 2 + 1 + + + 0.6666666666666666 + 0.01388888888888889 + -0 + + + 2 + + + 1 + 0.0277778 + #17ff1c + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.01388888888888889 + + + 0.6666666666666666 + 0.01388888888888889 + + + + 0 + + + + + -0 + 1.590277777777778 + 0.119817361111111 + 1.625 + 0.2396347222222222 + 0.8125 + 0.1198173611111111 + + + 1.625 + 0.1007458333333333 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.239634722222222 + + + 1.625 + 0.239634722222222 + + + 1.625 + 0 + + + 0 + 0 + + + 0 + 0.239634722222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Scope Inheritance + + + + + + -0 + 5.229166666666667 + 2.104166666666667 + 10.23611111111111 + 0.01388888888888889 + 5.118055555555555 + 0.006944444444444444 + + + 0.111111111111111 + 2.09722222222222 + 10.3472222222222 + 2.11111111111111 + + + 4 + 0 + 2 + 2 + 1 + + + 10.23611111111111 + 0.01388888888888889 + -0 + + + 2 + + + 1 + 0.0277778 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0 + + + 10.23611111111111 + 0.01388888888888889 + + + + 0 + + + + + + + + + + + + + + + + + + 0 + 0 + 1 + 0 + 12 + 52 + 0.5 + + + diff --git a/images/docs/tutorial/xhr_service.svg b/images/docs/tutorial/xhr_service.svg new file mode 100644 index 000000000000..32bedde2b0c4 --- /dev/null +++ b/images/docs/tutorial/xhr_service.svg @@ -0,0 +1,3 @@ + + + Produced by OmniGraffle 6.5.2 2011-05-11 19:48:00 +0000Canvas 1Layer 1Root ScopeDependency Injectorfunction PhoneListCtrl($xhr){ ...}ControllerModel Implicit Scope DeclarationPhoneListCtrl scopephones: Array Scope InheritanceService Factory Repository$xhr$browser$route... Dependency Injection1Dependency injector identifies $xhr service as PhoneListCtrl controller's only dependency1DI checks if $xhr service has already been instantiated, and if not uses the factory function from the service factory repository to construct it223DI provides the instance of $xhr service to the PhoneListCtrl controller constructor.3ng:controller diff --git a/images/docs/tutorial/xhr_service.vdx b/images/docs/tutorial/xhr_service.vdx new file mode 100644 index 000000000000..bf3ae1b16439 --- /dev/null +++ b/images/docs/tutorial/xhr_service.vdx @@ -0,0 +1,3381 @@ + + + + 12 + 52 + + + 7.68056 + 10.5 + 1 + 0.25 + 0.25 + 0.25 + 0.569444 + 1 + 1 + + + + + + + + + + + + + + 0.111111 + 0.111111 + + + 1 + 1 + 10.5 + 7.68056 + 3 + 0 + -0.0277778 + + + Layer 1 + 1 + 1 + 0 + + + + + + -0 + 7.881944444444445 + 5.252277777777778 + 3.319444444444445 + 4.426861111111111 + 1.659722222222222 + 2.213430555555556 + + + 3.319444444444445 + 4.287972222222222 + -0 + + + 1 + + + 1 + 0.0138889 + #6dff6b + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 4.426861111111111 + + + 3.319444444444445 + 4.426861111111111 + + + 3.319444444444445 + 0 + + + 0 + 0 + + + 0 + 4.426861111111111 + + + + 0 + + + + + -0 + 7.881944444444445 + 6.387886111111111 + 3.013888888888889 + 1.689513888888889 + 1.506944444444444 + 0.8447569444444445 + + + 4 + 0 + 2 + 2 + 1 + + + 3.013888888888889 + 1.689513888888889 + -0 + + + 1 + + + 0 + + + + + -0 + 1.506944444444444 + 0.8447569444444447 + 3.013888888888889 + 1.689513888888889 + 1.506944444444444 + 0.8447569444444444 + + + 2.411111111111111 + 1.043770833333333 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #ffffff + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 2.572513902777778 + 1.442089648402778 + + + 2.572513902777778 + 0.2474242404861112 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.4413749861111111 + 0.2474242404861112 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.4413749861111111 + 1.442089648402778 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 2.572513902777778 + 1.442089648402778 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + + + -0 + 1.505881944444444 + 1.391321527777778 + 1.016013888888889 + 0.2396347222222222 + 0.5080069444444445 + 0.1198173611111111 + + + 1.016013888888889 + 0.1007458333333333 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2396347222222222 + + + 1.016013888888889 + 0.2396347222222222 + + + 1.016013888888889 + 0 + + + 0 + 0 + + + 0 + 0.2396347222222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Root Scope + + + + + + -0 + 7.854166666666667 + 5.966930555555556 + 1.444444444444444 + 0.4583333333333333 + 0.7222222222222222 + 0.2291666666666667 + + + 1.155555555555556 + 0.3194444444444444 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 1 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0.216666666666667 + 0.4583333333333333 + + + 1.227777777777777 + 0.4583333333333333 + + + 1.444444444444444 + 0.2291666666666667 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.932800,1.000000,0,1, 1.000000,0.776000,0,1) + + + 1.227777777777777 + 0 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.000000,0.224000,0,1, 0.932800,0.000000,0,1) + + + 0.216666666666667 + 0 + + + 0 + 0.2291666666666667 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.067200,0.000000,0,1, 0.000000,0.224000,0,1) + + + 0.216666666666667 + 0.4583333333333333 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.000000,0.776000,0,1, 0.067200,1.000000,0,1) + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Dependency Injector + + + + -0 + 1 + 1 + 4.513888888888889 + 3.844388888888889 + 2.736111111111111 + 1.611083333333333 + 1.368055555555556 + 0.8055416666666667 + + + 2.736111111111111 + 1.472194444444445 + -0 + + + 1 + + + 1 + 0.0138889 + #ff0d10 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 1.611083333333334 + + + 2.736111111111111 + 1.611083333333334 + + + 2.736111111111111 + 0 + + + 0 + 0 + + + 0 + 1.611083333333334 + + + + 0 + + + + + -0 + 4.520833333333333 + 4.071597222222223 + 2.555555555555555 + 0.9683055555555556 + 1.277777777777778 + 0.4841527777777778 + + + 2.555555555555555 + 0.8294166666666667 + -0 + + + 1 + + + 1 + 0.0138889 + #ff0c1b + 0 + 0 + 0 + + + 1 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.9683055555555554 + + + 2.555555555555555 + 0.9683055555555554 + + + 2.555555555555555 + 0 + + + 0 + 0 + + + 0 + 0.9683055555555554 + + + + 0 + + + + + -0 + 4.5625 + 4.092638888888889 + 2.472222222222222 + 0.4583333333333333 + 1.236111111111111 + 0.2291666666666667 + + + 2.472222222222222 + 0.4583333333333333 + -0 + + + 1 + + + 0 + 0.0138889 + #ff0c1b + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.4583333333333333 + + + 2.472222222222222 + 0.4583333333333333 + + + 2.472222222222222 + 0 + + + 0 + 0 + + + 0 + 0.4583333333333333 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + function PhoneListCtrl($xhr){ + ... +} + + + + -0 + 4.513888888888889 + 3.223625 + 1.277777777777778 + 0.3055555555555556 + 0.6388888888888888 + 0.1527777777777778 + + + 1.277777777777778 + 0.3055555555555556 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3055555555555556 + + + 1.277777777777778 + 0.3055555555555556 + + + 1.277777777777778 + 0 + + + 0 + 0 + + + 0 + 0.3055555555555556 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 0 + 0 + + 0.25 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Controller + + + + -0 + 7.881944444444445 + 3.202969444444445 + 0.9583333333333334 + 0.3101166666666667 + 0.4791666666666667 + 0.1550583333333333 + + + 0.9583333333333334 + 0.3101166666666667 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3101166666666665 + + + 0.9583333333333334 + 0.3101166666666665 + + + 0.9583333333333334 + 0 + + + 0 + 0 + + + 0 + 0.3101166666666665 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 0 + 0 + + 0.25 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Model + + + + -0 + 0.3680555555555556 + 2.604166666666667 + 0.5138888888888888 + 0.01388888888888889 + 0.2569444444444444 + 0.006944444444444444 + + + 0.111111111111111 + 2.61111111111111 + 0.625 + 2.61111111111111 + + + 4 + 0 + 2 + 2 + 1 + + + 0.5138888888888888 + 0.01388888888888889 + -0 + + + 2 + + + 9 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.01388888888888889 + + + 0.5138888888888888 + 0.01388888888888889 + + + + 0 + + + + + -0 + 1.934027777777778 + 2.602377083333333 + 2.423611111111111 + 0.2396347222222222 + 1.211805555555556 + 0.1198173611111111 + + + 2.423611111111111 + 0.1007458333333333 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.239634722222222 + + + 2.423611111111111 + 0.239634722222222 + + + 2.423611111111111 + 0 + + + 0 + 0 + + + 0 + 0.239634722222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Implicit Scope Declaration + + + + -0 + 7.902777777777778 + 4.082622222222223 + 2.138888888888889 + 1.211838888888889 + 1.069444444444444 + 0.6059194444444446 + + + 4 + 0 + 2 + 2 + 1 + + + 2.138888888888889 + 1.211838888888889 + -0 + + + 1 + + + 0 + + + + + -0 + 1.069444444444444 + 0.6059194444444446 + 2.138888888888889 + 1.211838888888889 + 1.069444444444444 + 0.6059194444444445 + + + 1.711111111111111 + 0.7093983333333331 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 28 + #ffffff + 0 + #aaaaaa + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 1.825655027777779 + 1.034368719127778 + + + 1.825655027777779 + 0.177470169761111 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.3132338611111105 + 0.177470169761111 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.3132338611111105 + 1.034368719127778 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 1.825655027777779 + 1.034368719127778 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + + + -0 + 1.126083333333333 + 0.8579187500000001 + 1.395583333333333 + 0.2819513888888889 + 0.6977916666666667 + 0.1409756944444444 + + + 1.395583333333333 + 0.1430625 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2819513888888889 + + + 1.395583333333333 + 0.2819513888888889 + + + 1.395583333333333 + 0 + + + 0 + 0 + + + 0 + 0.2819513888888889 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + PhoneListCtrl scope + + + + -0 + 1.240101388888888 + 0.6447187499999999 + 1.114952777777778 + 0.3443791666666667 + 0.557476388888889 + 0.1721895833333333 + + + 1.114952777777778 + 0.2054902777777778 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3443791666666666 + + + 1.114952777777777 + 0.3443791666666666 + + + 1.114952777777777 + 0 + + + 0 + 0 + + + 0 + 0.3443791666666666 + + + + 0 + + + + + + + -0 + 8.041666666666666 + 3.85415 + 1.319444444444444 + 0.3101166666666667 + 0.6597222222222222 + 0.1550583333333333 + + + 1.319444444444444 + 0.1712277777777778 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.3101166666666665 + + + 1.319444444444444 + 0.3101166666666665 + + + 1.319444444444444 + 0 + + + 0 + 0 + + + 0 + 0.3101166666666665 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + phones: Array + + + + -0 + 5.125 + 2.602377083333333 + 2.166666666666667 + 0.239634722222222 + 1.083333333333333 + 0.119817361111111 + + + 4 + 0 + 2 + 2 + 1 + + + 2.166666666666667 + 0.239634722222222 + -0 + + + 1 + + + 0 + + + + + -0 + 0.2430555555555556 + 0.1215791666666664 + 0.4861111111111111 + 0.01388888888888889 + 0.2430555555555556 + 0.006944444444444444 + + + 0 + 0.128523611111111 + 0.486111111111111 + 0.128523611111111 + + + 4 + 0 + 2 + 2 + 1 + + + 0.4861111111111111 + 0.01388888888888889 + -0 + + + 2 + + + 1 + 0.0277778 + #17ff1c + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.01388888888888889 + + + 0.4861111111111111 + 0.01388888888888889 + + + + 0 + + + + + -0 + 1.354166666666667 + 0.119817361111111 + 1.625 + 0.2396347222222222 + 0.8125 + 0.1198173611111111 + + + 1.625 + 0.1007458333333333 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.239634722222222 + + + 1.625 + 0.239634722222222 + + + 1.625 + 0 + + + 0 + 0 + + + 0 + 0.239634722222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Scope Inheritance + + + + + + -0 + 4.826388888888889 + 2.881944444444445 + 9.430555555555555 + 0.01388888888888889 + 4.715277777777778 + 0.006944444444444444 + + + 0.111111111111111 + 2.88888888888889 + 9.54166666666667 + 2.88888888888889 + + + 4 + 0 + 2 + 2 + 1 + + + 9.430555555555555 + 0.01388888888888889 + -0 + + + 2 + + + 1 + 0.0277778 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.01388888888888889 + + + 9.430555555555555 + 0.01388888888888889 + + + + 0 + + + + + -0 + 4.916666666666667 + 6.973793055555556 + 2 + 0.9773749999999999 + 1 + 0.4886874999999999 + + + 2 + 0.838486111111111 + -0 + + + 1 + + + 1 + 0.0138889 + #fbc872 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.9773749999999998 + + + 2 + 0.9773749999999998 + + + 2 + 0 + + + 0 + 0 + + + 0 + 0.9773749999999998 + + + + 0 + + + + + -0 + 4.942708333333333 + 7.314773611111111 + 2.059027777777778 + 0.1481527777777778 + 1.029513888888889 + 0.07407638888888889 + + + 2.059027777777778 + 0.1481527777777778 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.1481527777777778 + + + 2.059027777777778 + 0.1481527777777778 + + + 2.059027777777778 + 0 + + + 0 + 0 + + + 0 + 0.1481527777777778 + + + + 0 + + + 0 + 0 + 1 + 0 + + + 0 + 0 + + 0.138889 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + Service Factory Repository + + + + -0 + 4.767361111111111 + 6.867869444444445 + 0.75 + 0.6388888888888888 + 0.375 + 0.3194444444444444 + + + 0.75 + 0.6388888888888888 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.6388888888888888 + + + 0.75 + 0.6388888888888888 + + + 0.75 + 0 + + + 0 + 0 + + + 0 + 0.6388888888888888 + + + + 0 + + + 0 + 0 + 0 + 0 + + + 1 + 0 + + 0.138889 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + $xhr +$browser +$route +... + + + + -0 + 8.326388888888889 + 2.602377083333333 + 2.430555555555555 + 0.239634722222222 + 1.215277777777778 + 0.119817361111111 + + + 4 + 0 + 2 + 2 + 1 + + + 2.430555555555555 + 0.239634722222222 + -0 + + + 1 + + + 0 + + + + + -0 + 0.2708333333333333 + 0.1216069444444443 + 0.5416666666666666 + 0.01388888888888889 + 0.2708333333333333 + 0.006944444444444444 + + + 0 + 0.128551388888889 + 0.541666666666667 + 0.128523611111111 + + + 4 + 0 + 2 + 2 + 1 + + + 0.5416666666666666 + 0.01388888888888889 + -0 + + + 2 + + + 1 + 0.0555556 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.01388888888888889 + + + 0.5416666666666666 + 0.01386111111111098 + + + + 0 + + + + + -0 + 1.510416666666667 + 0.119817361111111 + 1.840277777777778 + 0.2396347222222222 + 0.9201388888888888 + 0.1198173611111111 + + + 1.840277777777778 + 0.1007458333333333 + -0 + + + 1 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.239634722222222 + + + 1.840277777777778 + 0.239634722222222 + + + 1.840277777777778 + 0 + + + 0 + 0 + + + 0 + 0.239634722222222 + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Dependency Injection + + + + + + -0 + 6.441855345052397 + 6.547209974753566 + 1.717044023438127 + 0.7054856060484226 + 0.8585220117190633 + 0.3527428030242113 + + + 7.30037735677146 + 6.19446717172935 + 5.58333333333333 + 6.89995277777778 + + + 4 + 0 + 2 + 0 + 1 + + + 1.717044023438127 + 0.7054856060484226 + -0 + + + 2 + + + 1 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 1.717044023438127 + 0 + + + 0 + 0.7054856060484226 + + + + 0 + + + + + -0 + 6.315980753713948 + 4.072168228549136 + 1.02085047010491 + 0.01388888888888889 + 0.510425235052455 + 0.006944444444444444 + + + 5.80555551866149 + 4.0757850175259 + 6.8264059887664 + 4.07911267299358 + + + 4 + 0 + 2 + 0 + 1 + + + 1.02085047010491 + 0.01388888888888889 + -0 + + + 2 + + + 9 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.01056123342120606 + + + 1.02085047010491 + 0.01388888888888889 + + + + 0 + + + + + -0 + 7.896585324847083 + 5.115836795562897 + 0.01388888888888889 + 0.8407171173072199 + 0.006944444444444444 + 0.4203585586536099 + + + 7.89723899449026 + 4.69547823690929 + 7.88964088040264 + 5.53619535421651 + + + 4 + 0 + 2 + 0 + 1 + + + 0.01388888888888889 + 0.8407171173072199 + -0 + + + 2 + + + 1 + 0.0138889 + #6dff83 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0.007598114087616952 + 0 + + + 0 + 0.8407171173072199 + + + + 0 + + + + + -0 + 5.430555555555555 + 4.864013888888889 + 0.3611111111111111 + 0.3055555555555556 + 0.1805555555555556 + 0.1527777777777778 + + + 0.2888888888888889 + 0.07499999999999998 + -0 + + + 1 + + + 1 + 0.0138889 + #65f9ff + 0 + 0 + 0 + + + 1 + #81ffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0.3082274722222225 + 0.2608078611111111 + + + 0.3082274722222225 + 0.04474769444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.05288363888888862 + 0.04474769444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.05288363888888862 + 0.2608078611111111 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 0.3082274722222225 + 0.2608078611111111 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.194444 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + 1 + + + + -0 + 1.909722222222222 + 7.146263888888888 + 2.472222222222222 + 0.6388888888888888 + 1.236111111111111 + 0.3194444444444444 + + + 2.472222222222222 + 0.5 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.6388888888888888 + + + 2.472222222222222 + 0.6388888888888888 + + + 2.472222222222222 + 0 + + + 0 + 0 + + + 0 + 0.6388888888888888 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + Dependency injector identifies $xhr service as PhoneListCtrl controller's only dependency + + + + -0 + 0.4166666666666667 + 7.199486111111112 + 0.3611111111111111 + 0.3055555555555556 + 0.1805555555555556 + 0.1527777777777778 + + + 0.2888888888888889 + 0.07499999999999998 + -0 + + + 1 + + + 1 + 0.0138889 + #65f9ff + 0 + 0 + 0 + + + 1 + #81ffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0.3082274722222222 + 0.2608078611111111 + + + 0.3082274722222222 + 0.04474769444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.05288363888888892 + 0.04474769444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.05288363888888892 + 0.2608078611111111 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 0.3082274722222222 + 0.2608078611111111 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.194444 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + 1 + + + + -0 + 1.965277777777778 + 6.118229166666667 + 2.527777777777778 + 1.042013888888889 + 1.263888888888889 + 0.5210069444444445 + + + 2.527777777777778 + 0.9031250000000001 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 1.042013888888889 + + + 2.527777777777778 + 1.042013888888889 + + + 2.527777777777778 + 0 + + + 0 + 0 + + + 0 + 1.042013888888889 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + DI checks if $xhr service has already been instantiated, and if not uses the factory function from the service factory repository to construct it + + + + -0 + 0.4166666666666667 + 6.373013888888888 + 0.3611111111111111 + 0.3055555555555556 + 0.1805555555555556 + 0.1527777777777778 + + + 0.2888888888888889 + 0.07499999999999998 + -0 + + + 1 + + + 1 + 0.0138889 + #65f9ff + 0 + 0 + 0 + + + 1 + #81ffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0.3082274722222222 + 0.2608078611111111 + + + 0.3082274722222222 + 0.04474769444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.05288363888888892 + 0.04474769444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.05288363888888892 + 0.2608078611111111 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 0.3082274722222222 + 0.2608078611111111 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.194444 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + 2 + + + + -0 + 5.888888888888889 + 6.55455 + 0.3611111111111111 + 0.3055555555555556 + 0.1805555555555556 + 0.1527777777777778 + + + 0.2888888888888889 + 0.07499999999999998 + -0 + + + 1 + + + 1 + 0.0138889 + #65f9ff + 0 + 0 + 0 + + + 1 + #81ffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0.3082274722222225 + 0.2608078611111111 + + + 0.3082274722222225 + 0.04474769444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.05288363888888862 + 0.04474769444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.05288363888888862 + 0.2608078611111111 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 0.3082274722222225 + 0.2608078611111111 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.194444 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + 2 + + + + -0 + 5.430555555555555 + 3.946736111111111 + 0.3611111111111111 + 0.3055555555555556 + 0.1805555555555556 + 0.1527777777777778 + + + 0.2888888888888889 + 0.07499999999999998 + -0 + + + 1 + + + 1 + 0.0138889 + #65f9ff + 0 + 0 + 0 + + + 1 + #81ffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0.3082274722222225 + 0.2608078611111111 + + + 0.3082274722222225 + 0.04474769444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.05288363888888862 + 0.04474769444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.05288363888888862 + 0.2608078611111111 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 0.3082274722222225 + 0.2608078611111111 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.194444 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + 3 + + + + -0 + 6.462766183518187 + 5.027842260236728 + 2.092199033703039 + 1.412073409362344 + 1.04609951685152 + 0.7060367046811719 + + + 7.50886570036971 + 5.7338789649179 + 5.41666666666667 + 4.32180555555555 + + + 4 + 0 + 2 + 0 + 1 + + + 2.092199033703039 + 1.412073409362344 + -0 + + + 2 + + + 1 + 0.0416667 + 0 + 0 + 0 + 0 + 4 + 1 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 2.092199033703039 + 1.412073409362343 + + + 0 + -3.947459643111667e-16 + + + + 0 + + + + + -0 + 1.951388888888889 + 5.226611111111112 + 2.555555555555555 + 0.6388888888888888 + 1.277777777777778 + 0.3194444444444444 + + + 2.555555555555555 + 0.5 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.6388888888888888 + + + 2.555555555555555 + 0.6388888888888888 + + + 2.555555555555555 + 0 + + + 0 + 0 + + + 0 + 0.6388888888888888 + + + + 0 + + + 0.0694444 + 0.0694444 + 0 + 0 + + + 0 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + DI provides the instance of $xhr service to the PhoneListCtrl controller constructor. + + + + -0 + 0.4166666666666667 + 5.279833333333333 + 0.3611111111111111 + 0.3055555555555556 + 0.1805555555555556 + 0.1527777777777778 + + + 0.2888888888888889 + 0.07499999999999998 + -0 + + + 1 + + + 1 + 0.0138889 + #65f9ff + 0 + 0 + 0 + + + 1 + #81ffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0.3082274722222222 + 0.2608078611111111 + + + 0.3082274722222222 + 0.04474769444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 1.048816,0.658291,0,1, 1.048816,0.341709,0,1) + + + 0.05288363888888892 + 0.04474769444444446 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.658291,-0.048816,0,1, 0.341709,-0.048816,0,1) + + + 0.05288363888888892 + 0.2608078611111111 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, -0.048816,0.341709,0,1, -0.048816,0.658291,0,1) + + + 0.3082274722222222 + 0.2608078611111111 + 0 + 1 + 0 + 1 + NURBS(1, 3, 0, 0, 0.341709,1.048816,0,1, 0.658291,1.048816,0,1) + + + + 0 + + + 0.0694444 + 0.0694444 + 1 + 0 + + + 0 + 0 + + 0.194444 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 1 + + 3 + + + + -0 + 2.423611111111111 + 4.076388888888889 + 1.444444444444444 + 0.01388888888888889 + 0.7222222222222222 + 0.006944444444444444 + + + 1.70138888888889 + 4.08333333333333 + 3.14583333333333 + 4.07854166666667 + + + 4 + 0 + 2 + 2 + 1 + + + 1.444444444444444 + 0.01388888888888889 + -0 + + + 2 + + + 9 + 0.0138889 + 0 + 0 + 0 + 0 + 4 + 2 + + + 0 + 0 + 0 + 0 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 1 + 0 + + 0 + 0.01388888888888889 + + + 1.444444444444444 + 0.009097222222221844 + + + + 0 + + + + + -0 + 2.354166666666667 + 4.196597222222222 + 1.444444444444444 + 0.2083333333333333 + 0.7222222222222222 + 0.1041666666666667 + + + 1.444444444444444 + 0.2083333333333333 + -0 + + + 1 + + + 0 + 0.0138889 + 0 + 0 + 0 + 0 + + + 0 + #ffffff + 0 + 1 + 0 + 0.5 + 1 + 0 + -0.0277778 + + + 0 + 0 + + 0 + 0.2083333333333337 + + + 1.444444444444444 + 0.2083333333333337 + + + 1.444444444444444 + 0 + + + 0 + 0 + + + 0 + 0.2083333333333337 + + + + 0 + + + 0.0694444 + 0.0694444 + 2 + 0 + + + 1 + 0 + + 0.166667 + 0 + + + 0 + 0 + -0 + -1.2 + 0 + 0 + + ng:controller + + + + + + + + + + + + + + + 0 + 0 + 1 + 0 + 12 + 52 + 0.5 + + + diff --git a/images/logo/AngularJS-Shield.exports/AngularJS-Shield-huge.png b/images/logo/AngularJS-Shield.exports/AngularJS-Shield-huge.png index 4aba796a7b12..b007c359d40d 100644 Binary files a/images/logo/AngularJS-Shield.exports/AngularJS-Shield-huge.png and b/images/logo/AngularJS-Shield.exports/AngularJS-Shield-huge.png differ diff --git a/images/logo/AngularJS-Shield.exports/AngularJS-Shield-large.png b/images/logo/AngularJS-Shield.exports/AngularJS-Shield-large.png index 68fe30784b2e..4c06d4ba8ca3 100644 Binary files a/images/logo/AngularJS-Shield.exports/AngularJS-Shield-large.png and b/images/logo/AngularJS-Shield.exports/AngularJS-Shield-large.png differ diff --git a/images/logo/AngularJS-Shield.exports/AngularJS-Shield-medium.png b/images/logo/AngularJS-Shield.exports/AngularJS-Shield-medium.png index d0962aa7cf80..5ff7d7f0701c 100644 Binary files a/images/logo/AngularJS-Shield.exports/AngularJS-Shield-medium.png and b/images/logo/AngularJS-Shield.exports/AngularJS-Shield-medium.png differ diff --git a/images/logo/AngularJS-Shield.exports/AngularJS-Shield-small.png b/images/logo/AngularJS-Shield.exports/AngularJS-Shield-small.png index a9a2d4564d60..c313fa033f68 100644 Binary files a/images/logo/AngularJS-Shield.exports/AngularJS-Shield-small.png and b/images/logo/AngularJS-Shield.exports/AngularJS-Shield-small.png differ diff --git a/images/logo/AngularJS.exports/AngularJS-huge.png b/images/logo/AngularJS.exports/AngularJS-huge.png index c7d717ddc13a..6a93a1cfc22c 100644 Binary files a/images/logo/AngularJS.exports/AngularJS-huge.png and b/images/logo/AngularJS.exports/AngularJS-huge.png differ diff --git a/images/logo/AngularJS.exports/AngularJS-large.png b/images/logo/AngularJS.exports/AngularJS-large.png index 7fce7b087d00..13eb7a7f66f7 100644 Binary files a/images/logo/AngularJS.exports/AngularJS-large.png and b/images/logo/AngularJS.exports/AngularJS-large.png differ diff --git a/images/logo/AngularJS.exports/AngularJS-medium.png b/images/logo/AngularJS.exports/AngularJS-medium.png index 1b30f2da5fbd..0333bafd467c 100644 Binary files a/images/logo/AngularJS.exports/AngularJS-medium.png and b/images/logo/AngularJS.exports/AngularJS-medium.png differ diff --git a/images/logo/AngularJS.exports/AngularJS-small.png b/images/logo/AngularJS.exports/AngularJS-small.png index c2c95a62795a..af48f8935ca8 100644 Binary files a/images/logo/AngularJS.exports/AngularJS-small.png and b/images/logo/AngularJS.exports/AngularJS-small.png differ diff --git a/images/logo/AngularJS.exports/AngularJS.eps b/images/logo/AngularJS.exports/AngularJS.eps index 6911ac253fb0..f2f535fe8fc4 100644 Binary files a/images/logo/AngularJS.exports/AngularJS.eps and b/images/logo/AngularJS.exports/AngularJS.eps differ diff --git a/images/logo/AngularJS.graffle/image1.png b/images/logo/AngularJS.graffle/image1.png index 119e24ad4b95..31e650fabc5a 100644 Binary files a/images/logo/AngularJS.graffle/image1.png and b/images/logo/AngularJS.graffle/image1.png differ diff --git a/images/logo/AngularJS.graffle/image2.png b/images/logo/AngularJS.graffle/image2.png index cd8575773008..bc0136e39fe6 100644 Binary files a/images/logo/AngularJS.graffle/image2.png and b/images/logo/AngularJS.graffle/image2.png differ diff --git a/init-repo.sh b/init-repo.sh deleted file mode 100755 index ab7a9d53944e..000000000000 --- a/init-repo.sh +++ /dev/null @@ -1,32 +0,0 @@ -#!/usr/bin/env bash -# -# Script to initialize angular repo -# - install required node packages -# - install Karma -# - install git hooks - - -node=`which node 2>&1` -if [ $? -ne 0 ]; then - echo "Please install NodeJS." - echo "http://nodejs.org/" - exit 1 -fi - -npm=`which npm 2>&1` -if [ $? -ne 0 ]; then - echo "Please install NPM." -fi - - -echo "Installing required npm packages..." -npm install - -karma=`which karma 2>&1` -if [ $? -ne 0 ]; then - echo "Installing Karma..." - npm install -g karma -fi - -echo "Installing git hooks..." -ln -sf ../../validate-commit-msg.js .git/hooks/commit-msg diff --git a/jenkins_build.sh b/jenkins_build.sh deleted file mode 100755 index fd0f424d2351..000000000000 --- a/jenkins_build.sh +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/bash - -# Enable tracing and exit on first failure -set -xe - - -# Define reasonable set of browsers in case we are running manually from commandline -if [[ -z "$BROWSERS" ]] -then - BROWSERS="Chrome,Firefox,Opera,/Users/jenkins/bin/safari.sh,/Users/jenkins/bin/ie8.sh,/Users/jenkins/bin/ie9.sh" -fi - -if [[ -z "$BROWSERS_E2E" ]] -then - BROWSERS_E2E="Chrome,Firefox,/Users/jenkins/bin/safari.sh" -fi - - -# CLEAN # -rm -f angular.min.js.gzip.size -rm -f angular.js.size - - -# BUILD # -npm install --color false -grunt ci-checks package --no-color - - -# UNIT TESTS # -grunt test:unit --browsers $BROWSERS --reporters=dots,junit --no-colors --no-color - - -# END TO END TESTS # -grunt test:e2e --browsers $BROWSERS_E2E --reporters=dots,junit --no-colors --no-color - -# Promises/A+ TESTS # -grunt test:promises-aplus --no-color - - -# CHECK SIZE # -gzip -c < build/angular.min.js > build/angular.min.js.gzip -echo "YVALUE=`ls -l build/angular.min.js | cut -d" " -f 8`" > angular.min.js.size -echo "YVALUE=`ls -l build/angular.min.js.gzip | cut -d" " -f 8`" > angular.min.js.gzip.size diff --git a/karma-docs.conf.js b/karma-docs.conf.js index b0ef4e0f2492..697b1726a0de 100644 --- a/karma-docs.conf.js +++ b/karma-docs.conf.js @@ -1,3 +1,5 @@ +'use strict'; + var sharedConfig = require('./karma-shared.conf'); module.exports = function(config) { @@ -5,29 +7,10 @@ module.exports = function(config) { config.set({ files: [ - 'build/docs/components/jquery.js', - 'test/jquery_remove.js', - 'build/angular.js', - 'build/angular-cookies.js', 'build/angular-mocks.js', - 'build/angular-resource.js', - 'build/angular-touch.js', - 'build/angular-sanitize.js', - 'build/angular-route.js', - 'build/angular-animate.js', - - 'build/docs/components/lunr.js', - 'build/docs/components/google-code-prettify.js', - 'build/docs/components/marked.js', - - 'build/docs/components/angular-bootstrap.js', - 'build/docs/components/angular-bootstrap-prettify.js', - 'build/docs/js/docs.js', - 'build/docs/docs-data.js', - - 'docs/component-spec/mocks.js', - 'docs/component-spec/*.js' + 'docs/app/src/**/*.js', + 'docs/app/test/**/*Spec.js' ], junitReporter: { diff --git a/karma-e2e.conf.js b/karma-e2e.conf.js deleted file mode 100644 index 3d839a33ae19..000000000000 --- a/karma-e2e.conf.js +++ /dev/null @@ -1,25 +0,0 @@ -var sharedConfig = require('./karma-shared.conf'); - -module.exports = function(config) { - sharedConfig(config, {testName: 'AngularJS: e2e', logFile: 'karma-e2e.log'}); - - config.set({ - frameworks: [], - files: [ - 'build/angular-scenario.js', - 'node_modules/karma-ng-scenario/lib/adapter.js', - 'build/docs/docs-scenario.js' - ], - - proxies: { - // angular.js, angular-resource.js, etc - '/angular': 'http://localhost:8000/build/angular', - '/': 'http://localhost:8000/build/docs/' - }, - - junitReporter: { - outputFile: 'test_out/e2e.xml', - suite: 'E2E' - } - }); -}; diff --git a/karma-jqlite.conf.js b/karma-jqlite.conf.js index 267e952f5918..1e7416bf1622 100644 --- a/karma-jqlite.conf.js +++ b/karma-jqlite.conf.js @@ -1,3 +1,5 @@ +'use strict'; + var angularFiles = require('./angularFiles'); var sharedConfig = require('./karma-shared.conf'); diff --git a/karma-jquery-2.1.conf.js b/karma-jquery-2.1.conf.js new file mode 100644 index 000000000000..b9d4275e5f58 --- /dev/null +++ b/karma-jquery-2.1.conf.js @@ -0,0 +1,5 @@ +'use strict'; + +var karmaConfigFactory = require('./karma-jquery.conf-factory'); + +module.exports = karmaConfigFactory('2.1'); diff --git a/karma-jquery-2.2.conf.js b/karma-jquery-2.2.conf.js new file mode 100644 index 000000000000..1d07d68e97d4 --- /dev/null +++ b/karma-jquery-2.2.conf.js @@ -0,0 +1,5 @@ +'use strict'; + +var karmaConfigFactory = require('./karma-jquery.conf-factory'); + +module.exports = karmaConfigFactory('2.2'); diff --git a/karma-jquery.conf-factory.js b/karma-jquery.conf-factory.js new file mode 100644 index 000000000000..71eecb68571d --- /dev/null +++ b/karma-jquery.conf-factory.js @@ -0,0 +1,25 @@ +'use strict'; + +var angularFiles = require('./angularFiles'); +var sharedConfig = require('./karma-shared.conf'); + +module.exports = function(version) { + version = version || ''; + + return function(config) { + sharedConfig(config, { + testName: 'AngularJS: jQuery' + (version ? ' ' + version : ''), + logFile: 'karma-jquery' + version + '.log' + }); + + config.set({ + files: angularFiles.mergeFilesFor('karmaJquery' + version), + exclude: angularFiles.mergeFilesFor('karmaJqueryExclude'), + + junitReporter: { + outputFile: 'test_out/jquery.xml', + suite: 'jQuery' + } + }); + }; +}; diff --git a/karma-jquery.conf.js b/karma-jquery.conf.js index 4af9508d49d8..38597296658d 100644 --- a/karma-jquery.conf.js +++ b/karma-jquery.conf.js @@ -1,16 +1,5 @@ -var angularFiles = require('./angularFiles'); -var sharedConfig = require('./karma-shared.conf'); +'use strict'; -module.exports = function(config) { - sharedConfig(config, {testName: 'AngularJS: jQuery', logFile: 'karma-jquery.log'}); +var karmaConfigFactory = require('./karma-jquery.conf-factory'); - config.set({ - files: angularFiles.mergeFilesFor('karmaJquery'), - exclude: angularFiles.mergeFilesFor('karmaJqueryExclude'), - - junitReporter: { - outputFile: 'test_out/jquery.xml', - suite: 'jQuery' - } - }); -}; +module.exports = karmaConfigFactory(); diff --git a/karma-modules-ngAnimate.conf.js b/karma-modules-ngAnimate.conf.js new file mode 100644 index 000000000000..dfc638cf18b5 --- /dev/null +++ b/karma-modules-ngAnimate.conf.js @@ -0,0 +1,12 @@ +'use strict'; + +var angularFiles = require('./angularFiles'); +var sharedConfig = require('./karma-shared.conf'); + +module.exports = function(config) { + sharedConfig(config, {testName: 'AngularJS: isolated module tests (ngAnimate)', logFile: 'karma-ngAnimate-isolated.log'}); + + config.set({ + files: angularFiles.mergeFilesFor('karmaModules-ngAnimate') + }); +}; diff --git a/karma-modules-ngMock.conf.js b/karma-modules-ngMock.conf.js new file mode 100644 index 000000000000..9515a971e6d8 --- /dev/null +++ b/karma-modules-ngMock.conf.js @@ -0,0 +1,12 @@ +'use strict'; + +var angularFiles = require('./angularFiles'); +var sharedConfig = require('./karma-shared.conf'); + +module.exports = function(config) { + sharedConfig(config, {testName: 'AngularJS: isolated module tests (ngMock)', logFile: 'karma-ngMock-isolated.log'}); + + config.set({ + files: angularFiles.mergeFilesFor('karmaModules-ngMock') + }); +}; diff --git a/karma-modules.conf.js b/karma-modules.conf.js index ecbaee212643..fbf143053ab1 100644 --- a/karma-modules.conf.js +++ b/karma-modules.conf.js @@ -1,15 +1,20 @@ -var angularFiles = require('./angularFiles'); +'use strict'; + var sharedConfig = require('./karma-shared.conf'); module.exports = function(config) { - sharedConfig(config, {testName: 'AngularJS: modules', logFile: 'karma-modules.log'}); + sharedConfig(config, {testName: 'AngularJS: isolated module tests', logFile: 'karma-modules-isolated.log'}); config.set({ - files: angularFiles.mergeFilesFor('karmaModules', 'angularSrcModules'), - - junitReporter: { - outputFile: 'test_out/modules.xml', - suite: 'modules' - } + files: [ + 'build/angular.js', + 'build/angular-mocks.js', + 'test/modules/no_bootstrap.js', + 'test/helpers/matchers.js', + 'test/helpers/privateMocks.js', + 'test/helpers/support.js', + 'test/helpers/testabilityPatch.js', + 'build/test-bundles/angular-*.js' + ] }); }; diff --git a/karma-shared.conf.js b/karma-shared.conf.js index 4184a263078d..32cc9bf90a66 100644 --- a/karma-shared.conf.js +++ b/karma-shared.conf.js @@ -1,3 +1,5 @@ +'use strict'; + module.exports = function(config, specificOptions) { config.set({ frameworks: ['jasmine'], @@ -6,21 +8,30 @@ module.exports = function(config, specificOptions) { logColors: true, browsers: ['Chrome'], browserDisconnectTimeout: 10000, - - - // config for Travis CI + browserDisconnectTolerance: 2, + browserNoActivityTimeout: 30000, + reporters: ['dots'], + specReporter: { + maxLogLines: 5, // limit number of lines logged per test + suppressErrorSummary: true, // do not print error summary + suppressFailed: false, // do not print information about failed tests + suppressPassed: true, // do not print information about passed tests + suppressSkipped: false, // do not print information about skipped tests + showSpecTiming: false, // print the time elapsed for each spec + failFast: false // test would finish with error when a first fail occurs. + }, + // SauceLabs config for local development. sauceLabs: { testName: specificOptions.testName || 'AngularJS', - startConnect: false, - tunnelIdentifier: process.env.TRAVIS_JOB_NUMBER + startConnect: true }, - // BrowserStack config for Travis CI + // BrowserStack config for local development. browserStack: { - startTunnel: false, project: 'AngularJS', name: specificOptions.testName, - build: process.env.TRAVIS_BUILD_NUMBER + startTunnel: true, + timeout: 600 // 10min }, // For more browsers on Sauce Labs see: @@ -28,23 +39,33 @@ module.exports = function(config, specificOptions) { customLaunchers: { 'SL_Chrome': { base: 'SauceLabs', - browserName: 'chrome' + browserName: 'chrome', + version: 'latest' + }, + 'SL_Chrome-1': { + base: 'SauceLabs', + browserName: 'chrome', + version: 'latest-1' }, 'SL_Firefox': { base: 'SauceLabs', - browserName: 'firefox' + browserName: 'firefox', + version: 'latest' }, - 'SL_Safari': { + 'SL_Firefox-1': { + base: 'SauceLabs', + browserName: 'firefox', + version: 'latest-1' + }, + 'SL_Safari-1': { base: 'SauceLabs', browserName: 'safari', - platform: 'Mac 10.8', - version: '6' + version: 'latest-1' }, - 'SL_IE_8': { + 'SL_Safari': { base: 'SauceLabs', - browserName: 'internet explorer', - platform: 'Windows 7', - version: '8' + browserName: 'safari', + version: 'latest' }, 'SL_IE_9': { base: 'SauceLabs', @@ -58,31 +79,52 @@ module.exports = function(config, specificOptions) { platform: 'Windows 2012', version: '10' }, + 'SL_IE_11': { + base: 'SauceLabs', + browserName: 'internet explorer', + platform: 'Windows 8.1', + version: '11' + }, + 'SL_EDGE': { + base: 'SauceLabs', + browserName: 'microsoftedge', + platform: 'Windows 10', + version: 'latest' + }, + 'SL_EDGE-1': { + base: 'SauceLabs', + browserName: 'microsoftedge', + platform: 'Windows 10', + version: 'latest-1' + }, + 'SL_iOS': { + base: 'SauceLabs', + browserName: 'iphone', + version: 'latest' + }, + 'SL_iOS-1': { + base: 'SauceLabs', + browserName: 'iphone', + version: 'latest-1' + }, 'BS_Chrome': { base: 'BrowserStack', browser: 'chrome', os: 'OS X', - os_version: 'Mountain Lion' + os_version: 'Sierra' }, 'BS_Safari': { base: 'BrowserStack', browser: 'safari', os: 'OS X', - os_version: 'Mountain Lion' + os_version: 'Sierra' }, 'BS_Firefox': { base: 'BrowserStack', browser: 'firefox', os: 'Windows', - os_version: '8' - }, - 'BS_IE_8': { - base: 'BrowserStack', - browser: 'ie', - browser_version: '8.0', - os: 'Windows', - os_version: '7' + os_version: '10' }, 'BS_IE_9': { base: 'BrowserStack', @@ -104,17 +146,65 @@ module.exports = function(config, specificOptions) { browser_version: '11.0', os: 'Windows', os_version: '8.1' + }, + 'BS_EDGE': { + base: 'BrowserStack', + browser: 'edge', + os: 'Windows', + os_version: '10' + }, + 'BS_iOS_10': { + base: 'BrowserStack', + device: 'iPhone 7', + os: 'ios', + os_version: '10.0' + }, + 'BS_iOS_11': { + base: 'BrowserStack', + device: 'iPhone 8', + os: 'ios', + os_version: '11.0' } } }); - if (process.env.TRAVIS) { - // Debug logging into a file, that we print out at the end of the build. - config.loggers.push({ - type: 'file', - filename: process.env.LOGS_DIR + '/' + (specificOptions.logFile || 'karma.log'), - level: config.LOG_DEBUG + // Terrible hack to workaround inflexibility of log4js: + // - ignore web-server's 404 warnings, + // - ignore DEBUG logs (on CI), we log them into a file instead. + var IGNORED_404 = [ + '/favicon.ico', + '/%7B%7BtestUrl%7D%7D', + '/someSanitizedUrl', + '/{{testUrl}}' + ]; + var log4js = require('log4js'); + var layouts = require('log4js/lib/layouts'); + var originalConfigure = log4js.configure; + log4js.configure = function(log4jsConfig) { + var consoleAppender = log4jsConfig.appenders.shift(); + var originalResult = originalConfigure.call(log4js, log4jsConfig); + var layout = layouts.layout(consoleAppender.layout.type, consoleAppender.layout); + + + + log4js.addAppender(function(log) { + var msg = log.data[0]; + + // ignore web-server's 404s + if (log.categoryName === 'web-server' && log.level.levelStr === config.LOG_WARN && + IGNORED_404.some(function(ignoredLog) {return msg.indexOf(ignoredLog) !== -1;})) { + return; + } + + // on CI, ignore DEBUG statements + if (process.env.CI && log.level.levelStr === config.LOG_DEBUG) { + return; + } + + console.log(layout(log)); }); - } + + return originalResult; + }; }; diff --git a/lib/browser-stack/start-tunnel.js b/lib/browser-stack/start-tunnel.js deleted file mode 100644 index f2b475d8448a..000000000000 --- a/lib/browser-stack/start-tunnel.js +++ /dev/null @@ -1,47 +0,0 @@ -var fs = require('fs'); -var http = require('http'); -var BrowserStackTunnel = require('browserstacktunnel-wrapper'); - -var HOSTNAME = 'localhost'; -var PORTS = [9090, 9876]; -var ACCESS_KEY = process.env.BROWSER_STACK_ACCESS_KEY; -var READY_FILE = process.env.SAUCE_CONNECT_READY_FILE; - -// We need to start fake servers, otherwise the tunnel does not start. -var fakeServers = []; -var hosts = []; - -PORTS.forEach(function(port) { - fakeServers.push(http.createServer(function() {}).listen(port)); - hosts.push({ - name: HOSTNAME, - port: port, - sslFlag: 0 - }); -}); - -var tunnel = new BrowserStackTunnel({ - key: ACCESS_KEY, - hosts: hosts -}); - - -tunnel.start(function(error) { - console.log('** callback **') - if (error) { - console.error('Can not establish the tunnel', error); - } else { - console.log('Tunnel established.'); - fakeServers.forEach(function(server) { - server.close(); - }); - - if (READY_FILE) { - fs.writeFile(READY_FILE, ''); - } - } -}); - -tunnel.on('error', function(error) { - console.error(error); -}); diff --git a/lib/browser-stack/start-tunnel.sh b/lib/browser-stack/start-tunnel.sh deleted file mode 100755 index 51ad07fbb4d3..000000000000 --- a/lib/browser-stack/start-tunnel.sh +++ /dev/null @@ -1 +0,0 @@ -node ./lib/browser-stack/start-tunnel.js & diff --git a/lib/grunt/plugins.js b/lib/grunt/plugins.js index 363b8698f53d..5b2da323a36c 100644 --- a/lib/grunt/plugins.js +++ b/lib/grunt/plugins.js @@ -1,78 +1,70 @@ -var bower = require('bower'); +'use strict'; + +/* eslint-disable no-invalid-this */ + var util = require('./utils.js'); -var spawn = require('child_process').spawn; +var npmRun = require('npm-run'); module.exports = function(grunt) { - grunt.registerMultiTask('min', 'minify JS files', function(){ - util.min.call(util, this.data, this.async()); + grunt.registerMultiTask('min', 'minify JS files', function() { + util.min(this.data, this.async()); }); - grunt.registerTask('minall', 'minify all the JS files in parallel', function(){ + grunt.registerTask('minall', 'minify all the JS files in parallel', function() { var files = grunt.config('min'); - files = Object.keys(files).map(function(key){ return files[key]; }); + files = Object.keys(files).map(function(key) { return files[key]; }); grunt.util.async.forEach(files, util.min.bind(util), this.async()); }); - grunt.registerMultiTask('build', 'build JS files', function(){ - util.build.call(util, this.data, this.async()); + grunt.registerMultiTask('build', 'build JS files', function() { + util.build(this.data, this.async()); }); - grunt.registerTask('buildall', 'build all the JS files in parallel', function(){ + grunt.registerTask('buildall', 'build all the JS files in parallel', function() { var builds = grunt.config('build'); - builds = Object.keys(builds).map(function(key){ return builds[key]; }); + builds = Object.keys(builds).map(function(key) { return builds[key]; }); grunt.util.async.forEach(builds, util.build.bind(util), this.async()); }); - grunt.registerMultiTask('write', 'write content to a file', function(){ + grunt.registerMultiTask('write', 'write content to a file', function() { grunt.file.write(this.data.file, this.data.val); grunt.log.ok('wrote to ' + this.data.file); }); - grunt.registerMultiTask('docs', 'create angular docs', function(){ - var done = this.async(); - var files = this.data; - var docs = spawn('node', ['docs/src/gen-docs.js']); - docs.stdout.pipe(process.stdout); - docs.stderr.pipe(process.stderr); - docs.on('exit', function(code){ - if(code !== 0) grunt.fail.warn('Error creating docs'); - grunt.file.expand(files).forEach(function(file){ - var content = util.process(grunt.file.read(file), grunt.config('NG_VERSION'), false); - grunt.file.write(file, content); - }); - grunt.log.ok('docs created'); - done(); - }); + grunt.registerTask('docs', 'create AngularJS docs', function() { + npmRun.execSync('gulp --gulpfile docs/gulpfile.js', {stdio: 'inherit'}); }); - grunt.registerMultiTask('tests', '**Use `grunt test` instead**', function(){ - util.startKarma.call(util, this.data, true, this.async()); + grunt.registerMultiTask('tests', '**Use `grunt test` instead**', function() { + util.startKarma(this.data, true, this.async()); }); - grunt.registerMultiTask('autotest', 'Run and watch the unit tests with Karma', function(){ - util.startKarma.call(util, this.data, false, this.async()); + grunt.registerMultiTask('autotest', 'Run and watch the unit tests with Karma', function() { + util.startKarma(this.data, false, this.async()); }); - grunt.registerTask('collect-errors', 'Combine stripped error files', function () { - util.collectErrors(); + grunt.registerTask('webdriver', 'Update webdriver', function() { + util.updateWebdriver(this.async()); + }); + + grunt.registerMultiTask('protractor', 'Run Protractor integration tests', function() { + util.startProtractor(this.data, this.async()); }); - grunt.registerTask('bower', 'Install Bower packages.', function () { - var done = this.async(); + grunt.registerTask('collect-errors', 'Combine stripped error files', function() { + util.collectErrors(); + }); - bower.commands.install() - .on('log', function (result) { - grunt.log.ok('bower: ' + result.id + ' ' + result.data.endpoint.name); - }) - .on('error', grunt.fail.warn.bind(grunt.fail)) - .on('end', done); + grunt.registerTask('firebaseDocsJsonForCI', function() { + util.firebaseDocsJsonForCI(); }); + }; diff --git a/lib/grunt/utils.js b/lib/grunt/utils.js index 90613a295978..b854ea7b3ba4 100644 --- a/lib/grunt/utils.js +++ b/lib/grunt/utils.js @@ -1,53 +1,24 @@ +'use strict'; + var fs = require('fs'); var shell = require('shelljs'); var grunt = require('grunt'); -var spawn = require('child_process').spawn; -var version; +var spawn = require('npm-run').spawn; + var CSP_CSS_HEADER = '/* Include this file in your html if you are using the CSP mode. */\n\n'; module.exports = { - init: function() { - if (!process.env.TRAVIS) { - shell.exec('npm install'); - } - }, - - - getVersion: function(){ - if (version) return version; - - var package = JSON.parse(fs.readFileSync('package.json', 'UTF-8')); - var match = package.version.match(/^([^\-]*)(?:\-(.+))?$/); - var semver = match[1].split('.'); - var hash = shell.exec('git rev-parse --short HEAD', {silent: true}).output.replace('\n', ''); - - var fullVersion = match[1]; - - if (match[2]) { - fullVersion += '-'; - fullVersion += (match[2] == 'snapshot') ? hash : match[2]; - } - - version = { - full: fullVersion, - major: semver[0], - minor: semver[1], - dot: semver[2].replace(/rc\d+/, ''), - codename: package.codename, - cdn: package.cdnVersion - }; - - return version; - }, + codeScriptFolder: 'scripts/code.angularjs.org-firebase', + docsScriptFolder: 'scripts/docs.angularjs.org-firebase', - startKarma: function(config, singleRun, done){ + startKarma: function(config, singleRun, done) { var browsers = grunt.option('browsers'); var reporters = grunt.option('reporters'); var noColor = grunt.option('no-colors'); var port = grunt.option('port'); - var p = spawn('node', ['node_modules/karma/bin/karma', 'start', config, + var p = spawn('karma', ['start', config, singleRun ? '--single-run=true' : '', reporters ? '--reporters=' + reporters : '', browsers ? '--browsers=' + browsers : '', @@ -56,21 +27,63 @@ module.exports = { ]); p.stdout.pipe(process.stdout); p.stderr.pipe(process.stderr); - p.on('exit', function(code){ - if(code !== 0) grunt.fail.warn("Karma test(s) failed. Exit code: " + code); + p.on('exit', function(code) { + if (code !== 0) grunt.fail.warn('Karma test(s) failed. Exit code: ' + code); done(); }); }, - wrap: function(src, name){ - src.unshift('src/' + name + '.prefix'); - src.push('src/' + name + '.suffix'); - return src; + updateWebdriver: function(done) { + if (process.env.CI) { + // Skip the webdriver-manager update on CI, since the browsers will + // be provided remotely. + done(); + return; + } + var p = spawn('webdriver-manager', ['update']); + p.stdout.pipe(process.stdout); + p.stderr.pipe(process.stderr); + p.on('exit', function(code) { + if (code !== 0) grunt.fail.warn('Webdriver failed to update'); + done(); + }); }, + startProtractor: function(config, done) { + var sauceUser = grunt.option('sauceUser'); + var sauceKey = grunt.option('sauceKey'); + var tunnelIdentifier = grunt.option('capabilities.tunnel-identifier'); + var sauceBuild = grunt.option('capabilities.build'); + var browser = grunt.option('browser'); + var specs = grunt.option('specs'); + var args = [config]; + if (sauceUser) args.push('--sauceUser=' + sauceUser); + if (sauceKey) args.push('--sauceKey=' + sauceKey); + if (tunnelIdentifier) args.push('--capabilities.tunnel-identifier=' + tunnelIdentifier); + if (sauceBuild) args.push('--capabilities.build=' + sauceBuild); + if (specs) args.push('--specs=' + specs); + if (browser) { + args.push('--browser=' + browser); + } + - addStyle: function(src, styles, minify){ + var p = spawn('protractor', args); + p.stdout.pipe(process.stdout); + p.stderr.pipe(process.stderr); + p.on('exit', function(code) { + if (code !== 0) grunt.fail.warn('Protractor test(s) failed. Exit code: ' + code); + done(); + }); + }, + + + wrap(src, name) { + return [`src/${name}.prefix`, ...src, `src/${name}.suffix`]; + }, + + + addStyle: function(src, styles, minify) { styles = styles.reduce(processCSS.bind(this), { js: [src], css: [] @@ -85,22 +98,22 @@ module.exports = { js; state.css.push(css); - if(minify){ + if (minify) { css = css .replace(/\r?\n/g, '') .replace(/\/\*.*?\*\//g, '') .replace(/:\s+/g, ':') .replace(/\s*\{\s*/g, '{') .replace(/\s*\}\s*/g, '}') - .replace(/\s*\,\s*/g, ',') - .replace(/\s*\;\s*/g, ';'); + .replace(/\s*,\s*/g, ',') + .replace(/\s*;\s*/g, ';'); } //escape for js css = css .replace(/\\/g, '\\\\') - .replace(/'/g, "\\'") + .replace(/'/g, '\\\'') .replace(/\r?\n/g, '\\n'); - js = "!angular.$$csp() && angular.element(document).find('head').prepend('');"; + js = '!window.angular.$$csp().noInlineStyle && window.angular.element(document.head).prepend(window.angular.element(\' + + +
    +

    404

    +

    Page Not Found

    +

    The specified file was not found on this website. Please check the URL for mistakes and try again.

    +

    Why am I seeing this?

    +

    This page was generated by the Firebase Command-Line Interface. To modify it, edit the 404.html file in your project's configured public directory.

    +
    + + diff --git a/scripts/release/release.sh b/scripts/release/release.sh new file mode 100755 index 000000000000..ab03a6e41fd0 --- /dev/null +++ b/scripts/release/release.sh @@ -0,0 +1,67 @@ +#!/bin/bash + +# tags the current commit as a release and publishes all artifacts to +# the different repositories. +# Note: This will also works if the commit is in the past! + +echo "#################################" +echo "#### cut release ############" +echo "#################################" + +ARG_DEFS=( + # require the git dryrun flag so the script can't be run without + # thinking about this! + "--git-push-dryrun=(true|false)" + # The sha to release. Needs to be the same as HEAD. + # given as parameter to double check. + "--commit-sha=(.*)" + # the version number of the release. + # e.g. 1.2.12 or 1.2.12-rc.1 + "--version-number=([0-9]+\.[0-9]+\.[0-9]+(-[a-z]+\.[0-9]+)?)" + # the codename of the release + "--version-name=(.+)" +) + +function init { + if [[ $(git rev-parse HEAD) != $(git rev-parse $COMMIT_SHA) ]]; then + echo "HEAD is not at $COMMIT_SHA" + usage + fi + + if [[ ! $VERBOSE ]]; then + VERBOSE=false + fi + VERBOSE_ARG="--verbose=$VERBOSE" +} + +function build { + cd ../.. + yarn grunt ci-checks package --no-color + + cd $SCRIPT_DIR +} + +function phase { + ACTION_ARG="--action=$1" + ../angular.js/tag-release.sh $ACTION_ARG $VERBOSE_ARG\ + --version-number=$VERSION_NUMBER --version-name=$VERSION_NAME\ + --commit-sha=$COMMIT_SHA + + if [[ $1 == "prepare" ]]; then + # The build requires the tag to be set already! + build + fi + + ../code.angularjs.org/publish.sh $ACTION_ARG $VERBOSE_ARG + ../bower/publish.sh $ACTION_ARG $VERBOSE_ARG +} + +function run { + # First prepare all scripts (build, commit, tag, ...), + # so we are sure everything is all right + phase prepare + # only then publish to github + phase publish +} + +source $(dirname $0)/../utils.inc \ No newline at end of file diff --git a/scripts/release/undo-release.sh b/scripts/release/undo-release.sh new file mode 100755 index 000000000000..0212d306b5e0 --- /dev/null +++ b/scripts/release/undo-release.sh @@ -0,0 +1,41 @@ +#!/bin/bash + +echo "#################################" +echo "#### undo a release ############" +echo "#################################" + +ARG_DEFS=( + # require the git dryrun flag so the script can't be run without + # thinking about this! + "--git-push-dryrun=(true|false)" + # the version number of the release. + # e.g. 1.2.12 or 1.2.12-rc.1 + "--version-number=([0-9]+\.[0-9]+\.[0-9]+(-[a-z]+\.[0-9]+)?)" +) + +function init { + if [[ ! $VERBOSE ]]; then + VERBOSE=false + fi + VERBOSE_ARG="--verbose=$VERBOSE" +} + +function phase { + ACTION_ARG="--action=$1" + VERSION_NUMBER_ARG="--version-number=$VERSION_NUMBER" + ../angular.js/untag-release.sh $ACTION_ARG $VERBOSE_ARG\ + --version-number=$VERSION_NUMBER + + ../code.angularjs.org/unpublish.sh $ACTION_ARG $VERSION_NUMBER_ARG $VERBOSE_ARG + ../bower/unpublish.sh $ACTION_ARG $VERSION_NUMBER_ARG $VERBOSE_ARG +} + +function run { + # First prepare all scripts (build, commit, tag, ...), + # so we are sure everything is all right + phase prepare + # only then publish to github + phase publish +} + +source $(dirname $0)/../utils.inc \ No newline at end of file diff --git a/scripts/utils.inc b/scripts/utils.inc new file mode 100644 index 000000000000..919f7df9799e --- /dev/null +++ b/scripts/utils.inc @@ -0,0 +1,279 @@ +# This file provides: +# - a default control flow +# * initializes the environment +# * able to mock "git push" in your script and in all sub scripts +# * call a function in your script based on the arguments +# - named argument parsing and automatic generation of the "usage" for your script +# - intercepting "git push" in your script and all sub scripts +# - utility functions +# +# Usage: +# - define the variable ARGS_DEF (see below) with the arguments for your script +# - include this file using `source utils.inc` at the end of your script. +# +# Default control flow: +# 0. Set the current directory to the directory of the script. By this +# the script can be called from anywhere. +# 1. Parse the named arguments +# 2. If the parameter "git_push_dryrun" is set, all calls to `git push` in this script +# or in child scripts will be intercepted so that the `--dry-run` and `--porcelain` is added +# to show what the push would do but not actually do it. +# 3. If the parameter "verbose" is set, the `-x` flag will be set in bash. +# 4. The function "init" will be called if it exists +# 5. If the parameter "action" is set, it will call the function with the name of that parameter. +# Otherwise the function "run" will be called. +# +# Named Argument Parsing: +# - The variable ARGS_DEF defines the valid command arguments +# * Required args syntax: --paramName=paramRegex +# * Optional args syntax: [--paramName=paramRegex] +# * e.g. ARG_DEFS=("--required_param=(.+)" "[--optional_param=(.+)]") +# - Checks that: +# * all arguments match to an entry in ARGS_DEF +# * all required arguments are present +# * all arguments match their regex +# - Afterwards, every parameter value will be stored in a variable +# with the name of the parameter in upper case (with dash converted to underscore). +# +# Special arguments that are always available: +# - "--action=.*": This parameter will be used to execute a function with that name when the +# script is started +# - "--git_push_dryrun=true": This will intercept all calls to `git push` in this script +# or in child scripts so that the `--dry-run` and `--porcelain` is added +# to show what the push would do but not actually do it. +# - "--verbose=true": This will set the `-x` flag in bash so that all calls will be logged +# +# Utility functions: +# - readJsonProp +# - replaceJsonProp +# - resolveDir +# - getVar +# - serVar +# - isFunction + +# always stop on errors +set -e + +function usage { + echo "Usage: ${0} ${ARG_DEFS[@]}" + exit 1 +} + + +function parseArgs { + local REQUIRED_ARG_NAMES=() + + # -- helper functions + function varName { + # everything to upper case and dash to underscore + echo ${1//-/_} | tr '[:lower:]' '[:upper:]' + } + + function readArgDefs { + local ARG_DEF + local AD_OPTIONAL + local AD_NAME + local AD_RE + + # -- helper functions + function parseArgDef { + local ARG_DEF_REGEX="(\[?)--([^=]+)=(.*)" + if [[ ! $1 =~ $ARG_DEF_REGEX ]]; then + echo "Internal error: arg def has wrong format: $ARG_DEF" + exit 1 + fi + AD_OPTIONAL="${BASH_REMATCH[1]}" + AD_NAME="${BASH_REMATCH[2]}" + AD_RE="${BASH_REMATCH[3]}" + if [[ $AD_OPTIONAL ]]; then + # Remove last bracket for optional args. + # Can't put this into the ARG_DEF_REGEX somehow... + AD_RE=${AD_RE%?} + fi + } + + # -- run + for ARG_DEF in "${ARG_DEFS[@]}" + do + parseArgDef $ARG_DEF + + local AD_NAME_UPPER=$(varName $AD_NAME) + setVar "${AD_NAME_UPPER}_OPTIONAL" "$AD_OPTIONAL" + setVar "${AD_NAME_UPPER}_RE" "$AD_RE" + if [[ ! $AD_OPTIONAL ]]; then + REQUIRED_ARG_NAMES+=($AD_NAME) + fi + done + } + + function readAndValidateArgs { + local ARG_NAME + local ARG_VALUE + local ARG_NAME_UPPER + + # -- helper functions + function parseArg { + local ARG_REGEX="--([^=]+)=?(.*)" + + if [[ ! $1 =~ $ARG_REGEX ]]; then + echo "Can't parse argument $i" + usage + fi + + ARG_NAME="${BASH_REMATCH[1]}" + ARG_VALUE="${BASH_REMATCH[2]}" + ARG_NAME_UPPER=$(varName $ARG_NAME) + } + + function validateArg { + local AD_RE=$(getVar ${ARG_NAME_UPPER}_RE) + + if [[ ! $AD_RE ]]; then + echo "Unknown option: $ARG_NAME" + usage + fi + + if [[ ! $ARG_VALUE =~ ^${AD_RE}$ ]]; then + echo "Wrong format: $ARG_NAME" + usage; + fi + + # validate that the "action" option points to a valid function + if [[ $ARG_NAME == "action" ]] && ! isFunction $ARG_VALUE; then + echo "No action $ARG_VALUE defined in this script" + usage; + fi + } + + # -- run + for i in "$@" + do + parseArg $i + validateArg + setVar "${ARG_NAME_UPPER}" "$ARG_VALUE" + done + } + + function checkMissingArgs { + local ARG_NAME + for ARG_NAME in "${REQUIRED_ARG_NAMES[@]}" + do + ARG_VALUE=$(getVar $(varName $ARG_NAME)) + + if [[ ! $ARG_VALUE ]]; then + echo "Missing: $ARG_NAME" + usage; + fi + done + } + + # -- run + readArgDefs + readAndValidateArgs "$@" + checkMissingArgs + +} + +# getVar(varName) +function getVar { + echo ${!1} +} + +# setVar(varName, varValue) +function setVar { + eval "$1=\"$2\"" +} + +# isFunction(name) +# - to be used in an if, so return 0 if successful and 1 if not! +function isFunction { + if [[ $(type -t $1) == "function" ]]; then + return 0 + else + return 1 + fi +} + +# readJsonProp(jsonFile, property) +# - restriction: property needs to be on a single line! +function readJsonProp { + echo $(sed -En 's/.*"'$2'"[ ]*:[ ]*"(.*)".*/\1/p' $1) +} + +# replaceJsonProp(jsonFile, propertyRegex, valueRegex, replacePattern) +# - note: propertyRegex will be automatically placed into a +# capturing group! -> all other groups start at index 2! +function replaceJsonProp { + replaceInFile $1 '"('$2')"[ ]*:[ ]*"'$3'"' '"\1": "'$4'"' +} + +# replaceInFile(file, findPattern, replacePattern) +function replaceInFile { + sed -i .tmp -E "s/$2/$3/" $1 + rm $1.tmp +} + +# resolveDir(relativeDir) +# - resolves a directory relative to the current script +function resolveDir { + echo $(cd $SCRIPT_DIR; cd $1; pwd) +} + +function git_push_dryrun_proxy { + echo "## git push dryrun proxy enabled!" + export ORIGIN_GIT=$(which git) + + function git { + local ARGS=("$@") + local RC + if [[ $1 == "push" ]]; then + ARGS+=("--dry-run" "--porcelain") + echo "####### START GIT PUSH DRYRUN #######" + echo "${ARGS[@]}" + fi + if [[ $1 == "commit" ]]; then + echo "${ARGS[@]}" + fi + $ORIGIN_GIT "${ARGS[@]}" + RC=$? + if [[ $1 == "push" ]]; then + echo "####### END GIT PUSH DRYRUN #######" + fi + return $RC + } + + export -f git +} + +function main { + # normalize the working dir to the directory of the script + cd $(dirname $0);SCRIPT_DIR=$(pwd) + + ARG_DEFS+=("[--git-push-dryrun=(true|false)]" "[--verbose=(true|false)]") + parseArgs "$@" + + # --git_push_dryrun argument + if [[ $GIT_PUSH_DRYRUN == "true" ]]; then + git_push_dryrun_proxy + fi + + # --verbose argument + if [[ $VERBOSE == "true" ]]; then + set -x + fi + + if isFunction init; then + init "$@" + fi + + # jump to the function denoted by the --action argument, + # otherwise call the "run" function + if [[ $ACTION ]]; then + $ACTION "$@" + else + run "$@" + fi +} + + +main "$@" diff --git a/src/.eslintrc.json b/src/.eslintrc.json new file mode 100644 index 000000000000..36b653a76649 --- /dev/null +++ b/src/.eslintrc.json @@ -0,0 +1,194 @@ +{ + "root": true, + "extends": "../.eslintrc-browser.json", + + "globals": { + /* auto/injector.js */ + "createInjector": false, + + /* angular.js */ + "angular": false, + "msie": false, + "jqLite": false, + "jQuery": false, + "slice": false, + "splice": false, + "push": false, + "toString": false, + "minErrConfig": false, + "errorHandlingConfig": false, + "isValidObjectMaxDepth": false, + "ngMinErr": false, + "_angular": false, + "angularModule": false, + "nodeName_": false, + "uid": false, + "toDebugString": false, + + "REGEX_STRING_REGEXP" : false, + "lowercase": false, + "uppercase": false, + "isArrayLike": false, + "forEach": false, + "forEachSorted": false, + "reverseParams": false, + "nextUid": false, + "setHashKey": false, + "extend": false, + "toInt": false, + "inherit": false, + "merge": false, + "noop": false, + "identity": false, + "valueFn": false, + "isUndefined": false, + "isDefined": false, + "isObject": false, + "isString": false, + "isNumber": false, + "isNumberNaN": false, + "isDate": false, + "isError": false, + "isArray": false, + "isFunction": false, + "isRegExp": false, + "isWindow": false, + "isScope": false, + "isFile": false, + "isFormData": false, + "isBlob": false, + "isBoolean": false, + "isPromiseLike": false, + "hasCustomToString": false, + "trim": false, + "escapeForRegexp": false, + "isElement": false, + "makeMap": false, + "includes": false, + "arrayRemove": false, + "copy": false, + "shallowCopy": false, + "simpleCompare": false, + "equals": false, + "csp": false, + "concat": false, + "sliceArgs": false, + "bind": false, + "toJsonReplacer": false, + "toJson": false, + "fromJson": false, + "addDateMinutes": false, + "convertTimezoneToLocal": false, + "timezoneToOffset": false, + "startingTag": false, + "tryDecodeURIComponent": false, + "parseKeyValue": false, + "toKeyValue": false, + "encodeUriSegment": false, + "encodeUriQuery": false, + "angularInit": false, + "bootstrap": false, + "getTestability": false, + "snake_case": false, + "bindJQuery": false, + "assertArg": false, + "assertArgFn": false, + "assertNotHasOwnProperty": false, + "getter": false, + "getBlockNodes": false, + "createMap": false, + "VALIDITY_STATE_PROPERTY": false, + "reloadWithDebugInfo": false, + "stringify": false, + "UNSAFE_restoreLegacyJqLiteXHTMLReplacement": false, + + "NODE_TYPE_ELEMENT": false, + "NODE_TYPE_ATTRIBUTE": false, + "NODE_TYPE_TEXT": false, + "NODE_TYPE_COMMENT": false, + "NODE_TYPE_DOCUMENT": false, + "NODE_TYPE_DOCUMENT_FRAGMENT": false, + + "defaultHttpResponseTransform": false, + + /* filters.js */ + "getFirstThursdayOfYear": false, + + /* AngularPublic.js */ + "version": false, + "publishExternalAPI": false, + + /* minErr.js */ + "minErr": false, + + /* loader.js */ + "setupModuleLoader": false, + + /* jqLite.js */ + "BOOLEAN_ATTR": false, + "ALIASED_ATTR": false, + "jqNextId": false, + "fnCamelCaseReplace": false, + "jqLitePatchJQueryRemove": false, + "JQLite": false, + "jqLiteClone": false, + "jqLiteDealoc": false, + "jqLiteOff": false, + "jqLiteRemoveData": false, + "jqLiteExpandoStore": false, + "jqLiteData": false, + "jqLiteHasClass": false, + "jqLiteRemoveClass": false, + "jqLiteAddClass": false, + "jqLiteAddNodes": false, + "jqLiteController": false, + "jqLiteInheritedData": false, + "jqLiteBuildFragment": false, + "jqLiteParseHTML": false, + "jqLiteWrapNode": false, + "getBooleanAttrName": false, + "getAliasedAttrName": false, + "createEventHandler": false, + "JQLitePrototype": false, + "jqLiteIsTextNode": false, + "jqLiteDocumentLoaded": false, + + /* apis.js */ + "hashKey": false, + "NgMap": false, + + /* urlUtils.js */ + "urlResolve": false, + "urlIsSameOrigin": false, + "urlIsSameOriginAsBaseUrl": false, + "urlIsAllowedOriginFactory": false, + + /* ng/controller.js */ + "identifierForController": false, + + /* ng/compile.js */ + "directiveNormalize": false, + + /* ng/q.js */ + "markQExceptionHandled": false, + + /* sce.js */ + "SCE_CONTEXTS": false, + + /* ng/directive/directives.js */ + "ngDirective": false, + + /* ng/directive/ngEventDirs.js */ + "createEventDirective": false, + + /* ng/directive/input.js */ + "VALID_CLASS": false, + "INVALID_CLASS": false, + "PRISTINE_CLASS": false, + "DIRTY_CLASS": false, + + /* ng/directive/form.js */ + "nullFormCtrl": false + + } +} diff --git a/src/.jshintrc b/src/.jshintrc deleted file mode 100644 index f32caa451ed6..000000000000 --- a/src/.jshintrc +++ /dev/null @@ -1,165 +0,0 @@ -{ - "bitwise": true, - "immed": true, - "newcap": true, - "noarg": true, - "noempty": true, - "nonew": true, - "trailing": true, - "maxlen": 200, - "boss": true, - "eqnull": true, - "expr": true, - "globalstrict": true, - "laxbreak": true, - "loopfunc": true, - "sub": true, - "undef": true, - "browser": true, - "globals": { - /* auto/injector.js */ - "createInjector": false, - - /* angular.js */ - "angular": false, - "msie": false, - "jqLite": false, - "jQuery": false, - "slice": false, - "push": false, - "toString": false, - "ngMinErr": false, - "_angular": false, - "angularModule": false, - "nodeName_": false, - "uid": false, - - "lowercase": false, - "uppercase": false, - "manualLowercase": false, - "manualUppercase": false, - "nodeName_": false, - "isArrayLike": false, - "forEach": false, - "sortedKeys": false, - "forEachSorted": false, - "reverseParams": false, - "nextUid": false, - "setHashKey": false, - "extend": false, - "int": false, - "inherit": false, - "noop": false, - "identity": false, - "valueFn": false, - "isUndefined": false, - "isDefined": false, - "isObject": false, - "isString": false, - "isNumber": false, - "isDate": false, - "isArray": false, - "isFunction": false, - "isRegExp": false, - "isWindow": false, - "isScope": false, - "isFile": false, - "isBoolean": false, - "trim": false, - "isElement": false, - "makeMap": false, - "map": false, - "size": false, - "includes": false, - "indexOf": false, - "arrayRemove": false, - "isLeafNode": false, - "copy": false, - "shallowCopy": false, - "equals": false, - "csp": false, - "concat": false, - "sliceArgs": false, - "bind": false, - "toJsonReplacer": false, - "toJson": false, - "fromJson": false, - "toBoolean": false, - "startingTag": false, - "tryDecodeURIComponent": false, - "parseKeyValue": false, - "toKeyValue": false, - "encodeUriSegment": false, - "encodeUriQuery": false, - "angularInit": false, - "bootstrap": false, - "snake_case": false, - "bindJQuery": false, - "assertArg": false, - "assertArgFn": false, - "assertNotHasOwnProperty": false, - "getter": false, - "getBlockElements": false, - - /* AngularPublic.js */ - "version": false, - "publishExternalAPI": false, - - /* minerr.js */ - "minErr": false, - - /* loader.js */ - "setupModuleLoader": false, - - /* jqLite.js */ - "BOOLEAN_ATTR": false, - "jqNextId": false, - "camelCase": false, - "jqLitePatchJQueryRemove": false, - "JQLite": false, - "jqLiteClone": false, - "jqLiteDealoc": false, - "jqLiteOff": false, - "jqLiteRemoveData": false, - "jqLiteExpandoStore": false, - "jqLiteData": false, - "jqLiteHasClass": false, - "jqLiteRemoveClass": false, - "jqLiteAddClass": false, - "jqLiteAddNodes": false, - "jqLiteController": false, - "jqLiteInheritedData": false, - "getBooleanAttrName": false, - "createEventHandler": false, - "JQLitePrototype": false, - "addEventListenerFn": false, - "removeEventListenerFn": false, - - /* apis.js */ - "hashKey": false, - "HashMap": false, - - /* urlUtils.js */ - "urlResolve": false, - "urlIsSameOrigin": false, - - /* ng/compile.js */ - "directiveNormalize": false, - - /* ng/parse.js */ - "setter": false, - - /* ng/directive/directives.js */ - "ngDirective": false, - - /* ng/directive/input.js */ - "VALID_CLASS": false, - "INVALID_CLASS": false, - "PRISTINE_CLASS": false, - "DIRTY_CLASS": false, - - /* ng/directive/form.js */ - "nullFormCtrl": false - - } -} diff --git a/src/Angular.js b/src/Angular.js index f4f83d55aa6a..9b11090518b2 100644 --- a/src/Angular.js +++ b/src/Angular.js @@ -1,163 +1,174 @@ 'use strict'; -/* We need to tell jshint what variables are being exported */ -/* global - -angular, - -msie, - -jqLite, - -jQuery, - -slice, - -push, - -toString, - -ngMinErr, - -_angular, - -angularModule, - -nodeName_, - -uid, - - -lowercase, - -uppercase, - -manualLowercase, - -manualUppercase, - -nodeName_, - -isArrayLike, - -forEach, - -sortedKeys, - -forEachSorted, - -reverseParams, - -nextUid, - -setHashKey, - -extend, - -int, - -inherit, - -noop, - -identity, - -valueFn, - -isUndefined, - -isDefined, - -isObject, - -isString, - -isNumber, - -isDate, - -isArray, - -isFunction, - -isRegExp, - -isWindow, - -isScope, - -isFile, - -isBoolean, - -trim, - -isElement, - -makeMap, - -map, - -size, - -includes, - -indexOf, - -arrayRemove, - -isLeafNode, - -copy, - -shallowCopy, - -equals, - -csp, - -concat, - -sliceArgs, - -bind, - -toJsonReplacer, - -toJson, - -fromJson, - -toBoolean, - -startingTag, - -tryDecodeURIComponent, - -parseKeyValue, - -toKeyValue, - -encodeUriSegment, - -encodeUriQuery, - -angularInit, - -bootstrap, - -snake_case, - -bindJQuery, - -assertArg, - -assertArgFn, - -assertNotHasOwnProperty, - -getter, - -getBlockElements, - +/* We need to tell ESLint what variables are being exported */ +/* exported + angular, + msie, + jqLite, + jQuery, + slice, + splice, + push, + toString, + minErrConfig, + errorHandlingConfig, + isValidObjectMaxDepth, + ngMinErr, + angularModule, + uid, + REGEX_STRING_REGEXP, + VALIDITY_STATE_PROPERTY, + + lowercase, + uppercase, + nodeName_, + isArrayLike, + forEach, + forEachSorted, + reverseParams, + nextUid, + setHashKey, + extend, + toInt, + inherit, + merge, + noop, + identity, + valueFn, + isUndefined, + isDefined, + isObject, + isBlankObject, + isString, + isNumber, + isNumberNaN, + isDate, + isError, + isArray, + isFunction, + isRegExp, + isWindow, + isScope, + isFile, + isFormData, + isBlob, + isBoolean, + isPromiseLike, + trim, + escapeForRegexp, + isElement, + makeMap, + includes, + arrayRemove, + copy, + simpleCompare, + equals, + csp, + jq, + concat, + sliceArgs, + bind, + toJsonReplacer, + toJson, + fromJson, + convertTimezoneToLocal, + timezoneToOffset, + addDateMinutes, + startingTag, + tryDecodeURIComponent, + parseKeyValue, + toKeyValue, + encodeUriSegment, + encodeUriQuery, + angularInit, + bootstrap, + getTestability, + snake_case, + bindJQuery, + assertArg, + assertArgFn, + assertNotHasOwnProperty, + getter, + getBlockNodes, + hasOwnProperty, + createMap, + stringify, + UNSAFE_restoreLegacyJqLiteXHTMLReplacement, + + NODE_TYPE_ELEMENT, + NODE_TYPE_ATTRIBUTE, + NODE_TYPE_TEXT, + NODE_TYPE_COMMENT, + NODE_TYPE_DOCUMENT, + NODE_TYPE_DOCUMENT_FRAGMENT */ //////////////////////////////////// /** - * @ngdoc function - * @name angular.lowercase - * @function + * @ngdoc module + * @name ng + * @module ng + * @installation + * @description + * + * The ng module is loaded by default when an AngularJS application is started. The module itself + * contains the essential components for an AngularJS application to function. The table below + * lists a high level breakdown of each of the services/factories, filters, directives and testing + * components available within this core module. + * + */ + +var REGEX_STRING_REGEXP = /^\/(.+)\/([a-z]*)$/; + +// The name of a form control's ValidityState property. +// This is used so that it's possible for internal tests to create mock ValidityStates. +var VALIDITY_STATE_PROPERTY = 'validity'; + + +var hasOwnProperty = Object.prototype.hasOwnProperty; + +/** + * @private * * @description Converts the specified string to lowercase. * @param {string} string String to be converted to lowercase. * @returns {string} Lowercased string. */ -var lowercase = function(string){return isString(string) ? string.toLowerCase() : string;}; - +var lowercase = function(string) {return isString(string) ? string.toLowerCase() : string;}; /** - * @ngdoc function - * @name angular.uppercase - * @function + * @private * * @description Converts the specified string to uppercase. * @param {string} string String to be converted to uppercase. * @returns {string} Uppercased string. */ -var uppercase = function(string){return isString(string) ? string.toUpperCase() : string;}; - - -var manualLowercase = function(s) { - /* jshint bitwise: false */ - return isString(s) - ? s.replace(/[A-Z]/g, function(ch) {return String.fromCharCode(ch.charCodeAt(0) | 32);}) - : s; -}; -var manualUppercase = function(s) { - /* jshint bitwise: false */ - return isString(s) - ? s.replace(/[a-z]/g, function(ch) {return String.fromCharCode(ch.charCodeAt(0) & ~32);}) - : s; -}; - - -// String#toLowerCase and String#toUpperCase don't produce correct results in browsers with Turkish -// locale, for this reason we need to detect this case and redefine lowercase/uppercase methods -// with correct but slower alternatives. -if ('i' !== 'I'.toLowerCase()) { - lowercase = manualLowercase; - uppercase = manualUppercase; -} +var uppercase = function(string) {return isString(string) ? string.toUpperCase() : string;}; -var /** holds major version number for IE or NaN for real browsers */ - msie, +var + msie, // holds major version number for IE, or NaN if UA is not IE. jqLite, // delay binding since jQuery could be loaded after us. jQuery, // delay binding slice = [].slice, + splice = [].splice, push = [].push, toString = Object.prototype.toString, + getPrototypeOf = Object.getPrototypeOf, ngMinErr = minErr('ng'), - - _angular = window.angular, /** @name angular */ angular = window.angular || (window.angular = {}), angularModule, - nodeName_, - uid = ['0', '0', '0']; + uid = 0; +// Support: IE 9-11 only /** - * IE 11 changed the format of the UserAgent string. - * See http://msdn.microsoft.com/en-us/library/ms537503.aspx + * documentMode is an IE-only property + * http://msdn.microsoft.com/en-us/library/ie/cc196988(v=vs.85).aspx */ -msie = int((/msie (\d+)/.exec(lowercase(navigator.userAgent)) || [])[1]); -if (isNaN(msie)) { - msie = int((/trident\/.*; rv:(\d+)/.exec(lowercase(navigator.userAgent)) || [])[1]); -} +msie = window.document.documentMode; /** @@ -167,65 +178,96 @@ if (isNaN(msie)) { * String ...) */ function isArrayLike(obj) { - if (obj == null || isWindow(obj)) { - return false; - } - var length = obj.length; + // `null`, `undefined` and `window` are not array-like + if (obj == null || isWindow(obj)) return false; - if (obj.nodeType === 1 && length) { - return true; - } + // arrays, strings and jQuery/jqLite objects are array like + // * jqLite is either the jQuery or jqLite constructor function + // * we have to check the existence of jqLite first as this method is called + // via the forEach method when constructing the jqLite object in the first place + if (isArray(obj) || isString(obj) || (jqLite && obj instanceof jqLite)) return true; + + // Support: iOS 8.2 (not reproducible in simulator) + // "length" in obj used to prevent JIT error (gh-11508) + var length = 'length' in Object(obj) && obj.length; + + // NodeList objects (with `item` method) and + // other objects with suitable length characteristics are array-like + return isNumber(length) && (length >= 0 && (length - 1) in obj || typeof obj.item === 'function'); - return isString(obj) || isArray(obj) || length === 0 || - typeof length === 'number' && length > 0 && (length - 1) in obj; } /** * @ngdoc function * @name angular.forEach - * @function + * @module ng + * @kind function * * @description * Invokes the `iterator` function once for each item in `obj` collection, which can be either an - * object or an array. The `iterator` function is invoked with `iterator(value, key)`, where `value` - * is the value of an object property or an array element and `key` is the object property key or - * array element index. Specifying a `context` for the function is optional. + * object or an array. The `iterator` function is invoked with `iterator(value, key, obj)`, where `value` + * is the value of an object property or an array element, `key` is the object property key or + * array element index and obj is the `obj` itself. Specifying a `context` for the function is optional. + * + * It is worth noting that `.forEach` does not iterate over inherited properties because it filters + * using the `hasOwnProperty` method. * - * Note: this function was previously known as `angular.foreach`. + * Unlike ES262's + * [Array.prototype.forEach](http://www.ecma-international.org/ecma-262/5.1/#sec-15.4.4.18), + * providing 'undefined' or 'null' values for `obj` will not throw a TypeError, but rather just + * return the value provided. * -
    +   ```js
          var values = {name: 'misko', gender: 'male'};
          var log = [];
    -     angular.forEach(values, function(value, key){
    +     angular.forEach(values, function(value, key) {
            this.push(key + ': ' + value);
          }, log);
    -     expect(log).toEqual(['name: misko', 'gender:male']);
    -   
    + expect(log).toEqual(['name: misko', 'gender: male']); + ``` * * @param {Object|Array} obj Object to iterate over. * @param {Function} iterator Iterator function. * @param {Object=} context Object to become context (`this`) for the iterator function. * @returns {Object|Array} Reference to `obj`. */ + function forEach(obj, iterator, context) { - var key; + var key, length; if (obj) { - if (isFunction(obj)){ + if (isFunction(obj)) { for (key in obj) { - if (key != 'prototype' && key != 'length' && key != 'name' && obj.hasOwnProperty(key)) { - iterator.call(context, obj[key], key); + if (key !== 'prototype' && key !== 'length' && key !== 'name' && obj.hasOwnProperty(key)) { + iterator.call(context, obj[key], key, obj); + } + } + } else if (isArray(obj) || isArrayLike(obj)) { + var isPrimitive = typeof obj !== 'object'; + for (key = 0, length = obj.length; key < length; key++) { + if (isPrimitive || key in obj) { + iterator.call(context, obj[key], key, obj); } } } else if (obj.forEach && obj.forEach !== forEach) { - obj.forEach(iterator, context); - } else if (isArrayLike(obj)) { - for (key = 0; key < obj.length; key++) - iterator.call(context, obj[key], key); - } else { + obj.forEach(iterator, context, obj); + } else if (isBlankObject(obj)) { + // createMap() fast path --- Safe to avoid hasOwnProperty check because prototype chain is empty + for (key in obj) { + iterator.call(context, obj[key], key, obj); + } + } else if (typeof obj.hasOwnProperty === 'function') { + // Slow path for objects inheriting Object.prototype, hasOwnProperty check needed for (key in obj) { if (obj.hasOwnProperty(key)) { - iterator.call(context, obj[key], key); + iterator.call(context, obj[key], key, obj); + } + } + } else { + // Slow path for objects which do not have a method `hasOwnProperty` + for (key in obj) { + if (hasOwnProperty.call(obj, key)) { + iterator.call(context, obj[key], key, obj); } } } @@ -233,19 +275,9 @@ function forEach(obj, iterator, context) { return obj; } -function sortedKeys(obj) { - var keys = []; - for (var key in obj) { - if (obj.hasOwnProperty(key)) { - keys.push(key); - } - } - return keys.sort(); -} - function forEachSorted(obj, iterator, context) { - var keys = sortedKeys(obj); - for ( var i = 0; i < keys.length; i++) { + var keys = Object.keys(obj).sort(); + for (var i = 0; i < keys.length; i++) { iterator.call(context, obj[keys[i]], keys[i]); } return keys; @@ -258,37 +290,21 @@ function forEachSorted(obj, iterator, context) { * @returns {function(*, string)} */ function reverseParams(iteratorFn) { - return function(value, key) { iteratorFn(key, value); }; + return function(value, key) {iteratorFn(key, value);}; } /** - * A consistent way of creating unique IDs in angular. The ID is a sequence of alpha numeric - * characters such as '012ABC'. The reason why we are not using simply a number counter is that - * the number string gets longer over time, and it can also overflow, where as the nextId - * will grow much slower, it is a string, and it will never overflow. + * A consistent way of creating unique IDs in angular. + * + * Using simple numbers allows us to generate 28.6 million unique ids per second for 10 years before + * we hit number precision issues in JavaScript. * - * @returns an unique alpha-numeric string + * Math.pow(2,53) / 60 / 60 / 24 / 365 / 10 = 28.6M + * + * @returns {number} an unique alpha-numeric string */ function nextUid() { - var index = uid.length; - var digit; - - while(index) { - index--; - digit = uid[index].charCodeAt(0); - if (digit == 57 /*'9'*/) { - uid[index] = 'A'; - return uid.join(''); - } - if (digit == 90 /*'Z'*/) { - uid[index] = '0'; - } else { - uid[index] = String.fromCharCode(digit + 1); - return uid.join(''); - } - } - uid.unshift('0'); - return uid.join(''); + return ++uid; } @@ -300,62 +316,140 @@ function nextUid() { function setHashKey(obj, h) { if (h) { obj.$$hashKey = h; - } - else { + } else { delete obj.$$hashKey; } } + +function baseExtend(dst, objs, deep) { + var h = dst.$$hashKey; + + for (var i = 0, ii = objs.length; i < ii; ++i) { + var obj = objs[i]; + if (!isObject(obj) && !isFunction(obj)) continue; + var keys = Object.keys(obj); + for (var j = 0, jj = keys.length; j < jj; j++) { + var key = keys[j]; + var src = obj[key]; + + if (deep && isObject(src)) { + if (isDate(src)) { + dst[key] = new Date(src.valueOf()); + } else if (isRegExp(src)) { + dst[key] = new RegExp(src); + } else if (src.nodeName) { + dst[key] = src.cloneNode(true); + } else if (isElement(src)) { + dst[key] = src.clone(); + } else { + if (key !== '__proto__') { + if (!isObject(dst[key])) dst[key] = isArray(src) ? [] : {}; + baseExtend(dst[key], [src], true); + } + } + } else { + dst[key] = src; + } + } + } + + setHashKey(dst, h); + return dst; +} + /** * @ngdoc function * @name angular.extend - * @function + * @module ng + * @kind function * * @description - * Extends the destination object `dst` by copying all of the properties from the `src` object(s) - * to `dst`. You can specify multiple `src` objects. + * Extends the destination object `dst` by copying own enumerable properties from the `src` object(s) + * to `dst`. You can specify multiple `src` objects. If you want to preserve original objects, you can do so + * by passing an empty object as the target: `var object = angular.extend({}, object1, object2)`. + * + * **Note:** Keep in mind that `angular.extend` does not support recursive merge (deep copy). Use + * {@link angular.merge} for this. * * @param {Object} dst Destination object. * @param {...Object} src Source object(s). * @returns {Object} Reference to `dst`. */ function extend(dst) { - var h = dst.$$hashKey; - forEach(arguments, function(obj){ - if (obj !== dst) { - forEach(obj, function(value, key){ - dst[key] = value; - }); - } - }); + return baseExtend(dst, slice.call(arguments, 1), false); +} - setHashKey(dst,h); - return dst; + +/** +* @ngdoc function +* @name angular.merge +* @module ng +* @kind function +* +* @description +* Deeply extends the destination object `dst` by copying own enumerable properties from the `src` object(s) +* to `dst`. You can specify multiple `src` objects. If you want to preserve original objects, you can do so +* by passing an empty object as the target: `var object = angular.merge({}, object1, object2)`. +* +* Unlike {@link angular.extend extend()}, `merge()` recursively descends into object properties of source +* objects, performing a deep copy. +* +* @deprecated +* sinceVersion="1.6.5" +* This function is deprecated, but will not be removed in the 1.x lifecycle. +* There are edge cases (see {@link angular.merge#known-issues known issues}) that are not +* supported by this function. We suggest using another, similar library for all-purpose merging, +* such as [lodash's merge()](https://lodash.com/docs/4.17.4#merge). +* +* @knownIssue +* This is a list of (known) object types that are not handled correctly by this function: +* - [`Blob`](https://developer.mozilla.org/docs/Web/API/Blob) +* - [`MediaStream`](https://developer.mozilla.org/docs/Web/API/MediaStream) +* - [`CanvasGradient`](https://developer.mozilla.org/docs/Web/API/CanvasGradient) +* - AngularJS {@link $rootScope.Scope scopes}; +* +* `angular.merge` also does not support merging objects with circular references. +* +* @param {Object} dst Destination object. +* @param {...Object} src Source object(s). +* @returns {Object} Reference to `dst`. +*/ +function merge(dst) { + return baseExtend(dst, slice.call(arguments, 1), true); } -function int(str) { + + +function toInt(str) { return parseInt(str, 10); } +var isNumberNaN = Number.isNaN || function isNumberNaN(num) { + // eslint-disable-next-line no-self-compare + return num !== num; +}; + function inherit(parent, extra) { - return extend(new (extend(function() {}, {prototype:parent}))(), extra); + return extend(Object.create(parent), extra); } /** * @ngdoc function * @name angular.noop - * @function + * @module ng + * @kind function * * @description * A function that performs no operations. This function can be useful when writing code in the * functional style. -
    +   ```js
          function foo(callback) {
            var result = calculateResult();
            (callback || angular.noop)(result);
          }
    -   
    + ``` */ function noop() {} noop.$inject = []; @@ -364,28 +458,47 @@ noop.$inject = []; /** * @ngdoc function * @name angular.identity - * @function + * @module ng + * @kind function * * @description * A function that returns its first argument. This function is useful when writing code in the * functional style. * -
    -     function transformer(transformationFn, value) {
    -       return (transformationFn || angular.identity)(value);
    -     };
    -   
    + ```js + function transformer(transformationFn, value) { + return (transformationFn || angular.identity)(value); + }; + + // E.g. + function getResult(fn, input) { + return (fn || angular.identity)(input); + }; + + getResult(function(n) { return n * 2; }, 21); // returns 42 + getResult(null, 21); // returns 21 + getResult(undefined, 21); // returns 21 + ``` + * + * @param {*} value to be returned. + * @returns {*} the value passed in. */ function identity($) {return $;} identity.$inject = []; -function valueFn(value) {return function() {return value;};} +function valueFn(value) {return function valueRef() {return value;};} + +function hasCustomToString(obj) { + return isFunction(obj.toString) && obj.toString !== toString; +} + /** * @ngdoc function * @name angular.isUndefined - * @function + * @module ng + * @kind function * * @description * Determines if a reference is undefined. @@ -393,13 +506,14 @@ function valueFn(value) {return function() {return value;};} * @param {*} value Reference to check. * @returns {boolean} True if `value` is undefined. */ -function isUndefined(value){return typeof value == 'undefined';} +function isUndefined(value) {return typeof value === 'undefined';} /** * @ngdoc function * @name angular.isDefined - * @function + * @module ng + * @kind function * * @description * Determines if a reference is defined. @@ -407,28 +521,43 @@ function isUndefined(value){return typeof value == 'undefined';} * @param {*} value Reference to check. * @returns {boolean} True if `value` is defined. */ -function isDefined(value){return typeof value != 'undefined';} +function isDefined(value) {return typeof value !== 'undefined';} /** * @ngdoc function * @name angular.isObject - * @function + * @module ng + * @kind function * * @description * Determines if a reference is an `Object`. Unlike `typeof` in JavaScript, `null`s are not - * considered to be objects. + * considered to be objects. Note that JavaScript arrays are objects. * * @param {*} value Reference to check. * @returns {boolean} True if `value` is an `Object` but not `null`. */ -function isObject(value){return value != null && typeof value == 'object';} +function isObject(value) { + // http://jsperf.com/isobject4 + return value !== null && typeof value === 'object'; +} + + +/** + * Determine if a value is an object with a null prototype + * + * @returns {boolean} True if `value` is an `Object` with a null prototype + */ +function isBlankObject(value) { + return value !== null && typeof value === 'object' && !getPrototypeOf(value); +} /** * @ngdoc function * @name angular.isString - * @function + * @module ng + * @kind function * * @description * Determines if a reference is a `String`. @@ -436,27 +565,35 @@ function isObject(value){return value != null && typeof value == 'object';} * @param {*} value Reference to check. * @returns {boolean} True if `value` is a `String`. */ -function isString(value){return typeof value == 'string';} +function isString(value) {return typeof value === 'string';} /** * @ngdoc function * @name angular.isNumber - * @function + * @module ng + * @kind function * * @description * Determines if a reference is a `Number`. * + * This includes the "special" numbers `NaN`, `+Infinity` and `-Infinity`. + * + * If you wish to exclude these then you can use the native + * [`isFinite'](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/isFinite) + * method. + * * @param {*} value Reference to check. * @returns {boolean} True if `value` is a `Number`. */ -function isNumber(value){return typeof value == 'number';} +function isNumber(value) {return typeof value === 'number';} /** * @ngdoc function * @name angular.isDate - * @function + * @module ng + * @kind function * * @description * Determines if a value is a date. @@ -464,15 +601,16 @@ function isNumber(value){return typeof value == 'number';} * @param {*} value Reference to check. * @returns {boolean} True if `value` is a `Date`. */ -function isDate(value){ - return toString.apply(value) == '[object Date]'; +function isDate(value) { + return toString.call(value) === '[object Date]'; } /** * @ngdoc function * @name angular.isArray - * @function + * @module ng + * @kind function * * @description * Determines if a reference is an `Array`. @@ -480,15 +618,33 @@ function isDate(value){ * @param {*} value Reference to check. * @returns {boolean} True if `value` is an `Array`. */ -function isArray(value) { - return toString.apply(value) == '[object Array]'; +function isArray(arr) { + return Array.isArray(arr) || arr instanceof Array; } +/** + * @description + * Determines if a reference is an `Error`. + * Loosely based on https://www.npmjs.com/package/iserror + * + * @param {*} value Reference to check. + * @returns {boolean} True if `value` is an `Error`. + */ +function isError(value) { + var tag = toString.call(value); + switch (tag) { + case '[object Error]': return true; + case '[object Exception]': return true; + case '[object DOMException]': return true; + default: return value instanceof Error; + } +} /** * @ngdoc function * @name angular.isFunction - * @function + * @module ng + * @kind function * * @description * Determines if a reference is a `Function`. @@ -496,7 +652,7 @@ function isArray(value) { * @param {*} value Reference to check. * @returns {boolean} True if `value` is a `Function`. */ -function isFunction(value){return typeof value == 'function';} +function isFunction(value) {return typeof value === 'function';} /** @@ -507,7 +663,7 @@ function isFunction(value){return typeof value == 'function';} * @returns {boolean} True if `value` is a `RegExp`. */ function isRegExp(value) { - return toString.apply(value) == '[object RegExp]'; + return toString.call(value) === '[object RegExp]'; } @@ -519,7 +675,7 @@ function isRegExp(value) { * @returns {boolean} True if `obj` is a window obj. */ function isWindow(obj) { - return obj && obj.document && obj.location && obj.alert && obj.setInterval; + return obj && obj.window === obj; } @@ -529,34 +685,60 @@ function isScope(obj) { function isFile(obj) { - return toString.apply(obj) === '[object File]'; + return toString.call(obj) === '[object File]'; +} + + +function isFormData(obj) { + return toString.call(obj) === '[object FormData]'; +} + + +function isBlob(obj) { + return toString.call(obj) === '[object Blob]'; } function isBoolean(value) { - return typeof value == 'boolean'; + return typeof value === 'boolean'; } -var trim = (function() { - // native trim is way faster: http://jsperf.com/angular-trim-test - // but IE doesn't have it... :-( - // TODO: we should move this into IE/ES5 polyfill - if (!String.prototype.trim) { - return function(value) { - return isString(value) ? value.replace(/^\s\s*/, '').replace(/\s\s*$/, '') : value; - }; - } - return function(value) { - return isString(value) ? value.trim() : value; - }; -})(); +function isPromiseLike(obj) { + return obj && isFunction(obj.then); +} + + +var TYPED_ARRAY_REGEXP = /^\[object (?:Uint8|Uint8Clamped|Uint16|Uint32|Int8|Int16|Int32|Float32|Float64)Array]$/; +function isTypedArray(value) { + return value && isNumber(value.length) && TYPED_ARRAY_REGEXP.test(toString.call(value)); +} + +function isArrayBuffer(obj) { + return toString.call(obj) === '[object ArrayBuffer]'; +} + + +var trim = function(value) { + return isString(value) ? value.trim() : value; +}; + +// Copied from: +// http://docs.closure-library.googlecode.com/git/local_closure_goog_string_string.js.source.html#line1021 +// Prereq: s is a string. +var escapeForRegexp = function(s) { + return s + .replace(/([-()[\]{}+?*.$^|,:#=0) + var index = array.indexOf(value); + if (index >= 0) { array.splice(index, 1); - return value; -} - -function isLeafNode (node) { - if (node) { - switch (node.nodeName) { - case "OPTION": - case "PRE": - case "TITLE": - return true; - } } - return false; + return index; } /** * @ngdoc function * @name angular.copy - * @function + * @module ng + * @kind function * * @description - * Creates a deep copy of `source`, which should be an object or an array. + * Creates a deep copy of `source`, which should be an object or an array. This functions is used + * internally, mostly in the change-detection code. It is not intended as an all-purpose copy + * function, and has several limitations (see below). * * * If no destination is supplied, a copy of the object or array is created. - * * If a destination is provided, all of its elements (for array) or properties (for objects) + * * If a destination is provided, all of its elements (for arrays) or properties (for objects) * are deleted and then all elements/properties from the source are copied to it. * * If `source` is not an object or array (inc. `null` and `undefined`), `source` is returned. - * * If `source` is identical to 'destination' an exception will be thrown. + * * If `source` is identical to `destination` an exception will be thrown. * - * @param {*} source The source that will be used to make a copy. - * Can be any type, including primitives, `null`, and `undefined`. - * @param {(Object|Array)=} destination Destination into which the source is copied. If - * provided, must be of the same type as `source`. + *
    + * + *
    + * Only enumerable properties are taken into account. Non-enumerable properties (both on `source` + * and on `destination`) will be ignored. + *
    + * + *
    + * `angular.copy` does not check if destination and source are of the same type. It's the + * developer's responsibility to make sure they are compatible. + *
    + * + * @knownIssue + * This is a non-exhaustive list of object types / features that are not handled correctly by + * `angular.copy`. Note that since this functions is used by the change detection code, this + * means binding or watching objects of these types (or that include these types) might not work + * correctly. + * - [`File`](https://developer.mozilla.org/docs/Web/API/File) + * - [`Map`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Map) + * - [`ImageData`](https://developer.mozilla.org/docs/Web/API/ImageData) + * - [`MediaStream`](https://developer.mozilla.org/docs/Web/API/MediaStream) + * - [`Set`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Set) + * - [`WeakMap`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/WeakMap) + * - [`getter`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/get)/ + * [`setter`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/set) + * + * @param {*} source The source that will be used to make a copy. Can be any type, including + * primitives, `null`, and `undefined`. + * @param {(Object|Array)=} destination Destination into which the source is copied. If provided, + * must be of the same type as `source`. * @returns {*} The copy or updated `destination`, if `destination` was specified. * * @example - - -
    -
    - Name:
    - E-mail:
    - Gender: male - female
    - - - -
    form = {{user | json}}
    -
    master = {{master | json}}
    -
    - - -
    -
    + + +
    +
    +
    +
    + Gender: +
    + + + +
    form = {{user | json}}
    +
    leader = {{leader | json}}
    +
    +
    + + // Module: copyExample + angular. + module('copyExample', []). + controller('ExampleController', ['$scope', function($scope) { + $scope.leader = {}; + + $scope.reset = function() { + // Example with 1 argument + $scope.user = angular.copy($scope.leader); + }; + + $scope.update = function(user) { + // Example with 2 arguments + angular.copy(user, $scope.leader); + }; + + $scope.reset(); + }]); + +
    */ -function copy(source, destination){ - if (isWindow(source) || isScope(source)) { - throw ngMinErr('cpws', - "Can't copy! Making copies of Window or Scope instances is not supported."); +function copy(source, destination, maxDepth) { + var stackSource = []; + var stackDest = []; + maxDepth = isValidObjectMaxDepth(maxDepth) ? maxDepth : NaN; + + if (destination) { + if (isTypedArray(destination) || isArrayBuffer(destination)) { + throw ngMinErr('cpta', 'Can\'t copy! TypedArray destination cannot be mutated.'); + } + if (source === destination) { + throw ngMinErr('cpi', 'Can\'t copy! Source and destination are identical.'); + } + + // Empty the destination object + if (isArray(destination)) { + destination.length = 0; + } else { + forEach(destination, function(value, key) { + if (key !== '$$hashKey') { + delete destination[key]; + } + }); + } + + stackSource.push(source); + stackDest.push(destination); + return copyRecurse(source, destination, maxDepth); } - if (!destination) { - destination = source; - if (source) { - if (isArray(source)) { - destination = copy(source, []); - } else if (isDate(source)) { - destination = new Date(source.getTime()); - } else if (isRegExp(source)) { - destination = new RegExp(source.source); - } else if (isObject(source)) { - destination = copy(source, {}); - } + return copyElement(source, maxDepth); + + function copyRecurse(source, destination, maxDepth) { + maxDepth--; + if (maxDepth < 0) { + return '...'; } - } else { - if (source === destination) throw ngMinErr('cpi', - "Can't copy! Source and destination are identical."); + var h = destination.$$hashKey; + var key; if (isArray(source)) { - destination.length = 0; - for ( var i = 0; i < source.length; i++) { - destination.push(copy(source[i])); + for (var i = 0, ii = source.length; i < ii; i++) { + destination.push(copyElement(source[i], maxDepth)); + } + } else if (isBlankObject(source)) { + // createMap() fast path --- Safe to avoid hasOwnProperty check because prototype chain is empty + for (key in source) { + destination[key] = copyElement(source[key], maxDepth); + } + } else if (source && typeof source.hasOwnProperty === 'function') { + // Slow path, which must rely on hasOwnProperty + for (key in source) { + if (source.hasOwnProperty(key)) { + destination[key] = copyElement(source[key], maxDepth); + } } } else { - var h = destination.$$hashKey; - forEach(destination, function(value, key){ - delete destination[key]; - }); - for ( var key in source) { - destination[key] = copy(source[key]); + // Slowest path --- hasOwnProperty can't be called as a method + for (key in source) { + if (hasOwnProperty.call(source, key)) { + destination[key] = copyElement(source[key], maxDepth); + } } - setHashKey(destination,h); } + setHashKey(destination, h); + return destination; } - return destination; -} -/** - * Create a shallow copy of an object - */ -function shallowCopy(src, dst) { - dst = dst || {}; - - for(var key in src) { - // shallowCopy is only ever called by $compile nodeLinkFn, which has control over src - // so we don't need to worry hasOwnProperty here - if (src.hasOwnProperty(key) && key.substr(0, 2) !== '$$') { - dst[key] = src[key]; + function copyElement(source, maxDepth) { + // Simple values + if (!isObject(source)) { + return source; } + + // Already copied values + var index = stackSource.indexOf(source); + if (index !== -1) { + return stackDest[index]; + } + + if (isWindow(source) || isScope(source)) { + throw ngMinErr('cpws', + 'Can\'t copy! Making copies of Window or Scope instances is not supported.'); + } + + var needsRecurse = false; + var destination = copyType(source); + + if (destination === undefined) { + destination = isArray(source) ? [] : Object.create(getPrototypeOf(source)); + needsRecurse = true; + } + + stackSource.push(source); + stackDest.push(destination); + + return needsRecurse + ? copyRecurse(source, destination, maxDepth) + : destination; } - return dst; + function copyType(source) { + switch (toString.call(source)) { + case '[object Int8Array]': + case '[object Int16Array]': + case '[object Int32Array]': + case '[object Float32Array]': + case '[object Float64Array]': + case '[object Uint8Array]': + case '[object Uint8ClampedArray]': + case '[object Uint16Array]': + case '[object Uint32Array]': + return new source.constructor(copyElement(source.buffer), source.byteOffset, source.length); + + case '[object ArrayBuffer]': + // Support: IE10 + if (!source.slice) { + // If we're in this case we know the environment supports ArrayBuffer + /* eslint-disable no-undef */ + var copied = new ArrayBuffer(source.byteLength); + new Uint8Array(copied).set(new Uint8Array(source)); + /* eslint-enable */ + return copied; + } + return source.slice(0); + + case '[object Boolean]': + case '[object Number]': + case '[object String]': + case '[object Date]': + return new source.constructor(source.valueOf()); + + case '[object RegExp]': + var re = new RegExp(source.source, source.toString().match(/[^/]*$/)[0]); + re.lastIndex = source.lastIndex; + return re; + + case '[object Blob]': + return new source.constructor([source], {type: source.type}); + } + + if (isFunction(source.cloneNode)) { + return source.cloneNode(true); + } + } } +// eslint-disable-next-line no-self-compare +function simpleCompare(a, b) { return a === b || (a !== a && b !== b); } + + /** * @ngdoc function * @name angular.equals - * @function + * @module ng + * @kind function * * @description * Determines if two objects or two values are equivalent. Supports value types, regular @@ -793,7 +1034,7 @@ function shallowCopy(src, dst) { * * Both objects or values are of the same type and all of their properties are equal by * comparing them with `angular.equals`. * * Both values are NaN. (In JavaScript, NaN == NaN => false. But we consider two NaN as equal) - * * Both values represent the same regular expression (In JavasScript, + * * Both values represent the same regular expression (In JavaScript, * /abc/ == /abc/ => false. But we consider two regular expressions as equal when their textual * representation matches). * @@ -805,54 +1046,171 @@ function shallowCopy(src, dst) { * @param {*} o1 Object or value to compare. * @param {*} o2 Object or value to compare. * @returns {boolean} True if arguments are equal. + * + * @example + + +
    +
    +

    User 1

    + Name: + Age: + +

    User 2

    + Name: + Age: + +
    +
    + +
    + User 1:
    {{user1 | json}}
    + User 2:
    {{user2 | json}}
    + Equal:
    {{result}}
    + +
    +
    + + angular.module('equalsExample', []).controller('ExampleController', ['$scope', function($scope) { + $scope.user1 = {}; + $scope.user2 = {}; + $scope.compare = function() { + $scope.result = angular.equals($scope.user1, $scope.user2); + }; + }]); + +
    */ function equals(o1, o2) { if (o1 === o2) return true; if (o1 === null || o2 === null) return false; + // eslint-disable-next-line no-self-compare if (o1 !== o1 && o2 !== o2) return true; // NaN === NaN var t1 = typeof o1, t2 = typeof o2, length, key, keySet; - if (t1 == t2) { - if (t1 == 'object') { - if (isArray(o1)) { - if (!isArray(o2)) return false; - if ((length = o1.length) == o2.length) { - for(key=0; key + + ... + ... + + ``` + * @example + * This example shows how to use a jQuery based library of a different name. + * The library name must be available at the top most 'window'. + ```html + + + ... + ... + + ``` + */ +var jq = function() { + if (isDefined(jq.name_)) return jq.name_; + var el; + var i, ii = ngAttrPrefixes.length, prefix, name; + for (i = 0; i < ii; ++i) { + prefix = ngAttrPrefixes[i]; + el = window.document.querySelector('[' + prefix.replace(':', '\\:') + 'jq]'); + if (el) { + name = el.getAttribute(prefix + 'jq'); + break; + } + } + + return (jq.name_ = name); +}; function concat(array1, array2, index) { return array1.concat(slice.call(array2, index)); @@ -863,11 +1221,11 @@ function sliceArgs(args, startIndex) { } -/* jshint -W101 */ /** * @ngdoc function * @name angular.bind - * @function + * @module ng + * @kind function * * @description * Returns a function which calls function `fn` bound to `self` (`self` becomes the `this` for @@ -880,14 +1238,13 @@ function sliceArgs(args, startIndex) { * @param {...*} args Optional arguments to be prebound to the `fn` function call. * @returns {function()} Function that wraps the `fn` with all the specified bindings. */ -/* jshint +W101 */ function bind(self, fn) { var curryArgs = arguments.length > 2 ? sliceArgs(arguments, 2) : []; if (isFunction(fn) && !(fn instanceof RegExp)) { return curryArgs.length ? function() { return arguments.length - ? fn.apply(self, curryArgs.concat(slice.call(arguments, 0))) + ? fn.apply(self, concat(curryArgs, arguments, 0)) : fn.apply(self, curryArgs); } : function() { @@ -896,7 +1253,7 @@ function bind(self, fn) { : fn.call(self); }; } else { - // in IE, native methods are not functions so they cannot be bound (note: they don't need to be) + // In IE, native methods are not functions so they cannot be bound (note: they don't need to be). return fn; } } @@ -905,11 +1262,11 @@ function bind(self, fn) { function toJsonReplacer(key, value) { var val = value; - if (typeof key === 'string' && key.charAt(0) === '$') { + if (typeof key === 'string' && key.charAt(0) === '$' && key.charAt(1) === '$') { val = undefined; } else if (isWindow(value)) { val = '$WINDOW'; - } else if (value && document === value) { + } else if (value && window.document === value) { val = '$DOCUMENT'; } else if (isScope(value)) { val = '$SCOPE'; @@ -922,32 +1279,59 @@ function toJsonReplacer(key, value) { /** * @ngdoc function * @name angular.toJson - * @function + * @module ng + * @kind function * * @description - * Serializes input into a JSON-formatted string. Properties with leading $ characters will be - * stripped since angular uses this notation internally. + * Serializes input into a JSON-formatted string. Properties with leading $$ characters will be + * stripped since AngularJS uses this notation internally. * - * @param {Object|Array|Date|string|number} obj Input to be serialized into JSON. - * @param {boolean=} pretty If set to true, the JSON output will contain newlines and whitespace. + * @param {Object|Array|Date|string|number|boolean} obj Input to be serialized into JSON. + * @param {boolean|number} [pretty=2] If set to true, the JSON output will contain newlines and whitespace. + * If set to an integer, the JSON output will contain that many spaces per indentation. * @returns {string|undefined} JSON-ified string representing `obj`. + * @knownIssue + * + * The Safari browser throws a `RangeError` instead of returning `null` when it tries to stringify a `Date` + * object with an invalid date value. The only reliable way to prevent this is to monkeypatch the + * `Date.prototype.toJSON` method as follows: + * + * ``` + * var _DatetoJSON = Date.prototype.toJSON; + * Date.prototype.toJSON = function() { + * try { + * return _DatetoJSON.call(this); + * } catch(e) { + * if (e instanceof RangeError) { + * return null; + * } + * throw e; + * } + * }; + * ``` + * + * See https://github.com/angular/angular.js/pull/14221 for more information. */ function toJson(obj, pretty) { - if (typeof obj === 'undefined') return undefined; - return JSON.stringify(obj, toJsonReplacer, pretty ? ' ' : null); + if (isUndefined(obj)) return undefined; + if (!isNumber(pretty)) { + pretty = pretty ? 2 : null; + } + return JSON.stringify(obj, toJsonReplacer, pretty); } /** * @ngdoc function * @name angular.fromJson - * @function + * @module ng + * @kind function * * @description * Deserializes a JSON string. * * @param {string} json JSON string to deserialize. - * @returns {Object|Array|Date|string|number} Deserialized thingy. + * @returns {Object|Array|string|number} Deserialized JSON string. */ function fromJson(json) { return isString(json) @@ -956,35 +1340,43 @@ function fromJson(json) { } -function toBoolean(value) { - if (value && value.length !== 0) { - var v = lowercase("" + value); - value = !(v == 'f' || v == '0' || v == 'false' || v == 'no' || v == 'n' || v == '[]'); - } else { - value = false; - } - return value; +var ALL_COLONS = /:/g; +function timezoneToOffset(timezone, fallback) { + // Support: IE 9-11 only, Edge 13-15+ + // IE/Edge do not "understand" colon (`:`) in timezone + timezone = timezone.replace(ALL_COLONS, ''); + var requestedTimezoneOffset = Date.parse('Jan 01, 1970 00:00:00 ' + timezone) / 60000; + return isNumberNaN(requestedTimezoneOffset) ? fallback : requestedTimezoneOffset; +} + + +function addDateMinutes(date, minutes) { + date = new Date(date.getTime()); + date.setMinutes(date.getMinutes() + minutes); + return date; +} + + +function convertTimezoneToLocal(date, timezone, reverse) { + reverse = reverse ? -1 : 1; + var dateTimezoneOffset = date.getTimezoneOffset(); + var timezoneOffset = timezoneToOffset(timezone, dateTimezoneOffset); + return addDateMinutes(date, reverse * (timezoneOffset - dateTimezoneOffset)); } + /** * @returns {string} Returns the string representation of the element. */ function startingTag(element) { - element = jqLite(element).clone(); + element = jqLite(element).clone().empty(); + var elemHtml = jqLite('
    ').append(element).html(); try { - // turns out IE does not let you set .html() on elements which - // are not allowed to have children. So we just ignore it. - element.html(''); - } catch(e) {} - // As Per DOM Standards - var TEXT_NODE = 3; - var elemHtml = jqLite('
    ').append(element).html(); - try { - return element[0].nodeType === TEXT_NODE ? lowercase(elemHtml) : + return element[0].nodeType === NODE_TYPE_TEXT ? lowercase(elemHtml) : elemHtml. match(/^(<[^>]+>)/)[1]. - replace(/^<([\w\-]+)/, function(match, nodeName) { return '<' + lowercase(nodeName); }); - } catch(e) { + replace(/^<([\w-]+)/, function(match, nodeName) {return '<' + lowercase(nodeName);}); + } catch (e) { return lowercase(elemHtml); } @@ -1004,27 +1396,33 @@ function startingTag(element) { function tryDecodeURIComponent(value) { try { return decodeURIComponent(value); - } catch(e) { - // Ignore any invalid uri component + } catch (e) { + // Ignore any invalid uri component. } } /** * Parses an escaped url query string into key-value pairs. - * @returns Object.<(string|boolean)> + * @returns {Object.} */ function parseKeyValue(/**string*/keyValue) { - var obj = {}, key_value, key; - forEach((keyValue || "").split('&'), function(keyValue){ - if ( keyValue ) { - key_value = keyValue.split('='); - key = tryDecodeURIComponent(key_value[0]); - if ( isDefined(key) ) { - var val = isDefined(key_value[1]) ? tryDecodeURIComponent(key_value[1]) : true; - if (!obj[key]) { + var obj = {}; + forEach((keyValue || '').split('&'), function(keyValue) { + var splitPoint, key, val; + if (keyValue) { + key = keyValue = keyValue.replace(/\+/g,'%20'); + splitPoint = keyValue.indexOf('='); + if (splitPoint !== -1) { + key = keyValue.substring(0, splitPoint); + val = keyValue.substring(splitPoint + 1); + } + key = tryDecodeURIComponent(key); + if (isDefined(key)) { + val = isDefined(val) ? tryDecodeURIComponent(val) : true; + if (!hasOwnProperty.call(obj, key)) { obj[key] = val; - } else if(isArray(obj[key])) { + } else if (isArray(obj[key])) { obj[key].push(val); } else { obj[key] = [obj[key],val]; @@ -1075,7 +1473,7 @@ function encodeUriSegment(val) { * This method is intended for encoding *key* or *value* parts of query component. We need a custom * method because encodeURIComponent is too aggressive and encodes stuff that doesn't have to be * encoded per http://tools.ietf.org/html/rfc3986: - * query = *( pchar / "/" / "?" ) + * query = *( pchar / "/" / "?" ) * pchar = unreserved / pct-encoded / sub-delims / ":" / "@" * unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~" * pct-encoded = "%" HEXDIG HEXDIG @@ -1088,17 +1486,88 @@ function encodeUriQuery(val, pctEncodeSpaces) { replace(/%3A/gi, ':'). replace(/%24/g, '$'). replace(/%2C/gi, ','). + replace(/%3B/gi, ';'). replace(/%20/g, (pctEncodeSpaces ? '%20' : '+')); } +var ngAttrPrefixes = ['ng-', 'data-ng-', 'ng:', 'x-ng-']; + +function getNgAttribute(element, ngAttr) { + var attr, i, ii = ngAttrPrefixes.length; + for (i = 0; i < ii; ++i) { + attr = ngAttrPrefixes[i] + ngAttr; + if (isString(attr = element.getAttribute(attr))) { + return attr; + } + } + return null; +} + +function allowAutoBootstrap(document) { + var script = document.currentScript; + + if (!script) { + // Support: IE 9-11 only + // IE does not have `document.currentScript` + return true; + } + + // If the `currentScript` property has been clobbered just return false, since this indicates a probable attack + if (!(script instanceof window.HTMLScriptElement || script instanceof window.SVGScriptElement)) { + return false; + } + + var attributes = script.attributes; + var srcs = [attributes.getNamedItem('src'), attributes.getNamedItem('href'), attributes.getNamedItem('xlink:href')]; + + return srcs.every(function(src) { + if (!src) { + return true; + } + if (!src.value) { + return false; + } + + var link = document.createElement('a'); + link.href = src.value; + + if (document.location.origin === link.origin) { + // Same-origin resources are always allowed, even for banned URL schemes. + return true; + } + // Disabled bootstrapping unless angular.js was loaded from a known scheme used on the web. + // This is to prevent angular.js bundled with browser extensions from being used to bypass the + // content security policy in web pages and other browser extensions. + switch (link.protocol) { + case 'http:': + case 'https:': + case 'ftp:': + case 'blob:': + case 'file:': + case 'data:': + return true; + default: + return false; + } + }); +} + +// Cached as it has to run during loading so that document.currentScript is available. +var isAutoBootstrapAllowed = allowAutoBootstrap(window.document); /** * @ngdoc directive - * @name ng.directive:ngApp + * @name ngApp + * @module ng * * @element ANY * @param {angular.Module} ngApp an optional application * {@link angular.module module} name to load. + * @param {boolean=} ngStrictDi if this attribute is present on the app element, the injector will be + * created in "strict-di" mode. This means that the application will fail to invoke functions which + * do not use explicit function annotation (and are thus unsuitable for minification), as described + * in {@link guide/di the Dependency Injection guide}, and useful debugging info will assist in + * tracking down the root of these bugs. * * @description * @@ -1106,13 +1575,20 @@ function encodeUriQuery(val, pctEncodeSpaces) { * designates the **root element** of the application and is typically placed near the root element * of the page - e.g. on the `` or `` tags. * - * Only one AngularJS application can be auto-bootstrapped per HTML document. The first `ngApp` - * found in the document will be used to define the root element to auto-bootstrap as an - * application. To run multiple applications in an HTML document you must manually bootstrap them using - * {@link angular.bootstrap} instead. AngularJS applications cannot be nested within each other. + * There are a few things to keep in mind when using `ngApp`: + * - only one AngularJS application can be auto-bootstrapped per HTML document. The first `ngApp` + * found in the document will be used to define the root element to auto-bootstrap as an + * application. To run multiple applications in an HTML document you must manually bootstrap them using + * {@link angular.bootstrap} instead. + * - AngularJS applications cannot be nested within each other. + * - Do not use a directive that uses {@link ng.$compile#transclusion transclusion} on the same element as `ngApp`. + * This includes directives such as {@link ng.ngIf `ngIf`}, {@link ng.ngInclude `ngInclude`} and + * {@link ngRoute.ngView `ngView`}. + * Doing this misplaces the app {@link ng.$rootElement `$rootElement`} and the app's {@link auto.$injector injector}, + * causing animations to stop working and making the injector inaccessible from outside the app. * * You can specify an **AngularJS module** to be used as the root module for the application. This - * module will be loaded into the {@link AUTO.$injector} when the application is bootstrapped and + * module will be loaded into the {@link auto.$injector} when the application is bootstrapped. It * should contain the application code needed or have dependencies on other modules that will * contain the code. See {@link angular.module} for more information. * @@ -1120,12 +1596,17 @@ function encodeUriQuery(val, pctEncodeSpaces) { * document would not be compiled, the `AppController` would not be instantiated and the `{{ a+b }}` * would not be resolved to `3`. * - * `ngApp` is the easiest, and most common, way to bootstrap an application. + * @example + * + * ### Simple Usage + * + * `ngApp` is the easiest, and most common way to bootstrap an application. * - +
    I can add: {{a}} + {{b}} = {{ a+b }} +
    angular.module('ngAppDemo', []).controller('ngAppDemoController', function($scope) { @@ -1135,86 +1616,214 @@ function encodeUriQuery(val, pctEncodeSpaces) {
    * + * @example + * + * ### With `ngStrictDi` + * + * Using `ngStrictDi`, you would see something like this: + * + + +
    +
    + I can add: {{a}} + {{b}} = {{ a+b }} + +

    This renders because the controller does not fail to + instantiate, by using explicit annotation style (see + script.js for details) +

    +
    + +
    + Name:
    + Hello, {{name}}! + +

    This renders because the controller does not fail to + instantiate, by using explicit annotation style + (see script.js for details) +

    +
    + +
    + I can add: {{a}} + {{b}} = {{ a+b }} + +

    The controller could not be instantiated, due to relying + on automatic function annotations (which are disabled in + strict mode). As such, the content of this section is not + interpolated, and there should be an error in your web console. +

    +
    +
    +
    + + angular.module('ngAppStrictDemo', []) + // BadController will fail to instantiate, due to relying on automatic function annotation, + // rather than an explicit annotation + .controller('BadController', function($scope) { + $scope.a = 1; + $scope.b = 2; + }) + // Unlike BadController, GoodController1 and GoodController2 will not fail to be instantiated, + // due to using explicit annotations using the array style and $inject property, respectively. + .controller('GoodController1', ['$scope', function($scope) { + $scope.a = 1; + $scope.b = 2; + }]) + .controller('GoodController2', GoodController2); + function GoodController2($scope) { + $scope.name = 'World'; + } + GoodController2.$inject = ['$scope']; + + + div[ng-controller] { + margin-bottom: 1em; + -webkit-border-radius: 4px; + border-radius: 4px; + border: 1px solid; + padding: .5em; + } + div[ng-controller^=Good] { + border-color: #d6e9c6; + background-color: #dff0d8; + color: #3c763d; + } + div[ng-controller^=Bad] { + border-color: #ebccd1; + background-color: #f2dede; + color: #a94442; + margin-bottom: 0; + } + +
    */ function angularInit(element, bootstrap) { - var elements = [element], - appElement, + var appElement, module, - names = ['ng:app', 'ng-app', 'x-ng-app', 'data-ng-app'], - NG_APP_CLASS_REGEXP = /\sng[:\-]app(:\s*([\w\d_]+);?)?\s/; + config = {}; - function append(element) { - element && elements.push(element); - } + // The element `element` has priority over any other element. + forEach(ngAttrPrefixes, function(prefix) { + var name = prefix + 'app'; - forEach(names, function(name) { - names[name] = true; - append(document.getElementById(name)); - name = name.replace(':', '\\:'); - if (element.querySelectorAll) { - forEach(element.querySelectorAll('.' + name), append); - forEach(element.querySelectorAll('.' + name + '\\:'), append); - forEach(element.querySelectorAll('[' + name + ']'), append); + if (!appElement && element.hasAttribute && element.hasAttribute(name)) { + appElement = element; + module = element.getAttribute(name); } }); + forEach(ngAttrPrefixes, function(prefix) { + var name = prefix + 'app'; + var candidate; - forEach(elements, function(element) { - if (!appElement) { - var className = ' ' + element.className + ' '; - var match = NG_APP_CLASS_REGEXP.exec(className); - if (match) { - appElement = element; - module = (match[2] || '').replace(/\s+/g, ','); - } else { - forEach(element.attributes, function(attr) { - if (!appElement && names[attr.name]) { - appElement = element; - module = attr.value; - } - }); - } + if (!appElement && (candidate = element.querySelector('[' + name.replace(':', '\\:') + ']'))) { + appElement = candidate; + module = candidate.getAttribute(name); } }); if (appElement) { - bootstrap(appElement, module ? [module] : []); + if (!isAutoBootstrapAllowed) { + window.console.error('AngularJS: disabling automatic bootstrap. + * + * + * + * ``` + * + * @param {DOMElement} element DOM element which is the root of AngularJS application. * @param {Array=} modules an array of modules to load into the application. * Each item in the array should be the name of a predefined module or a (DI annotated) - * function that will be invoked by the injector as a run block. + * function that will be invoked by the injector as a `config` block. * See: {@link angular.module modules} - * @returns {AUTO.$injector} Returns the newly created injector for this app. + * @param {Object=} config an object for defining configuration options for the application. The + * following keys are supported: + * + * * `strictDi` - disable automatic function annotation for the application. This is meant to + * assist in finding bugs which break minified code. Defaults to `false`. + * + * @returns {auto.$injector} Returns the newly created injector for this app. */ -function bootstrap(element, modules) { +function bootstrap(element, modules, config) { + if (!isObject(config)) config = {}; + var defaultConfig = { + strictDi: false + }; + config = extend(defaultConfig, config); var doBootstrap = function() { element = jqLite(element); if (element.injector()) { - var tag = (element[0] === document) ? 'document' : startingTag(element); - throw ngMinErr('btstrpd', "App Already Bootstrapped with this Element '{0}'", tag); + var tag = (element[0] === window.document) ? 'document' : startingTag(element); + // Encode angle brackets to prevent input from being sanitized to empty string #8683. + throw ngMinErr( + 'btstrpd', + 'App already bootstrapped with this element \'{0}\'', + tag.replace(//,'>')); } modules = modules || []; modules.unshift(['$provide', function($provide) { $provide.value('$rootElement', element); }]); + + if (config.debugInfoEnabled) { + // Pushing so that this overrides `debugInfoEnabled` setting defined in user's `modules`. + modules.push(['$compileProvider', function($compileProvider) { + $compileProvider.debugInfoEnabled(true); + }]); + } + modules.unshift('ng'); - var injector = createInjector(modules); - injector.invoke(['$rootScope', '$rootElement', '$compile', '$injector', '$animate', - function(scope, element, compile, injector, animate) { + var injector = createInjector(modules, config.strictDi); + injector.invoke(['$rootScope', '$rootElement', '$compile', '$injector', + function bootstrapApply(scope, element, compile, injector) { scope.$apply(function() { element.data('$injector', injector); compile(element)(scope); @@ -1224,8 +1833,14 @@ function bootstrap(element, modules) { return injector; }; + var NG_ENABLE_DEBUG_INFO = /^NG_ENABLE_DEBUG_INFO!/; var NG_DEFER_BOOTSTRAP = /^NG_DEFER_BOOTSTRAP!/; + if (window && NG_ENABLE_DEBUG_INFO.test(window.name)) { + config.debugInfoEnabled = true; + window.name = window.name.replace(NG_ENABLE_DEBUG_INFO, ''); + } + if (window && !NG_DEFER_BOOTSTRAP.test(window.name)) { return doBootstrap(); } @@ -1235,40 +1850,124 @@ function bootstrap(element, modules) { forEach(extraModules, function(module) { modules.push(module); }); - doBootstrap(); + return doBootstrap(); }; + + if (isFunction(angular.resumeDeferredBootstrap)) { + angular.resumeDeferredBootstrap(); + } +} + +/** + * @ngdoc function + * @name angular.reloadWithDebugInfo + * @module ng + * @description + * Use this function to reload the current application with debug information turned on. + * This takes precedence over a call to `$compileProvider.debugInfoEnabled(false)`. + * + * See {@link ng.$compileProvider#debugInfoEnabled} for more. + */ +function reloadWithDebugInfo() { + window.name = 'NG_ENABLE_DEBUG_INFO!' + window.name; + window.location.reload(); +} + +/** + * @name angular.getTestability + * @module ng + * @description + * Get the testability service for the instance of AngularJS on the given + * element. + * @param {DOMElement} element DOM element which is the root of AngularJS application. + */ +function getTestability(rootElement) { + var injector = angular.element(rootElement).injector(); + if (!injector) { + throw ngMinErr('test', + 'no injector found for element argument to getTestability'); + } + return injector.get('$$testability'); } var SNAKE_CASE_REGEXP = /[A-Z]/g; -function snake_case(name, separator){ +function snake_case(name, separator) { separator = separator || '_'; return name.replace(SNAKE_CASE_REGEXP, function(letter, pos) { return (pos ? separator : '') + letter.toLowerCase(); }); } +var bindJQueryFired = false; function bindJQuery() { + var originalCleanData; + + if (bindJQueryFired) { + return; + } + // bind to jQuery if present; - jQuery = window.jQuery; - // reset to jQuery or default to us. - if (jQuery) { + var jqName = jq(); + jQuery = isUndefined(jqName) ? window.jQuery : // use jQuery (if present) + !jqName ? undefined : // use jqLite + window[jqName]; // use jQuery specified by `ngJq` + + // Use jQuery if it exists with proper functionality, otherwise default to us. + // AngularJS 1.2+ requires jQuery 1.7+ for on()/off() support. + // AngularJS 1.3+ technically requires at least jQuery 2.1+ but it may work with older + // versions. It will not work for sure with jQuery <1.7, though. + if (jQuery && jQuery.fn.on) { jqLite = jQuery; extend(jQuery.fn, { scope: JQLitePrototype.scope, isolateScope: JQLitePrototype.isolateScope, - controller: JQLitePrototype.controller, + controller: /** @type {?} */ (JQLitePrototype).controller, injector: JQLitePrototype.injector, inheritedData: JQLitePrototype.inheritedData }); - // Method signature: - // jqLitePatchJQueryRemove(name, dispatchThis, filterElems, getterIfNoArguments) - jqLitePatchJQueryRemove('remove', true, true, false); - jqLitePatchJQueryRemove('empty', false, false, false); - jqLitePatchJQueryRemove('html', false, false, true); } else { jqLite = JQLite; } + + // All nodes removed from the DOM via various jqLite/jQuery APIs like .remove() + // are passed through jqLite/jQuery.cleanData. Monkey-patch this method to fire + // the $destroy event on all removed nodes. + originalCleanData = jqLite.cleanData; + jqLite.cleanData = function(elems) { + var events; + for (var i = 0, elem; (elem = elems[i]) != null; i++) { + events = (jqLite._data(elem) || {}).events; + if (events && events.$destroy) { + jqLite(elem).triggerHandler('$destroy'); + } + } + originalCleanData(elems); + }; + angular.element = jqLite; + + // Prevent double-proxying. + bindJQueryFired = true; +} + +/** + * @ngdoc function + * @name angular.UNSAFE_restoreLegacyJqLiteXHTMLReplacement + * @module ng + * @kind function + * + * @description + * Restores the pre-1.8 behavior of jqLite that turns XHTML-like strings like + * `
    ` to `
    ` instead of `
    `. + * The new behavior is a security fix. Thus, if you need to call this function, please try to adjust + * your code for this change and remove your use of this function as soon as possible. + + * Note that this only patches jqLite. If you use jQuery 3.5.0 or newer, please read the + * [jQuery 3.5 upgrade guide](https://jquery.com/upgrade-guide/3.5/) for more details + * about the workarounds. + */ +function UNSAFE_restoreLegacyJqLiteXHTMLReplacement() { + JQLite.legacyXHTMLReplacement = true; } /** @@ -1276,7 +1975,7 @@ function bindJQuery() { */ function assertArg(arg, name, reason) { if (!arg) { - throw ngMinErr('areq', "Argument '{0}' is {1}", (name || '?'), (reason || "required")); + throw ngMinErr('areq', 'Argument \'{0}\' is {1}', (name || '?'), (reason || 'required')); } return arg; } @@ -1287,7 +1986,7 @@ function assertArgFn(arg, name, acceptArrayAnnotation) { } assertArg(isFunction(arg), name, 'not a function, got ' + - (arg && typeof arg == 'object' ? arg.constructor.name || 'Object' : typeof arg)); + (arg && typeof arg === 'object' ? arg.constructor.name || 'Object' : typeof arg)); return arg; } @@ -1298,16 +1997,16 @@ function assertArgFn(arg, name, acceptArrayAnnotation) { */ function assertNotHasOwnProperty(name, context) { if (name === 'hasOwnProperty') { - throw ngMinErr('badname', "hasOwnProperty is not a valid {0} name", context); + throw ngMinErr('badname', 'hasOwnProperty is not a valid {0} name', context); } } /** * Return the value accessible from the object by path. Any undefined traversals are ignored * @param {Object} obj starting object - * @param {string} path path to traverse - * @param {boolean=true} bindFnToScope - * @returns value as accessible by path + * @param {String} path path to traverse + * @param {boolean} [bindFnToScope=true] + * @returns {Object} value as accessible by path */ //TODO(misko): this function needs to be removed function getter(obj, path, bindFnToScope) { @@ -1330,23 +2029,68 @@ function getter(obj, path, bindFnToScope) { } /** - * Return the siblings between `startNode` and `endNode`, inclusive - * @param {Object} object with `startNode` and `endNode` properties - * @returns jQlite object containing the elements + * Return the DOM siblings between the first and last node in the given array. + * @param {Array} array like object + * @returns {Array} the inputted object or a jqLite collection containing the nodes */ -function getBlockElements(block) { - if (block.startNode === block.endNode) { - return jqLite(block.startNode); +function getBlockNodes(nodes) { + // TODO(perf): update `nodes` instead of creating a new object? + var node = nodes[0]; + var endNode = nodes[nodes.length - 1]; + var blockNodes; + + for (var i = 1; node !== endNode && (node = node.nextSibling); i++) { + if (blockNodes || nodes[i] !== node) { + if (!blockNodes) { + blockNodes = jqLite(slice.call(nodes, 0, i)); + } + blockNodes.push(node); + } } - var element = block.startNode; - var elements = [element]; + return blockNodes || nodes; +} + + +/** + * Creates a new object without a prototype. This object is useful for lookup without having to + * guard against prototypically inherited properties via hasOwnProperty. + * + * Related micro-benchmarks: + * - http://jsperf.com/object-create2 + * - http://jsperf.com/proto-map-lookup/2 + * - http://jsperf.com/for-in-vs-object-keys2 + * + * @returns {Object} + */ +function createMap() { + return Object.create(null); +} - do { - element = element.nextSibling; - if (!element) break; - elements.push(element); - } while (element !== block.endNode); +function stringify(value) { + if (value == null) { // null || undefined + return ''; + } + switch (typeof value) { + case 'string': + break; + case 'number': + value = '' + value; + break; + default: + if (hasCustomToString(value) && !isArray(value) && !isDate(value)) { + value = value.toString(); + } else { + value = toJson(value); + } + } - return jqLite(elements); + return value; } + +var NODE_TYPE_ELEMENT = 1; +var NODE_TYPE_ATTRIBUTE = 2; +var NODE_TYPE_TEXT = 3; +var NODE_TYPE_COMMENT = 8; +var NODE_TYPE_DOCUMENT = 9; +var NODE_TYPE_DOCUMENT_FRAGMENT = 11; diff --git a/src/AngularPublic.js b/src/AngularPublic.js index d2c325c552f6..7f89362fed9b 100644 --- a/src/AngularPublic.js +++ b/src/AngularPublic.js @@ -1,86 +1,114 @@ 'use strict'; -/* global - angularModule: true, - version: true, - - $LocaleProvider, - $CompileProvider, - - htmlAnchorDirective, - inputDirective, - inputDirective, - formDirective, - scriptDirective, - selectDirective, - styleDirective, - optionDirective, - ngBindDirective, - ngBindHtmlDirective, - ngBindTemplateDirective, - ngClassDirective, - ngClassEvenDirective, - ngClassOddDirective, - ngCspDirective, - ngCloakDirective, - ngControllerDirective, - ngFormDirective, - ngHideDirective, - ngIfDirective, - ngIncludeDirective, - ngInitDirective, - ngNonBindableDirective, - ngPluralizeDirective, - ngRepeatDirective, - ngShowDirective, - ngStyleDirective, - ngSwitchDirective, - ngSwitchWhenDirective, - ngSwitchDefaultDirective, - ngOptionsDirective, - ngTranscludeDirective, - ngModelDirective, - ngListDirective, - ngChangeDirective, - requiredDirective, - requiredDirective, - ngValueDirective, - ngAttributeAliasDirectives, - ngEventDirectives, +/* global angularModule: true, + version: true, - $AnchorScrollProvider, - $AnimateProvider, - $BrowserProvider, - $CacheFactoryProvider, - $ControllerProvider, - $DocumentProvider, - $ExceptionHandlerProvider, - $FilterProvider, - $InterpolateProvider, - $IntervalProvider, - $HttpProvider, - $HttpBackendProvider, - $LocationProvider, - $LogProvider, - $ParseProvider, - $RootScopeProvider, - $QProvider, - $$SanitizeUriProvider, - $SceProvider, - $SceDelegateProvider, - $SnifferProvider, - $TemplateCacheProvider, - $TimeoutProvider, - $WindowProvider + $CompileProvider, + + htmlAnchorDirective, + inputDirective, + hiddenInputBrowserCacheDirective, + formDirective, + scriptDirective, + selectDirective, + optionDirective, + ngBindDirective, + ngBindHtmlDirective, + ngBindTemplateDirective, + ngClassDirective, + ngClassEvenDirective, + ngClassOddDirective, + ngCloakDirective, + ngControllerDirective, + ngFormDirective, + ngHideDirective, + ngIfDirective, + ngIncludeDirective, + ngIncludeFillContentDirective, + ngInitDirective, + ngNonBindableDirective, + ngPluralizeDirective, + ngRefDirective, + ngRepeatDirective, + ngShowDirective, + ngStyleDirective, + ngSwitchDirective, + ngSwitchWhenDirective, + ngSwitchDefaultDirective, + ngOptionsDirective, + ngTranscludeDirective, + ngModelDirective, + ngListDirective, + ngChangeDirective, + patternDirective, + patternDirective, + requiredDirective, + requiredDirective, + minlengthDirective, + minlengthDirective, + maxlengthDirective, + maxlengthDirective, + ngValueDirective, + ngModelOptionsDirective, + ngAttributeAliasDirectives, + ngEventDirectives, + + $AnchorScrollProvider, + $AnimateProvider, + $CoreAnimateCssProvider, + $$CoreAnimateJsProvider, + $$CoreAnimateQueueProvider, + $$AnimateRunnerFactoryProvider, + $$AnimateAsyncRunFactoryProvider, + $BrowserProvider, + $CacheFactoryProvider, + $ControllerProvider, + $DateProvider, + $DocumentProvider, + $$IsDocumentHiddenProvider, + $ExceptionHandlerProvider, + $FilterProvider, + $$ForceReflowProvider, + $InterpolateProvider, + $$IntervalFactoryProvider, + $IntervalProvider, + $HttpProvider, + $HttpParamSerializerProvider, + $HttpParamSerializerJQLikeProvider, + $HttpBackendProvider, + $xhrFactoryProvider, + $jsonpCallbacksProvider, + $LocationProvider, + $LogProvider, + $$MapProvider, + $ParseProvider, + $RootScopeProvider, + $QProvider, + $$QProvider, + $$SanitizeUriProvider, + $SceProvider, + $SceDelegateProvider, + $SnifferProvider, + $$TaskTrackerFactoryProvider, + $TemplateCacheProvider, + $TemplateRequestProvider, + $$TestabilityProvider, + $TimeoutProvider, + $$RAFProvider, + $WindowProvider, + $$jqLiteProvider, + $$CookieReaderProvider */ /** - * @ngdoc property + * @ngdoc object * @name angular.version + * @module ng * @description - * An object that contains information about the current AngularJS version. This object has the - * following properties: + * An object that contains information about the current AngularJS version. + * + * This object has the following properties: * * - `full` – `{string}` – Full version string, such as "0.9.18". * - `major` – `{number}` – Major version number, such as "0". @@ -89,28 +117,32 @@ * - `codeName` – `{string}` – Code name of the release, such as "jiggling-armfat". */ var version = { - full: '"NG_VERSION_FULL"', // all of these placeholder strings will be replaced by grunt's - major: "NG_VERSION_MAJOR", // package task - minor: "NG_VERSION_MINOR", - dot: "NG_VERSION_DOT", + // These placeholder strings will be replaced by grunt's `build` task. + // They need to be double- or single-quoted. + full: '"NG_VERSION_FULL"', + major: 'NG_VERSION_MAJOR', + minor: 'NG_VERSION_MINOR', + dot: 'NG_VERSION_DOT', codeName: '"NG_VERSION_CODENAME"' }; -function publishExternalAPI(angular){ +function publishExternalAPI(angular) { extend(angular, { + 'errorHandlingConfig': errorHandlingConfig, 'bootstrap': bootstrap, 'copy': copy, 'extend': extend, + 'merge': merge, 'equals': equals, 'element': jqLite, 'forEach': forEach, 'injector': createInjector, - 'noop':noop, - 'bind':bind, + 'noop': noop, + 'bind': bind, 'toJson': toJson, 'fromJson': fromJson, - 'identity':identity, + 'identity': identity, 'isUndefined': isUndefined, 'isDefined': isDefined, 'isString': isString, @@ -121,19 +153,20 @@ function publishExternalAPI(angular){ 'isArray': isArray, 'version': version, 'isDate': isDate, - 'lowercase': lowercase, - 'uppercase': uppercase, - 'callbacks': {counter: 0}, + 'callbacks': {$$counter: 0}, + 'getTestability': getTestability, + 'reloadWithDebugInfo': reloadWithDebugInfo, + 'UNSAFE_restoreLegacyJqLiteXHTMLReplacement': UNSAFE_restoreLegacyJqLiteXHTMLReplacement, '$$minErr': minErr, - '$$csp': csp + '$$csp': csp, + '$$encodeUriSegment': encodeUriSegment, + '$$encodeUriQuery': encodeUriQuery, + '$$lowercase': lowercase, + '$$stringify': stringify, + '$$uppercase': uppercase }); angularModule = setupModuleLoader(window); - try { - angularModule('ngLocale'); - } catch (e) { - angularModule('ngLocale', []).provider('$locale', $LocaleProvider); - } angularModule('ng', ['ngLocale'], ['$provide', function ngModule($provide) { @@ -149,7 +182,6 @@ function publishExternalAPI(angular){ form: formDirective, script: scriptDirective, select: selectDirective, - style: styleDirective, option: optionDirective, ngBind: ngBindDirective, ngBindHtml: ngBindHtmlDirective, @@ -166,6 +198,7 @@ function publishExternalAPI(angular){ ngInit: ngInitDirective, ngNonBindable: ngNonBindableDirective, ngPluralize: ngPluralizeDirective, + ngRef: ngRefDirective, ngRepeat: ngRepeatDirective, ngShow: ngShowDirective, ngStyle: ngStyleDirective, @@ -177,37 +210,69 @@ function publishExternalAPI(angular){ ngModel: ngModelDirective, ngList: ngListDirective, ngChange: ngChangeDirective, + pattern: patternDirective, + ngPattern: patternDirective, required: requiredDirective, ngRequired: requiredDirective, - ngValue: ngValueDirective + minlength: minlengthDirective, + ngMinlength: minlengthDirective, + maxlength: maxlengthDirective, + ngMaxlength: maxlengthDirective, + ngValue: ngValueDirective, + ngModelOptions: ngModelOptionsDirective + }). + directive({ + ngInclude: ngIncludeFillContentDirective, + input: hiddenInputBrowserCacheDirective }). directive(ngAttributeAliasDirectives). directive(ngEventDirectives); $provide.provider({ $anchorScroll: $AnchorScrollProvider, $animate: $AnimateProvider, + $animateCss: $CoreAnimateCssProvider, + $$animateJs: $$CoreAnimateJsProvider, + $$animateQueue: $$CoreAnimateQueueProvider, + $$AnimateRunner: $$AnimateRunnerFactoryProvider, + $$animateAsyncRun: $$AnimateAsyncRunFactoryProvider, $browser: $BrowserProvider, $cacheFactory: $CacheFactoryProvider, $controller: $ControllerProvider, $document: $DocumentProvider, + $$isDocumentHidden: $$IsDocumentHiddenProvider, $exceptionHandler: $ExceptionHandlerProvider, $filter: $FilterProvider, + $$forceReflow: $$ForceReflowProvider, $interpolate: $InterpolateProvider, $interval: $IntervalProvider, + $$intervalFactory: $$IntervalFactoryProvider, $http: $HttpProvider, + $httpParamSerializer: $HttpParamSerializerProvider, + $httpParamSerializerJQLike: $HttpParamSerializerJQLikeProvider, $httpBackend: $HttpBackendProvider, + $xhrFactory: $xhrFactoryProvider, + $jsonpCallbacks: $jsonpCallbacksProvider, $location: $LocationProvider, $log: $LogProvider, $parse: $ParseProvider, $rootScope: $RootScopeProvider, $q: $QProvider, + $$q: $$QProvider, $sce: $SceProvider, $sceDelegate: $SceDelegateProvider, $sniffer: $SnifferProvider, + $$taskTrackerFactory: $$TaskTrackerFactoryProvider, $templateCache: $TemplateCacheProvider, + $templateRequest: $TemplateRequestProvider, + $$testability: $$TestabilityProvider, $timeout: $TimeoutProvider, - $window: $WindowProvider + $window: $WindowProvider, + $$rAF: $$RAFProvider, + $$jqLite: $$jqLiteProvider, + $$Map: $$MapProvider, + $$cookieReader: $$CookieReaderProvider }); } - ]); + ]) + .info({ angularVersion: '"NG_VERSION_FULL"' }); } diff --git a/src/angular.bind.js b/src/angular.bind.js new file mode 100644 index 000000000000..29c8f71b2adf --- /dev/null +++ b/src/angular.bind.js @@ -0,0 +1,11 @@ +if (window.angular.bootstrap) { + // AngularJS is already loaded, so we can return here... + if (window.console) { + console.log('WARNING: Tried to load AngularJS more than once.'); + } + return; +} + +// try to bind to jquery now so that one can write jqLite(fn) +// but we will rebind on bootstrap again. +bindJQuery(); diff --git a/src/angular.prefix b/src/angular.prefix index 17fb2d8745c8..1ef0083672f9 100644 --- a/src/angular.prefix +++ b/src/angular.prefix @@ -1,6 +1,6 @@ /** * @license AngularJS v"NG_VERSION_FULL" - * (c) 2010-2014 Google, Inc. http://angularjs.org + * (c) 2010-2020 Google LLC. http://angularjs.org * License: MIT */ -(function(window, document, undefined) { +(function(window) { diff --git a/src/angular.suffix b/src/angular.suffix index c86200bb31f4..fddb3d072ebe 100644 --- a/src/angular.suffix +++ b/src/angular.suffix @@ -1,11 +1,5 @@ - //try to bind to jquery now so that one can write angular.element().read() - //but we will rebind on bootstrap again. - bindJQuery(); - - publishExternalAPI(angular); - - jqLite(document).ready(function() { - angularInit(document, bootstrap); + jqLite(function() { + angularInit(window.document, bootstrap); }); -})(window, document); +})(window); diff --git a/src/apis.js b/src/apis.js index c5d2b3d339dc..1767b9134f4b 100644 --- a/src/apis.js +++ b/src/apis.js @@ -1,6 +1,5 @@ 'use strict'; - /** * Computes a hash of an 'obj'. * Hash of a: @@ -13,55 +12,93 @@ * @returns {string} hash string such that the same input will have the same hash string. * The resulting string key is in 'type:hashKey' format. */ -function hashKey(obj) { - var objType = typeof obj, - key; +function hashKey(obj, nextUidFn) { + var key = obj && obj.$$hashKey; - if (objType == 'object' && obj !== null) { - if (typeof (key = obj.$$hashKey) == 'function') { - // must invoke on object to keep the right this + if (key) { + if (typeof key === 'function') { key = obj.$$hashKey(); - } else if (key === undefined) { - key = obj.$$hashKey = nextUid(); } + return key; + } + + var objType = typeof obj; + if (objType === 'function' || (objType === 'object' && obj !== null)) { + key = obj.$$hashKey = objType + ':' + (nextUidFn || nextUid)(); } else { - key = obj; + key = objType + ':' + obj; } - return objType + ':' + key; + return key; } -/** - * HashMap which can use objects as keys - */ -function HashMap(array){ - forEach(array, this.put, this); +// A minimal ES2015 Map implementation. +// Should be bug/feature equivalent to the native implementations of supported browsers +// (for the features required in Angular). +// See https://kangax.github.io/compat-table/es6/#test-Map +var nanKey = Object.create(null); +function NgMapShim() { + this._keys = []; + this._values = []; + this._lastKey = NaN; + this._lastIndex = -1; } -HashMap.prototype = { - /** - * Store key value pair - * @param key key to store can be any type - * @param value value to store can be any type - */ - put: function(key, value) { - this[hashKey(key)] = value; +NgMapShim.prototype = { + _idx: function(key) { + if (key !== this._lastKey) { + this._lastKey = key; + this._lastIndex = this._keys.indexOf(key); + } + return this._lastIndex; + }, + _transformKey: function(key) { + return isNumberNaN(key) ? nanKey : key; }, - - /** - * @param key - * @returns the value for the key - */ get: function(key) { - return this[hashKey(key)]; + key = this._transformKey(key); + var idx = this._idx(key); + if (idx !== -1) { + return this._values[idx]; + } + }, + has: function(key) { + key = this._transformKey(key); + var idx = this._idx(key); + return idx !== -1; }, + set: function(key, value) { + key = this._transformKey(key); + var idx = this._idx(key); + if (idx === -1) { + idx = this._lastIndex = this._keys.length; + } + this._keys[idx] = key; + this._values[idx] = value; - /** - * Remove the key/value pair - * @param key - */ - remove: function(key) { - var value = this[key = hashKey(key)]; - delete this[key]; - return value; + // Support: IE11 + // Do not `return this` to simulate the partial IE11 implementation + }, + delete: function(key) { + key = this._transformKey(key); + var idx = this._idx(key); + if (idx === -1) { + return false; + } + this._keys.splice(idx, 1); + this._values.splice(idx, 1); + this._lastKey = NaN; + this._lastIndex = -1; + return true; } }; + +// For now, always use `NgMapShim`, even if `window.Map` is available. Some native implementations +// are still buggy (often in subtle ways) and can cause hard-to-debug failures. When native `Map` +// implementations get more stable, we can reconsider switching to `window.Map` (when available). +var NgMap = NgMapShim; + +var $$MapProvider = [/** @this */function() { + this.$get = [function() { + return NgMap; + }]; +}]; diff --git a/src/auto/injector.js b/src/auto/injector.js index ab6c1f968022..b4995af8f6f6 100644 --- a/src/auto/injector.js +++ b/src/auto/injector.js @@ -2,61 +2,113 @@ /** * @ngdoc function + * @module ng * @name angular.injector - * @function + * @kind function * * @description - * Creates an injector function that can be used for retrieving services as well as for + * Creates an injector object that can be used for retrieving services as well as for * dependency injection (see {@link guide/di dependency injection}). * - * @param {Array.} modules A list of module functions or their aliases. See - * {@link angular.module}. The `ng` module must be explicitly added. - * @returns {function()} Injector function. See {@link AUTO.$injector $injector}. + * {@link angular.module}. The `ng` module must be explicitly added. + * @param {boolean=} [strictDi=false] Whether the injector should be in strict mode, which + * disallows argument name annotation inference. + * @returns {injector} Injector object. See {@link auto.$injector $injector}. * * @example * Typical usage - *
    + * ```js
      *   // create an injector
      *   var $injector = angular.injector(['ng']);
      *
      *   // use the injector to kick off your application
      *   // use the type inference to auto inject arguments, or use implicit injection
    - *   $injector.invoke(function($rootScope, $compile, $document){
    + *   $injector.invoke(function($rootScope, $compile, $document) {
      *     $compile($document)($rootScope);
      *     $rootScope.$digest();
      *   });
    - * 
    + * ``` + * + * Sometimes you want to get access to the injector of a currently running AngularJS app + * from outside AngularJS. Perhaps, you want to inject and compile some markup after the + * application has been bootstrapped. You can do this using the extra `injector()` added + * to JQuery/jqLite elements. See {@link angular.element}. + * + * *This is fairly rare but could be the case if a third party library is injecting the + * markup.* + * + * In the following example a new block of HTML containing a `ng-controller` + * directive is added to the end of the document body by JQuery. We then compile and link + * it into the current AngularJS scope. + * + * ```js + * var $div = $('
    {{content.label}}
    '); + * $(document.body).append($div); + * + * angular.element(document).injector().invoke(function($compile) { + * var scope = angular.element($div).scope(); + * $compile($div)(scope); + * }); + * ``` */ /** - * @ngdoc overview - * @name AUTO + * @ngdoc module + * @name auto + * @installation * @description * - * Implicit module which gets automatically added to each {@link AUTO.$injector $injector}. + * Implicit module which gets automatically added to each {@link auto.$injector $injector}. */ -var FN_ARGS = /^function\s*[^\(]*\(\s*([^\)]*)\)/m; +var ARROW_ARG = /^([^(]+?)=>/; +var FN_ARGS = /^[^(]*\(\s*([^)]*)\)/m; var FN_ARG_SPLIT = /,/; var FN_ARG = /^\s*(_?)(\S+?)\1\s*$/; var STRIP_COMMENTS = /((\/\/.*$)|(\/\*[\s\S]*?\*\/))/mg; var $injectorMinErr = minErr('$injector'); -function annotate(fn) { + +function stringifyFn(fn) { + return Function.prototype.toString.call(fn); +} + +function extractArgs(fn) { + var fnText = stringifyFn(fn).replace(STRIP_COMMENTS, ''), + args = fnText.match(ARROW_ARG) || fnText.match(FN_ARGS); + return args; +} + +function anonFn(fn) { + // For anonymous functions, showing at the very least the function signature can help in + // debugging. + var args = extractArgs(fn); + if (args) { + return 'function(' + (args[1] || '').replace(/[\s\r\n]+/, ' ') + ')'; + } + return 'fn'; +} + +function annotate(fn, strictDi, name) { var $inject, - fnText, argDecl, last; - if (typeof fn == 'function') { + if (typeof fn === 'function') { if (!($inject = fn.$inject)) { $inject = []; if (fn.length) { - fnText = fn.toString().replace(STRIP_COMMENTS, ''); - argDecl = fnText.match(FN_ARGS); - forEach(argDecl[1].split(FN_ARG_SPLIT), function(arg){ - arg.replace(FN_ARG, function(all, underscore, name){ + if (strictDi) { + if (!isString(name) || !name) { + name = fn.name || anonFn(fn); + } + throw $injectorMinErr('strictdi', + '{0} is not using explicit annotation and cannot be invoked in strict mode', name); + } + argDecl = extractArgs(fn); + forEach(argDecl[1].split(FN_ARG_SPLIT), function(arg) { + arg.replace(FN_ARG, function(all, underscore, name) { $inject.push(name); }); }); @@ -76,32 +128,31 @@ function annotate(fn) { /////////////////////////////////////// /** - * @ngdoc object - * @name AUTO.$injector - * @function + * @ngdoc service + * @name $injector * * @description * * `$injector` is used to retrieve object instances as defined by - * {@link AUTO.$provide provider}, instantiate types, invoke methods, + * {@link auto.$provide provider}, instantiate types, invoke methods, * and load modules. * * The following always holds true: * - *
    + * ```js
      *   var $injector = angular.injector();
      *   expect($injector.get('$injector')).toBe($injector);
    - *   expect($injector.invoke(function($injector){
    + *   expect($injector.invoke(function($injector) {
      *     return $injector;
    - *   }).toBe($injector);
    - * 
    + * })).toBe($injector); + * ``` * - * # Injection Function Annotation + * ## Injection Function Annotation * * JavaScript does not have annotations, and annotations are needed for dependency injection. The * following are all valid ways of annotating function with injection arguments and are equivalent. * - *
    + * ```js
      *   // inferred (only works if code not minified/obfuscated)
      *   $injector.invoke(function(serviceA){});
      *
    @@ -112,43 +163,66 @@ function annotate(fn) {
      *
      *   // inline
      *   $injector.invoke(['serviceA', function(serviceA){}]);
    - * 
    + * ``` * - * ## Inference + * ### Inference * * In JavaScript calling `toString()` on a function returns the function definition. The definition - * can then be parsed and the function arguments can be extracted. *NOTE:* This does not work with - * minification, and obfuscation tools since these tools change the argument names. + * can then be parsed and the function arguments can be extracted. This method of discovering + * annotations is disallowed when the injector is in strict mode. + * *NOTE:* This does not work with minification, and obfuscation tools since these tools change the + * argument names. * - * ## `$inject` Annotation - * By adding a `$inject` property onto a function the injection parameters can be specified. + * ### `$inject` Annotation + * By adding an `$inject` property onto a function the injection parameters can be specified. * - * ## Inline + * ### Inline * As an array of injection names, where the last item in the array is the function to call. */ +/** + * @ngdoc property + * @name $injector#modules + * @type {Object} + * @description + * A hash containing all the modules that have been loaded into the + * $injector. + * + * You can use this property to find out information about a module via the + * {@link angular.Module#info `myModule.info(...)`} method. + * + * For example: + * + * ``` + * var info = $injector.modules['ngAnimate'].info(); + * ``` + * + * **Do not use this property to attempt to modify the modules after the application + * has been bootstrapped.** + */ + + /** * @ngdoc method - * @name AUTO.$injector#get - * @methodOf AUTO.$injector + * @name $injector#get * * @description * Return an instance of the service. * * @param {string} name The name of the instance to retrieve. + * @param {string=} caller An optional string to provide the origin of the function call for error messages. * @return {*} The instance. */ /** * @ngdoc method - * @name AUTO.$injector#invoke - * @methodOf AUTO.$injector + * @name $injector#invoke * * @description * Invoke the method and supply the method arguments from the `$injector`. * - * @param {!function} fn The function to invoke. Function parameters are injected according to the - * {@link guide/di $inject Annotation} rules. + * @param {Function|Array.} fn The injectable function to invoke. Function parameters are + * injected according to the {@link guide/di $inject Annotation} rules. * @param {Object=} self The `this` for the invoked method. * @param {Object=} locals Optional object. If preset then any argument names are read from this * object first, before the `$injector` is consulted. @@ -157,26 +231,24 @@ function annotate(fn) { /** * @ngdoc method - * @name AUTO.$injector#has - * @methodOf AUTO.$injector + * @name $injector#has * * @description - * Allows the user to query if the particular service exist. + * Allows the user to query if the particular service exists. * - * @param {string} Name of the service to query. - * @returns {boolean} returns true if injector has given service. + * @param {string} name Name of the service to query. + * @returns {boolean} `true` if injector has given service. */ /** * @ngdoc method - * @name AUTO.$injector#instantiate - * @methodOf AUTO.$injector + * @name $injector#instantiate * @description - * Create a new instance of JS type. The method takes a constructor function invokes the new - * operator and supplies all of the arguments to the constructor function as specified by the + * Create a new instance of JS type. The method takes a constructor function, invokes the new + * operator, and supplies all of the arguments to the constructor function as specified by the * constructor annotation. * - * @param {function} Type Annotated constructor function. + * @param {Function} Type Annotated constructor function. * @param {Object=} locals Optional object. If preset then any argument names are read from this * object first, before the `$injector` is consulted. * @returns {Object} new instance of `Type`. @@ -184,8 +256,7 @@ function annotate(fn) { /** * @ngdoc method - * @name AUTO.$injector#annotate - * @methodOf AUTO.$injector + * @name $injector#annotate * * @description * Returns an array of service names which the function is requesting for injection. This API is @@ -193,12 +264,12 @@ function annotate(fn) { * function is invoked. There are three ways in which the function can be annotated with the needed * dependencies. * - * # Argument names + * #### Argument names * * The simplest form is to extract the dependencies from the arguments of the function. This is done * by converting the function into a string using `toString()` method and extracting the argument * names. - *
    + * ```js
      *   // Given
      *   function MyController($scope, $route) {
      *     // ...
    @@ -206,16 +277,18 @@ function annotate(fn) {
      *
      *   // Then
      *   expect(injector.annotate(MyController)).toEqual(['$scope', '$route']);
    - * 
    + * ``` + * + * You can disallow this method by using strict injection mode. * * This method does not work with code minification / obfuscation. For this reason the following * annotation strategies are supported. * - * # The `$inject` property + * #### The `$inject` property * * If a function has an `$inject` property and its value is an array of strings, then the strings * represent names of services to be injected into the function. - *
    + * ```js
      *   // Given
      *   var MyController = function(obfuscatedScope, obfuscatedRoute) {
      *     // ...
    @@ -225,15 +298,15 @@ function annotate(fn) {
      *
      *   // Then
      *   expect(injector.annotate(MyController)).toEqual(['$scope', '$route']);
    - * 
    + * ``` * - * # The array notation + * #### The array notation * * It is often desirable to inline Injected functions and that's when setting the `$inject` property * is very inconvenient. In these situations using the array notation to specify the dependencies in * a way that survives minification is a better choice: * - *
    + * ```js
      *   // We wish to write this (not minification / obfuscation safe)
      *   injector.invoke(function($compile, $rootScope) {
      *     // ...
    @@ -255,64 +328,104 @@ function annotate(fn) {
      *   expect(injector.annotate(
      *      ['$compile', '$rootScope', function(obfus_$compile, obfus_$rootScope) {}])
      *    ).toEqual(['$compile', '$rootScope']);
    - * 
    + * ``` * - * @param {function|Array.} fn Function for which dependent service names need to + * @param {Function|Array.} fn Function for which dependent service names need to * be retrieved as described above. * + * @param {boolean=} [strictDi=false] Disallow argument name annotation inference. + * * @returns {Array.} The names of the services which the function requires. */ - - +/** + * @ngdoc method + * @name $injector#loadNewModules + * + * @description + * + * **This is a dangerous API, which you use at your own risk!** + * + * Add the specified modules to the current injector. + * + * This method will add each of the injectables to the injector and execute all of the config and run + * blocks for each module passed to the method. + * + * If a module has already been loaded into the injector then it will not be loaded again. + * + * * The application developer is responsible for loading the code containing the modules; and for + * ensuring that lazy scripts are not downloaded and executed more often that desired. + * * Previously compiled HTML will not be affected by newly loaded directives, filters and components. + * * Modules cannot be unloaded. + * + * You can use {@link $injector#modules `$injector.modules`} to check whether a module has been loaded + * into the injector, which may indicate whether the script has been executed already. + * + * @example + * Here is an example of loading a bundle of modules, with a utility method called `getScript`: + * + * ```javascript + * app.factory('loadModule', function($injector) { + * return function loadModule(moduleName, bundleUrl) { + * return getScript(bundleUrl).then(function() { $injector.loadNewModules([moduleName]); }); + * }; + * }) + * ``` + * + * @param {Array=} mods an array of modules to load into the application. + * Each item in the array should be the name of a predefined module or a (DI annotated) + * function that will be invoked by the injector as a `config` block. + * See: {@link angular.module modules} + */ /** - * @ngdoc object - * @name AUTO.$provide + * @ngdoc service + * @name $provide * * @description * - * The {@link AUTO.$provide $provide} service has a number of methods for registering components - * with the {@link AUTO.$injector $injector}. Many of these functions are also exposed on + * The {@link auto.$provide $provide} service has a number of methods for registering components + * with the {@link auto.$injector $injector}. Many of these functions are also exposed on * {@link angular.Module}. * - * An Angular **service** is a singleton object created by a **service factory**. These **service + * An AngularJS **service** is a singleton object created by a **service factory**. These **service * factories** are functions which, in turn, are created by a **service provider**. * The **service providers** are constructor functions. When instantiated they must contain a * property called `$get`, which holds the **service factory** function. * - * When you request a service, the {@link AUTO.$injector $injector} is responsible for finding the + * When you request a service, the {@link auto.$injector $injector} is responsible for finding the * correct **service provider**, instantiating it and then calling its `$get` **service factory** * function to get the instance of the **service**. * * Often services have no configuration options and there is no need to add methods to the service * provider. The provider will be no more than a constructor function with a `$get` property. For - * these cases the {@link AUTO.$provide $provide} service has additional helper methods to register + * these cases the {@link auto.$provide $provide} service has additional helper methods to register * services without specifying a provider. * - * * {@link AUTO.$provide#methods_provider provider(provider)} - registers a **service provider** with the - * {@link AUTO.$injector $injector} - * * {@link AUTO.$provide#methods_constant constant(obj)} - registers a value/object that can be accessed by + * * {@link auto.$provide#provider provider(name, provider)} - registers a **service provider** with the + * {@link auto.$injector $injector} + * * {@link auto.$provide#constant constant(name, obj)} - registers a value/object that can be accessed by * providers and services. - * * {@link AUTO.$provide#methods_value value(obj)} - registers a value/object that can only be accessed by + * * {@link auto.$provide#value value(name, obj)} - registers a value/object that can only be accessed by * services, not providers. - * * {@link AUTO.$provide#methods_factory factory(fn)} - registers a service **factory function**, `fn`, + * * {@link auto.$provide#factory factory(name, fn)} - registers a service **factory function** * that will be wrapped in a **service provider** object, whose `$get` property will contain the * given factory function. - * * {@link AUTO.$provide#methods_service service(class)} - registers a **constructor function**, `class` that + * * {@link auto.$provide#service service(name, Fn)} - registers a **constructor function** * that will be wrapped in a **service provider** object, whose `$get` property will instantiate * a new object using the given constructor function. + * * {@link auto.$provide#decorator decorator(name, decorFn)} - registers a **decorator function** that + * will be able to modify or replace the implementation of another service. * * See the individual methods for more information and examples. */ /** * @ngdoc method - * @name AUTO.$provide#provider - * @methodOf AUTO.$provide + * @name $provide#provider * @description * - * Register a **provider function** with the {@link AUTO.$injector $injector}. Provider functions + * Register a **provider function** with the {@link auto.$injector $injector}. Provider functions * are constructor functions, whose instances are responsible for "providing" a factory for a * service. * @@ -327,25 +440,26 @@ function annotate(fn) { * which lets you specify whether the {@link ng.$log $log} service will log debug messages to the * console or not. * + * It is possible to inject other providers into the provider function, + * but the injected provider must have been defined before the one that requires it. + * * @param {string} name The name of the instance. NOTE: the provider will be available under `name + 'Provider'` key. * @param {(Object|function())} provider If the provider is: * * - `Object`: then it should have a `$get` method. The `$get` method will be invoked using - * {@link AUTO.$injector#invoke $injector.invoke()} when an instance needs to be - * created. + * {@link auto.$injector#invoke $injector.invoke()} when an instance needs to be created. * - `Constructor`: a new instance of the provider will be created using - * {@link AUTO.$injector#instantiate $injector.instantiate()}, then treated as - * `object`. + * {@link auto.$injector#instantiate $injector.instantiate()}, then treated as `object`. * * @returns {Object} registered provider instance * @example * * The following example shows how to create a simple event tracking service and register it using - * {@link AUTO.$provide#methods_provider $provide.provider()}. + * {@link auto.$provide#provider $provide.provider()}. * - *
    + * ```js
      *  // Define the eventTracker provider
      *  function EventTrackerProvider() {
      *    var trackingUrl = '/track';
    @@ -402,97 +516,110 @@ function annotate(fn) {
      *      expect(postSpy.mostRecentCall.args[1]).toEqual({ 'login': 1 });
      *    }));
      *  });
    - * 
    + * ``` */ /** * @ngdoc method - * @name AUTO.$provide#factory - * @methodOf AUTO.$provide + * @name $provide#factory * @description * * Register a **service factory**, which will be called to return the service instance. * This is short for registering a service where its provider consists of only a `$get` property, * which is the given service factory function. - * You should use {@link AUTO.$provide#factory $provide.factory(getFn)} if you do not need to + * You should use {@link auto.$provide#factory $provide.factory(getFn)} if you do not need to * configure your service in a provider. * * @param {string} name The name of the instance. - * @param {function()} $getFn The $getFn for the instance creation. Internally this is a short hand - * for `$provide.provider(name, {$get: $getFn})`. + * @param {Function|Array.} $getFn The injectable $getFn for the instance creation. + * Internally this is a short hand for `$provide.provider(name, {$get: $getFn})`. * @returns {Object} registered provider instance * * @example * Here is an example of registering a service - *
    + * ```js
      *   $provide.factory('ping', ['$http', function($http) {
      *     return function ping() {
      *       return $http.send('/ping');
      *     };
      *   }]);
    - * 
    + * ``` * You would then inject and use this service like this: - *
    + * ```js
      *   someModule.controller('Ctrl', ['ping', function(ping) {
      *     ping();
      *   }]);
    - * 
    + * ``` */ /** * @ngdoc method - * @name AUTO.$provide#service - * @methodOf AUTO.$provide + * @name $provide#service * @description * * Register a **service constructor**, which will be invoked with `new` to create the service * instance. - * This is short for registering a service where its provider's `$get` property is the service - * constructor function that will be used to instantiate the service instance. + * This is short for registering a service where its provider's `$get` property is a factory + * function that returns an instance instantiated by the injector from the service constructor + * function. + * + * Internally it looks a bit like this: * - * You should use {@link AUTO.$provide#methods_service $provide.service(class)} if you define your service - * as a type/class. This is common when using {@link http://coffeescript.org CoffeeScript}. + * ``` + * { + * $get: function() { + * return $injector.instantiate(constructor); + * } + * } + * ``` + * + * + * You should use {@link auto.$provide#service $provide.service(class)} if you define your service + * as a type/class. * * @param {string} name The name of the instance. - * @param {Function} constructor A class (constructor function) that will be instantiated. + * @param {Function|Array.} constructor An injectable class (constructor function) + * that will be instantiated. * @returns {Object} registered provider instance * * @example * Here is an example of registering a service using - * {@link AUTO.$provide#methods_service $provide.service(class)} that is defined as a CoffeeScript class. - *
    - *   class Ping
    - *     constructor: (@$http)->
    - *     send: ()=>
    - *       @$http.get('/ping')
    - *
    - *   $provide.service('ping', ['$http', Ping])
    - * 
    + * {@link auto.$provide#service $provide.service(class)}. + * ```js + * var Ping = function($http) { + * this.$http = $http; + * }; + * + * Ping.$inject = ['$http']; + * + * Ping.prototype.send = function() { + * return this.$http.get('/ping'); + * }; + * $provide.service('ping', Ping); + * ``` * You would then inject and use this service like this: - *
    - *   someModule.controller 'Ctrl', ['ping', (ping)->
    - *     ping.send()
    - *   ]
    - * 
    + * ```js + * someModule.controller('Ctrl', ['ping', function(ping) { + * ping.send(); + * }]); + * ``` */ /** * @ngdoc method - * @name AUTO.$provide#value - * @methodOf AUTO.$provide + * @name $provide#value * @description * - * Register a **value service** with the {@link AUTO.$injector $injector}, such as a string, a - * number, an array, an object or a function. This is short for registering a service where its + * Register a **value service** with the {@link auto.$injector $injector}, such as a string, a + * number, an array, an object or a function. This is short for registering a service where its * provider's `$get` property is a factory function that takes no arguments and returns the **value - * service**. + * service**. That also means it is not possible to inject other services into a value service. * * Value services are similar to constant services, except that they cannot be injected into a * module configuration function (see {@link angular.Module#config}) but they can be overridden by - * an Angular - * {@link AUTO.$provide#decorator decorator}. + * an AngularJS {@link auto.$provide#decorator decorator}. * * @param {string} name The name of the instance. * @param {*} value The value. @@ -500,7 +627,7 @@ function annotate(fn) { * * @example * Here are some examples of creating value services. - *
    + * ```js
      *   $provide.value('ADMIN_USER', 'admin');
      *
      *   $provide.value('RoleLookup', { admin: 0, writer: 1, reader: 2 });
    @@ -508,20 +635,22 @@ function annotate(fn) {
      *   $provide.value('halfOf', function(value) {
      *     return value / 2;
      *   });
    - * 
    + * ``` */ /** * @ngdoc method - * @name AUTO.$provide#constant - * @methodOf AUTO.$provide + * @name $provide#constant * @description * - * Register a **constant service**, such as a string, a number, an array, an object or a function, - * with the {@link AUTO.$injector $injector}. Unlike {@link AUTO.$provide#value value} it can be + * Register a **constant service** with the {@link auto.$injector $injector}, such as a string, + * a number, an array, an object or a function. Like the {@link auto.$provide#value value}, it is not + * possible to inject other services into a constant. + * + * But unlike {@link auto.$provide#value value}, a constant can be * injected into a module configuration function (see {@link angular.Module#config}) and it cannot - * be overridden by an Angular {@link AUTO.$provide#decorator decorator}. + * be overridden by an AngularJS {@link auto.$provide#decorator decorator}. * * @param {string} name The name of the constant. * @param {*} value The constant value. @@ -529,7 +658,7 @@ function annotate(fn) { * * @example * Here a some examples of creating constants: - *
    + * ```js
      *   $provide.constant('SHARD_HEIGHT', 306);
      *
      *   $provide.constant('MY_COLOURS', ['red', 'blue', 'grey']);
    @@ -537,47 +666,49 @@ function annotate(fn) {
      *   $provide.constant('double', function(value) {
      *     return value * 2;
      *   });
    - * 
    + * ``` */ /** * @ngdoc method - * @name AUTO.$provide#decorator - * @methodOf AUTO.$provide + * @name $provide#decorator * @description * - * Register a **service decorator** with the {@link AUTO.$injector $injector}. A service decorator - * intercepts the creation of a service, allowing it to override or modify the behaviour of the - * service. The object returned by the decorator may be the original service, or a new service - * object which replaces or wraps and delegates to the original service. + * Register a **decorator function** with the {@link auto.$injector $injector}. A decorator function + * intercepts the creation of a service, allowing it to override or modify the behavior of the + * service. The return value of the decorator function may be the original service, or a new service + * that replaces (or wraps and delegates to) the original service. + * + * You can find out more about using decorators in the {@link guide/decorators} guide. * * @param {string} name The name of the service to decorate. - * @param {function()} decorator This function will be invoked when the service needs to be - * instantiated and should return the decorated service instance. The function is called using - * the {@link AUTO.$injector#invoke injector.invoke} method and is therefore fully injectable. + * @param {Function|Array.} decorator This function will be invoked when the service needs to be + * provided and should return the decorated service instance. The function is called using + * the {@link auto.$injector#invoke injector.invoke} method and is therefore fully injectable. * Local injection arguments: * - * * `$delegate` - The original service instance, which can be monkey patched, configured, + * * `$delegate` - The original service instance, which can be replaced, monkey patched, configured, * decorated or delegated to. * * @example * Here we decorate the {@link ng.$log $log} service to convert warnings to errors by intercepting * calls to {@link ng.$log#error $log.warn()}. - *
    - *   $provider.decorator('$log', ['$delegate', function($delegate) {
    + * ```js
    + *   $provide.decorator('$log', ['$delegate', function($delegate) {
      *     $delegate.warn = $delegate.error;
      *     return $delegate;
      *   }]);
    - * 
    + * ``` */ -function createInjector(modulesToLoad) { +function createInjector(modulesToLoad, strictDi) { + strictDi = (strictDi === true); var INSTANTIATING = {}, providerSuffix = 'Provider', path = [], - loadedModules = new HashMap(), + loadedModules = new NgMap(), providerCache = { $provide: { provider: supportObject(provider), @@ -589,19 +720,33 @@ function createInjector(modulesToLoad) { } }, providerInjector = (providerCache.$injector = - createInternalInjector(providerCache, function() { - throw $injectorMinErr('unpr', "Unknown provider: {0}", path.join(' <- ')); + createInternalInjector(providerCache, function(serviceName, caller) { + if (angular.isString(caller)) { + path.push(caller); + } + throw $injectorMinErr('unpr', 'Unknown provider: {0}', path.join(' <- ')); })), instanceCache = {}, - instanceInjector = (instanceCache.$injector = - createInternalInjector(instanceCache, function(servicename) { - var provider = providerInjector.get(servicename + providerSuffix); - return instanceInjector.invoke(provider.$get, provider); - })); + protoInstanceInjector = + createInternalInjector(instanceCache, function(serviceName, caller) { + var provider = providerInjector.get(serviceName + providerSuffix, caller); + return instanceInjector.invoke( + provider.$get, provider, undefined, serviceName); + }), + instanceInjector = protoInstanceInjector; + + providerCache['$injector' + providerSuffix] = { $get: valueFn(protoInstanceInjector) }; + instanceInjector.modules = providerInjector.modules = createMap(); + var runBlocks = loadModules(modulesToLoad); + instanceInjector = protoInstanceInjector.get('$injector'); + instanceInjector.strictDi = strictDi; + forEach(runBlocks, function(fn) { if (fn) instanceInjector.invoke(fn); }); + + instanceInjector.loadNewModules = function(mods) { + forEach(loadModules(mods), function(fn) { if (fn) instanceInjector.invoke(fn); }); + }; - forEach(loadModules(modulesToLoad), function(fn) { instanceInjector.invoke(fn || noop); }); - return instanceInjector; //////////////////////////////////// @@ -624,12 +769,26 @@ function createInjector(modulesToLoad) { provider_ = providerInjector.instantiate(provider_); } if (!provider_.$get) { - throw $injectorMinErr('pget', "Provider '{0}' must define $get factory method.", name); + throw $injectorMinErr('pget', 'Provider \'{0}\' must define $get factory method.', name); } - return providerCache[name + providerSuffix] = provider_; + return (providerCache[name + providerSuffix] = provider_); + } + + function enforceReturnValue(name, factory) { + return /** @this */ function enforcedReturnValue() { + var result = instanceInjector.invoke(factory, this); + if (isUndefined(result)) { + throw $injectorMinErr('undef', 'Provider \'{0}\' must return a value from $get factory method.', name); + } + return result; + }; } - function factory(name, factoryFn) { return provider(name, { $get: factoryFn }); } + function factory(name, factoryFn, enforce) { + return provider(name, { + $get: enforce !== false ? enforceReturnValue(name, factoryFn) : factoryFn + }); + } function service(name, constructor) { return factory(name, ['$injector', function($injector) { @@ -637,7 +796,7 @@ function createInjector(modulesToLoad) { }]); } - function value(name, val) { return factory(name, valueFn(val)); } + function value(name, val) { return factory(name, valueFn(val), false); } function constant(name, value) { assertNotHasOwnProperty(name, 'constant'); @@ -658,23 +817,30 @@ function createInjector(modulesToLoad) { //////////////////////////////////// // Module Loading //////////////////////////////////// - function loadModules(modulesToLoad){ - var runBlocks = [], moduleFn, invokeQueue, i, ii; + function loadModules(modulesToLoad) { + assertArg(isUndefined(modulesToLoad) || isArray(modulesToLoad), 'modulesToLoad', 'not an array'); + var runBlocks = [], moduleFn; forEach(modulesToLoad, function(module) { if (loadedModules.get(module)) return; - loadedModules.put(module, true); + loadedModules.set(module, true); + + function runInvokeQueue(queue) { + var i, ii; + for (i = 0, ii = queue.length; i < ii; i++) { + var invokeArgs = queue[i], + provider = providerInjector.get(invokeArgs[0]); + + provider[invokeArgs[1]].apply(provider, invokeArgs[2]); + } + } try { if (isString(module)) { moduleFn = angularModule(module); + instanceInjector.modules[module] = moduleFn; runBlocks = runBlocks.concat(loadModules(moduleFn.requires)).concat(moduleFn._runBlocks); - - for(invokeQueue = moduleFn._invokeQueue, i = 0, ii = invokeQueue.length; i < ii; i++) { - var invokeArgs = invokeQueue[i], - provider = providerInjector.get(invokeArgs[0]); - - provider[invokeArgs[1]].apply(provider, invokeArgs[2]); - } + runInvokeQueue(moduleFn._invokeQueue); + runInvokeQueue(moduleFn._configBlocks); } else if (isFunction(module)) { runBlocks.push(providerInjector.invoke(module)); } else if (isArray(module)) { @@ -686,15 +852,15 @@ function createInjector(modulesToLoad) { if (isArray(module)) { module = module[module.length - 1]; } - if (e.message && e.stack && e.stack.indexOf(e.message) == -1) { + if (e.message && e.stack && e.stack.indexOf(e.message) === -1) { // Safari & FF's stack traces don't contain error.message content // unlike those of Chrome and IE // So if stack doesn't contain message, we create a new string that contains both. // Since error.stack is read-only in Safari, I'm overriding e and not e.stack here. - /* jshint -W022 */ + // eslint-disable-next-line no-ex-assign e = e.message + '\n' + e.stack; } - throw $injectorMinErr('modulerr', "Failed to instantiate module {0} due to:\n{1}", + throw $injectorMinErr('modulerr', 'Failed to instantiate module {0} due to:\n{1}', module, e.stack || e.message || e); } }); @@ -707,84 +873,98 @@ function createInjector(modulesToLoad) { function createInternalInjector(cache, factory) { - function getService(serviceName) { + function getService(serviceName, caller) { if (cache.hasOwnProperty(serviceName)) { if (cache[serviceName] === INSTANTIATING) { - throw $injectorMinErr('cdep', 'Circular dependency found: {0}', path.join(' <- ')); + throw $injectorMinErr('cdep', 'Circular dependency found: {0}', + serviceName + ' <- ' + path.join(' <- ')); } return cache[serviceName]; } else { try { path.unshift(serviceName); cache[serviceName] = INSTANTIATING; - return cache[serviceName] = factory(serviceName); + cache[serviceName] = factory(serviceName, caller); + return cache[serviceName]; + } catch (err) { + if (cache[serviceName] === INSTANTIATING) { + delete cache[serviceName]; + } + throw err; } finally { path.shift(); } } } - function invoke(fn, self, locals){ + + function injectionArgs(fn, locals, serviceName) { var args = [], - $inject = annotate(fn), - length, i, - key; + $inject = createInjector.$$annotate(fn, strictDi, serviceName); - for(i = 0, length = $inject.length; i < length; i++) { - key = $inject[i]; + for (var i = 0, length = $inject.length; i < length; i++) { + var key = $inject[i]; if (typeof key !== 'string') { throw $injectorMinErr('itkn', 'Incorrect injection token! Expected service name as string, got {0}', key); } - args.push( - locals && locals.hasOwnProperty(key) - ? locals[key] - : getService(key) - ); + args.push(locals && locals.hasOwnProperty(key) ? locals[key] : + getService(key, serviceName)); } - if (!fn.$inject) { - // this means that we must be an array. - fn = fn[length]; + return args; + } + + function isClass(func) { + // Support: IE 9-11 only + // IE 9-11 do not support classes and IE9 leaks with the code below. + if (msie || typeof func !== 'function') { + return false; + } + var result = func.$$ngIsClass; + if (!isBoolean(result)) { + result = func.$$ngIsClass = /^class\b/.test(stringifyFn(func)); + } + return result; + } + + function invoke(fn, self, locals, serviceName) { + if (typeof locals === 'string') { + serviceName = locals; + locals = null; } + var args = injectionArgs(fn, locals, serviceName); + if (isArray(fn)) { + fn = fn[fn.length - 1]; + } - // Performance optimization: http://jsperf.com/apply-vs-call-vs-invoke - switch (self ? -1 : args.length) { - case 0: return fn(); - case 1: return fn(args[0]); - case 2: return fn(args[0], args[1]); - case 3: return fn(args[0], args[1], args[2]); - case 4: return fn(args[0], args[1], args[2], args[3]); - case 5: return fn(args[0], args[1], args[2], args[3], args[4]); - case 6: return fn(args[0], args[1], args[2], args[3], args[4], args[5]); - case 7: return fn(args[0], args[1], args[2], args[3], args[4], args[5], args[6]); - case 8: return fn(args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7]); - case 9: return fn(args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7], - args[8]); - case 10: return fn(args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7], - args[8], args[9]); - default: return fn.apply(self, args); + if (!isClass(fn)) { + // http://jsperf.com/angularjs-invoke-apply-vs-switch + // #5388 + return fn.apply(self, args); + } else { + args.unshift(null); + return new (Function.prototype.bind.apply(fn, args))(); } } - function instantiate(Type, locals) { - var Constructor = function() {}, - instance, returnedValue; + function instantiate(Type, locals, serviceName) { // Check if Type is annotated and use just the given function at n-1 as parameter // e.g. someModule.factory('greeter', ['$window', function(renamed$window) {}]); - Constructor.prototype = (isArray(Type) ? Type[Type.length - 1] : Type).prototype; - instance = new Constructor(); - returnedValue = invoke(Type, instance, locals); - - return isObject(returnedValue) || isFunction(returnedValue) ? returnedValue : instance; + var ctor = (isArray(Type) ? Type[Type.length - 1] : Type); + var args = injectionArgs(Type, locals, serviceName); + // Empty object at position 0 is ignored for invocation with `new`, but required. + args.unshift(null); + return new (Function.prototype.bind.apply(ctor, args))(); } + return { invoke: invoke, instantiate: instantiate, get: getService, - annotate: annotate, + annotate: createInjector.$$annotate, has: function(name) { return providerCache.hasOwnProperty(name + providerSuffix) || cache.hasOwnProperty(name); } @@ -792,3 +972,4 @@ function createInjector(modulesToLoad) { } } +createInjector.$$annotate = annotate; diff --git a/src/jqLite.js b/src/jqLite.js index 218efe244be1..efbffdf19c41 100644 --- a/src/jqLite.js +++ b/src/jqLite.js @@ -1,11 +1,20 @@ 'use strict'; -/* global +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * Any commits to this file should be reviewed with security in mind. * + * Changes to this file can potentially create security vulnerabilities. * + * An approval from 2 Core members with history of modifying * + * this file is required. * + * * + * Does the change somehow allow for arbitrary javascript to be executed? * + * Or allows for someone to change the prototype of built-in objects? * + * Or gives undesired access to variables likes document or window? * + * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -JQLitePrototype, - -addEventListenerFn, - -removeEventListenerFn, - -BOOLEAN_ATTR +/* global + JQLitePrototype: true, + BOOLEAN_ATTR: true, + ALIASED_ATTR: true */ ////////////////////////////////// @@ -15,62 +24,84 @@ /** * @ngdoc function * @name angular.element - * @function + * @module ng + * @kind function * * @description * Wraps a raw DOM element or HTML string as a [jQuery](http://jquery.com) element. * * If jQuery is available, `angular.element` is an alias for the * [jQuery](http://api.jquery.com/jQuery/) function. If jQuery is not available, `angular.element` - * delegates to Angular's built-in subset of jQuery, called "jQuery lite" or "jqLite." + * delegates to AngularJS's built-in subset of jQuery, called "jQuery lite" or **jqLite**. + * + * jqLite is a tiny, API-compatible subset of jQuery that allows + * AngularJS to manipulate the DOM in a cross-browser compatible way. jqLite implements only the most + * commonly needed functionality with the goal of having a very small footprint. * - *
    jqLite is a tiny, API-compatible subset of jQuery that allows - * Angular to manipulate the DOM in a cross-browser compatible way. **jqLite** implements only the most - * commonly needed functionality with the goal of having a very small footprint.
    + * To use `jQuery`, simply ensure it is loaded before the `angular.js` file. You can also use the + * {@link ngJq `ngJq`} directive to specify that jqlite should be used over jQuery, or to use a + * specific version of jQuery if multiple versions exist on the page. * - * To use jQuery, simply load it before `DOMContentLoaded` event fired. + *
    **Note:** All element references in AngularJS are always wrapped with jQuery or + * jqLite (such as the element argument in a directive's compile / link function). They are never raw DOM references.
    * - *
    **Note:** all element references in Angular are always wrapped with jQuery or - * jqLite; they are never raw DOM references.
    + *
    **Note:** Keep in mind that this function will not find elements + * by tag name / CSS selector. For lookups by tag name, try instead `angular.element(document).find(...)` + * or `$document.find()`, or use the standard DOM APIs, e.g. `document.querySelectorAll()`.
    * - * ## Angular's jqLite + * ## AngularJS's jqLite * jqLite provides only the following jQuery methods: * - * - [`addClass()`](http://api.jquery.com/addClass/) + * - [`addClass()`](http://api.jquery.com/addClass/) - Does not support a function as first argument * - [`after()`](http://api.jquery.com/after/) - * - [`append()`](http://api.jquery.com/append/) - * - [`attr()`](http://api.jquery.com/attr/) - * - [`bind()`](http://api.jquery.com/on/) - Does not support namespaces, selectors or eventData + * - [`append()`](http://api.jquery.com/append/) - Contrary to jQuery, this doesn't clone elements + * so will not work correctly when invoked on a jqLite object containing more than one DOM node + * - [`attr()`](http://api.jquery.com/attr/) - Does not support functions as parameters + * - [`bind()`](http://api.jquery.com/bind/) (_deprecated_, use [`on()`](http://api.jquery.com/on/)) - Does not support namespaces, selectors or eventData * - [`children()`](http://api.jquery.com/children/) - Does not support selectors * - [`clone()`](http://api.jquery.com/clone/) * - [`contents()`](http://api.jquery.com/contents/) - * - [`css()`](http://api.jquery.com/css/) + * - [`css()`](http://api.jquery.com/css/) - Only retrieves inline-styles, does not call `getComputedStyle()`. + * As a setter, does not convert numbers to strings or append 'px', and also does not have automatic property prefixing. * - [`data()`](http://api.jquery.com/data/) + * - [`detach()`](http://api.jquery.com/detach/) + * - [`empty()`](http://api.jquery.com/empty/) * - [`eq()`](http://api.jquery.com/eq/) * - [`find()`](http://api.jquery.com/find/) - Limited to lookups by tag name * - [`hasClass()`](http://api.jquery.com/hasClass/) * - [`html()`](http://api.jquery.com/html/) * - [`next()`](http://api.jquery.com/next/) - Does not support selectors * - [`on()`](http://api.jquery.com/on/) - Does not support namespaces, selectors or eventData - * - [`off()`](http://api.jquery.com/off/) - Does not support namespaces or selectors + * - [`off()`](http://api.jquery.com/off/) - Does not support namespaces, selectors or event object as parameter + * - [`one()`](http://api.jquery.com/one/) - Does not support namespaces or selectors * - [`parent()`](http://api.jquery.com/parent/) - Does not support selectors * - [`prepend()`](http://api.jquery.com/prepend/) * - [`prop()`](http://api.jquery.com/prop/) - * - [`ready()`](http://api.jquery.com/ready/) + * - [`ready()`](http://api.jquery.com/ready/) (_deprecated_, use `angular.element(callback)` instead of `angular.element(document).ready(callback)`) * - [`remove()`](http://api.jquery.com/remove/) - * - [`removeAttr()`](http://api.jquery.com/removeAttr/) - * - [`removeClass()`](http://api.jquery.com/removeClass/) + * - [`removeAttr()`](http://api.jquery.com/removeAttr/) - Does not support multiple attributes + * - [`removeClass()`](http://api.jquery.com/removeClass/) - Does not support a function as first argument * - [`removeData()`](http://api.jquery.com/removeData/) * - [`replaceWith()`](http://api.jquery.com/replaceWith/) * - [`text()`](http://api.jquery.com/text/) - * - [`toggleClass()`](http://api.jquery.com/toggleClass/) - * - [`triggerHandler()`](http://api.jquery.com/triggerHandler/) - Passes a dummy event object to handlers. - * - [`unbind()`](http://api.jquery.com/off/) - Does not support namespaces + * - [`toggleClass()`](http://api.jquery.com/toggleClass/) - Does not support a function as first argument + * - [`triggerHandler()`](http://api.jquery.com/triggerHandler/) - Passes a dummy event object to handlers + * - [`unbind()`](http://api.jquery.com/unbind/) (_deprecated_, use [`off()`](http://api.jquery.com/off/)) - Does not support namespaces or event object as parameter * - [`val()`](http://api.jquery.com/val/) * - [`wrap()`](http://api.jquery.com/wrap/) * + * jqLite also provides a method restoring pre-1.8 insecure treatment of XHTML-like tags. + * This legacy behavior turns input like `
    ` to `
    ` + * instead of `
    ` like version 1.8 & newer do. To restore it, invoke: + * ```js + * angular.UNSAFE_restoreLegacyJqLiteXHTMLReplacement(); + * ``` + * Note that this only patches jqLite. If you use jQuery 3.5.0 or newer, please read the + * [jQuery 3.5 upgrade guide](https://jquery.com/upgrade-guide/3.5/) for more details + * about the workarounds. + * * ## jQuery/jqLite Extras - * Angular also provides the following additional methods and events to both jQuery and jqLite: + * AngularJS also provides the following additional methods and events to both jQuery and jqLite: * * ### Events * - `$destroy` - AngularJS intercepts all jqLite/jQuery's DOM destruction apis and fires this event @@ -83,112 +114,229 @@ * camelCase directive name, then the controller for this directive will be retrieved (e.g. * `'ngModel'`). * - `injector()` - retrieves the injector of the current element or its parent. - * - `scope()` - retrieves the {@link api/ng.$rootScope.Scope scope} of the current - * element or its parent. - * - `isolateScope()` - retrieves an isolate {@link api/ng.$rootScope.Scope scope} if one is attached directly to the + * - `scope()` - retrieves the {@link ng.$rootScope.Scope scope} of the current + * element or its parent. Requires {@link guide/production#disabling-debug-data Debug Data} to + * be enabled. + * - `isolateScope()` - retrieves an isolate {@link ng.$rootScope.Scope scope} if one is attached directly to the * current element. This getter should be used only on elements that contain a directive which starts a new isolate * scope. Calling `scope()` on this element always returns the original non-isolate scope. + * Requires {@link guide/production#disabling-debug-data Debug Data} to be enabled. * - `inheritedData()` - same as `data()`, but walks up the DOM until a value is found or the top * parent element is reached. * + * @knownIssue You cannot spy on `angular.element` if you are using Jasmine version 1.x. See + * https://github.com/angular/angular.js/issues/14251 for more information. + * * @param {string|DOMElement} element HTML string or DOMElement to be wrapped into jQuery. * @returns {Object} jQuery object. */ +JQLite.expando = 'ng339'; + var jqCache = JQLite.cache = {}, - jqName = JQLite.expando = 'ng-' + new Date().getTime(), - jqId = 1, - addEventListenerFn = (window.document.addEventListener - ? function(element, type, fn) {element.addEventListener(type, fn, false);} - : function(element, type, fn) {element.attachEvent('on' + type, fn);}), - removeEventListenerFn = (window.document.removeEventListener - ? function(element, type, fn) {element.removeEventListener(type, fn, false); } - : function(element, type, fn) {element.detachEvent('on' + type, fn); }); + jqId = 1; + +/* + * !!! This is an undocumented "private" function !!! + */ +JQLite._data = function(node) { + //jQuery always returns an object on cache miss + return this.cache[node[this.expando]] || {}; +}; function jqNextId() { return ++jqId; } -var SPECIAL_CHARS_REGEXP = /([\:\-\_]+(.))/g; -var MOZ_HACK_REGEXP = /^moz([A-Z])/; +var DASH_LOWERCASE_REGEXP = /-([a-z])/g; +var MS_HACK_REGEXP = /^-ms-/; +var MOUSE_EVENT_MAP = { mouseleave: 'mouseout', mouseenter: 'mouseover' }; var jqLiteMinErr = minErr('jqLite'); /** - * Converts snake_case to camelCase. - * Also there is special case for Moz prefix starting with upper case letter. + * Converts kebab-case to camelCase. + * There is also a special case for the ms prefix starting with a lowercase letter. * @param name Name to normalize */ -function camelCase(name) { - return name. - replace(SPECIAL_CHARS_REGEXP, function(_, separator, letter, offset) { - return offset ? letter.toUpperCase() : letter; - }). - replace(MOZ_HACK_REGEXP, 'Moz$1'); +function cssKebabToCamel(name) { + return kebabToCamel(name.replace(MS_HACK_REGEXP, 'ms-')); } -///////////////////////////////////////////// -// jQuery mutation patch -// -// In conjunction with bindJQuery intercepts all jQuery's DOM destruction apis and fires a -// $destroy event on all DOM nodes being removed. -// -///////////////////////////////////////////// +function fnCamelCaseReplace(all, letter) { + return letter.toUpperCase(); +} -function jqLitePatchJQueryRemove(name, dispatchThis, filterElems, getterIfNoArguments) { - var originalJqFn = jQuery.fn[name]; - originalJqFn = originalJqFn.$original || originalJqFn; - removePatch.$original = originalJqFn; - jQuery.fn[name] = removePatch; - - function removePatch(param) { - // jshint -W040 - var list = filterElems && param ? [this.filter(param)] : [this], - fireEvent = dispatchThis, - set, setIndex, setLength, - element, childIndex, childLength, children; - - if (!getterIfNoArguments || param != null) { - while(list.length) { - set = list.shift(); - for(setIndex = 0, setLength = set.length; setIndex < setLength; setIndex++) { - element = jqLite(set[setIndex]); - if (fireEvent) { - element.triggerHandler('$destroy'); - } else { - fireEvent = !fireEvent; - } - for(childIndex = 0, childLength = (children = element.children()).length; - childIndex < childLength; - childIndex++) { - list.push(jQuery(children[childIndex])); - } - } +/** + * Converts kebab-case to camelCase. + * @param name Name to normalize + */ +function kebabToCamel(name) { + return name + .replace(DASH_LOWERCASE_REGEXP, fnCamelCaseReplace); +} + +var SINGLE_TAG_REGEXP = /^<([\w-]+)\s*\/?>(?:<\/\1>|)$/; +var HTML_REGEXP = /<|&#?\w+;/; +var TAG_NAME_REGEXP = /<([\w:-]+)/; +var XHTML_TAG_REGEXP = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi; + +// Table parts need to be wrapped with `
    ` or they're +// stripped to their contents when put in a div. +// XHTML parsers do not magically insert elements in the +// same way that tag soup parsers do, so we cannot shorten +// this by omitting or other required elements. +var wrapMap = { + thead: ['table'], + col: ['colgroup', 'table'], + tr: ['tbody', 'table'], + td: ['tr', 'tbody', 'table'] +}; + +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + +// Support: IE <10 only +// IE 9 requires an option wrapper & it needs to have the whole table structure +// set up in advance; assigning `""` to `tr.innerHTML` doesn't work, etc. +var wrapMapIE9 = { + option: [1, ''], + _default: [0, '', ''] +}; + +for (var key in wrapMap) { + var wrapMapValueClosing = wrapMap[key]; + var wrapMapValue = wrapMapValueClosing.slice().reverse(); + wrapMapIE9[key] = [wrapMapValue.length, '<' + wrapMapValue.join('><') + '>', '']; +} + +wrapMapIE9.optgroup = wrapMapIE9.option; + +function jqLiteIsTextNode(html) { + return !HTML_REGEXP.test(html); +} + +function jqLiteAcceptsData(node) { + // The window object can accept data but has no nodeType + // Otherwise we are only interested in elements (1) and documents (9) + var nodeType = node.nodeType; + return nodeType === NODE_TYPE_ELEMENT || !nodeType || nodeType === NODE_TYPE_DOCUMENT; +} + +function jqLiteHasData(node) { + for (var key in jqCache[node.ng339]) { + return true; + } + return false; +} + +function jqLiteBuildFragment(html, context) { + var tmp, tag, wrap, finalHtml, + fragment = context.createDocumentFragment(), + nodes = [], i; + + if (jqLiteIsTextNode(html)) { + // Convert non-html into a text node + nodes.push(context.createTextNode(html)); + } else { + // Convert html into DOM nodes + tmp = fragment.appendChild(context.createElement('div')); + tag = (TAG_NAME_REGEXP.exec(html) || ['', ''])[1].toLowerCase(); + finalHtml = JQLite.legacyXHTMLReplacement ? + html.replace(XHTML_TAG_REGEXP, '<$1>') : + html; + + if (msie < 10) { + wrap = wrapMapIE9[tag] || wrapMapIE9._default; + tmp.innerHTML = wrap[1] + finalHtml + wrap[2]; + + // Descend through wrappers to the right content + i = wrap[0]; + while (i--) { + tmp = tmp.firstChild; + } + } else { + wrap = wrapMap[tag] || []; + + // Create wrappers & descend into them + i = wrap.length; + while (--i > -1) { + tmp.appendChild(window.document.createElement(wrap[i])); + tmp = tmp.firstChild; } + + tmp.innerHTML = finalHtml; } - return originalJqFn.apply(this, arguments); + + nodes = concat(nodes, tmp.childNodes); + + tmp = fragment.firstChild; + tmp.textContent = ''; + } + + // Remove wrapper from fragment + fragment.textContent = ''; + fragment.innerHTML = ''; // Clear inner HTML + forEach(nodes, function(node) { + fragment.appendChild(node); + }); + + return fragment; +} + +function jqLiteParseHTML(html, context) { + context = context || window.document; + var parsed; + + if ((parsed = SINGLE_TAG_REGEXP.exec(html))) { + return [context.createElement(parsed[1])]; + } + + if ((parsed = jqLiteBuildFragment(html, context))) { + return parsed.childNodes; + } + + return []; +} + +function jqLiteWrapNode(node, wrapper) { + var parent = node.parentNode; + + if (parent) { + parent.replaceChild(wrapper, node); } + + wrapper.appendChild(node); } + +// IE9-11 has no method "contains" in SVG element and in Node.prototype. Bug #10259. +var jqLiteContains = window.Node.prototype.contains || /** @this */ function(arg) { + // eslint-disable-next-line no-bitwise + return !!(this.compareDocumentPosition(arg) & 16); +}; + ///////////////////////////////////////////// function JQLite(element) { if (element instanceof JQLite) { return element; } + + var argIsString; + + if (isString(element)) { + element = trim(element); + argIsString = true; + } if (!(this instanceof JQLite)) { - if (isString(element) && element.charAt(0) != '<') { + if (argIsString && element.charAt(0) !== '<') { throw jqLiteMinErr('nosel', 'Looking up elements via selectors is not supported by jqLite! See: http://docs.angularjs.org/api/angular.element'); } return new JQLite(element); } - if (isString(element)) { - var div = document.createElement('div'); - // Read about the NoScope elements here: - // http://msdn.microsoft.com/en-us/library/ms533897(VS.85).aspx - div.innerHTML = '
     
    ' + element; // IE insanity to make NoScope elements work! - div.removeChild(div.firstChild); // remove the superfluous div - jqLiteAddNodes(this, div.childNodes); - var fragment = jqLite(document.createDocumentFragment()); - fragment.append(this); // detach the elements from the temporary DOM div. + if (argIsString) { + jqLiteAddNodes(this, jqLiteParseHTML(element)); + } else if (isFunction(element)) { + jqLiteReady(element); } else { jqLiteAddNodes(this, element); } @@ -198,163 +346,272 @@ function jqLiteClone(element) { return element.cloneNode(true); } -function jqLiteDealoc(element){ - jqLiteRemoveData(element); - for ( var i = 0, children = element.childNodes || []; i < children.length; i++) { - jqLiteDealoc(children[i]); +function jqLiteDealoc(element, onlyDescendants) { + if (!onlyDescendants && jqLiteAcceptsData(element)) jqLite.cleanData([element]); + + if (element.querySelectorAll) { + jqLite.cleanData(element.querySelectorAll('*')); + } +} + +function isEmptyObject(obj) { + var name; + + for (name in obj) { + return false; + } + return true; +} + +function removeIfEmptyData(element) { + var expandoId = element.ng339; + var expandoStore = expandoId && jqCache[expandoId]; + + var events = expandoStore && expandoStore.events; + var data = expandoStore && expandoStore.data; + + if ((!data || isEmptyObject(data)) && (!events || isEmptyObject(events))) { + delete jqCache[expandoId]; + element.ng339 = undefined; // don't delete DOM expandos. IE and Chrome don't like it } } function jqLiteOff(element, type, fn, unsupported) { if (isDefined(unsupported)) throw jqLiteMinErr('offargs', 'jqLite#off() does not support the `selector` argument'); - var events = jqLiteExpandoStore(element, 'events'), - handle = jqLiteExpandoStore(element, 'handle'); + var expandoStore = jqLiteExpandoStore(element); + var events = expandoStore && expandoStore.events; + var handle = expandoStore && expandoStore.handle; if (!handle) return; //no listeners registered - if (isUndefined(type)) { - forEach(events, function(eventHandler, type) { - removeEventListenerFn(element, type, eventHandler); + if (!type) { + for (type in events) { + if (type !== '$destroy') { + element.removeEventListener(type, handle); + } delete events[type]; - }); + } } else { - forEach(type.split(' '), function(type) { - if (isUndefined(fn)) { - removeEventListenerFn(element, type, events[type]); + + var removeHandler = function(type) { + var listenerFns = events[type]; + if (isDefined(fn)) { + arrayRemove(listenerFns || [], fn); + } + if (!(isDefined(fn) && listenerFns && listenerFns.length > 0)) { + element.removeEventListener(type, handle); delete events[type]; - } else { - arrayRemove(events[type] || [], fn); + } + }; + + forEach(type.split(' '), function(type) { + removeHandler(type); + if (MOUSE_EVENT_MAP[type]) { + removeHandler(MOUSE_EVENT_MAP[type]); } }); } + + removeIfEmptyData(element); } function jqLiteRemoveData(element, name) { - var expandoId = element[jqName], - expandoStore = jqCache[expandoId]; + var expandoId = element.ng339; + var expandoStore = expandoId && jqCache[expandoId]; if (expandoStore) { if (name) { - delete jqCache[expandoId].data[name]; - return; + delete expandoStore.data[name]; + } else { + expandoStore.data = {}; } - if (expandoStore.handle) { - expandoStore.events.$destroy && expandoStore.handle({}, '$destroy'); - jqLiteOff(element); - } - delete jqCache[expandoId]; - element[jqName] = undefined; // ie does not allow deletion of attributes on elements. + removeIfEmptyData(element); } } -function jqLiteExpandoStore(element, key, value) { - var expandoId = element[jqName], - expandoStore = jqCache[expandoId || -1]; - if (isDefined(value)) { - if (!expandoStore) { - element[jqName] = expandoId = jqNextId(); - expandoStore = jqCache[expandoId] = {}; - } - expandoStore[key] = value; - } else { - return expandoStore && expandoStore[key]; +function jqLiteExpandoStore(element, createIfNecessary) { + var expandoId = element.ng339, + expandoStore = expandoId && jqCache[expandoId]; + + if (createIfNecessary && !expandoStore) { + element.ng339 = expandoId = jqNextId(); + expandoStore = jqCache[expandoId] = {events: {}, data: {}, handle: undefined}; } + + return expandoStore; } + function jqLiteData(element, key, value) { - var data = jqLiteExpandoStore(element, 'data'), - isSetter = isDefined(value), - keyDefined = !isSetter && isDefined(key), - isSimpleGetter = keyDefined && !isObject(key); + if (jqLiteAcceptsData(element)) { + var prop; - if (!data && !isSimpleGetter) { - jqLiteExpandoStore(element, 'data', data = {}); - } + var isSimpleSetter = isDefined(value); + var isSimpleGetter = !isSimpleSetter && key && !isObject(key); + var massGetter = !key; + var expandoStore = jqLiteExpandoStore(element, !isSimpleGetter); + var data = expandoStore && expandoStore.data; - if (isSetter) { - data[key] = value; - } else { - if (keyDefined) { - if (isSimpleGetter) { - // don't create data in this case. - return data && data[key]; + if (isSimpleSetter) { // data('key', value) + data[kebabToCamel(key)] = value; + } else { + if (massGetter) { // data() + return data; } else { - extend(data, key); + if (isSimpleGetter) { // data('key') + // don't force creation of expandoStore if it doesn't exist yet + return data && data[kebabToCamel(key)]; + } else { // mass-setter: data({key1: val1, key2: val2}) + for (prop in key) { + data[kebabToCamel(prop)] = key[prop]; + } + } } - } else { - return data; } } } function jqLiteHasClass(element, selector) { if (!element.getAttribute) return false; - return ((" " + (element.getAttribute('class') || '') + " ").replace(/[\n\t]/g, " "). - indexOf( " " + selector + " " ) > -1); + return ((' ' + (element.getAttribute('class') || '') + ' ').replace(/[\n\t]/g, ' '). + indexOf(' ' + selector + ' ') > -1); } function jqLiteRemoveClass(element, cssClasses) { if (cssClasses && element.setAttribute) { + var existingClasses = (' ' + (element.getAttribute('class') || '') + ' ') + .replace(/[\n\t]/g, ' '); + var newClasses = existingClasses; + forEach(cssClasses.split(' '), function(cssClass) { - element.setAttribute('class', trim( - (" " + (element.getAttribute('class') || '') + " ") - .replace(/[\n\t]/g, " ") - .replace(" " + trim(cssClass) + " ", " ")) - ); + cssClass = trim(cssClass); + newClasses = newClasses.replace(' ' + cssClass + ' ', ' '); }); + + if (newClasses !== existingClasses) { + element.setAttribute('class', trim(newClasses)); + } } } function jqLiteAddClass(element, cssClasses) { if (cssClasses && element.setAttribute) { var existingClasses = (' ' + (element.getAttribute('class') || '') + ' ') - .replace(/[\n\t]/g, " "); + .replace(/[\n\t]/g, ' '); + var newClasses = existingClasses; forEach(cssClasses.split(' '), function(cssClass) { cssClass = trim(cssClass); - if (existingClasses.indexOf(' ' + cssClass + ' ') === -1) { - existingClasses += cssClass + ' '; + if (newClasses.indexOf(' ' + cssClass + ' ') === -1) { + newClasses += cssClass + ' '; } }); - element.setAttribute('class', trim(existingClasses)); + if (newClasses !== existingClasses) { + element.setAttribute('class', trim(newClasses)); + } } } + function jqLiteAddNodes(root, elements) { + // THIS CODE IS VERY HOT. Don't make changes without benchmarking. + if (elements) { - elements = (!elements.nodeName && isDefined(elements.length) && !isWindow(elements)) - ? elements - : [ elements ]; - for(var i=0; i < elements.length; i++) { - root.push(elements[i]); + + // if a Node (the most common case) + if (elements.nodeType) { + root[root.length++] = elements; + } else { + var length = elements.length; + + // if an Array or NodeList and not a Window + if (typeof length === 'number' && elements.window !== elements) { + if (length) { + for (var i = 0; i < length; i++) { + root[root.length++] = elements[i]; + } + } + } else { + root[root.length++] = elements; + } } } } + function jqLiteController(element, name) { - return jqLiteInheritedData(element, '$' + (name || 'ngController' ) + 'Controller'); + return jqLiteInheritedData(element, '$' + (name || 'ngController') + 'Controller'); } function jqLiteInheritedData(element, name, value) { - element = jqLite(element); - // if element is the document object work with the html element instead // this makes $(document).scope() possible - if(element[0].nodeType == 9) { - element = element.find('html'); + if (element.nodeType === NODE_TYPE_DOCUMENT) { + element = element.documentElement; } var names = isArray(name) ? name : [name]; - while (element.length) { - + while (element) { for (var i = 0, ii = names.length; i < ii; i++) { - if ((value = element.data(names[i])) !== undefined) return value; + if (isDefined(value = jqLite.data(element, names[i]))) return value; } - element = element.parent(); + + // If dealing with a document fragment node with a host element, and no parent, use the host + // element as the parent. This enables directives within a Shadow DOM or polyfilled Shadow DOM + // to lookup parent controllers. + element = element.parentNode || (element.nodeType === NODE_TYPE_DOCUMENT_FRAGMENT && element.host); + } +} + +function jqLiteEmpty(element) { + jqLiteDealoc(element, true); + while (element.firstChild) { + element.removeChild(element.firstChild); + } +} + +function jqLiteRemove(element, keepData) { + if (!keepData) jqLiteDealoc(element); + var parent = element.parentNode; + if (parent) parent.removeChild(element); +} + + +function jqLiteDocumentLoaded(action, win) { + win = win || window; + if (win.document.readyState === 'complete') { + // Force the action to be run async for consistent behavior + // from the action's point of view + // i.e. it will definitely not be in a $apply + win.setTimeout(action); + } else { + // No need to unbind this handler as load is only ever called once + jqLite(win).on('load', action); + } +} + +function jqLiteReady(fn) { + function trigger() { + window.document.removeEventListener('DOMContentLoaded', trigger); + window.removeEventListener('load', trigger); + fn(); + } + + // check if document is already loaded + if (window.document.readyState === 'complete') { + window.setTimeout(fn); + } else { + // We can not use jqLite since we are not done loading and jQuery could be loaded later. + + // Works for modern browsers and IE9 + window.document.addEventListener('DOMContentLoaded', trigger); + + // Fallback to window.onload for others + window.addEventListener('load', trigger); } } @@ -362,29 +619,10 @@ function jqLiteInheritedData(element, name, value) { // Functions which are declared directly. ////////////////////////////////////////// var JQLitePrototype = JQLite.prototype = { - ready: function(fn) { - var fired = false; - - function trigger() { - if (fired) return; - fired = true; - fn(); - } - - // check if document already is loaded - if (document.readyState === 'complete'){ - setTimeout(trigger); - } else { - this.on('DOMContentLoaded', trigger); // works for modern browsers and IE9 - // we can not use jqLite since we are not done loading and jQuery could be loaded later. - // jshint -W064 - JQLite(window).on('load', trigger); // fallback to window.onload for others - // jshint +W064 - } - }, + ready: jqLiteReady, toString: function() { var value = []; - forEach(this, function(e){ value.push('' + e);}); + forEach(this, function(e) { value.push('' + e);}); return '[' + value.join(', ') + ']'; }, @@ -409,92 +647,107 @@ forEach('multiple,selected,checked,disabled,readOnly,required,open'.split(','), }); var BOOLEAN_ELEMENTS = {}; forEach('input,select,option,textarea,button,form,details'.split(','), function(value) { - BOOLEAN_ELEMENTS[uppercase(value)] = true; + BOOLEAN_ELEMENTS[value] = true; }); +var ALIASED_ATTR = { + 'ngMinlength': 'minlength', + 'ngMaxlength': 'maxlength', + 'ngMin': 'min', + 'ngMax': 'max', + 'ngPattern': 'pattern', + 'ngStep': 'step' +}; function getBooleanAttrName(element, name) { // check dom last since we will most likely fail on name var booleanAttr = BOOLEAN_ATTR[name.toLowerCase()]; // booleanAttr is here twice to minimize DOM access - return booleanAttr && BOOLEAN_ELEMENTS[element.nodeName] && booleanAttr; + return booleanAttr && BOOLEAN_ELEMENTS[nodeName_(element)] && booleanAttr; +} + +function getAliasedAttrName(name) { + return ALIASED_ATTR[name]; } +forEach({ + data: jqLiteData, + removeData: jqLiteRemoveData, + hasData: jqLiteHasData, + cleanData: function jqLiteCleanData(nodes) { + for (var i = 0, ii = nodes.length; i < ii; i++) { + jqLiteRemoveData(nodes[i]); + jqLiteOff(nodes[i]); + } + } +}, function(fn, name) { + JQLite[name] = fn; +}); + forEach({ data: jqLiteData, inheritedData: jqLiteInheritedData, scope: function(element) { // Can't use jqLiteData here directly so we stay compatible with jQuery! - return jqLite(element).data('$scope') || jqLiteInheritedData(element.parentNode || element, ['$isolateScope', '$scope']); + return jqLite.data(element, '$scope') || jqLiteInheritedData(element.parentNode || element, ['$isolateScope', '$scope']); }, isolateScope: function(element) { // Can't use jqLiteData here directly so we stay compatible with jQuery! - return jqLite(element).data('$isolateScope') || jqLite(element).data('$isolateScopeNoTemplate'); + return jqLite.data(element, '$isolateScope') || jqLite.data(element, '$isolateScopeNoTemplate'); }, - controller: jqLiteController , + controller: jqLiteController, injector: function(element) { return jqLiteInheritedData(element, '$injector'); }, - removeAttr: function(element,name) { + removeAttr: function(element, name) { element.removeAttribute(name); }, hasClass: jqLiteHasClass, css: function(element, name, value) { - name = camelCase(name); + name = cssKebabToCamel(name); if (isDefined(value)) { element.style[name] = value; } else { - var val; + return element.style[name]; + } + }, - if (msie <= 8) { - // this is some IE specific weirdness that jQuery 1.6.4 does not sure why - val = element.currentStyle && element.currentStyle[name]; - if (val === '') val = 'auto'; - } + attr: function(element, name, value) { + var ret; + var nodeType = element.nodeType; + if (nodeType === NODE_TYPE_TEXT || nodeType === NODE_TYPE_ATTRIBUTE || nodeType === NODE_TYPE_COMMENT || + !element.getAttribute) { + return; + } - val = val || element.style[name]; + var lowercasedName = lowercase(name); + var isBooleanAttr = BOOLEAN_ATTR[lowercasedName]; - if (msie <= 8) { - // jquery weirdness :-/ - val = (val === '') ? undefined : val; + if (isDefined(value)) { + // setter + + if (value === null || (value === false && isBooleanAttr)) { + element.removeAttribute(name); + } else { + element.setAttribute(name, isBooleanAttr ? lowercasedName : value); } + } else { + // getter - return val; - } - }, + ret = element.getAttribute(name); - attr: function(element, name, value){ - var lowercasedName = lowercase(name); - if (BOOLEAN_ATTR[lowercasedName]) { - if (isDefined(value)) { - if (!!value) { - element[name] = true; - element.setAttribute(name, lowercasedName); - } else { - element[name] = false; - element.removeAttribute(lowercasedName); - } - } else { - return (element[name] || - (element.attributes.getNamedItem(name)|| noop).specified) - ? lowercasedName - : undefined; + if (isBooleanAttr && ret !== null) { + ret = lowercasedName; } - } else if (isDefined(value)) { - element.setAttribute(name, value); - } else if (element.getAttribute) { - // the extra argument "2" is to get the right thing for a.href in IE, see jQuery code - // some elements (e.g. Document) don't have get attribute, so return undefined - var ret = element.getAttribute(name, 2); - // normalize non-existing attributes to undefined (as jQuery) + // Normalize non-existing attributes to undefined (as jQuery). return ret === null ? undefined : ret; } }, @@ -508,36 +761,28 @@ forEach({ }, text: (function() { - var NODE_TYPE_TEXT_PROPERTY = []; - if (msie < 9) { - NODE_TYPE_TEXT_PROPERTY[1] = 'innerText'; /** Element **/ - NODE_TYPE_TEXT_PROPERTY[3] = 'nodeValue'; /** Text **/ - } else { - NODE_TYPE_TEXT_PROPERTY[1] = /** Element **/ - NODE_TYPE_TEXT_PROPERTY[3] = 'textContent'; /** Text **/ - } getText.$dv = ''; return getText; function getText(element, value) { - var textProp = NODE_TYPE_TEXT_PROPERTY[element.nodeType]; if (isUndefined(value)) { - return textProp ? element[textProp] : ''; + var nodeType = element.nodeType; + return (nodeType === NODE_TYPE_ELEMENT || nodeType === NODE_TYPE_TEXT) ? element.textContent : ''; } - element[textProp] = value; + element.textContent = value; } })(), val: function(element, value) { if (isUndefined(value)) { - if (nodeName_(element) === 'SELECT' && element.multiple) { + if (element.multiple && nodeName_(element) === 'select') { var result = []; - forEach(element.options, function (option) { + forEach(element.options, function(option) { if (option.selected) { result.push(option.value || option.text); } }); - return result.length === 0 ? null : result; + return result; } return element.value; } @@ -548,25 +793,28 @@ forEach({ if (isUndefined(value)) { return element.innerHTML; } - for (var i = 0, childNodes = element.childNodes; i < childNodes.length; i++) { - jqLiteDealoc(childNodes[i]); - } + jqLiteDealoc(element, true); element.innerHTML = value; - } -}, function(fn, name){ + }, + + empty: jqLiteEmpty +}, function(fn, name) { /** * Properties: writes return selection, reads return first value */ JQLite.prototype[name] = function(arg1, arg2) { var i, key; + var nodeCount = this.length; // jqLiteHasClass has only two arguments, but is a getter-only fn, so we need to special-case it // in a way that survives minification. - if (((fn.length == 2 && (fn !== jqLiteHasClass && fn !== jqLiteController)) ? arg1 : arg2) === undefined) { + // jqLiteEmpty takes no arguments but is a setter. + if (fn !== jqLiteEmpty && + (isUndefined((fn.length === 2 && (fn !== jqLiteHasClass && fn !== jqLiteController)) ? arg1 : arg2))) { if (isObject(arg1)) { // we are a write, but the object properties are the key/values - for(i=0; i < this.length; i++) { + for (i = 0; i < nodeCount; i++) { if (fn === jqLiteData) { // data() takes the whole object in jQuery fn(this[i], arg1); @@ -580,9 +828,10 @@ forEach({ return this; } else { // we are a read, so read the first child. + // TODO: do we still need this? var value = fn.$dv; // Only if we have $dv do we iterate over all, otherwise it is just the first element. - var jj = (value === undefined) ? Math.min(this.length, 1) : this.length; + var jj = (isUndefined(value)) ? Math.min(nodeCount, 1) : nodeCount; for (var j = 0; j < jj; j++) { var nodeValue = fn(this[j], arg1, arg2); value = value ? value + nodeValue : nodeValue; @@ -591,7 +840,7 @@ forEach({ } } else { // we are a write, so apply to all children - for(i=0; i < this.length; i++) { + for (i = 0; i < nodeCount; i++) { fn(this[i], arg1, arg2); } // return self for chaining @@ -601,58 +850,73 @@ forEach({ }); function createEventHandler(element, events) { - var eventHandler = function (event, type) { - if (!event.preventDefault) { - event.preventDefault = function() { - event.returnValue = false; //ie - }; - } + var eventHandler = function(event, type) { + // jQuery specific api + event.isDefaultPrevented = function() { + return event.defaultPrevented; + }; - if (!event.stopPropagation) { - event.stopPropagation = function() { - event.cancelBubble = true; //ie - }; - } + var eventFns = events[type || event.type]; + var eventFnsLength = eventFns ? eventFns.length : 0; - if (!event.target) { - event.target = event.srcElement || document; - } + if (!eventFnsLength) return; + + if (isUndefined(event.immediatePropagationStopped)) { + var originalStopImmediatePropagation = event.stopImmediatePropagation; + event.stopImmediatePropagation = function() { + event.immediatePropagationStopped = true; + + if (event.stopPropagation) { + event.stopPropagation(); + } - if (isUndefined(event.defaultPrevented)) { - var prevent = event.preventDefault; - event.preventDefault = function() { - event.defaultPrevented = true; - prevent.call(event); + if (originalStopImmediatePropagation) { + originalStopImmediatePropagation.call(event); + } }; - event.defaultPrevented = false; } - event.isDefaultPrevented = function() { - return event.defaultPrevented || event.returnValue === false; + event.isImmediatePropagationStopped = function() { + return event.immediatePropagationStopped === true; }; - forEach(events[type || event.type], function(fn) { - fn.call(element, event); - }); + // Some events have special handlers that wrap the real handler + var handlerWrapper = eventFns.specialHandlerWrapper || defaultHandlerWrapper; - // Remove monkey-patched methods (IE), - // as they would cause memory leaks in IE8. - if (msie <= 8) { - // IE7/8 does not allow to delete property on native object - event.preventDefault = null; - event.stopPropagation = null; - event.isDefaultPrevented = null; - } else { - // It shouldn't affect normal browsers (native methods are defined on prototype). - delete event.preventDefault; - delete event.stopPropagation; - delete event.isDefaultPrevented; + // Copy event handlers in case event handlers array is modified during execution. + if ((eventFnsLength > 1)) { + eventFns = shallowCopy(eventFns); + } + + for (var i = 0; i < eventFnsLength; i++) { + if (!event.isImmediatePropagationStopped()) { + handlerWrapper(element, event, eventFns[i]); + } } }; + + // TODO: this is a hack for angularMocks/clearDataCache that makes it possible to deregister all + // events on `element` eventHandler.elem = element; return eventHandler; } +function defaultHandlerWrapper(element, event, handler) { + handler.call(element, event); +} + +function specialMouseHandlerWrapper(target, event, handler) { + // Refer to jQuery's implementation of mouseenter & mouseleave + // Read about mouseenter and mouseleave: + // http://www.quirksmode.org/js/events_mouse.html#link8 + var related = event.relatedTarget; + // For mousenter/leave call the handler if related is outside the target. + // NB: No relatedTarget if the mouse left/entered the browser window + if (!related || (related !== target && !jqLiteContains.call(target, related))) { + handler.call(target, event); + } +} + ////////////////////////////////////////// // Functions iterating traversal. // These functions chain results into a single @@ -661,76 +925,70 @@ function createEventHandler(element, events) { forEach({ removeData: jqLiteRemoveData, - dealoc: jqLiteDealoc, - - on: function onFn(element, type, fn, unsupported){ + on: function jqLiteOn(element, type, fn, unsupported) { if (isDefined(unsupported)) throw jqLiteMinErr('onargs', 'jqLite#on() does not support the `selector` or `eventData` parameters'); - var events = jqLiteExpandoStore(element, 'events'), - handle = jqLiteExpandoStore(element, 'handle'); + // Do not add event handlers to non-elements because they will not be cleaned up. + if (!jqLiteAcceptsData(element)) { + return; + } - if (!events) jqLiteExpandoStore(element, 'events', events = {}); - if (!handle) jqLiteExpandoStore(element, 'handle', handle = createEventHandler(element, events)); + var expandoStore = jqLiteExpandoStore(element, true); + var events = expandoStore.events; + var handle = expandoStore.handle; - forEach(type.split(' '), function(type){ + if (!handle) { + handle = expandoStore.handle = createEventHandler(element, events); + } + + // http://jsperf.com/string-indexof-vs-split + var types = type.indexOf(' ') >= 0 ? type.split(' ') : [type]; + var i = types.length; + + var addHandler = function(type, specialHandlerWrapper, noEventListener) { var eventFns = events[type]; if (!eventFns) { - if (type == 'mouseenter' || type == 'mouseleave') { - var contains = document.body.contains || document.body.compareDocumentPosition ? - function( a, b ) { - // jshint bitwise: false - var adown = a.nodeType === 9 ? a.documentElement : a, - bup = b && b.parentNode; - return a === bup || !!( bup && bup.nodeType === 1 && ( - adown.contains ? - adown.contains( bup ) : - a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 - )); - } : - function( a, b ) { - if ( b ) { - while ( (b = b.parentNode) ) { - if ( b === a ) { - return true; - } - } - } - return false; - }; - - events[type] = []; - - // Refer to jQuery's implementation of mouseenter & mouseleave - // Read about mouseenter and mouseleave: - // http://www.quirksmode.org/js/events_mouse.html#link8 - var eventmap = { mouseleave : "mouseout", mouseenter : "mouseover"}; - - onFn(element, eventmap[type], function(event) { - var target = this, related = event.relatedTarget; - // For mousenter/leave call the handler if related is outside the target. - // NB: No relatedTarget if the mouse left/entered the browser window - if ( !related || (related !== target && !contains(target, related)) ){ - handle(event, type); - } - }); - - } else { - addEventListenerFn(element, type, handle); - events[type] = []; + eventFns = events[type] = []; + eventFns.specialHandlerWrapper = specialHandlerWrapper; + if (type !== '$destroy' && !noEventListener) { + element.addEventListener(type, handle); } - eventFns = events[type]; } + eventFns.push(fn); - }); + }; + + while (i--) { + type = types[i]; + if (MOUSE_EVENT_MAP[type]) { + addHandler(MOUSE_EVENT_MAP[type], specialMouseHandlerWrapper); + addHandler(type, undefined, true); + } else { + addHandler(type); + } + } }, off: jqLiteOff, + one: function(element, type, fn) { + element = jqLite(element); + + //add the listener twice so that when it is called + //you can remove the original function and still be + //able to call element.off(ev, fn) normally + element.on(type, function onFn() { + element.off(type, fn); + element.off(type, onFn); + }); + element.on(type, fn); + }, + replaceWith: function(element, replaceNode) { var index, parent = element.parentNode; jqLiteDealoc(element); - forEach(new JQLite(replaceNode), function(node){ + forEach(new JQLite(replaceNode), function(node) { if (index) { parent.insertBefore(node, index.nextSibling); } else { @@ -742,112 +1000,141 @@ forEach({ children: function(element) { var children = []; - forEach(element.childNodes, function(element){ - if (element.nodeType === 1) + forEach(element.childNodes, function(element) { + if (element.nodeType === NODE_TYPE_ELEMENT) { children.push(element); + } }); return children; }, contents: function(element) { - return element.childNodes || []; + return element.contentDocument || element.childNodes || []; }, append: function(element, node) { - forEach(new JQLite(node), function(child){ - if (element.nodeType === 1 || element.nodeType === 11) { - element.appendChild(child); - } - }); + var nodeType = element.nodeType; + if (nodeType !== NODE_TYPE_ELEMENT && nodeType !== NODE_TYPE_DOCUMENT_FRAGMENT) return; + + node = new JQLite(node); + + for (var i = 0, ii = node.length; i < ii; i++) { + var child = node[i]; + element.appendChild(child); + } }, prepend: function(element, node) { - if (element.nodeType === 1) { + if (element.nodeType === NODE_TYPE_ELEMENT) { var index = element.firstChild; - forEach(new JQLite(node), function(child){ + forEach(new JQLite(node), function(child) { element.insertBefore(child, index); }); } }, wrap: function(element, wrapNode) { - wrapNode = jqLite(wrapNode)[0]; - var parent = element.parentNode; - if (parent) { - parent.replaceChild(wrapNode, element); - } - wrapNode.appendChild(element); + jqLiteWrapNode(element, jqLite(wrapNode).eq(0).clone()[0]); }, - remove: function(element) { - jqLiteDealoc(element); - var parent = element.parentNode; - if (parent) parent.removeChild(element); + remove: jqLiteRemove, + + detach: function(element) { + jqLiteRemove(element, true); }, after: function(element, newElement) { var index = element, parent = element.parentNode; - forEach(new JQLite(newElement), function(node){ - parent.insertBefore(node, index.nextSibling); - index = node; - }); + + if (parent) { + newElement = new JQLite(newElement); + + for (var i = 0, ii = newElement.length; i < ii; i++) { + var node = newElement[i]; + parent.insertBefore(node, index.nextSibling); + index = node; + } + } }, addClass: jqLiteAddClass, removeClass: jqLiteRemoveClass, toggleClass: function(element, selector, condition) { - if (isUndefined(condition)) { - condition = !jqLiteHasClass(element, selector); + if (selector) { + forEach(selector.split(' '), function(className) { + var classCondition = condition; + if (isUndefined(classCondition)) { + classCondition = !jqLiteHasClass(element, className); + } + (classCondition ? jqLiteAddClass : jqLiteRemoveClass)(element, className); + }); } - (condition ? jqLiteAddClass : jqLiteRemoveClass)(element, selector); }, parent: function(element) { var parent = element.parentNode; - return parent && parent.nodeType !== 11 ? parent : null; + return parent && parent.nodeType !== NODE_TYPE_DOCUMENT_FRAGMENT ? parent : null; }, next: function(element) { - if (element.nextElementSibling) { - return element.nextElementSibling; - } - - // IE8 doesn't have nextElementSibling - var elm = element.nextSibling; - while (elm != null && elm.nodeType !== 1) { - elm = elm.nextSibling; - } - return elm; + return element.nextElementSibling; }, find: function(element, selector) { - return element.getElementsByTagName(selector); + if (element.getElementsByTagName) { + return element.getElementsByTagName(selector); + } else { + return []; + } }, clone: jqLiteClone, - triggerHandler: function(element, eventName, eventData) { - var eventFns = (jqLiteExpandoStore(element, 'events') || {})[eventName]; + triggerHandler: function(element, event, extraParameters) { + + var dummyEvent, eventFnsCopy, handlerArgs; + var eventName = event.type || event; + var expandoStore = jqLiteExpandoStore(element); + var events = expandoStore && expandoStore.events; + var eventFns = events && events[eventName]; + + if (eventFns) { + // Create a dummy event to pass to the handlers + dummyEvent = { + preventDefault: function() { this.defaultPrevented = true; }, + isDefaultPrevented: function() { return this.defaultPrevented === true; }, + stopImmediatePropagation: function() { this.immediatePropagationStopped = true; }, + isImmediatePropagationStopped: function() { return this.immediatePropagationStopped === true; }, + stopPropagation: noop, + type: eventName, + target: element + }; - eventData = eventData || []; + // If a custom event was provided then extend our dummy event with it + if (event.type) { + dummyEvent = extend(dummyEvent, event); + } - var event = [{ - preventDefault: noop, - stopPropagation: noop - }]; + // Copy event handlers in case event handlers array is modified during execution. + eventFnsCopy = shallowCopy(eventFns); + handlerArgs = extraParameters ? [dummyEvent].concat(extraParameters) : [dummyEvent]; - forEach(eventFns, function(fn) { - fn.apply(element, event.concat(eventData)); - }); + forEach(eventFnsCopy, function(fn) { + if (!dummyEvent.isImmediatePropagationStopped()) { + fn.apply(element, handlerArgs); + } + }); + } } -}, function(fn, name){ +}, function(fn, name) { /** * chaining functions */ JQLite.prototype[name] = function(arg1, arg2, arg3) { var value; - for(var i=0; i < this.length; i++) { + + for (var i = 0, ii = this.length; i < ii; i++) { if (isUndefined(value)) { value = fn(this[i], arg1, arg2, arg3); if (isDefined(value)) { @@ -860,8 +1147,30 @@ forEach({ } return isDefined(value) ? value : this; }; - - // bind legacy bind/unbind to on/off - JQLite.prototype.bind = JQLite.prototype.on; - JQLite.prototype.unbind = JQLite.prototype.off; }); + +// bind legacy bind/unbind to on/off +JQLite.prototype.bind = JQLite.prototype.on; +JQLite.prototype.unbind = JQLite.prototype.off; + + +// Provider for private $$jqLite service +/** @this */ +function $$jqLiteProvider() { + this.$get = function $$jqLite() { + return extend(JQLite, { + hasClass: function(node, classes) { + if (node.attr) node = node[0]; + return jqLiteHasClass(node, classes); + }, + addClass: function(node, classes) { + if (node.attr) node = node[0]; + return jqLiteAddClass(node, classes); + }, + removeClass: function(node, classes) { + if (node.attr) node = node[0]; + return jqLiteRemoveClass(node, classes); + } + }); + }; +} diff --git a/src/loader.js b/src/loader.js index 787fcbfa6a77..00e943ff301e 100644 --- a/src/loader.js +++ b/src/loader.js @@ -1,11 +1,12 @@ 'use strict'; /** - * @ngdoc interface + * @ngdoc type * @name angular.Module + * @module ng * @description * - * Interface for configuring angular {@link angular.module modules}. + * Interface for configuring AngularJS {@link angular.module modules}. */ function setupModuleLoader(window) { @@ -29,23 +30,24 @@ function setupModuleLoader(window) { /** * @ngdoc function * @name angular.module + * @module ng * @description * - * The `angular.module` is a global place for creating, registering and retrieving Angular + * The `angular.module` is a global place for creating, registering and retrieving AngularJS * modules. - * All modules (angular core or 3rd party) that should be available to an application must be + * All modules (AngularJS core or 3rd party) that should be available to an application must be * registered using this mechanism. * - * When passed two or more arguments, a new module is created. If passed only one argument, an - * existing module (the name passed as the first argument to `module`) is retrieved. + * Passing one argument retrieves an existing {@link angular.Module}, + * whereas passing more than one argument creates a new {@link angular.Module} * * * # Module * - * A module is a collection of services, directives, filters, and configuration information. - * `angular.module` is used to configure the {@link AUTO.$injector $injector}. + * A module is a collection of services, directives, controllers, filters, and configuration information. + * `angular.module` is used to configure the {@link auto.$injector $injector}. * - *
    +     * ```js
          * // Create a new module
          * var myModule = angular.module('myModule', []);
          *
    @@ -53,30 +55,33 @@ function setupModuleLoader(window) {
          * myModule.value('appName', 'MyCoolApp');
          *
          * // configure existing services inside initialization blocks.
    -     * myModule.config(function($locationProvider) {
    +     * myModule.config(['$locationProvider', function($locationProvider) {
          *   // Configure existing providers
          *   $locationProvider.hashPrefix('!');
    -     * });
    -     * 
    + * }]); + * ``` * * Then you can create an injector and load your modules like this: * - *
    -     * var injector = angular.injector(['ng', 'MyModule'])
    -     * 
    + * ```js + * var injector = angular.injector(['ng', 'myModule']) + * ``` * * However it's more likely that you'll just use * {@link ng.directive:ngApp ngApp} or * {@link angular.bootstrap} to simplify this process for you. * * @param {!string} name The name of the module to create or retrieve. - * @param {Array.=} requires If specified then new module is being created. If - * unspecified then the the module is being retrieved for further configuration. - * @param {Function} configFn Optional configuration function for the module. Same as - * {@link angular.Module#methods_config Module#config()}. - * @returns {module} new module with the {@link angular.Module} api. + * @param {!Array.=} requires If specified then new module is being created. If + * unspecified then the module is being retrieved for further configuration. + * @param {Function=} configFn Optional configuration function for the module. Same as + * {@link angular.Module#config Module#config()}. + * @returns {angular.Module} new module with the {@link angular.Module} api. */ return function module(name, requires, configFn) { + + var info = {}; + var assertNotHasOwnProperty = function(name, context) { if (name === 'hasOwnProperty') { throw ngMinErr('badname', 'hasOwnProperty is not a valid {0} name', context); @@ -89,30 +94,73 @@ function setupModuleLoader(window) { } return ensure(modules, name, function() { if (!requires) { - throw $injectorMinErr('nomod', "Module '{0}' is not available! You either misspelled " + - "the module name or forgot to load it. If registering a module ensure that you " + - "specify the dependencies as the second argument.", name); + throw $injectorMinErr('nomod', 'Module \'{0}\' is not available! You either misspelled ' + + 'the module name or forgot to load it. If registering a module ensure that you ' + + 'specify the dependencies as the second argument.', name); } /** @type {!Array.>} */ var invokeQueue = []; + /** @type {!Array.} */ + var configBlocks = []; + /** @type {!Array.} */ var runBlocks = []; - var config = invokeLater('$injector', 'invoke'); + var config = invokeLater('$injector', 'invoke', 'push', configBlocks); /** @type {angular.Module} */ var moduleInstance = { // Private state _invokeQueue: invokeQueue, + _configBlocks: configBlocks, _runBlocks: runBlocks, + /** + * @ngdoc method + * @name angular.Module#info + * @module ng + * + * @param {Object=} info Information about the module + * @returns {Object|Module} The current info object for this module if called as a getter, + * or `this` if called as a setter. + * + * @description + * Read and write custom information about this module. + * For example you could put the version of the module in here. + * + * ```js + * angular.module('myModule', []).info({ version: '1.0.0' }); + * ``` + * + * The version could then be read back out by accessing the module elsewhere: + * + * ``` + * var version = angular.module('myModule').info().version; + * ``` + * + * You can also retrieve this information during runtime via the + * {@link $injector#modules `$injector.modules`} property: + * + * ```js + * var version = $injector.modules['myModule'].info().version; + * ``` + */ + info: function(value) { + if (isDefined(value)) { + if (!isObject(value)) throw ngMinErr('aobj', 'Argument \'{0}\' must be an object', 'value'); + info = value; + return this; + } + return info; + }, + /** * @ngdoc property * @name angular.Module#requires - * @propertyOf angular.Module - * @returns {Array.} List of module names which must be loaded before this module. + * @module ng + * * @description * Holds the list of modules which the injector will load before the current module is * loaded. @@ -122,9 +170,10 @@ function setupModuleLoader(window) { /** * @ngdoc property * @name angular.Module#name - * @propertyOf angular.Module - * @returns {string} Name of the module. + * @module ng + * * @description + * Name of the module. */ name: name, @@ -132,64 +181,76 @@ function setupModuleLoader(window) { /** * @ngdoc method * @name angular.Module#provider - * @methodOf angular.Module + * @module ng * @param {string} name service name * @param {Function} providerType Construction function for creating new instance of the * service. * @description - * See {@link AUTO.$provide#provider $provide.provider()}. + * See {@link auto.$provide#provider $provide.provider()}. */ - provider: invokeLater('$provide', 'provider'), + provider: invokeLaterAndSetModuleName('$provide', 'provider'), /** * @ngdoc method * @name angular.Module#factory - * @methodOf angular.Module + * @module ng * @param {string} name service name * @param {Function} providerFunction Function for creating new instance of the service. * @description - * See {@link AUTO.$provide#factory $provide.factory()}. + * See {@link auto.$provide#factory $provide.factory()}. */ - factory: invokeLater('$provide', 'factory'), + factory: invokeLaterAndSetModuleName('$provide', 'factory'), /** * @ngdoc method * @name angular.Module#service - * @methodOf angular.Module + * @module ng * @param {string} name service name * @param {Function} constructor A constructor function that will be instantiated. * @description - * See {@link AUTO.$provide#service $provide.service()}. + * See {@link auto.$provide#service $provide.service()}. */ - service: invokeLater('$provide', 'service'), + service: invokeLaterAndSetModuleName('$provide', 'service'), /** * @ngdoc method * @name angular.Module#value - * @methodOf angular.Module + * @module ng * @param {string} name service name * @param {*} object Service instance object. * @description - * See {@link AUTO.$provide#value $provide.value()}. + * See {@link auto.$provide#value $provide.value()}. */ value: invokeLater('$provide', 'value'), /** * @ngdoc method * @name angular.Module#constant - * @methodOf angular.Module + * @module ng * @param {string} name constant name * @param {*} object Constant value. * @description - * Because the constant are fixed, they get applied before other provide methods. - * See {@link AUTO.$provide#constant $provide.constant()}. + * Because the constants are fixed, they get applied before other provide methods. + * See {@link auto.$provide#constant $provide.constant()}. */ constant: invokeLater('$provide', 'constant', 'unshift'), + /** + * @ngdoc method + * @name angular.Module#decorator + * @module ng + * @param {string} name The name of the service to decorate. + * @param {Function} decorFn This function will be invoked when the service needs to be + * instantiated and should return the decorated service instance. + * @description + * See {@link auto.$provide#decorator $provide.decorator()}. + */ + decorator: invokeLaterAndSetModuleName('$provide', 'decorator', configBlocks), + /** * @ngdoc method * @name angular.Module#animation - * @methodOf angular.Module + * @module ng * @param {string} name animation name * @param {Function} animationFactory Factory function for creating new instance of an * animation. @@ -199,9 +260,9 @@ function setupModuleLoader(window) { * * * Defines an animation hook that can be later used with - * {@link ngAnimate.$animate $animate} service and directives that use this service. + * {@link $animate $animate} service and directives that use this service. * - *
    +           * ```js
                * module.animation('.animation-name', function($inject1, $inject2) {
                *   return {
                *     eventName : function(element, done) {
    @@ -213,64 +274,93 @@ function setupModuleLoader(window) {
                *     }
                *   }
                * })
    -           * 
    + * ``` * - * See {@link ngAnimate.$animateProvider#register $animateProvider.register()} and + * See {@link ng.$animateProvider#register $animateProvider.register()} and * {@link ngAnimate ngAnimate module} for more information. */ - animation: invokeLater('$animateProvider', 'register'), + animation: invokeLaterAndSetModuleName('$animateProvider', 'register'), /** * @ngdoc method * @name angular.Module#filter - * @methodOf angular.Module - * @param {string} name Filter name. + * @module ng + * @param {string} name Filter name - this must be a valid AngularJS expression identifier * @param {Function} filterFactory Factory function for creating new instance of filter. * @description * See {@link ng.$filterProvider#register $filterProvider.register()}. + * + *
    + * **Note:** Filter names must be valid AngularJS {@link expression} identifiers, such as `uppercase` or `orderBy`. + * Names with special characters, such as hyphens and dots, are not allowed. If you wish to namespace + * your filters, then you can use capitalization (`myappSubsectionFilterx`) or underscores + * (`myapp_subsection_filterx`). + *
    */ - filter: invokeLater('$filterProvider', 'register'), + filter: invokeLaterAndSetModuleName('$filterProvider', 'register'), /** * @ngdoc method * @name angular.Module#controller - * @methodOf angular.Module + * @module ng * @param {string|Object} name Controller name, or an object map of controllers where the * keys are the names and the values are the constructors. * @param {Function} constructor Controller constructor function. * @description * See {@link ng.$controllerProvider#register $controllerProvider.register()}. */ - controller: invokeLater('$controllerProvider', 'register'), + controller: invokeLaterAndSetModuleName('$controllerProvider', 'register'), /** * @ngdoc method * @name angular.Module#directive - * @methodOf angular.Module + * @module ng * @param {string|Object} name Directive name, or an object map of directives where the * keys are the names and the values are the factories. * @param {Function} directiveFactory Factory function for creating new instance of * directives. * @description - * See {@link ng.$compileProvider#methods_directive $compileProvider.directive()}. + * See {@link ng.$compileProvider#directive $compileProvider.directive()}. + */ + directive: invokeLaterAndSetModuleName('$compileProvider', 'directive'), + + /** + * @ngdoc method + * @name angular.Module#component + * @module ng + * @param {string|Object} name Name of the component in camelCase (i.e. `myComp` which will match ``), + * or an object map of components where the keys are the names and the values are the component definition objects. + * @param {Object} options Component definition object (a simplified + * {@link ng.$compile#directive-definition-object directive definition object}) + * + * @description + * See {@link ng.$compileProvider#component $compileProvider.component()}. */ - directive: invokeLater('$compileProvider', 'directive'), + component: invokeLaterAndSetModuleName('$compileProvider', 'component'), /** * @ngdoc method * @name angular.Module#config - * @methodOf angular.Module + * @module ng * @param {Function} configFn Execute this function on module load. Useful for service * configuration. * @description - * Use this method to register work which needs to be performed on module loading. + * Use this method to configure services by injecting their + * {@link angular.Module#provider `providers`}, e.g. for adding routes to the + * {@link ngRoute.$routeProvider $routeProvider}. + * + * Note that you can only inject {@link angular.Module#provider `providers`} and + * {@link angular.Module#constant `constants`} into this function. + * + * For more about how to configure services, see + * {@link providers#provider-recipe Provider Recipe}. */ config: config, /** * @ngdoc method * @name angular.Module#run - * @methodOf angular.Module + * @module ng * @param {Function} initializationFn Execute this function after injector creation. * Useful for application initialization. * @description @@ -287,7 +377,7 @@ function setupModuleLoader(window) { config(configFn); } - return moduleInstance; + return moduleInstance; /** * @param {string} provider @@ -295,9 +385,24 @@ function setupModuleLoader(window) { * @param {String=} insertMethod * @returns {angular.Module} */ - function invokeLater(provider, method, insertMethod) { + function invokeLater(provider, method, insertMethod, queue) { + if (!queue) queue = invokeQueue; return function() { - invokeQueue[insertMethod || 'push']([provider, method, arguments]); + queue[insertMethod || 'push']([provider, method, arguments]); + return moduleInstance; + }; + } + + /** + * @param {string} provider + * @param {string} method + * @returns {angular.Module} + */ + function invokeLaterAndSetModuleName(provider, method, queue) { + if (!queue) queue = invokeQueue; + return function(recipeName, factoryFunction) { + if (factoryFunction && isFunction(factoryFunction)) factoryFunction.$$moduleName = name; + queue.push([provider, method, arguments]); return moduleInstance; }; } diff --git a/src/loader.prefix b/src/loader.prefix index cf2b511e9a13..5efa2a697f7e 100644 --- a/src/loader.prefix +++ b/src/loader.prefix @@ -1,7 +1,35 @@ /** * @license AngularJS v"NG_VERSION_FULL" - * (c) 2010-2014 Google, Inc. http://angularjs.org + * (c) 2010-2020 Google LLC. http://angularjs.org * License: MIT */ 'use strict'; (function() { + // NOTE: + // These functions are copied here from `src/Angular.js`, because they are needed inside the + // `angular-loader.js` closure and need to be available before the main `angular.js` script has + // been loaded. + function isFunction(value) {return typeof value === 'function';} + function isDefined(value) {return typeof value !== 'undefined';} + function isNumber(value) {return typeof value === 'number';} + function isObject(value) {return value !== null && typeof value === 'object';} + function isScope(obj) {return obj && obj.$evalAsync && obj.$watch;} + function isUndefined(value) {return typeof value === 'undefined';} + function isWindow(obj) {return obj && obj.window === obj;} + function sliceArgs(args, startIndex) {return Array.prototype.slice.call(args, startIndex || 0);} + function toJsonReplacer(key, value) { + var val = value; + + if (typeof key === 'string' && key.charAt(0) === '$' && key.charAt(1) === '$') { + val = undefined; + } else if (isWindow(value)) { + val = '$WINDOW'; + } else if (value && window.document === value) { + val = '$DOCUMENT'; + } else if (isScope(value)) { + val = '$SCOPE'; + } + + return val; + } + diff --git a/src/minErr.js b/src/minErr.js index e42a0817a3ab..f586c3ec8d13 100644 --- a/src/minErr.js +++ b/src/minErr.js @@ -1,10 +1,71 @@ 'use strict'; +/* exported + minErrConfig, + errorHandlingConfig, + isValidObjectMaxDepth +*/ + +var minErrConfig = { + objectMaxDepth: 5, + urlErrorParamsEnabled: true +}; + +/** + * @ngdoc function + * @name angular.errorHandlingConfig + * @module ng + * @kind function + * + * @description + * Configure several aspects of error handling in AngularJS if used as a setter or return the + * current configuration if used as a getter. The following options are supported: + * + * - **objectMaxDepth**: The maximum depth to which objects are traversed when stringified for error messages. + * + * Omitted or undefined options will leave the corresponding configuration values unchanged. + * + * @param {Object=} config - The configuration object. May only contain the options that need to be + * updated. Supported keys: + * + * * `objectMaxDepth` **{Number}** - The max depth for stringifying objects. Setting to a + * non-positive or non-numeric value, removes the max depth limit. + * Default: 5 + * + * * `urlErrorParamsEnabled` **{Boolean}** - Specifies whether the generated error url will + * contain the parameters of the thrown error. Disabling the parameters can be useful if the + * generated error url is very long. + * + * Default: true. When used without argument, it returns the current value. + */ +function errorHandlingConfig(config) { + if (isObject(config)) { + if (isDefined(config.objectMaxDepth)) { + minErrConfig.objectMaxDepth = isValidObjectMaxDepth(config.objectMaxDepth) ? config.objectMaxDepth : NaN; + } + if (isDefined(config.urlErrorParamsEnabled) && isBoolean(config.urlErrorParamsEnabled)) { + minErrConfig.urlErrorParamsEnabled = config.urlErrorParamsEnabled; + } + } else { + return minErrConfig; + } +} + +/** + * @private + * @param {Number} maxDepth + * @return {boolean} + */ +function isValidObjectMaxDepth(maxDepth) { + return isNumber(maxDepth) && maxDepth > 0; +} + + /** * @description * * This object provides a utility for producing rich Error messages within - * Angular. It can be called as follows: + * AngularJS. It can be called as follows: * * var exampleMinErr = minErr('example'); * throw exampleMinErr('one', 'This {0} is {1}', foo, bar); @@ -21,55 +82,54 @@ * Since data will be parsed statically during a build step, some restrictions * are applied with respect to how minErr instances are created and called. * Instances should have names of the form namespaceMinErr for a minErr created - * using minErr('namespace') . Error codes, namespaces and template strings + * using minErr('namespace'). Error codes, namespaces and template strings * should all be static strings, not variables or general expressions. * * @param {string} module The namespace to use for the new minErr instance. - * @returns {function(string, string, ...): Error} instance + * @param {function} ErrorConstructor Custom error constructor to be instantiated when returning + * error from returned function, for cases when a particular type of error is useful. + * @returns {function(code:string, template:string, ...templateArgs): Error} minErr instance */ -function minErr(module) { - return function () { +function minErr(module, ErrorConstructor) { + ErrorConstructor = ErrorConstructor || Error; + + var url = 'https://errors.angularjs.org/"NG_VERSION_FULL"/'; + var regex = url.replace('.', '\\.') + '[\\s\\S]*'; + var errRegExp = new RegExp(regex, 'g'); + + return function() { var code = arguments[0], - prefix = '[' + (module ? module + ':' : '') + code + '] ', template = arguments[1], - templateArgs = arguments, - stringify = function (obj) { - if (typeof obj === 'function') { - return obj.toString().replace(/ \{[\s\S]*$/, ''); - } else if (typeof obj === 'undefined') { - return 'undefined'; - } else if (typeof obj !== 'string') { - return JSON.stringify(obj); - } - return obj; - }, - message, i; - - message = prefix + template.replace(/\{\d+\}/g, function (match) { - var index = +match.slice(1, -1), arg; - - if (index + 2 < templateArgs.length) { - arg = templateArgs[index + 2]; - if (typeof arg === 'function') { - return arg.toString().replace(/ ?\{[\s\S]*$/, ''); - } else if (typeof arg === 'undefined') { - return 'undefined'; - } else if (typeof arg !== 'string') { - return toJson(arg); - } - return arg; + message = '[' + (module ? module + ':' : '') + code + '] ', + templateArgs = sliceArgs(arguments, 2).map(function(arg) { + return toDebugString(arg, minErrConfig.objectMaxDepth); + }), + paramPrefix, i; + + // A minErr message has two parts: the message itself and the url that contains the + // encoded message. + // The message's parameters can contain other error messages which also include error urls. + // To prevent the messages from getting too long, we strip the error urls from the parameters. + + message += template.replace(/\{\d+\}/g, function(match) { + var index = +match.slice(1, -1); + + if (index < templateArgs.length) { + return templateArgs[index].replace(errRegExp, ''); } + return match; }); - message = message + '\nhttp://errors.angularjs.org/"NG_VERSION_FULL"/' + - (module ? module + '/' : '') + code; - for (i = 2; i < arguments.length; i++) { - message = message + (i == 2 ? '?' : '&') + 'p' + (i-2) + '=' + - encodeURIComponent(stringify(arguments[i])); + message += '\n' + url + (module ? module + '/' : '') + code; + + if (minErrConfig.urlErrorParamsEnabled) { + for (i = 0, paramPrefix = '?'; i < templateArgs.length; i++, paramPrefix = '&') { + message += paramPrefix + 'p' + i + '=' + encodeURIComponent(templateArgs[i]); + } } - return new Error(message); + return new ErrorConstructor(message); }; } diff --git a/src/module.prefix b/src/module.prefix index 609dcef5889a..164896c53273 100644 --- a/src/module.prefix +++ b/src/module.prefix @@ -1,6 +1,6 @@ /** * @license AngularJS v"NG_VERSION_FULL" - * (c) 2010-2014 Google, Inc. http://angularjs.org + * (c) 2010-2020 Google LLC. http://angularjs.org * License: MIT */ -(function(window, angular, undefined) { +(function(window, angular) { diff --git a/src/ng/anchorScroll.js b/src/ng/anchorScroll.js index 4cef2bdf830b..36169063b33e 100644 --- a/src/ng/anchorScroll.js +++ b/src/ng/anchorScroll.js @@ -1,102 +1,274 @@ 'use strict'; /** - * @ngdoc function - * @name ng.$anchorScroll - * @requires $window - * @requires $location - * @requires $rootScope + * @ngdoc provider + * @name $anchorScrollProvider + * @this * * @description - * When called, it checks current value of `$location.hash()` and scroll to related element, - * according to rules specified in - * {@link http://dev.w3.org/html5/spec/Overview.html#the-indicated-part-of-the-document Html5 spec}. - * - * It also watches the `$location.hash()` and scrolls whenever it changes to match any anchor. - * This can be disabled by calling `$anchorScrollProvider.disableAutoScrolling()`. - * - * @example - - -
    - Go to bottom - You're at the bottom! -
    -
    - - function ScrollCtrl($scope, $location, $anchorScroll) { - $scope.gotoBottom = function (){ - // set the location.hash to the id of - // the element you wish to scroll to. - $location.hash('bottom'); - - // call $anchorScroll() - $anchorScroll(); - } - } - - - #scrollArea { - height: 350px; - overflow: auto; - } - - #bottom { - display: block; - margin-top: 2000px; - } - -
    + * Use `$anchorScrollProvider` to disable automatic scrolling whenever + * {@link ng.$location#hash $location.hash()} changes. */ function $AnchorScrollProvider() { var autoScrollingEnabled = true; + /** + * @ngdoc method + * @name $anchorScrollProvider#disableAutoScrolling + * + * @description + * By default, {@link ng.$anchorScroll $anchorScroll()} will automatically detect changes to + * {@link ng.$location#hash $location.hash()} and scroll to the element matching the new hash.
    + * Use this method to disable automatic scrolling. + * + * If automatic scrolling is disabled, one must explicitly call + * {@link ng.$anchorScroll $anchorScroll()} in order to scroll to the element related to the + * current hash. + */ this.disableAutoScrolling = function() { autoScrollingEnabled = false; }; + /** + * @ngdoc service + * @name $anchorScroll + * @kind function + * @requires $window + * @requires $location + * @requires $rootScope + * + * @description + * When called, it scrolls to the element related to the specified `hash` or (if omitted) to the + * current value of {@link ng.$location#hash $location.hash()}, according to the rules specified + * in the + * [HTML5 spec](http://www.w3.org/html/wg/drafts/html/master/browsers.html#an-indicated-part-of-the-document). + * + * It also watches the {@link ng.$location#hash $location.hash()} and automatically scrolls to + * match any anchor whenever it changes. This can be disabled by calling + * {@link ng.$anchorScrollProvider#disableAutoScrolling $anchorScrollProvider.disableAutoScrolling()}. + * + * Additionally, you can use its {@link ng.$anchorScroll#yOffset yOffset} property to specify a + * vertical scroll-offset (either fixed or dynamic). + * + * @param {string=} hash The hash specifying the element to scroll to. If omitted, the value of + * {@link ng.$location#hash $location.hash()} will be used. + * + * @property {(number|function|jqLite)} yOffset + * If set, specifies a vertical scroll-offset. This is often useful when there are fixed + * positioned elements at the top of the page, such as navbars, headers etc. + * + * `yOffset` can be specified in various ways: + * - **number**: A fixed number of pixels to be used as offset.

    + * - **function**: A getter function called everytime `$anchorScroll()` is executed. Must return + * a number representing the offset (in pixels).

    + * - **jqLite**: A jqLite/jQuery element to be used for specifying the offset. The distance from + * the top of the page to the element's bottom will be used as offset.
    + * **Note**: The element will be taken into account only as long as its `position` is set to + * `fixed`. This option is useful, when dealing with responsive navbars/headers that adjust + * their height and/or positioning according to the viewport's size. + * + *
    + *
    + * In order for `yOffset` to work properly, scrolling should take place on the document's root and + * not some child element. + *
    + * + * @example + + +
    + Go to bottom + You're at the bottom! +
    +
    + + angular.module('anchorScrollExample', []) + .controller('ScrollController', ['$scope', '$location', '$anchorScroll', + function($scope, $location, $anchorScroll) { + $scope.gotoBottom = function() { + // set the location.hash to the id of + // the element you wish to scroll to. + $location.hash('bottom'); + + // call $anchorScroll() + $anchorScroll(); + }; + }]); + + + #scrollArea { + height: 280px; + overflow: auto; + } + + #bottom { + display: block; + margin-top: 2000px; + } + +
    + * + *
    + * The example below illustrates the use of a vertical scroll-offset (specified as a fixed value). + * See {@link ng.$anchorScroll#yOffset $anchorScroll.yOffset} for more details. + * + * @example + + + +
    + Anchor {{x}} of 5 +
    +
    + + angular.module('anchorScrollOffsetExample', []) + .run(['$anchorScroll', function($anchorScroll) { + $anchorScroll.yOffset = 50; // always scroll by 50 extra pixels + }]) + .controller('headerCtrl', ['$anchorScroll', '$location', '$scope', + function($anchorScroll, $location, $scope) { + $scope.gotoAnchor = function(x) { + var newHash = 'anchor' + x; + if ($location.hash() !== newHash) { + // set the $location.hash to `newHash` and + // $anchorScroll will automatically scroll to it + $location.hash('anchor' + x); + } else { + // call $anchorScroll() explicitly, + // since $location.hash hasn't changed + $anchorScroll(); + } + }; + } + ]); + + + body { + padding-top: 50px; + } + + .anchor { + border: 2px dashed DarkOrchid; + padding: 10px 10px 200px 10px; + } + + .fixed-header { + background-color: rgba(0, 0, 0, 0.2); + height: 50px; + position: fixed; + top: 0; left: 0; right: 0; + } + + .fixed-header > a { + display: inline-block; + margin: 5px 15px; + } + +
    + */ this.$get = ['$window', '$location', '$rootScope', function($window, $location, $rootScope) { var document = $window.document; - // helper function to get first anchor from a NodeList - // can't use filter.filter, as it accepts only instances of Array - // and IE can't convert NodeList to an array using [].slice - // TODO(vojta): use filter if we change it to accept lists as well + // Helper function to get first anchor from a NodeList + // (using `Array#some()` instead of `angular#forEach()` since it's more performant + // and working in all supported browsers.) function getFirstAnchor(list) { var result = null; - forEach(list, function(element) { - if (!result && lowercase(element.nodeName) === 'a') result = element; + Array.prototype.some.call(list, function(element) { + if (nodeName_(element) === 'a') { + result = element; + return true; + } }); return result; } - function scroll() { - var hash = $location.hash(), elm; + function getYOffset() { + + var offset = scroll.yOffset; + + if (isFunction(offset)) { + offset = offset(); + } else if (isElement(offset)) { + var elem = offset[0]; + var style = $window.getComputedStyle(elem); + if (style.position !== 'fixed') { + offset = 0; + } else { + offset = elem.getBoundingClientRect().bottom; + } + } else if (!isNumber(offset)) { + offset = 0; + } + + return offset; + } + + function scrollTo(elem) { + if (elem) { + elem.scrollIntoView(); + + var offset = getYOffset(); + + if (offset) { + // `offset` is the number of pixels we should scroll UP in order to align `elem` properly. + // This is true ONLY if the call to `elem.scrollIntoView()` initially aligns `elem` at the + // top of the viewport. + // + // IF the number of pixels from the top of `elem` to the end of the page's content is less + // than the height of the viewport, then `elem.scrollIntoView()` will align the `elem` some + // way down the page. + // + // This is often the case for elements near the bottom of the page. + // + // In such cases we do not need to scroll the whole `offset` up, just the difference between + // the top of the element and the offset, which is enough to align the top of `elem` at the + // desired position. + var elemTop = elem.getBoundingClientRect().top; + $window.scrollBy(0, elemTop - offset); + } + } else { + $window.scrollTo(0, 0); + } + } + + function scroll(hash) { + // Allow numeric hashes + hash = isString(hash) ? hash : isNumber(hash) ? hash.toString() : $location.hash(); + var elm; // empty hash, scroll to the top of the page - if (!hash) $window.scrollTo(0, 0); + if (!hash) scrollTo(null); // element with given id - else if ((elm = document.getElementById(hash))) elm.scrollIntoView(); + else if ((elm = document.getElementById(hash))) scrollTo(elm); // first anchor with given name :-D - else if ((elm = getFirstAnchor(document.getElementsByName(hash)))) elm.scrollIntoView(); + else if ((elm = getFirstAnchor(document.getElementsByName(hash)))) scrollTo(elm); - // no element and hash == 'top', scroll to the top of the page - else if (hash === 'top') $window.scrollTo(0, 0); + // no element and hash === 'top', scroll to the top of the page + else if (hash === 'top') scrollTo(null); } // does not scroll when user clicks on anchor link that is currently on // (no url change, no $location.hash() change), browser native does scroll if (autoScrollingEnabled) { $rootScope.$watch(function autoScrollWatch() {return $location.hash();}, - function autoScrollWatchAction() { - $rootScope.$evalAsync(scroll); + function autoScrollWatchAction(newVal, oldVal) { + // skip the initial scroll if $location.hash is empty + if (newVal === oldVal && newVal === '') return; + + jqLiteDocumentLoaded(function() { + $rootScope.$evalAsync(scroll); + }); }); } return scroll; }]; } - diff --git a/src/ng/animate.js b/src/ng/animate.js index b662d9c18cdf..dab80869429f 100644 --- a/src/ng/animate.js +++ b/src/ng/animate.js @@ -1,206 +1,796 @@ 'use strict'; var $animateMinErr = minErr('$animate'); +var ELEMENT_NODE = 1; +var NG_ANIMATE_CLASSNAME = 'ng-animate'; + +function mergeClasses(a,b) { + if (!a && !b) return ''; + if (!a) return b; + if (!b) return a; + if (isArray(a)) a = a.join(' '); + if (isArray(b)) b = b.join(' '); + return a + ' ' + b; +} + +function extractElementNode(element) { + for (var i = 0; i < element.length; i++) { + var elm = element[i]; + if (elm.nodeType === ELEMENT_NODE) { + return elm; + } + } +} + +function splitClasses(classes) { + if (isString(classes)) { + classes = classes.split(' '); + } + + // Use createMap() to prevent class assumptions involving property names in + // Object.prototype + var obj = createMap(); + forEach(classes, function(klass) { + // sometimes the split leaves empty string values + // incase extra spaces were applied to the options + if (klass.length) { + obj[klass] = true; + } + }); + return obj; +} + +// if any other type of options value besides an Object value is +// passed into the $animate.method() animation then this helper code +// will be run which will ignore it. While this patch is not the +// greatest solution to this, a lot of existing plugins depend on +// $animate to either call the callback (< 1.2) or return a promise +// that can be changed. This helper function ensures that the options +// are wiped clean incase a callback function is provided. +function prepareAnimateOptions(options) { + return isObject(options) + ? options + : {}; +} + +var $$CoreAnimateJsProvider = /** @this */ function() { + this.$get = noop; +}; + +// this is prefixed with Core since it conflicts with +// the animateQueueProvider defined in ngAnimate/animateQueue.js +var $$CoreAnimateQueueProvider = /** @this */ function() { + var postDigestQueue = new NgMap(); + var postDigestElements = []; + + this.$get = ['$$AnimateRunner', '$rootScope', + function($$AnimateRunner, $rootScope) { + return { + enabled: noop, + on: noop, + off: noop, + pin: noop, + + push: function(element, event, options, domOperation) { + if (domOperation) { + domOperation(); + } + + options = options || {}; + if (options.from) { + element.css(options.from); + } + if (options.to) { + element.css(options.to); + } + + if (options.addClass || options.removeClass) { + addRemoveClassesPostDigest(element, options.addClass, options.removeClass); + } + + var runner = new $$AnimateRunner(); + + // since there are no animations to run the runner needs to be + // notified that the animation call is complete. + runner.complete(); + return runner; + } + }; + + + function updateData(data, classes, value) { + var changed = false; + if (classes) { + classes = isString(classes) ? classes.split(' ') : + isArray(classes) ? classes : []; + forEach(classes, function(className) { + if (className) { + changed = true; + data[className] = value; + } + }); + } + return changed; + } + + function handleCSSClassChanges() { + forEach(postDigestElements, function(element) { + var data = postDigestQueue.get(element); + if (data) { + var existing = splitClasses(element.attr('class')); + var toAdd = ''; + var toRemove = ''; + forEach(data, function(status, className) { + var hasClass = !!existing[className]; + if (status !== hasClass) { + if (status) { + toAdd += (toAdd.length ? ' ' : '') + className; + } else { + toRemove += (toRemove.length ? ' ' : '') + className; + } + } + }); + + forEach(element, function(elm) { + if (toAdd) { + jqLiteAddClass(elm, toAdd); + } + if (toRemove) { + jqLiteRemoveClass(elm, toRemove); + } + }); + postDigestQueue.delete(element); + } + }); + postDigestElements.length = 0; + } + + + function addRemoveClassesPostDigest(element, add, remove) { + var data = postDigestQueue.get(element) || {}; + + var classesAdded = updateData(data, add, true); + var classesRemoved = updateData(data, remove, false); + + if (classesAdded || classesRemoved) { + + postDigestQueue.set(element, data); + postDigestElements.push(element); + + if (postDigestElements.length === 1) { + $rootScope.$$postDigest(handleCSSClassChanges); + } + } + } + }]; +}; /** - * @ngdoc object - * @name ng.$animateProvider + * @ngdoc provider + * @name $animateProvider * * @description * Default implementation of $animate that doesn't perform any animations, instead just - * synchronously performs DOM - * updates and calls done() callbacks. + * synchronously performs DOM updates and resolves the returned runner promise. * - * In order to enable animations the ngAnimate module has to be loaded. + * In order to enable animations the `ngAnimate` module has to be loaded. * - * To see the functional implementation check out src/ngAnimate/animate.js + * To see the functional implementation check out `src/ngAnimate/animate.js`. */ -var $AnimateProvider = ['$provide', function($provide) { - - - this.$$selectors = {}; +var $AnimateProvider = ['$provide', /** @this */ function($provide) { + var provider = this; + var classNameFilter = null; + var customFilter = null; + this.$$registeredAnimations = Object.create(null); - /** - * @ngdoc function - * @name ng.$animateProvider#register - * @methodOf ng.$animateProvider + /** + * @ngdoc method + * @name $animateProvider#register * * @description * Registers a new injectable animation factory function. The factory function produces the * animation object which contains callback functions for each event that is expected to be * animated. * - * * `eventFn`: `function(Element, doneFunction)` The element to animate, the `doneFunction` - * must be called once the element animation is complete. If a function is returned then the - * animation service will use this function to cancel the animation whenever a cancel event is - * triggered. + * * `eventFn`: `function(element, ... , doneFunction, options)` + * The element to animate, the `doneFunction` and the options fed into the animation. Depending + * on the type of animation additional arguments will be injected into the animation function. The + * list below explains the function signatures for the different animation methods: + * + * - setClass: function(element, addedClasses, removedClasses, doneFunction, options) + * - addClass: function(element, addedClasses, doneFunction, options) + * - removeClass: function(element, removedClasses, doneFunction, options) + * - enter, leave, move: function(element, doneFunction, options) + * - animate: function(element, fromStyles, toStyles, doneFunction, options) * + * Make sure to trigger the `doneFunction` once the animation is fully complete. * - *
    +   * ```js
        *   return {
    -     *     eventFn : function(element, done) {
    -     *       //code to run the animation
    -     *       //once complete, then run done()
    -     *       return function cancellationFunction() {
    -     *         //code to cancel the animation
    -     *       }
    -     *     }
    -     *   }
    -   *
    + * //enter, leave, move signature + * eventFn : function(element, done, options) { + * //code to run the animation + * //once complete, then run done() + * return function endFunction(wasCancelled) { + * //code to cancel the animation + * } + * } + * } + * ``` * - * @param {string} name The name of the animation. - * @param {function} factory The factory function that will be executed to return the animation + * @param {string} name The name of the animation (this is what the class-based CSS value will be compared to). + * @param {Function} factory The factory function that will be executed to return the animation * object. */ this.register = function(name, factory) { + if (name && name.charAt(0) !== '.') { + throw $animateMinErr('notcsel', 'Expecting class selector starting with \'.\' got \'{0}\'.', name); + } + var key = name + '-animation'; - if (name && name.charAt(0) != '.') throw $animateMinErr('notcsel', - "Expecting class selector starting with '.' got '{0}'.", name); - this.$$selectors[name.substr(1)] = key; + provider.$$registeredAnimations[name.substr(1)] = key; $provide.factory(key, factory); }; - this.$get = ['$timeout', function($timeout) { + /** + * @ngdoc method + * @name $animateProvider#customFilter + * + * @description + * Sets and/or returns the custom filter function that is used to "filter" animations, i.e. + * determine if an animation is allowed or not. When no filter is specified (the default), no + * animation will be blocked. Setting the `customFilter` value will only allow animations for + * which the filter function's return value is truthy. + * + * This allows to easily create arbitrarily complex rules for filtering animations, such as + * allowing specific events only, or enabling animations on specific subtrees of the DOM, etc. + * Filtering animations can also boost performance for low-powered devices, as well as + * applications containing a lot of structural operations. + * + *
    + * **Best Practice:** + * Keep the filtering function as lean as possible, because it will be called for each DOM + * action (e.g. insertion, removal, class change) performed by "animation-aware" directives. + * See {@link guide/animations#which-directives-support-animations- here} for a list of built-in + * directives that support animations. + * Performing computationally expensive or time-consuming operations on each call of the + * filtering function can make your animations sluggish. + *
    + * + * **Note:** If present, `customFilter` will be checked before + * {@link $animateProvider#classNameFilter classNameFilter}. + * + * @param {Function=} filterFn - The filter function which will be used to filter all animations. + * If a falsy value is returned, no animation will be performed. The function will be called + * with the following arguments: + * - **node** `{DOMElement}` - The DOM element to be animated. + * - **event** `{String}` - The name of the animation event (e.g. `enter`, `leave`, `addClass` + * etc). + * - **options** `{Object}` - A collection of options/styles used for the animation. + * @return {Function} The current filter function or `null` if there is none set. + */ + this.customFilter = function(filterFn) { + if (arguments.length === 1) { + customFilter = isFunction(filterFn) ? filterFn : null; + } + + return customFilter; + }; + + /** + * @ngdoc method + * @name $animateProvider#classNameFilter + * + * @description + * Sets and/or returns the CSS class regular expression that is checked when performing + * an animation. Upon bootstrap the classNameFilter value is not set at all and will + * therefore enable $animate to attempt to perform an animation on any element that is triggered. + * When setting the `classNameFilter` value, animations will only be performed on elements + * that successfully match the filter expression. This in turn can boost performance + * for low-powered devices as well as applications containing a lot of structural operations. + * + * **Note:** If present, `classNameFilter` will be checked after + * {@link $animateProvider#customFilter customFilter}. If `customFilter` is present and returns + * false, `classNameFilter` will not be checked. + * + * @param {RegExp=} expression The className expression which will be checked against all animations + * @return {RegExp} The current CSS className expression value. If null then there is no expression value + */ + this.classNameFilter = function(expression) { + if (arguments.length === 1) { + classNameFilter = (expression instanceof RegExp) ? expression : null; + if (classNameFilter) { + var reservedRegex = new RegExp('[(\\s|\\/)]' + NG_ANIMATE_CLASSNAME + '[(\\s|\\/)]'); + if (reservedRegex.test(classNameFilter.toString())) { + classNameFilter = null; + throw $animateMinErr('nongcls', '$animateProvider.classNameFilter(regex) prohibits accepting a regex value which matches/contains the "{0}" CSS class.', NG_ANIMATE_CLASSNAME); + } + } + } + return classNameFilter; + }; + + this.$get = ['$$animateQueue', function($$animateQueue) { + function domInsert(element, parentElement, afterElement) { + // if for some reason the previous element was removed + // from the dom sometime before this code runs then let's + // just stick to using the parent element as the anchor + if (afterElement) { + var afterNode = extractElementNode(afterElement); + if (afterNode && !afterNode.parentNode && !afterNode.previousElementSibling) { + afterElement = null; + } + } + if (afterElement) { + afterElement.after(element); + } else { + parentElement.prepend(element); + } + } /** + * @ngdoc service + * @name $animate + * @description The $animate service exposes a series of DOM utility methods that provide support + * for animation hooks. The default behavior is the application of DOM operations, however, + * when an animation is detected (and animations are enabled), $animate will do the heavy lifting + * to ensure that animation runs with the triggered DOM operation. * - * @ngdoc object - * @name ng.$animate - * @description The $animate service provides rudimentary DOM manipulation functions to - * insert, remove and move elements within the DOM, as well as adding and removing classes. - * This service is the core service used by the ngAnimate $animator service which provides - * high-level animation hooks for CSS and JavaScript. + * By default $animate doesn't trigger any animations. This is because the `ngAnimate` module isn't + * included and only when it is active then the animation hooks that `$animate` triggers will be + * functional. Once active then all structural `ng-` directives will trigger animations as they perform + * their DOM-related operations (enter, leave and move). Other directives such as `ngClass`, + * `ngShow`, `ngHide` and `ngMessages` also provide support for animations. * - * $animate is available in the AngularJS core, however, the ngAnimate module must be included - * to enable full out animation support. Otherwise, $animate will only perform simple DOM - * manipulation operations. + * It is recommended that the`$animate` service is always used when executing DOM-related procedures within directives. * - * To learn more about enabling animation support, click here to visit the {@link ngAnimate - * ngAnimate module page} as well as the {@link ngAnimate.$animate ngAnimate $animate service - * page}. + * To learn more about enabling animation support, click here to visit the + * {@link ngAnimate ngAnimate module page}. */ return { + // we don't call it directly since non-existant arguments may + // be interpreted as null within the sub enabled function /** * - * @ngdoc function - * @name ng.$animate#enter - * @methodOf ng.$animate - * @function - * @description Inserts the element into the DOM either after the `after` element or within - * the `parent` element. Once complete, the done() callback will be fired (if provided). - * @param {jQuery/jqLite element} element the element which will be inserted into the DOM - * @param {jQuery/jqLite element} parent the parent element which will append the element as - * a child (if the after element is not present) - * @param {jQuery/jqLite element} after the sibling element which will append the element - * after itself - * @param {function=} done callback function that will be called after the element has been - * inserted into the DOM + * @ngdoc method + * @name $animate#on + * @kind function + * @description Sets up an event listener to fire whenever the animation event (enter, leave, move, etc...) + * has fired on the given element or among any of its children. Once the listener is fired, the provided callback + * is fired with the following params: + * + * ```js + * $animate.on('enter', container, + * function callback(element, phase) { + * // cool we detected an enter animation within the container + * } + * ); + * ``` + * + *
    + * **Note**: Generally, the events that are fired correspond 1:1 to `$animate` method names, + * e.g. {@link ng.$animate#addClass addClass()} will fire `addClass`, and {@link ng.ngClass} + * will fire `addClass` if classes are added, and `removeClass` if classes are removed. + * However, there are two exceptions: + * + *
      + *
    • if both an {@link ng.$animate#addClass addClass()} and a + * {@link ng.$animate#removeClass removeClass()} action are performed during the same + * animation, the event fired will be `setClass`. This is true even for `ngClass`.
    • + *
    • an {@link ng.$animate#animate animate()} call that adds and removes classes will fire + * the `setClass` event, but if it either removes or adds classes, + * it will fire `animate` instead.
    • + *
    + * + *
    + * + * @param {string} event the animation event that will be captured (e.g. enter, leave, move, addClass, removeClass, etc...) + * @param {DOMElement} container the container element that will capture each of the animation events that are fired on itself + * as well as among its children + * @param {Function} callback the callback function that will be fired when the listener is triggered. + * + * The arguments present in the callback function are: + * * `element` - The captured DOM element that the animation was fired on. + * * `phase` - The phase of the animation. The two possible phases are **start** (when the animation starts) and **close** (when it ends). + * * `data` - an object with these properties: + * * addClass - `{string|null}` - space-separated CSS classes to add to the element + * * removeClass - `{string|null}` - space-separated CSS classes to remove from the element + * * from - `{Object|null}` - CSS properties & values at the beginning of the animation + * * to - `{Object|null}` - CSS properties & values at the end of the animation + * + * Note that the callback does not trigger a scope digest. Wrap your call into a + * {@link $rootScope.Scope#$apply scope.$apply} to propagate changes to the scope. */ - enter : function(element, parent, after, done) { - if (after) { - after.after(element); - } else { - if (!parent || !parent[0]) { - parent = after.parent(); - } - parent.append(element); + on: $$animateQueue.on, + + /** + * + * @ngdoc method + * @name $animate#off + * @kind function + * @description Deregisters an event listener based on the event which has been associated with the provided element. This method + * can be used in three different ways depending on the arguments: + * + * ```js + * // remove all the animation event listeners listening for `enter` + * $animate.off('enter'); + * + * // remove listeners for all animation events from the container element + * $animate.off(container); + * + * // remove all the animation event listeners listening for `enter` on the given element and its children + * $animate.off('enter', container); + * + * // remove the event listener function provided by `callback` that is set + * // to listen for `enter` on the given `container` as well as its children + * $animate.off('enter', container, callback); + * ``` + * + * @param {string|DOMElement} event|container the animation event (e.g. enter, leave, move, + * addClass, removeClass, etc...), or the container element. If it is the element, all other + * arguments are ignored. + * @param {DOMElement=} container the container element the event listener was placed on + * @param {Function=} callback the callback function that was registered as the listener + */ + off: $$animateQueue.off, + + /** + * @ngdoc method + * @name $animate#pin + * @kind function + * @description Associates the provided element with a host parent element to allow the element to be animated even if it exists + * outside of the DOM structure of the AngularJS application. By doing so, any animation triggered via `$animate` can be issued on the + * element despite being outside the realm of the application or within another application. Say for example if the application + * was bootstrapped on an element that is somewhere inside of the `` tag, but we wanted to allow for an element to be situated + * as a direct child of `document.body`, then this can be achieved by pinning the element via `$animate.pin(element)`. Keep in mind + * that calling `$animate.pin(element, parentElement)` will not actually insert into the DOM anywhere; it will just create the association. + * + * Note that this feature is only active when the `ngAnimate` module is used. + * + * @param {DOMElement} element the external element that will be pinned + * @param {DOMElement} parentElement the host parent element that will be associated with the external element + */ + pin: $$animateQueue.pin, + + /** + * + * @ngdoc method + * @name $animate#enabled + * @kind function + * @description Used to get and set whether animations are enabled or not on the entire application or on an element and its children. This + * function can be called in four ways: + * + * ```js + * // returns true or false + * $animate.enabled(); + * + * // changes the enabled state for all animations + * $animate.enabled(false); + * $animate.enabled(true); + * + * // returns true or false if animations are enabled for an element + * $animate.enabled(element); + * + * // changes the enabled state for an element and its children + * $animate.enabled(element, true); + * $animate.enabled(element, false); + * ``` + * + * @param {DOMElement=} element the element that will be considered for checking/setting the enabled state + * @param {boolean=} enabled whether or not the animations will be enabled for the element + * + * @return {boolean} whether or not animations are enabled + */ + enabled: $$animateQueue.enabled, + + /** + * @ngdoc method + * @name $animate#cancel + * @kind function + * @description Cancels the provided animation and applies the end state of the animation. + * Note that this does not cancel the underlying operation, e.g. the setting of classes or + * adding the element to the DOM. + * + * @param {animationRunner} animationRunner An animation runner returned by an $animate function. + * + * @example + + + angular.module('animationExample', ['ngAnimate']).component('cancelExample', { + templateUrl: 'template.html', + controller: function($element, $animate) { + this.runner = null; + + this.addClass = function() { + this.runner = $animate.addClass($element.find('div'), 'red'); + var ctrl = this; + this.runner.finally(function() { + ctrl.runner = null; + }); + }; + + this.removeClass = function() { + this.runner = $animate.removeClass($element.find('div'), 'red'); + var ctrl = this; + this.runner.finally(function() { + ctrl.runner = null; + }); + }; + + this.cancel = function() { + $animate.cancel(this.runner); + }; + } + }); + + +

    + + +
    + +
    +

    CSS-Animated Text
    +

    +
    + + + + + .red-add, .red-remove { + transition: all 4s cubic-bezier(0.250, 0.460, 0.450, 0.940); + } + + .red, + .red-add.red-add-active { + color: #FF0000; + font-size: 40px; + } + + .red-remove.red-remove-active { + font-size: 10px; + color: black; + } + + +
    + */ + cancel: function(runner) { + if (runner.cancel) { + runner.cancel(); } - done && $timeout(done, 0, false); }, /** * - * @ngdoc function - * @name ng.$animate#leave - * @methodOf ng.$animate - * @function - * @description Removes the element from the DOM. Once complete, the done() callback will be - * fired (if provided). - * @param {jQuery/jqLite element} element the element which will be removed from the DOM - * @param {function=} done callback function that will be called after the element has been - * removed from the DOM + * @ngdoc method + * @name $animate#enter + * @kind function + * @description Inserts the element into the DOM either after the `after` element (if provided) or + * as the first child within the `parent` element and then triggers an animation. + * A promise is returned that will be resolved during the next digest once the animation + * has completed. + * + * @param {DOMElement} element the element which will be inserted into the DOM + * @param {DOMElement} parent the parent element which will append the element as + * a child (so long as the after element is not present) + * @param {DOMElement=} after the sibling element after which the element will be appended + * @param {object=} options an optional collection of options/styles that will be applied to the element. + * The object can have the following properties: + * + * - **addClass** - `{string}` - space-separated CSS classes to add to element + * - **from** - `{Object}` - CSS properties & values at the beginning of animation. Must have matching `to` + * - **removeClass** - `{string}` - space-separated CSS classes to remove from element + * - **to** - `{Object}` - CSS properties & values at end of animation. Must have matching `from` + * + * @return {Runner} the animation runner */ - leave : function(element, done) { - element.remove(); - done && $timeout(done, 0, false); + enter: function(element, parent, after, options) { + parent = parent && jqLite(parent); + after = after && jqLite(after); + parent = parent || after.parent(); + domInsert(element, parent, after); + return $$animateQueue.push(element, 'enter', prepareAnimateOptions(options)); }, /** * - * @ngdoc function - * @name ng.$animate#move - * @methodOf ng.$animate - * @function - * @description Moves the position of the provided element within the DOM to be placed - * either after the `after` element or inside of the `parent` element. Once complete, the - * done() callback will be fired (if provided). - * - * @param {jQuery/jqLite element} element the element which will be moved around within the - * DOM - * @param {jQuery/jqLite element} parent the parent element where the element will be - * inserted into (if the after element is not present) - * @param {jQuery/jqLite element} after the sibling element where the element will be - * positioned next to - * @param {function=} done the callback function (if provided) that will be fired after the - * element has been moved to its new position + * @ngdoc method + * @name $animate#move + * @kind function + * @description Inserts (moves) the element into its new position in the DOM either after + * the `after` element (if provided) or as the first child within the `parent` element + * and then triggers an animation. A promise is returned that will be resolved + * during the next digest once the animation has completed. + * + * @param {DOMElement} element the element which will be moved into the new DOM position + * @param {DOMElement} parent the parent element which will append the element as + * a child (so long as the after element is not present) + * @param {DOMElement=} after the sibling element after which the element will be appended + * @param {object=} options an optional collection of options/styles that will be applied to the element. + * The object can have the following properties: + * + * - **addClass** - `{string}` - space-separated CSS classes to add to element + * - **from** - `{Object}` - CSS properties & values at the beginning of animation. Must have matching `to` + * - **removeClass** - `{string}` - space-separated CSS classes to remove from element + * - **to** - `{Object}` - CSS properties & values at end of animation. Must have matching `from` + * + * @return {Runner} the animation runner */ - move : function(element, parent, after, done) { - // Do not remove element before insert. Removing will cause data associated with the - // element to be dropped. Insert will implicitly do the remove. - this.enter(element, parent, after, done); + move: function(element, parent, after, options) { + parent = parent && jqLite(parent); + after = after && jqLite(after); + parent = parent || after.parent(); + domInsert(element, parent, after); + return $$animateQueue.push(element, 'move', prepareAnimateOptions(options)); }, /** + * @ngdoc method + * @name $animate#leave + * @kind function + * @description Triggers an animation and then removes the element from the DOM. + * When the function is called a promise is returned that will be resolved during the next + * digest once the animation has completed. + * + * @param {DOMElement} element the element which will be removed from the DOM + * @param {object=} options an optional collection of options/styles that will be applied to the element. + * The object can have the following properties: * - * @ngdoc function - * @name ng.$animate#addClass - * @methodOf ng.$animate - * @function - * @description Adds the provided className CSS class value to the provided element. Once - * complete, the done() callback will be fired (if provided). - * @param {jQuery/jqLite element} element the element which will have the className value - * added to it - * @param {string} className the CSS class which will be added to the element - * @param {function=} done the callback function (if provided) that will be fired after the - * className value has been added to the element + * - **addClass** - `{string}` - space-separated CSS classes to add to element + * - **from** - `{Object}` - CSS properties & values at the beginning of animation. Must have matching `to` + * - **removeClass** - `{string}` - space-separated CSS classes to remove from element + * - **to** - `{Object}` - CSS properties & values at end of animation. Must have matching `from` + * + * @return {Runner} the animation runner */ - addClass : function(element, className, done) { - className = isString(className) ? - className : - isArray(className) ? className.join(' ') : ''; - forEach(element, function (element) { - jqLiteAddClass(element, className); + leave: function(element, options) { + return $$animateQueue.push(element, 'leave', prepareAnimateOptions(options), function() { + element.remove(); }); - done && $timeout(done, 0, false); }, /** + * @ngdoc method + * @name $animate#addClass + * @kind function + * + * @description Triggers an addClass animation surrounding the addition of the provided CSS class(es). Upon + * execution, the addClass operation will only be handled after the next digest and it will not trigger an + * animation if element already contains the CSS class or if the class is removed at a later step. + * Note that class-based animations are treated differently compared to structural animations + * (like enter, move and leave) since the CSS classes may be added/removed at different points + * depending if CSS or JavaScript animations are used. + * + * @param {DOMElement} element the element which the CSS classes will be applied to + * @param {string} className the CSS class(es) that will be added (multiple classes are separated via spaces) + * @param {object=} options an optional collection of options/styles that will be applied to the element. + * The object can have the following properties: + * + * - **removeClass** - `{string}` - space-separated CSS classes to remove from element + * - **from** - `{Object}` - CSS properties & values at the beginning of animation. Must have matching `to` + * - **to** - `{Object}` - CSS properties & values at end of animation. Must have matching `from` * - * @ngdoc function - * @name ng.$animate#removeClass - * @methodOf ng.$animate - * @function - * @description Removes the provided className CSS class value from the provided element. - * Once complete, the done() callback will be fired (if provided). - * @param {jQuery/jqLite element} element the element which will have the className value - * removed from it - * @param {string} className the CSS class which will be removed from the element - * @param {function=} done the callback function (if provided) that will be fired after the - * className value has been removed from the element + * @return {Runner} animationRunner the animation runner */ - removeClass : function(element, className, done) { - className = isString(className) ? - className : - isArray(className) ? className.join(' ') : ''; - forEach(element, function (element) { - jqLiteRemoveClass(element, className); - }); - done && $timeout(done, 0, false); + addClass: function(element, className, options) { + options = prepareAnimateOptions(options); + options.addClass = mergeClasses(options.addclass, className); + return $$animateQueue.push(element, 'addClass', options); + }, + + /** + * @ngdoc method + * @name $animate#removeClass + * @kind function + * + * @description Triggers a removeClass animation surrounding the removal of the provided CSS class(es). Upon + * execution, the removeClass operation will only be handled after the next digest and it will not trigger an + * animation if element does not contain the CSS class or if the class is added at a later step. + * Note that class-based animations are treated differently compared to structural animations + * (like enter, move and leave) since the CSS classes may be added/removed at different points + * depending if CSS or JavaScript animations are used. + * + * @param {DOMElement} element the element which the CSS classes will be applied to + * @param {string} className the CSS class(es) that will be removed (multiple classes are separated via spaces) + * @param {object=} options an optional collection of options/styles that will be applied to the element. + * The object can have the following properties: + * + * - **addClass** - `{string}` - space-separated CSS classes to add to element + * - **from** - `{Object}` - CSS properties & values at the beginning of animation. Must have matching `to` + * - **to** - `{Object}` - CSS properties & values at end of animation. Must have matching `from` + * + * @return {Runner} the animation runner + */ + removeClass: function(element, className, options) { + options = prepareAnimateOptions(options); + options.removeClass = mergeClasses(options.removeClass, className); + return $$animateQueue.push(element, 'removeClass', options); + }, + + /** + * @ngdoc method + * @name $animate#setClass + * @kind function + * + * @description Performs both the addition and removal of a CSS classes on an element and (during the process) + * triggers an animation surrounding the class addition/removal. Much like `$animate.addClass` and + * `$animate.removeClass`, `setClass` will only evaluate the classes being added/removed once a digest has + * passed. Note that class-based animations are treated differently compared to structural animations + * (like enter, move and leave) since the CSS classes may be added/removed at different points + * depending if CSS or JavaScript animations are used. + * + * @param {DOMElement} element the element which the CSS classes will be applied to + * @param {string} add the CSS class(es) that will be added (multiple classes are separated via spaces) + * @param {string} remove the CSS class(es) that will be removed (multiple classes are separated via spaces) + * @param {object=} options an optional collection of options/styles that will be applied to the element. + * The object can have the following properties: + * + * - **addClass** - `{string}` - space-separated CSS classes to add to element + * - **removeClass** - `{string}` - space-separated CSS classes to remove from element + * - **from** - `{Object}` - CSS properties & values at the beginning of animation. Must have matching `to` + * - **to** - `{Object}` - CSS properties & values at end of animation. Must have matching `from` + * + * @return {Runner} the animation runner + */ + setClass: function(element, add, remove, options) { + options = prepareAnimateOptions(options); + options.addClass = mergeClasses(options.addClass, add); + options.removeClass = mergeClasses(options.removeClass, remove); + return $$animateQueue.push(element, 'setClass', options); }, - enabled : noop + /** + * @ngdoc method + * @name $animate#animate + * @kind function + * + * @description Performs an inline animation on the element which applies the provided to and from CSS styles to the element. + * If any detected CSS transition, keyframe or JavaScript matches the provided className value, then the animation will take + * on the provided styles. For example, if a transition animation is set for the given className, then the provided `from` and + * `to` styles will be applied alongside the given transition. If the CSS style provided in `from` does not have a corresponding + * style in `to`, the style in `from` is applied immediately, and no animation is run. + * If a JavaScript animation is detected then the provided styles will be given in as function parameters into the `animate` + * method (or as part of the `options` parameter): + * + * ```js + * ngModule.animation('.my-inline-animation', function() { + * return { + * animate : function(element, from, to, done, options) { + * //animation + * done(); + * } + * } + * }); + * ``` + * + * @param {DOMElement} element the element which the CSS styles will be applied to + * @param {object} from the from (starting) CSS styles that will be applied to the element and across the animation. + * @param {object} to the to (destination) CSS styles that will be applied to the element and across the animation. + * @param {string=} className an optional CSS class that will be applied to the element for the duration of the animation. If + * this value is left as empty then a CSS class of `ng-inline-animate` will be applied to the element. + * (Note that if no animation is detected then this value will not be applied to the element.) + * @param {object=} options an optional collection of options/styles that will be applied to the element. + * The object can have the following properties: + * + * - **addClass** - `{string}` - space-separated CSS classes to add to element + * - **from** - `{Object}` - CSS properties & values at the beginning of animation. Must have matching `to` + * - **removeClass** - `{string}` - space-separated CSS classes to remove from element + * - **to** - `{Object}` - CSS properties & values at end of animation. Must have matching `from` + * + * @return {Runner} the animation runner + */ + animate: function(element, from, to, className, options) { + options = prepareAnimateOptions(options); + options.from = options.from ? extend(options.from, from) : from; + options.to = options.to ? extend(options.to, to) : to; + + className = className || 'ng-inline-animate'; + options.tempClasses = mergeClasses(options.tempClasses, className); + return $$animateQueue.push(element, 'animate', options); + } }; }]; }]; diff --git a/src/ng/animateCss.js b/src/ng/animateCss.js new file mode 100644 index 000000000000..6611c49ea2ee --- /dev/null +++ b/src/ng/animateCss.js @@ -0,0 +1,75 @@ +'use strict'; + +/* exported $CoreAnimateCssProvider */ + +/** + * @ngdoc service + * @name $animateCss + * @kind object + * @this + * + * @description + * This is the core version of `$animateCss`. By default, only when the `ngAnimate` is included, + * then the `$animateCss` service will actually perform animations. + * + * Click here {@link ngAnimate.$animateCss to read the documentation for $animateCss}. + */ +var $CoreAnimateCssProvider = function() { + this.$get = ['$$rAF', '$q', '$$AnimateRunner', function($$rAF, $q, $$AnimateRunner) { + + return function(element, initialOptions) { + // all of the animation functions should create + // a copy of the options data, however, if a + // parent service has already created a copy then + // we should stick to using that + var options = initialOptions || {}; + if (!options.$$prepared) { + options = copy(options); + } + + // there is no point in applying the styles since + // there is no animation that goes on at all in + // this version of $animateCss. + if (options.cleanupStyles) { + options.from = options.to = null; + } + + if (options.from) { + element.css(options.from); + options.from = null; + } + + var closed, runner = new $$AnimateRunner(); + return { + start: run, + end: run + }; + + function run() { + $$rAF(function() { + applyAnimationContents(); + if (!closed) { + runner.complete(); + } + closed = true; + }); + return runner; + } + + function applyAnimationContents() { + if (options.addClass) { + element.addClass(options.addClass); + options.addClass = null; + } + if (options.removeClass) { + element.removeClass(options.removeClass); + options.removeClass = null; + } + if (options.to) { + element.css(options.to); + options.to = null; + } + } + }; + }]; +}; diff --git a/src/ng/animateRunner.js b/src/ng/animateRunner.js new file mode 100644 index 000000000000..70dcf72e8e37 --- /dev/null +++ b/src/ng/animateRunner.js @@ -0,0 +1,189 @@ +'use strict'; + +var $$AnimateAsyncRunFactoryProvider = /** @this */ function() { + this.$get = ['$$rAF', function($$rAF) { + var waitQueue = []; + + function waitForTick(fn) { + waitQueue.push(fn); + if (waitQueue.length > 1) return; + $$rAF(function() { + for (var i = 0; i < waitQueue.length; i++) { + waitQueue[i](); + } + waitQueue = []; + }); + } + + return function() { + var passed = false; + waitForTick(function() { + passed = true; + }); + return function(callback) { + if (passed) { + callback(); + } else { + waitForTick(callback); + } + }; + }; + }]; +}; + +var $$AnimateRunnerFactoryProvider = /** @this */ function() { + this.$get = ['$q', '$sniffer', '$$animateAsyncRun', '$$isDocumentHidden', '$timeout', + function($q, $sniffer, $$animateAsyncRun, $$isDocumentHidden, $timeout) { + + var INITIAL_STATE = 0; + var DONE_PENDING_STATE = 1; + var DONE_COMPLETE_STATE = 2; + + AnimateRunner.chain = function(chain, callback) { + var index = 0; + + next(); + function next() { + if (index === chain.length) { + callback(true); + return; + } + + chain[index](function(response) { + if (response === false) { + callback(false); + return; + } + index++; + next(); + }); + } + }; + + AnimateRunner.all = function(runners, callback) { + var count = 0; + var status = true; + forEach(runners, function(runner) { + runner.done(onProgress); + }); + + function onProgress(response) { + status = status && response; + if (++count === runners.length) { + callback(status); + } + } + }; + + function AnimateRunner(host) { + this.setHost(host); + + var rafTick = $$animateAsyncRun(); + var timeoutTick = function(fn) { + $timeout(fn, 0, false); + }; + + this._doneCallbacks = []; + this._tick = function(fn) { + if ($$isDocumentHidden()) { + timeoutTick(fn); + } else { + rafTick(fn); + } + }; + this._state = 0; + } + + AnimateRunner.prototype = { + setHost: function(host) { + this.host = host || {}; + }, + + done: function(fn) { + if (this._state === DONE_COMPLETE_STATE) { + fn(); + } else { + this._doneCallbacks.push(fn); + } + }, + + progress: noop, + + getPromise: function() { + if (!this.promise) { + var self = this; + this.promise = $q(function(resolve, reject) { + self.done(function(status) { + if (status === false) { + reject(); + } else { + resolve(); + } + }); + }); + } + return this.promise; + }, + + then: function(resolveHandler, rejectHandler) { + return this.getPromise().then(resolveHandler, rejectHandler); + }, + + 'catch': function(handler) { + return this.getPromise()['catch'](handler); + }, + + 'finally': function(handler) { + return this.getPromise()['finally'](handler); + }, + + pause: function() { + if (this.host.pause) { + this.host.pause(); + } + }, + + resume: function() { + if (this.host.resume) { + this.host.resume(); + } + }, + + end: function() { + if (this.host.end) { + this.host.end(); + } + this._resolve(true); + }, + + cancel: function() { + if (this.host.cancel) { + this.host.cancel(); + } + this._resolve(false); + }, + + complete: function(response) { + var self = this; + if (self._state === INITIAL_STATE) { + self._state = DONE_PENDING_STATE; + self._tick(function() { + self._resolve(response); + }); + } + }, + + _resolve: function(response) { + if (this._state !== DONE_COMPLETE_STATE) { + forEach(this._doneCallbacks, function(fn) { + fn(response); + }); + this._doneCallbacks.length = 0; + this._state = DONE_COMPLETE_STATE; + } + } + }; + + return AnimateRunner; + }]; +}; diff --git a/src/ng/browser.js b/src/ng/browser.js index 5e52b82807a9..4bb96ee21f1f 100644 --- a/src/ng/browser.js +++ b/src/ng/browser.js @@ -1,9 +1,19 @@ 'use strict'; +/* global getHash: true, stripHash: false */ + +function getHash(url) { + var index = url.indexOf('#'); + return index === -1 ? '' : url.substr(index); +} + +function trimEmptyHash(url) { + return url.replace(/#$/, ''); +} /** * ! This is a private undocumented service ! * - * @name ng.$browser + * @name $browser * @requires $log * @description * This object has two goals: @@ -18,190 +28,193 @@ /** * @param {object} window The global window object. * @param {object} document jQuery wrapped document. - * @param {function()} XHR XMLHttpRequest constructor. - * @param {object} $log console.log or an object with the same interface. + * @param {object} $log window.console or an object with the same interface. * @param {object} $sniffer $sniffer service */ -function Browser(window, document, $log, $sniffer) { +function Browser(window, document, $log, $sniffer, $$taskTrackerFactory) { var self = this, - rawDocument = document[0], location = window.location, history = window.history, setTimeout = window.setTimeout, clearTimeout = window.clearTimeout, - pendingDeferIds = {}; + pendingDeferIds = {}, + taskTracker = $$taskTrackerFactory($log); self.isMock = false; - var outstandingRequestCount = 0; - var outstandingRequestCallbacks = []; - - // TODO(vojta): remove this temporary api - self.$$completeOutstandingRequest = completeOutstandingRequest; - self.$$incOutstandingRequestCount = function() { outstandingRequestCount++; }; - - /** - * Executes the `fn` function(supports currying) and decrements the `outstandingRequestCallbacks` - * counter. If the counter reaches 0, all the `outstandingRequestCallbacks` are executed. - */ - function completeOutstandingRequest(fn) { - try { - fn.apply(null, sliceArgs(arguments, 1)); - } finally { - outstandingRequestCount--; - if (outstandingRequestCount === 0) { - while(outstandingRequestCallbacks.length) { - try { - outstandingRequestCallbacks.pop()(); - } catch (e) { - $log.error(e); - } - } - } - } - } - - /** - * @private - * Note: this method is used only by scenario runner - * TODO(vojta): prefix this method with $$ ? - * @param {function()} callback Function that will be called when no outstanding request - */ - self.notifyWhenNoOutstandingRequests = function(callback) { - // force browser to execute all pollFns - this is needed so that cookies and other pollers fire - // at some deterministic time in respect to the test runner's actions. Leaving things up to the - // regular poller would result in flaky tests. - forEach(pollFns, function(pollFn){ pollFn(); }); - - if (outstandingRequestCount === 0) { - callback(); - } else { - outstandingRequestCallbacks.push(callback); - } - }; - ////////////////////////////////////////////////////////////// - // Poll Watcher API + // Task-tracking API ////////////////////////////////////////////////////////////// - var pollFns = [], - pollTimeout; - /** - * @name ng.$browser#addPollFn - * @methodOf ng.$browser - * - * @param {function()} fn Poll function to add - * - * @description - * Adds a function to the list of functions that poller periodically executes, - * and starts polling if not started yet. - * - * @returns {function()} the added function - */ - self.addPollFn = function(fn) { - if (isUndefined(pollTimeout)) startPoller(100, setTimeout); - pollFns.push(fn); - return fn; - }; + // TODO(vojta): remove this temporary api + self.$$completeOutstandingRequest = taskTracker.completeTask; + self.$$incOutstandingRequestCount = taskTracker.incTaskCount; - /** - * @param {number} interval How often should browser call poll functions (ms) - * @param {function()} setTimeout Reference to a real or fake `setTimeout` function. - * - * @description - * Configures the poller to run in the specified intervals, using the specified - * setTimeout fn and kicks it off. - */ - function startPoller(interval, setTimeout) { - (function check() { - forEach(pollFns, function(pollFn){ pollFn(); }); - pollTimeout = setTimeout(check, interval); - })(); - } + // TODO(vojta): prefix this method with $$ ? + self.notifyWhenNoOutstandingRequests = taskTracker.notifyWhenNoPendingTasks; ////////////////////////////////////////////////////////////// // URL API ////////////////////////////////////////////////////////////// - var lastBrowserUrl = location.href, + var cachedState, lastHistoryState, + lastBrowserUrl = location.href, baseElement = document.find('base'), - newLocation = null; + pendingLocation = null, + getCurrentState = !$sniffer.history ? noop : function getCurrentState() { + try { + return history.state; + } catch (e) { + // MSIE can reportedly throw when there is no state (UNCONFIRMED). + } + }; + + cacheState(); /** - * @name ng.$browser#url - * @methodOf ng.$browser + * @name $browser#url * * @description * GETTER: - * Without any argument, this method just returns current value of location.href. + * Without any argument, this method just returns current value of `location.href` (with a + * trailing `#` stripped of if the hash is empty). * * SETTER: * With at least one argument, this method sets url to new value. - * If html5 history api supported, pushState/replaceState is used, otherwise - * location.href/location.replace is used. - * Returns its own instance to allow chaining + * If html5 history api supported, `pushState`/`replaceState` is used, otherwise + * `location.href`/`location.replace` is used. + * Returns its own instance to allow chaining. * - * NOTE: this api is intended for use only by the $location service. Please use the + * NOTE: this api is intended for use only by the `$location` service. Please use the * {@link ng.$location $location service} to change url. * * @param {string} url New url (when used as setter) - * @param {boolean=} replace Should new url replace current history record ? + * @param {boolean=} replace Should new url replace current history record? + * @param {object=} state State object to use with `pushState`/`replaceState` */ - self.url = function(url, replace) { - // Android Browser BFCache causes location reference to become stale. + self.url = function(url, replace, state) { + // In modern browsers `history.state` is `null` by default; treating it separately + // from `undefined` would cause `$browser.url('https://github.com/foo')` to change `history.state` + // to undefined via `pushState`. Instead, let's change `undefined` to `null` here. + if (isUndefined(state)) { + state = null; + } + + // Android Browser BFCache causes location, history reference to become stale. if (location !== window.location) location = window.location; + if (history !== window.history) history = window.history; // setter if (url) { - if (lastBrowserUrl == url) return; + var sameState = lastHistoryState === state; + + // Normalize the inputted URL + url = urlResolve(url).href; + + // Don't change anything if previous and current URLs and states match. This also prevents + // IE<10 from getting into redirect loop when in LocationHashbangInHtml5Url mode. + // See https://github.com/angular/angular.js/commit/ffb2701 + if (lastBrowserUrl === url && (!$sniffer.history || sameState)) { + return self; + } + var sameBase = lastBrowserUrl && stripHash(lastBrowserUrl) === stripHash(url); lastBrowserUrl = url; - if ($sniffer.history) { - if (replace) history.replaceState(null, '', url); - else { - history.pushState(null, '', url); - // Crazy Opera Bug: http://my.opera.com/community/forums/topic.dml?id=1185462 - baseElement.attr('href', baseElement.attr('href')); - } + lastHistoryState = state; + // Don't use history API if only the hash changed + // due to a bug in IE10/IE11 which leads + // to not firing a `hashchange` nor `popstate` event + // in some cases (see #9143). + if ($sniffer.history && (!sameBase || !sameState)) { + history[replace ? 'replaceState' : 'pushState'](state, '', url); + cacheState(); } else { - newLocation = url; + if (!sameBase) { + pendingLocation = url; + } if (replace) { location.replace(url); - } else { + } else if (!sameBase) { location.href = url; + } else { + location.hash = getHash(url); + } + if (location.href !== url) { + pendingLocation = url; } } + if (pendingLocation) { + pendingLocation = url; + } return self; // getter } else { - // - newLocation is a workaround for an IE7-9 issue with location.replace and location.href - // methods not updating location.href synchronously. - // - the replacement is a workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=407172 - return newLocation || location.href.replace(/%27/g,"'"); + // - pendingLocation is needed as browsers don't allow to read out + // the new location.href if a reload happened or if there is a bug like in iOS 9 (see + // https://openradar.appspot.com/22186109). + return trimEmptyHash(pendingLocation || location.href); } }; + /** + * @name $browser#state + * + * @description + * This method is a getter. + * + * Return history.state or null if history.state is undefined. + * + * @returns {object} state + */ + self.state = function() { + return cachedState; + }; + var urlChangeListeners = [], urlChangeInit = false; - function fireUrlChange() { - newLocation = null; - if (lastBrowserUrl == self.url()) return; + function cacheStateAndFireUrlChange() { + pendingLocation = null; + fireStateOrUrlChange(); + } + + // This variable should be used *only* inside the cacheState function. + var lastCachedState = null; + function cacheState() { + // This should be the only place in $browser where `history.state` is read. + cachedState = getCurrentState(); + cachedState = isUndefined(cachedState) ? null : cachedState; + + // Prevent callbacks fo fire twice if both hashchange & popstate were fired. + if (equals(cachedState, lastCachedState)) { + cachedState = lastCachedState; + } + + lastCachedState = cachedState; + lastHistoryState = cachedState; + } + + function fireStateOrUrlChange() { + var prevLastHistoryState = lastHistoryState; + cacheState(); + + if (lastBrowserUrl === self.url() && prevLastHistoryState === cachedState) { + return; + } lastBrowserUrl = self.url(); + lastHistoryState = cachedState; forEach(urlChangeListeners, function(listener) { - listener(self.url()); + listener(self.url(), cachedState); }); } /** - * @name ng.$browser#onUrlChange - * @methodOf ng.$browser - * @TODO(vojta): refactor to use node's syntax for events + * @name $browser#onUrlChange * * @description * Register callback function that will be called, when url changes. * - * It's only called when the url is changed by outside of angular: + * It's only called when the url is changed from outside of AngularJS: * - user types different url into address bar * - user clicks on history (forward/back) button * - user clicks on a link @@ -211,23 +224,22 @@ function Browser(window, document, $log, $sniffer) { * The listener gets called with new url as parameter. * * NOTE: this api is intended for use only by the $location service. Please use the - * {@link ng.$location $location service} to monitor url changes in angular apps. + * {@link ng.$location $location service} to monitor url changes in AngularJS apps. * * @param {function(string)} listener Listener function to be called when url changes. * @return {function(string)} Returns the registered listener fn - handy if the fn is anonymous. */ self.onUrlChange = function(callback) { + // TODO(vojta): refactor to use node's syntax for events if (!urlChangeInit) { - // We listen on both (hashchange/popstate) when available, as some browsers (e.g. Opera) - // don't fire popstate when user change the address bar and don't fire hashchange when url + // We listen on both (hashchange/popstate) when available, as some browsers don't + // fire popstate when user changes the address bar and don't fire hashchange when url // changed by push/replaceState // html5 history api - popstate event - if ($sniffer.history) jqLite(window).on('popstate', fireUrlChange); + if ($sniffer.history) jqLite(window).on('popstate', cacheStateAndFireUrlChange); // hashchange event - if ($sniffer.hashchange) jqLite(window).on('hashchange', fireUrlChange); - // polling - else self.addPollFn(fireUrlChange); + jqLite(window).on('hashchange', cacheStateAndFireUrlChange); urlChangeInit = true; } @@ -236,107 +248,46 @@ function Browser(window, document, $log, $sniffer) { return callback; }; - ////////////////////////////////////////////////////////////// - // Misc API - ////////////////////////////////////////////////////////////// - /** - * @name ng.$browser#baseHref - * @methodOf ng.$browser - * - * @description - * Returns current - * (always relative - without domain) + * @private + * Remove popstate and hashchange handler from window. * - * @returns {string=} current + * NOTE: this api is intended for use only by $rootScope. */ - self.baseHref = function() { - var href = baseElement.attr('href'); - return href ? href.replace(/^https?\:\/\/[^\/]*/, '') : ''; + self.$$applicationDestroyed = function() { + jqLite(window).off('hashchange popstate', cacheStateAndFireUrlChange); }; + /** + * Checks whether the url has changed outside of AngularJS. + * Needs to be exported to be able to check for changes that have been done in sync, + * as hashchange/popstate events fire in async. + */ + self.$$checkUrlChange = fireStateOrUrlChange; + ////////////////////////////////////////////////////////////// - // Cookies API + // Misc API ////////////////////////////////////////////////////////////// - var lastCookies = {}; - var lastCookieString = ''; - var cookiePath = self.baseHref(); /** - * @name ng.$browser#cookies - * @methodOf ng.$browser - * - * @param {string=} name Cookie name - * @param {string=} value Cookie value + * @name $browser#baseHref * * @description - * The cookies method provides a 'private' low level access to browser cookies. - * It is not meant to be used directly, use the $cookie service instead. + * Returns current + * (always relative - without domain) * - * The return values vary depending on the arguments that the method was called with as follows: - * - * - cookies() -> hash of all cookies, this is NOT a copy of the internal state, so do not modify - * it - * - cookies(name, value) -> set name to value, if value is undefined delete the cookie - * - cookies(name) -> the same as (name, undefined) == DELETES (no one calls it right now that - * way) - * - * @returns {Object} Hash of all cookies (if called without any parameter) + * @returns {string} The current base href */ - self.cookies = function(name, value) { - /* global escape: false, unescape: false */ - var cookieLength, cookieArray, cookie, i, index; - - if (name) { - if (value === undefined) { - rawDocument.cookie = escape(name) + "=;path=" + cookiePath + - ";expires=Thu, 01 Jan 1970 00:00:00 GMT"; - } else { - if (isString(value)) { - cookieLength = (rawDocument.cookie = escape(name) + '=' + escape(value) + - ';path=' + cookiePath).length + 1; - - // per http://www.ietf.org/rfc/rfc2109.txt browser must allow at minimum: - // - 300 cookies - // - 20 cookies per unique domain - // - 4096 bytes per cookie - if (cookieLength > 4096) { - $log.warn("Cookie '"+ name + - "' possibly not set or overflowed because it was too large ("+ - cookieLength + " > 4096 bytes)!"); - } - } - } - } else { - if (rawDocument.cookie !== lastCookieString) { - lastCookieString = rawDocument.cookie; - cookieArray = lastCookieString.split("; "); - lastCookies = {}; - - for (i = 0; i < cookieArray.length; i++) { - cookie = cookieArray[i]; - index = cookie.indexOf('='); - if (index > 0) { //ignore nameless cookies - name = unescape(cookie.substring(0, index)); - // the first value that is seen for a cookie is the most - // specific one. values for the same cookie name that - // follow are for less specific paths. - if (lastCookies[name] === undefined) { - lastCookies[name] = unescape(cookie.substring(index + 1)); - } - } - } - } - return lastCookies; - } + self.baseHref = function() { + var href = baseElement.attr('href'); + return href ? href.replace(/^(https?:)?\/\/[^/]*/, '') : ''; }; - /** - * @name ng.$browser#defer - * @methodOf ng.$browser + * @name $browser#defer * @param {function()} fn A function, who's execution should be deferred. - * @param {number=} [delay=0] of milliseconds to defer the function execution. + * @param {number=} [delay=0] Number of milliseconds to defer the function execution. + * @param {string=} [taskType=DEFAULT_TASK_TYPE] The type of task that is deferred. * @returns {*} DeferId that can be used to cancel the task via `$browser.defer.cancel()`. * * @description @@ -347,21 +298,25 @@ function Browser(window, document, $log, $sniffer) { * via `$browser.defer.flush()`. * */ - self.defer = function(fn, delay) { + self.defer = function(fn, delay, taskType) { var timeoutId; - outstandingRequestCount++; + + delay = delay || 0; + taskType = taskType || taskTracker.DEFAULT_TASK_TYPE; + + taskTracker.incTaskCount(taskType); timeoutId = setTimeout(function() { delete pendingDeferIds[timeoutId]; - completeOutstandingRequest(fn); - }, delay || 0); - pendingDeferIds[timeoutId] = true; + taskTracker.completeTask(fn, taskType); + }, delay); + pendingDeferIds[timeoutId] = taskType; + return timeoutId; }; /** - * @name ng.$browser#defer.cancel - * @methodOf ng.$browser.defer + * @name $browser#defer.cancel * * @description * Cancels a deferred task identified with `deferId`. @@ -371,10 +326,11 @@ function Browser(window, document, $log, $sniffer) { * canceled. */ self.defer.cancel = function(deferId) { - if (pendingDeferIds[deferId]) { + if (pendingDeferIds.hasOwnProperty(deferId)) { + var taskType = pendingDeferIds[deferId]; delete pendingDeferIds[deferId]; clearTimeout(deferId); - completeOutstandingRequest(noop); + taskTracker.completeTask(noop, taskType); return true; } return false; @@ -382,9 +338,10 @@ function Browser(window, document, $log, $sniffer) { } -function $BrowserProvider(){ - this.$get = ['$window', '$log', '$sniffer', '$document', - function( $window, $log, $sniffer, $document){ - return new Browser($window, $document, $log, $sniffer); - }]; +/** @this */ +function $BrowserProvider() { + this.$get = ['$window', '$log', '$sniffer', '$document', '$$taskTrackerFactory', + function($window, $log, $sniffer, $document, $$taskTrackerFactory) { + return new Browser($window, $document, $log, $sniffer, $$taskTrackerFactory); + }]; } diff --git a/src/ng/cacheFactory.js b/src/ng/cacheFactory.js index 0e887c81e11b..1fe6284d4fe7 100644 --- a/src/ng/cacheFactory.js +++ b/src/ng/cacheFactory.js @@ -1,14 +1,16 @@ 'use strict'; /** - * @ngdoc object - * @name ng.$cacheFactory + * @ngdoc service + * @name $cacheFactory + * @this * * @description - * Factory that constructs cache objects and gives access to them. - * - *
    - * 
    + * Factory that constructs {@link $cacheFactory.Cache Cache} objects and gives access to
    + * them.
    + *
    + * ```js
    + *
      *  var cache = $cacheFactory('cacheId');
      *  expect($cacheFactory.get('cacheId')).toBe(cache);
      *  expect($cacheFactory.get('noSuchCacheId')).not.toBeDefined();
    @@ -17,9 +19,9 @@
      *  cache.put("another key", "another value");
      *
      *  // We've specified no options on creation
    - *  expect(cache.info()).toEqual({id: 'cacheId', size: 2}); 
    - * 
    - * 
    + * expect(cache.info()).toEqual({id: 'cacheId', size: 2}); + * + * ``` * * * @param {string} cacheId Name or id of the newly created cache. @@ -37,6 +39,48 @@ * - `{void}` `removeAll()` — Removes all cached values. * - `{void}` `destroy()` — Removes references to this cache from $cacheFactory. * + * @example + + +
    + + + + +

    Cached Values

    +
    + + : + +
    + +

    Cache Info

    +
    + + : + +
    +
    +
    + + angular.module('cacheExampleApp', []). + controller('CacheController', ['$scope', '$cacheFactory', function($scope, $cacheFactory) { + $scope.keys = []; + $scope.cache = $cacheFactory('cacheId'); + $scope.put = function(key, value) { + if (angular.isUndefined($scope.cache.get(key))) { + $scope.keys.push(key); + } + $scope.cache.put(key, angular.isUndefined(value) ? null : value); + }; + }]); + + + p { + margin: 10px 0 3px; + } + +
    */ function $CacheFactoryProvider() { @@ -45,25 +89,84 @@ function $CacheFactoryProvider() { function cacheFactory(cacheId, options) { if (cacheId in caches) { - throw minErr('$cacheFactory')('iid', "CacheId '{0}' is already taken!", cacheId); + throw minErr('$cacheFactory')('iid', 'CacheId \'{0}\' is already taken!', cacheId); } var size = 0, stats = extend({}, options, {id: cacheId}), - data = {}, + data = createMap(), capacity = (options && options.capacity) || Number.MAX_VALUE, - lruHash = {}, + lruHash = createMap(), freshEnd = null, staleEnd = null; - return caches[cacheId] = { - + /** + * @ngdoc type + * @name $cacheFactory.Cache + * + * @description + * A cache object used to store and retrieve data, primarily used by + * {@link $templateRequest $templateRequest} and the {@link ng.directive:script script} + * directive to cache templates and other data. + * + * ```js + * angular.module('superCache') + * .factory('superCache', ['$cacheFactory', function($cacheFactory) { + * return $cacheFactory('super-cache'); + * }]); + * ``` + * + * Example test: + * + * ```js + * it('should behave like a cache', inject(function(superCache) { + * superCache.put('key', 'value'); + * superCache.put('another key', 'another value'); + * + * expect(superCache.info()).toEqual({ + * id: 'super-cache', + * size: 2 + * }); + * + * superCache.remove('another key'); + * expect(superCache.get('another key')).toBeUndefined(); + * + * superCache.removeAll(); + * expect(superCache.info()).toEqual({ + * id: 'super-cache', + * size: 0 + * }); + * })); + * ``` + */ + return (caches[cacheId] = { + + /** + * @ngdoc method + * @name $cacheFactory.Cache#put + * @kind function + * + * @description + * Inserts a named entry into the {@link $cacheFactory.Cache Cache} object to be + * retrieved later, and incrementing the size of the cache if the key was not already + * present in the cache. If behaving like an LRU cache, it will also remove stale + * entries from the set. + * + * It will not insert undefined values into the cache. + * + * @param {string} key the key under which the cached data is stored. + * @param {*} value the value to store alongside the key. If it is undefined, the key + * will not be stored. + * @returns {*} the value stored. + */ put: function(key, value) { - var lruEntry = lruHash[key] || (lruHash[key] = {key: key}); + if (isUndefined(value)) return; + if (capacity < Number.MAX_VALUE) { + var lruEntry = lruHash[key] || (lruHash[key] = {key: key}); - refresh(lruEntry); + refresh(lruEntry); + } - if (isUndefined(value)) return; if (!(key in data)) size++; data[key] = value; @@ -74,41 +177,85 @@ function $CacheFactoryProvider() { return value; }, - + /** + * @ngdoc method + * @name $cacheFactory.Cache#get + * @kind function + * + * @description + * Retrieves named data stored in the {@link $cacheFactory.Cache Cache} object. + * + * @param {string} key the key of the data to be retrieved + * @returns {*} the value stored. + */ get: function(key) { - var lruEntry = lruHash[key]; + if (capacity < Number.MAX_VALUE) { + var lruEntry = lruHash[key]; - if (!lruEntry) return; + if (!lruEntry) return; - refresh(lruEntry); + refresh(lruEntry); + } return data[key]; }, + /** + * @ngdoc method + * @name $cacheFactory.Cache#remove + * @kind function + * + * @description + * Removes an entry from the {@link $cacheFactory.Cache Cache} object. + * + * @param {string} key the key of the entry to be removed + */ remove: function(key) { - var lruEntry = lruHash[key]; + if (capacity < Number.MAX_VALUE) { + var lruEntry = lruHash[key]; + + if (!lruEntry) return; - if (!lruEntry) return; + if (lruEntry === freshEnd) freshEnd = lruEntry.p; + if (lruEntry === staleEnd) staleEnd = lruEntry.n; + link(lruEntry.n,lruEntry.p); - if (lruEntry == freshEnd) freshEnd = lruEntry.p; - if (lruEntry == staleEnd) staleEnd = lruEntry.n; - link(lruEntry.n,lruEntry.p); + delete lruHash[key]; + } + + if (!(key in data)) return; - delete lruHash[key]; delete data[key]; size--; }, + /** + * @ngdoc method + * @name $cacheFactory.Cache#removeAll + * @kind function + * + * @description + * Clears the cache object of any entries. + */ removeAll: function() { - data = {}; + data = createMap(); size = 0; - lruHash = {}; + lruHash = createMap(); freshEnd = staleEnd = null; }, + /** + * @ngdoc method + * @name $cacheFactory.Cache#destroy + * @kind function + * + * @description + * Destroys the {@link $cacheFactory.Cache Cache} object entirely, + * removing it from the {@link $cacheFactory $cacheFactory} set. + */ destroy: function() { data = null; stats = null; @@ -117,20 +264,36 @@ function $CacheFactoryProvider() { }, + /** + * @ngdoc method + * @name $cacheFactory.Cache#info + * @kind function + * + * @description + * Retrieve information regarding a particular {@link $cacheFactory.Cache Cache}. + * + * @returns {object} an object with the following properties: + *
      + *
    • **id**: the id of the cache instance
    • + *
    • **size**: the number of entries kept in the cache instance
    • + *
    • **...**: any additional properties from the options object when creating the + * cache.
    • + *
    + */ info: function() { return extend({}, stats, {size: size}); } - }; + }); /** * makes the `entry` the freshEnd of the LRU linked list */ function refresh(entry) { - if (entry != freshEnd) { + if (entry !== freshEnd) { if (!staleEnd) { staleEnd = entry; - } else if (staleEnd == entry) { + } else if (staleEnd === entry) { staleEnd = entry.n; } @@ -146,7 +309,7 @@ function $CacheFactoryProvider() { * bidirectionally links two entries of the LRU linked list */ function link(nextEntry, prevEntry) { - if (nextEntry != prevEntry) { + if (nextEntry !== prevEntry) { if (nextEntry) nextEntry.p = prevEntry; //p stands for previous, 'prev' didn't minify if (prevEntry) prevEntry.n = nextEntry; //n stands for next, 'next' didn't minify } @@ -156,11 +319,10 @@ function $CacheFactoryProvider() { /** * @ngdoc method - * @name ng.$cacheFactory#info - * @methodOf ng.$cacheFactory + * @name $cacheFactory#info * * @description - * Get information about all the of the caches that have been created + * Get information about all the caches that have been created * * @returns {Object} - key-value map of `cacheId` to the result of calling `cache#info` */ @@ -175,8 +337,7 @@ function $CacheFactoryProvider() { /** * @ngdoc method - * @name ng.$cacheFactory#get - * @methodOf ng.$cacheFactory + * @name $cacheFactory#get * * @description * Get access to a cache object by the `cacheId` used when it was created. @@ -194,49 +355,50 @@ function $CacheFactoryProvider() { } /** - * @ngdoc object - * @name ng.$templateCache + * @ngdoc service + * @name $templateCache + * @this * * @description + * `$templateCache` is a {@link $cacheFactory.Cache Cache object} created by the + * {@link ng.$cacheFactory $cacheFactory}. + * * The first time a template is used, it is loaded in the template cache for quick retrieval. You - * can load templates directly into the cache in a `script` tag, or by consuming the - * `$templateCache` service directly. - * + * can load templates directly into the cache in a `script` tag, by using {@link $templateRequest}, + * or by consuming the `$templateCache` service directly. + * * Adding via the `script` tag: - *
    - * 
    - * 
    - * 
    - * 
    - *   ...
    - * 
    - * 
    - * + * + * ```html + * + * ``` + * * **Note:** the `script` tag containing the template does not need to be included in the `head` of - * the document, but it must be below the `ng-app` definition. - * - * Adding via the $templateCache service: - * - *
    + * the document, but it must be a descendent of the {@link ng.$rootElement $rootElement} (e.g.
    + * element with {@link ngApp} attribute), otherwise the template will be ignored.
    + *
    + * Adding via the `$templateCache` service:
    + *
    + * ```js
      * var myApp = angular.module('myApp', []);
      * myApp.run(function($templateCache) {
      *   $templateCache.put('templateId.html', 'This is the content of the template');
      * });
    - * 
    - * - * To retrieve the template later, simply use it in your HTML: - *
    - * 
    - *
    - * - * or get it via Javascript: - *
    + * ```
    + *
    + * To retrieve the template later, simply use it in your component:
    + * ```js
    + * myApp.component('myComponent', {
    + *    templateUrl: 'templateId.html'
    + * });
    + * ```
    + *
    + * or get it via the `$templateCache` service:
    + * ```js
      * $templateCache.get('templateId.html')
    - * 
    - * - * See {@link ng.$cacheFactory $cacheFactory}. + * ``` * */ function $TemplateCacheProvider() { @@ -244,4 +406,3 @@ function $TemplateCacheProvider() { return $cacheFactory('templates'); }]; } - diff --git a/src/ng/compile.js b/src/ng/compile.js index 0963b8d5d2bf..e48b5a98b6c5 100644 --- a/src/ng/compile.js +++ b/src/ng/compile.js @@ -1,5 +1,16 @@ 'use strict'; +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * Any commits to this file should be reviewed with security in mind. * + * Changes to this file can potentially create security vulnerabilities. * + * An approval from 2 Core members with history of modifying * + * this file is required. * + * * + * Does the change somehow allow for arbitrary javascript to be executed? * + * Or allows for someone to change the prototype of built-in objects? * + * Or gives undesired access to variables like document or window? * + * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ + /* ! VARIABLE/FUNCTION NAMING CONVENTIONS THAT APPLY TO THIS FILE! * * DOM-related variables: @@ -19,16 +30,16 @@ /** - * @ngdoc function - * @name ng.$compile - * @function + * @ngdoc service + * @name $compile + * @kind function * * @description - * Compiles a piece of HTML string or DOM into a template and produces a template function, which + * Compiles an HTML string or DOM into a template and produces a template function, which * can then be used to link {@link ng.$rootScope.Scope `scope`} and the template together. * * The compilation is a process of walking the DOM tree and matching DOM elements to - * {@link ng.$compileProvider#methods_directive directives}. + * {@link ng.$compileProvider#directive directives}. * *
    * **Note:** This document is an in-depth reference of all directive options. @@ -41,8 +52,9 @@ * There are many different options for a directive. * * The difference resides in the return value of the factory function. - * You can either return a "Directive Definition Object" (see below) that defines the directive properties, - * or just the `postLink` function (all other properties will have the default values). + * You can either return a {@link $compile#directive-definition-object Directive Definition Object (see below)} + * that defines the directive properties, or just the `postLink` function (all other properties will have + * the default values). * *
    * **Best Practice:** It's recommended to use the "directive definition object" form. @@ -50,40 +62,43 @@ * * Here's an example directive declared with a Directive Definition Object: * - *
    + * ```js
      *   var myModule = angular.module(...);
      *
      *   myModule.directive('directiveName', function factory(injectables) {
      *     var directiveDefinitionObject = {
    - *       priority: 0,
    - *       template: '
    ', // or // function(tElement, tAttrs) { ... }, + * {@link $compile#-priority- priority}: 0, + * {@link $compile#-template- template}: '
    ', // or // function(tElement, tAttrs) { ... }, * // or - * // templateUrl: 'directive.html', // or // function(tElement, tAttrs) { ... }, - * replace: false, - * transclude: false, - * restrict: 'A', - * scope: false, - * controller: function($scope, $element, $attrs, $transclude, otherInjectables) { ... }, - * require: 'siblingDirectiveName', // or // ['^parentDirectiveName', '?optionalDirectiveName', '?^optionalParent'], - * compile: function compile(tElement, tAttrs, transclude) { + * // {@link $compile#-templateurl- templateUrl}: 'directive.html', // or // function(tElement, tAttrs) { ... }, + * {@link $compile#-transclude- transclude}: false, + * {@link $compile#-restrict- restrict}: 'A', + * {@link $compile#-templatenamespace- templateNamespace}: 'html', + * {@link $compile#-scope- scope}: false, + * {@link $compile#-controller- controller}: function($scope, $element, $attrs, $transclude, otherInjectables) { ... }, + * {@link $compile#-controlleras- controllerAs}: 'stringIdentifier', + * {@link $compile#-bindtocontroller- bindToController}: false, + * {@link $compile#-require- require}: 'siblingDirectiveName', // or // ['^parentDirectiveName', '?optionalDirectiveName', '?^optionalParent'], + * {@link $compile#-multielement- multiElement}: false, + * {@link $compile#-compile- compile}: function compile(tElement, tAttrs, transclude) { * return { - * pre: function preLink(scope, iElement, iAttrs, controller) { ... }, - * post: function postLink(scope, iElement, iAttrs, controller) { ... } + * {@link $compile#pre-linking-function pre}: function preLink(scope, iElement, iAttrs, controller) { ... }, + * {@link $compile#post-linking-function post}: function postLink(scope, iElement, iAttrs, controller) { ... } * } * // or * // return function postLink( ... ) { ... } * }, * // or - * // link: { - * // pre: function preLink(scope, iElement, iAttrs, controller) { ... }, - * // post: function postLink(scope, iElement, iAttrs, controller) { ... } + * // {@link $compile#-link- link}: { + * // {@link $compile#pre-linking-function pre}: function preLink(scope, iElement, iAttrs, controller) { ... }, + * // {@link $compile#post-linking-function post}: function postLink(scope, iElement, iAttrs, controller) { ... } * // } * // or - * // link: function postLink( ... ) { ... } + * // {@link $compile#-link- link}: function postLink( ... ) { ... } * }; * return directiveDefinitionObject; * }); - *
    + * ``` * *
    * **Note:** Any unspecified options will use the default value. You can see the default values below. @@ -91,7 +106,7 @@ * * Therefore the above can be simplified as: * - *
    + * ```js
      *   var myModule = angular.module(...);
      *
      *   myModule.directive('directiveName', function factory(injectables) {
    @@ -102,15 +117,142 @@
      *     // or
      *     // return function postLink(scope, iElement, iAttrs) { ... }
      *   });
    - * 
    + * ``` + * + * ### Life-cycle hooks + * Directive controllers can provide the following methods that are called by AngularJS at points in the life-cycle of the + * directive: + * * `$onInit()` - Called on each controller after all the controllers on an element have been constructed and + * had their bindings initialized (and before the pre & post linking functions for the directives on + * this element). This is a good place to put initialization code for your controller. + * * `$onChanges(changesObj)` - Called whenever one-way (`<`) or interpolation (`@`) bindings are updated. The + * `changesObj` is a hash whose keys are the names of the bound properties that have changed, and the values are an + * object of the form `{ currentValue, previousValue, isFirstChange() }`. Use this hook to trigger updates within a + * component such as cloning the bound value to prevent accidental mutation of the outer value. Note that this will + * also be called when your bindings are initialized. + * * `$doCheck()` - Called on each turn of the digest cycle. Provides an opportunity to detect and act on + * changes. Any actions that you wish to take in response to the changes that you detect must be + * invoked from this hook; implementing this has no effect on when `$onChanges` is called. For example, this hook + * could be useful if you wish to perform a deep equality check, or to check a Date object, changes to which would not + * be detected by AngularJS's change detector and thus not trigger `$onChanges`. This hook is invoked with no arguments; + * if detecting changes, you must store the previous value(s) for comparison to the current values. + * * `$onDestroy()` - Called on a controller when its containing scope is destroyed. Use this hook for releasing + * external resources, watches and event handlers. Note that components have their `$onDestroy()` hooks called in + * the same order as the `$scope.$broadcast` events are triggered, which is top down. This means that parent + * components will have their `$onDestroy()` hook called before child components. + * * `$postLink()` - Called after this controller's element and its children have been linked. Similar to the post-link + * function this hook can be used to set up DOM event handlers and do direct DOM manipulation. + * Note that child elements that contain `templateUrl` directives will not have been compiled and linked since + * they are waiting for their template to load asynchronously and their own compilation and linking has been + * suspended until that occurs. + * + * #### Comparison with life-cycle hooks in the new Angular + * The new Angular also uses life-cycle hooks for its components. While the AngularJS life-cycle hooks are similar there are + * some differences that you should be aware of, especially when it comes to moving your code from AngularJS to Angular: + * + * * AngularJS hooks are prefixed with `$`, such as `$onInit`. Angular hooks are prefixed with `ng`, such as `ngOnInit`. + * * AngularJS hooks can be defined on the controller prototype or added to the controller inside its constructor. + * In Angular you can only define hooks on the prototype of the Component class. + * * Due to the differences in change-detection, you may get many more calls to `$doCheck` in AngularJS than you would to + * `ngDoCheck` in Angular. + * * Changes to the model inside `$doCheck` will trigger new turns of the digest loop, which will cause the changes to be + * propagated throughout the application. + * Angular does not allow the `ngDoCheck` hook to trigger a change outside of the component. It will either throw an + * error or do nothing depending upon the state of `enableProdMode()`. + * + * #### Life-cycle hook examples + * + * This example shows how you can check for mutations to a Date object even though the identity of the object + * has not changed. + * + * + * + * angular.module('do-check-module', []) + * .component('app', { + * template: + * 'Month: ' + + * 'Date: {{ $ctrl.date }}' + + * '', + * controller: function() { + * this.date = new Date(); + * this.month = this.date.getMonth(); + * this.updateDate = function() { + * this.date.setMonth(this.month); + * }; + * } + * }) + * .component('test', { + * bindings: { date: '<' }, + * template: + * '
    {{ $ctrl.log | json }}
    ', + * controller: function() { + * var previousValue; + * this.log = []; + * this.$doCheck = function() { + * var currentValue = this.date && this.date.valueOf(); + * if (previousValue !== currentValue) { + * this.log.push('doCheck: date mutated: ' + this.date); + * previousValue = currentValue; + * } + * }; + * } + * }); + *
    + * + * + * + *
    + * + * This example show how you might use `$doCheck` to trigger changes in your component's inputs even if the + * actual identity of the component doesn't change. (Be aware that cloning and deep equality checks on large + * arrays or objects can have a negative impact on your application performance.) + * + * + * + *
    + * + * + *
    {{ items }}
    + * + *
    + *
    + * + * angular.module('do-check-module', []) + * .component('test', { + * bindings: { items: '<' }, + * template: + * '
    {{ $ctrl.log | json }}
    ', + * controller: function() { + * this.log = []; * + * this.$doCheck = function() { + * if (this.items_ref !== this.items) { + * this.log.push('doCheck: items changed'); + * this.items_ref = this.items; + * } + * if (!angular.equals(this.items_clone, this.items)) { + * this.log.push('doCheck: items mutated'); + * this.items_clone = angular.copy(this.items); + * } + * }; + * } + * }); + *
    + *
    * * * ### Directive Definition Object * - * The directive definition object provides instructions to the {@link api/ng.$compile + * The directive definition object provides instructions to the {@link ng.$compile * compiler}. The attributes are: * + * #### `multiElement` + * When this property is set to true (default is `false`), the HTML compiler will collect DOM nodes between + * nodes with the attributes `directive-name-start` and `directive-name-end`, and group them + * together as the directive elements. It is recommended that this feature be used on directives + * which are not strictly behavioral (such as {@link ngClick}), and which + * do not manipulate or replace child nodes (such as {@link ngInclude}). + * * #### `priority` * When there are multiple directives defined on a single DOM element, sometimes it * is necessary to specify the order in which the directives are applied. The `priority` is used @@ -122,150 +264,310 @@ * #### `terminal` * If set to true then the current `priority` will be the last set of directives * which will execute (any directives at the current priority will still execute - * as the order of execution on same `priority` is undefined). + * as the order of execution on same `priority` is undefined). Note that expressions + * and other directives used in the directive's template will also be excluded from execution. * * #### `scope` - * **If set to `true`,** then a new scope will be created for this directive. If multiple directives on the - * same element request a new scope, only one new scope is created. The new scope rule does not - * apply for the root of the template since the root of the template always gets a new scope. + * The scope property can be `false`, `true`, or an object: + * + * * **`false` (default):** No scope will be created for the directive. The directive will use its + * parent's scope. + * + * * **`true`:** A new child scope that prototypically inherits from its parent will be created for + * the directive's element. If multiple directives on the same element request a new scope, + * only one new scope is created. * - * **If set to `{}` (object hash),** then a new "isolate" scope is created. The 'isolate' scope differs from - * normal scope in that it does not prototypically inherit from the parent scope. This is useful - * when creating reusable components, which should not accidentally read or modify data in the - * parent scope. + * * **`{...}` (an object hash):** A new "isolate" scope is created for the directive's template. + * The 'isolate' scope differs from normal scope in that it does not prototypically + * inherit from its parent scope. This is useful when creating reusable components, which should not + * accidentally read or modify data in the parent scope. Note that an isolate scope + * directive without a `template` or `templateUrl` will not apply the isolate scope + * to its children elements. * - * The 'isolate' scope takes an object hash which defines a set of local scope properties - * derived from the parent scope. These local properties are useful for aliasing values for - * templates. Locals definition is a hash of local scope property to its source: + * The 'isolate' scope object hash defines a set of local scope properties derived from attributes on the + * directive's element. These local properties are useful for aliasing values for templates. The keys in + * the object hash map to the name of the property on the isolate scope; the values define how the property + * is bound to the parent scope, via matching attributes on the directive's element: * * * `@` or `@attr` - bind a local scope property to the value of DOM attribute. The result is - * always a string since DOM attributes are strings. If no `attr` name is specified then the - * attribute name is assumed to be the same as the local name. - * Given `` and widget definition - * of `scope: { localName:'@myAttr' }`, then widget scope property `localName` will reflect - * the interpolated value of `hello {{name}}`. As the `name` attribute changes so will the - * `localName` property on the widget scope. The `name` is read from the parent scope (not - * component scope). - * - * * `=` or `=attr` - set up bi-directional binding between a local scope property and the - * parent scope property of name defined via the value of the `attr` attribute. If no `attr` - * name is specified then the attribute name is assumed to be the same as the local name. - * Given `` and widget definition of - * `scope: { localModel:'=myAttr' }`, then widget scope property `localModel` will reflect the + * always a string since DOM attributes are strings. If no `attr` name is specified then the + * attribute name is assumed to be the same as the local name. Given `` and the isolate scope definition `scope: { localName:'@myAttr' }`, + * the directive's scope property `localName` will reflect the interpolated value of `hello + * {{name}}`. As the `name` attribute changes so will the `localName` property on the directive's + * scope. The `name` is read from the parent scope (not the directive's scope). + * + * * `=` or `=attr` - set up a bidirectional binding between a local scope property and an expression + * passed via the attribute `attr`. The expression is evaluated in the context of the parent scope. + * If no `attr` name is specified then the attribute name is assumed to be the same as the local + * name. Given `` and the isolate scope definition `scope: { + * localModel: '=myAttr' }`, the property `localModel` on the directive's scope will reflect the + * value of `parentModel` on the parent scope. Changes to `parentModel` will be reflected in + * `localModel` and vice versa. If the binding expression is non-assignable, or if the attribute + * isn't optional and doesn't exist, an exception + * ({@link error/$compile/nonassign `$compile:nonassign`}) will be thrown upon discovering changes + * to the local value, since it will be impossible to sync them back to the parent scope. + * + * By default, the {@link ng.$rootScope.Scope#$watch `$watch`} + * method is used for tracking changes, and the equality check is based on object identity. + * However, if an object literal or an array literal is passed as the binding expression, the + * equality check is done by value (using the {@link angular.equals} function). It's also possible + * to watch the evaluated value shallowly with {@link ng.$rootScope.Scope#$watchCollection + * `$watchCollection`}: use `=*` or `=*attr` + * + * * `<` or `` and directive definition of + * `scope: { localModel:'` and the isolate scope definition `scope: { + * localFn:'&myAttr' }`, the isolate scope property `localFn` will point to a function wrapper for + * the `count = count + value` expression. Often it's desirable to pass data from the isolated scope + * via an expression to the parent scope. This can be done by passing a map of local variable names + * and values into the expression wrapper fn. For example, if the expression is `increment(amount)` + * then we can specify the amount value by calling the `localFn` as `localFn({amount: 22})`. + * + * All 4 kinds of bindings (`@`, `=`, `<`, and `&`) can be made optional by adding `?` to the expression. + * The marker must come after the mode and before the attribute name. + * See the {@link error/$compile/iscp Invalid Isolate Scope Definition error} for definition examples. + * This is useful to refine the interface directives provide. + * One subtle difference between optional and non-optional happens **when the binding attribute is not + * set**: + * - the binding is optional: the property will not be defined + * - the binding is not optional: the property is defined * - * * `&` or `&attr` - provides a way to execute an expression in the context of the parent scope. - * If no `attr` name is specified then the attribute name is assumed to be the same as the - * local name. Given `` and widget definition of - * `scope: { localFn:'&myAttr' }`, then isolate scope property `localFn` will point to - * a function wrapper for the `count = count + value` expression. Often it's desirable to - * pass data from the isolated scope via an expression and to the parent scope, this can be - * done by passing a map of local variable names and values into the expression wrapper fn. - * For example, if the expression is `increment(amount)` then we can specify the amount value - * by calling the `localFn` as `localFn({amount: 22})`. + * ```js + *app.directive('testDir', function() { + return { + scope: { + notoptional: '=', + optional: '=?', + }, + bindToController: true, + controller: function() { + this.$onInit = function() { + console.log(this.hasOwnProperty('notoptional')) // true + console.log(this.hasOwnProperty('optional')) // false + } + } + } + }) + *``` + * + * + * ##### Combining directives with different scope defintions + * + * In general it's possible to apply more than one directive to one element, but there might be limitations + * depending on the type of scope required by the directives. The following points will help explain these limitations. + * For simplicity only two directives are taken into account, but it is also applicable for several directives: + * + * * **no scope** + **no scope** => Two directives which don't require their own scope will use their parent's scope + * * **child scope** + **no scope** => Both directives will share one single child scope + * * **child scope** + **child scope** => Both directives will share one single child scope + * * **isolated scope** + **no scope** => The isolated directive will use it's own created isolated scope. The other directive will use + * its parent's scope + * * **isolated scope** + **child scope** => **Won't work!** Only one scope can be related to one element. Therefore these directives cannot + * be applied to the same element. + * * **isolated scope** + **isolated scope** => **Won't work!** Only one scope can be related to one element. Therefore these directives + * cannot be applied to the same element. + * + * + * #### `bindToController` + * This property is used to bind scope properties directly to the controller. It can be either + * `true` or an object hash with the same format as the `scope` property. + * + * When an isolate scope is used for a directive (see above), `bindToController: true` will + * allow a component to have its properties bound to the controller, rather than to scope. + * + * After the controller is instantiated, the initial values of the isolate scope bindings will be bound to the controller + * properties. You can access these bindings once they have been initialized by providing a controller method called + * `$onInit`, which is called after all the controllers on an element have been constructed and had their bindings + * initialized. * + * It is also possible to set `bindToController` to an object hash with the same format as the `scope` property. + * This will set up the scope bindings to the controller directly. Note that `scope` can still be used + * to define which kind of scope is created. By default, no scope is created. Use `scope: {}` to create an isolate + * scope (useful for component directives). + * + * If both `bindToController` and `scope` are defined and have object hashes, `bindToController` overrides `scope`. * * * #### `controller` * Controller constructor function. The controller is instantiated before the - * pre-linking phase and it is shared with other directives (see + * pre-linking phase and can be accessed by other directives (see * `require` attribute). This allows the directives to communicate with each other and augment * each other's behavior. The controller is injectable (and supports bracket notation) with the following locals: * * * `$scope` - Current scope associated with the element * * `$element` - Current element * * `$attrs` - Current attributes object for the element - * * `$transclude` - A transclude linking function pre-bound to the correct transclusion scope. - * The scope can be overridden by an optional first argument. - * `function([scope], cloneLinkingFn)`. - * + * * `$transclude` - A transclude linking function pre-bound to the correct transclusion scope: + * `function([scope], cloneLinkingFn, futureParentElement, slotName)`: + * * `scope`: (optional) override the scope. + * * `cloneLinkingFn`: (optional) argument to create clones of the original transcluded content. + * * `futureParentElement` (optional): + * * defines the parent to which the `cloneLinkingFn` will add the cloned elements. + * * default: `$element.parent()` resp. `$element` for `transclude:'element'` resp. `transclude:true`. + * * only needed for transcludes that are allowed to contain non html elements (e.g. SVG elements) + * and when the `cloneLinkingFn` is passed, + * as those elements need to created and cloned in a special way when they are defined outside their + * usual containers (e.g. like ``). + * * See also the `directive.templateNamespace` property. + * * `slotName`: (optional) the name of the slot to transclude. If falsy (e.g. `null`, `undefined` or `''`) + * then the default transclusion is provided. + * The `$transclude` function also has a method on it, `$transclude.isSlotFilled(slotName)`, which returns + * `true` if the specified slot contains content (i.e. one or more DOM nodes). * * #### `require` * Require another directive and inject its controller as the fourth argument to the linking function. The - * `require` takes a string name (or array of strings) of the directive(s) to pass in. If an array is used, the - * injected argument will be an array in corresponding order. If no such directive can be - * found, or if the directive does not have a controller, then an error is raised. The name can be prefixed with: + * `require` property can be a string, an array or an object: + * * a **string** containing the name of the directive to pass to the linking function + * * an **array** containing the names of directives to pass to the linking function. The argument passed to the + * linking function will be an array of controllers in the same order as the names in the `require` property + * * an **object** whose property values are the names of the directives to pass to the linking function. The argument + * passed to the linking function will also be an object with matching keys, whose values will hold the corresponding + * controllers. + * + * If the `require` property is an object and `bindToController` is truthy, then the required controllers are + * bound to the controller using the keys of the `require` property. This binding occurs after all the controllers + * have been constructed but before `$onInit` is called. + * If the name of the required controller is the same as the local name (the key), the name can be + * omitted. For example, `{parentDir: '^^'}` is equivalent to `{parentDir: '^^parentDir'}`. + * See the {@link $compileProvider#component} helper for an example of how this can be used. + * If no such required directive(s) can be found, or if the directive does not have a controller, then an error is + * raised (unless no link function is specified and the required controllers are not being bound to the directive + * controller, in which case error checking is skipped). The name can be prefixed with: * * * (no prefix) - Locate the required controller on the current element. Throw an error if not found. * * `?` - Attempt to locate the required controller or pass `null` to the `link` fn if not found. - * * `^` - Locate the required controller by searching the element's parents. Throw an error if not found. - * * `?^` - Attempt to locate the required controller by searching the element's parents or pass `null` to the - * `link` fn if not found. + * * `^` - Locate the required controller by searching the element and its parents. Throw an error if not found. + * * `^^` - Locate the required controller by searching the element's parents. Throw an error if not found. + * * `?^` - Attempt to locate the required controller by searching the element and its parents or pass + * `null` to the `link` fn if not found. + * * `?^^` - Attempt to locate the required controller by searching the element's parents, or pass + * `null` to the `link` fn if not found. * * * #### `controllerAs` - * Controller alias at the directive scope. An alias for the controller so it - * can be referenced at the directive template. The directive needs to define a scope for this - * configuration to be used. Useful in the case when directive is used as component. + * Identifier name for a reference to the controller in the directive's scope. + * This allows the controller to be referenced from the directive template. This is especially + * useful when a directive is used as component, i.e. with an `isolate` scope. It's also possible + * to use it in a directive without an `isolate` / `new` scope, but you need to be aware that the + * `controllerAs` reference might overwrite a property that already exists on the parent scope. * * * #### `restrict` * String of subset of `EACM` which restricts the directive to a specific directive - * declaration style. If omitted, the default (attributes only) is used. + * declaration style. If omitted, the defaults (elements and attributes) are used. * - * * `E` - Element name: `` + * * `E` - Element name (default): `` * * `A` - Attribute (default): `
    ` * * `C` - Class: `
    ` * * `M` - Comment: `` * * + * #### `templateNamespace` + * String representing the document type used by the markup in the template. + * AngularJS needs this information as those elements need to be created and cloned + * in a special way when they are defined outside their usual containers like `` and ``. + * + * * `html` - All root nodes in the template are HTML. Root nodes may also be + * top-level elements such as `` or ``. + * * `svg` - The root nodes in the template are SVG elements (excluding ``). + * * `math` - The root nodes in the template are MathML elements (excluding ``). + * + * If no `templateNamespace` is specified, then the namespace is considered to be `html`. + * * #### `template` - * replace the current element with the contents of the HTML. The replacement process - * migrates all of the attributes / classes from the old element to the new one. See the - * {@link guide/directive#creating-custom-directives_creating-directives_template-expanding-directive - * Directives Guide} for an example. + * HTML markup that may: + * * Replace the contents of the directive's element (default). + * * Replace the directive's element itself (if `replace` is true - DEPRECATED). + * * Wrap the contents of the directive's element (if `transclude` is true). + * + * Value may be: * - * You can specify `template` as a string representing the template or as a function which takes - * two arguments `tElement` and `tAttrs` (described in the `compile` function api below) and - * returns a string value representing the template. + * * A string. For example `
    {{delete_str}}
    `. + * * A function which takes two arguments `tElement` and `tAttrs` (described in the `compile` + * function api below) and returns a string value. * * * #### `templateUrl` - * Same as `template` but the template is loaded from the specified URL. Because - * the template loading is asynchronous the compilation/linking is suspended until the template - * is loaded. + * This is similar to `template` but the template is loaded from the specified URL, asynchronously. + * + * Because template loading is asynchronous the compiler will suspend compilation of directives on that element + * for later when the template has been resolved. In the meantime it will continue to compile and link + * sibling and parent elements as though this element had not contained any directives. + * + * The compiler does not suspend the entire compilation to wait for templates to be loaded because this + * would result in the whole app "stalling" until all templates are loaded asynchronously - even in the + * case when only one deeply nested directive has `templateUrl`. + * + * Template loading is asynchronous even if the template has been preloaded into the {@link $templateCache}. * * You can specify `templateUrl` as a string representing the URL or as a function which takes two * arguments `tElement` and `tAttrs` (described in the `compile` function api below) and returns * a string value representing the url. In either case, the template URL is passed through {@link - * api/ng.$sce#methods_getTrustedResourceUrl $sce.getTrustedResourceUrl}. + * $sce#getTrustedResourceUrl $sce.getTrustedResourceUrl}. * * * #### `replace` - * specify where the template should be inserted. Defaults to `false`. + *
    + * **Note:** `replace` is deprecated in AngularJS and has been removed in the new Angular (v2+). + *
    * - * * `true` - the template will replace the current element. - * * `false` - the template will replace the contents of the current element. + * Specifies what the template should replace. Defaults to `false`. * + * * `true` - the template will replace the directive's element. + * * `false` - the template will replace the contents of the directive's element. * - * #### `transclude` - * compile the content of the element and make it available to the directive. - * Typically used with {@link api/ng.directive:ngTransclude - * ngTransclude}. The advantage of transclusion is that the linking function receives a - * transclusion function which is pre-bound to the correct scope. In a typical setup the widget - * creates an `isolate` scope, but the transclusion is not a child, but a sibling of the `isolate` - * scope. This makes it possible for the widget to have private state, and the transclusion to - * be bound to the parent (pre-`isolate`) scope. + * The replacement process migrates all of the attributes / classes from the old element to the new + * one. See the {@link guide/directive#template-expanding-directive + * Directives Guide} for an example. * - * * `true` - transclude the content of the directive. - * * `'element'` - transclude the whole element including any directives defined at lower priority. + * There are very few scenarios where element replacement is required for the application function, + * the main one being reusable custom components that are used within SVG contexts + * (because SVG doesn't work with custom elements in the DOM tree). + * + * #### `transclude` + * Extract the contents of the element where the directive appears and make it available to the directive. + * The contents are compiled and provided to the directive as a **transclusion function**. See the + * {@link $compile#transclusion Transclusion} section below. * * * #### `compile` * - *
    + * ```js
      *   function compile(tElement, tAttrs, transclude) { ... }
    - * 
    + * ``` * * The compile function deals with transforming the template DOM. Since most directives do not do - * template transformation, it is not used often. Examples that require compile functions are - * directives that transform template DOM, such as {@link - * api/ng.directive:ngRepeat ngRepeat}, or load the contents - * asynchronously, such as {@link api/ngRoute.directive:ngView ngView}. The - * compile function takes the following arguments. + * template transformation, it is not used often. The compile function takes the following arguments: * * * `tElement` - template element - The element where the directive has been declared. It is * safe to do template transformation on the element and child elements only. @@ -281,8 +583,18 @@ * apply to all cloned DOM nodes within the compile function. Specifically, DOM listener registration * should be done in a linking function rather than in a compile function. *
    + + *
    + * **Note:** The compile function cannot handle directives that recursively use themselves in their + * own templates or compile functions. Compiling these directives results in an infinite loop and + * stack overflow errors. + * + * This can be avoided by manually using `$compile` in the postLink function to imperatively compile + * a directive's template instead of relying on automatic template compilation via `template` or + * `templateUrl` declaration or manual compilation inside the compile function. + *
    * - *
    + *
    * **Note:** The `transclude` function that is passed to the compile function is deprecated, as it * e.g. does not know about the right outer scope. Please use the transclude function that is passed * to the link function instead. @@ -301,16 +613,16 @@ * #### `link` * This property is used only if the `compile` property is not defined. * - *
    + * ```js
      *   function link(scope, iElement, iAttrs, controller, transcludeFn) { ... }
    - * 
    + * ``` * * The link function is responsible for registering DOM listeners as well as updating the DOM. It is * executed after the template has been cloned. This is where most of the directive logic will be * put. * - * * `scope` - {@link api/ng.$rootScope.Scope Scope} - The scope to be used by the - * directive for registering {@link api/ng.$rootScope.Scope#methods_$watch watches}. + * * `scope` - {@link ng.$rootScope.Scope Scope} - The scope to be used by the + * directive for registering {@link ng.$rootScope.Scope#$watch watches}. * * * `iElement` - instance element - The element where the directive is to be used. It is safe to * manipulate the children of the element only in `postLink` function since the children have @@ -319,15 +631,23 @@ * * `iAttrs` - instance attributes - Normalized list of attributes declared on this element shared * between all directive linking functions. * - * * `controller` - a controller instance - A controller instance if at least one directive on the - * element defines a controller. The controller is shared among all the directives, which allows - * the directives to use the controllers as a communication channel. + * * `controller` - the directive's required controller instance(s) - Instances are shared + * among all directives, which allows the directives to use the controllers as a communication + * channel. The exact value depends on the directive's `require` property: + * * no controller(s) required: the directive's own controller, or `undefined` if it doesn't have one + * * `string`: the controller instance + * * `array`: array of controller instances * - * * `transcludeFn` - A transclude linking function pre-bound to the correct transclusion scope. - * The scope can be overridden by an optional first argument. This is the same as the `$transclude` - * parameter of directive controllers. - * `function([scope], cloneLinkingFn)`. + * If a required controller cannot be found, and it is optional, the instance is `null`, + * otherwise the {@link error:$compile:ctreq Missing Required Controller} error is thrown. + * + * Note that you can also require the directive's own controller - it will be made available like + * any other controller. * + * * `transcludeFn` - A transclude linking function pre-bound to the correct transclusion scope. + * This is the same as the `$transclude` parameter of directive controllers, + * see {@link ng.$compile#-controller- the controller section for details}. + * `function([scope], cloneLinkingFn, futureParentElement)`. * * #### Pre-linking function * @@ -336,18 +656,166 @@ * * #### Post-linking function * - * Executed after the child elements are linked. It is safe to do DOM transformation in the post-linking function. + * Executed after the child elements are linked. + * + * Note that child elements that contain `templateUrl` directives will not have been compiled + * and linked since they are waiting for their template to load asynchronously and their own + * compilation and linking has been suspended until that occurs. + * + * It is safe to do DOM transformation in the post-linking function on elements that are not waiting + * for their async templates to be resolved. + * + * + * ### Transclusion + * + * Transclusion is the process of extracting a collection of DOM elements from one part of the DOM and + * copying them to another part of the DOM, while maintaining their connection to the original AngularJS + * scope from where they were taken. + * + * Transclusion is used (often with {@link ngTransclude}) to insert the + * original contents of a directive's element into a specified place in the template of the directive. + * The benefit of transclusion, over simply moving the DOM elements manually, is that the transcluded + * content has access to the properties on the scope from which it was taken, even if the directive + * has isolated scope. + * See the {@link guide/directive#creating-a-directive-that-wraps-other-elements Directives Guide}. + * + * This makes it possible for the widget to have private state for its template, while the transcluded + * content has access to its originating scope. + * + *
    + * **Note:** When testing an element transclude directive you must not place the directive at the root of the + * DOM fragment that is being compiled. See {@link guide/unit-testing#testing-transclusion-directives + * Testing Transclusion Directives}. + *
    + * + * There are three kinds of transclusion depending upon whether you want to transclude just the contents of the + * directive's element, the entire element or multiple parts of the element contents: + * + * * `true` - transclude the content (i.e. the child nodes) of the directive's element. + * * `'element'` - transclude the whole of the directive's element including any directives on this + * element that are defined at a lower priority than this directive. When used, the `template` + * property is ignored. + * * **`{...}` (an object hash):** - map elements of the content onto transclusion "slots" in the template. + * + * **Multi-slot transclusion** is declared by providing an object for the `transclude` property. + * + * This object is a map where the keys are the name of the slot to fill and the value is an element selector + * used to match the HTML to the slot. The element selector should be in normalized form (e.g. `myElement`) + * and will match the standard element variants (e.g. `my-element`, `my:element`, `data-my-element`, etc). + * + * For further information check out the guide on {@link guide/directive#matching-directives Matching Directives}. + * + * If the element selector is prefixed with a `?` then that slot is optional. + * + * For example, the transclude object `{ slotA: '?myCustomElement' }` maps `` elements to + * the `slotA` slot, which can be accessed via the `$transclude` function or via the {@link ngTransclude} directive. + * + * Slots that are not marked as optional (`?`) will trigger a compile time error if there are no matching elements + * in the transclude content. If you wish to know if an optional slot was filled with content, then you can call + * `$transclude.isSlotFilled(slotName)` on the transclude function passed to the directive's link function and + * injectable into the directive's controller. + * + * + * #### Transclusion Functions + * + * When a directive requests transclusion, the compiler extracts its contents and provides a **transclusion + * function** to the directive's `link` function and `controller`. This transclusion function is a special + * **linking function** that will return the compiled contents linked to a new transclusion scope. + * + *
    + * If you are just using {@link ngTransclude} then you don't need to worry about this function, since + * ngTransclude will deal with it for us. + *
    + * + * If you want to manually control the insertion and removal of the transcluded content in your directive + * then you must use this transclude function. When you call a transclude function it returns a jqLite/JQuery + * object that contains the compiled DOM, which is linked to the correct transclusion scope. + * + * When you call a transclusion function you can pass in a **clone attach function**. This function accepts + * two parameters, `function(clone, scope) { ... }`, where the `clone` is a fresh compiled copy of your transcluded + * content and the `scope` is the newly created transclusion scope, which the clone will be linked to. + * + *
    + * **Best Practice**: Always provide a `cloneFn` (clone attach function) when you call a transclude function + * since you then get a fresh clone of the original DOM and also have access to the new transclusion scope. + *
    + * + * It is normal practice to attach your transcluded content (`clone`) to the DOM inside your **clone + * attach function**: + * + * ```js + * var transcludedContent, transclusionScope; + * + * $transclude(function(clone, scope) { + * element.append(clone); + * transcludedContent = clone; + * transclusionScope = scope; + * }); + * ``` + * + * Later, if you want to remove the transcluded content from your DOM then you should also destroy the + * associated transclusion scope: + * + * ```js + * transcludedContent.remove(); + * transclusionScope.$destroy(); + * ``` + * + *
    + * **Best Practice**: if you intend to add and remove transcluded content manually in your directive + * (by calling the transclude function to get the DOM and calling `element.remove()` to remove it), + * then you are also responsible for calling `$destroy` on the transclusion scope. + *
    + * + * The built-in DOM manipulation directives, such as {@link ngIf}, {@link ngSwitch} and {@link ngRepeat} + * automatically destroy their transcluded clones as necessary so you do not need to worry about this if + * you are simply using {@link ngTransclude} to inject the transclusion into your directive. + * + * + * #### Transclusion Scopes + * + * When you call a transclude function it returns a DOM fragment that is pre-bound to a **transclusion + * scope**. This scope is special, in that it is a child of the directive's scope (and so gets destroyed + * when the directive's scope gets destroyed) but it inherits the properties of the scope from which it + * was taken. + * + * For example consider a directive that uses transclusion and isolated scope. The DOM hierarchy might look + * like this: + * + * ```html + *
    + *
    + *
    + *
    + *
    + *
    + * ``` + * + * The `$parent` scope hierarchy will look like this: + * + ``` + - $rootScope + - isolate + - transclusion + ``` + * + * but the scopes will inherit prototypically from different scopes to their `$parent`. + * + ``` + - $rootScope + - transclusion + - isolate + ``` + * * - * * ### Attributes * - * The {@link api/ng.$compile.directive.Attributes Attributes} object - passed as a parameter in the + * The {@link ng.$compile.directive.Attributes Attributes} object - passed as a parameter in the * `link()` or `compile()` functions. It has a variety of uses. * - * accessing *Normalized attribute names:* - * Directives like 'ngBind' can be expressed in many ways: 'ng:bind', `data-ng-bind`, or 'x-ng-bind'. - * the attributes object allows for normalized access to - * the attributes. + * * *Accessing normalized attribute names:* Directives like `ngBind` can be expressed in many ways: + * `ng:bind`, `data-ng-bind`, or `x-ng-bind`. The attributes object allows for normalized access + * to the attributes. * * * *Directive inter-communication:* All directives share the same instance of the attributes * object which allows the directives to use the attributes object as inter directive @@ -361,7 +829,7 @@ * the only way to easily get the actual value because during the linking phase the interpolation * hasn't been evaluated yet and so the value is at this time set to `undefined`. * - *
    + * ```js
      * function linkingFn(scope, elm, attrs, ctrl) {
      *   // get the attribute value
      *   console.log(attrs.ngModel);
    @@ -374,156 +842,677 @@
      *     console.log('ngModel has changed value to ' + value);
      *   });
      * }
    - * 
    + * ``` * - * Below is an example using `$compileProvider`. + * ## Example * *
    * **Note**: Typically directives are registered with `module.directive`. The example below is * to illustrate how `$compile` works. *
    * - - + + -
    -
    -
    +
    +
    +
    - - + + it('should auto compile', function() { - expect(element('div[compile]').text()).toBe('Hello Angular'); - input('html').enter('{{name}}!'); - expect(element('div[compile]').text()).toBe('Angular!'); + var textarea = $('textarea'); + var output = $('div[compile]'); + // The initial state reads 'Hello AngularJS'. + expect(output.getText()).toBe('Hello AngularJS'); + textarea.clear(); + textarea.sendKeys('{{name}}!'); + expect(output.getText()).toBe('AngularJS!'); }); - - + + * * * @param {string|DOMElement} element Element or HTML string to compile into a template function. - * @param {function(angular.Scope[, cloneAttachFn]} transclude function available to directives. - * @param {number} maxPriority only apply directives lower then given priority (Only effects the + * @param {function(angular.Scope, cloneAttachFn=)} transclude function available to directives - DEPRECATED. + * + *
    + * **Note:** Passing a `transclude` function to the $compile function is deprecated, as it + * e.g. will not use the right outer scope. Please pass the transclude function as a + * `parentBoundTranscludeFn` to the link function instead. + *
    + * + * @param {number} maxPriority only apply directives lower than given priority (Only effects the * root element(s), not their children) - * @returns {function(scope[, cloneAttachFn])} a link function which is used to bind template + * @returns {function(scope, cloneAttachFn=, options=)} a link function which is used to bind template * (a DOM element/tree) to a scope. Where: * * * `scope` - A {@link ng.$rootScope.Scope Scope} to bind to. * * `cloneAttachFn` - If `cloneAttachFn` is provided, then the link function will clone the * `template` and call the `cloneAttachFn` function allowing the caller to attach the * cloned elements to the DOM document at the appropriate place. The `cloneAttachFn` is - * called as:
    `cloneAttachFn(clonedElement, scope)` where: + * called as:
    `cloneAttachFn(clonedElement, scope)` where: * * * `clonedElement` - is a clone of the original `element` passed into the compiler. * * `scope` - is the current scope with which the linking function is working with. * + * * `options` - An optional object hash with linking options. If `options` is provided, then the following + * keys may be used to control linking behavior: + * + * * `parentBoundTranscludeFn` - the transclude function made available to + * directives; if given, it will be passed through to the link functions of + * directives found in `element` during compilation. + * * `transcludeControllers` - an object hash with keys that map controller names + * to a hash with the key `instance`, which maps to the controller instance; + * if given, it will make the controllers available to directives on the compileNode: + * ``` + * { + * parent: { + * instance: parentControllerInstance + * } + * } + * ``` + * * `futureParentElement` - defines the parent to which the `cloneAttachFn` will add + * the cloned elements; only needed for transcludes that are allowed to contain non HTML + * elements (e.g. SVG elements). See also the `directive.controller` property. + * * Calling the linking function returns the element of the template. It is either the original * element passed in, or the clone of the element if the `cloneAttachFn` is provided. * - * After linking the view is not updated until after a call to $digest which typically is done by - * Angular automatically. + * After linking the view is not updated until after a call to `$digest`, which typically is done by + * AngularJS automatically. * * If you need access to the bound view, there are two ways to do it: * * - If you are not asking the linking function to clone the template, create the DOM element(s) * before you send them to the compiler and keep this reference around. - *
    - *     var element = $compile('

    {{total}}

    ')(scope); - *
    + * ```js + * var element = angular.element('

    {{total}}

    '); + * $compile(element)(scope); + * ``` * * - if on the other hand, you need the element to be cloned, the view reference from the original * example would not point to the clone, but rather to the original template that was cloned. In - * this case, you can access the clone via the cloneAttachFn: - *
    - *     var templateHTML = angular.element('

    {{total}}

    '), - * scope = ....; - * - * var clonedElement = $compile(templateHTML)(scope, function(clonedElement, scope) { - * //attach the clone to DOM document at the right place + * this case, you can access the clone either via the `cloneAttachFn` or the value returned by the + * linking function: + * ```js + * var templateElement = angular.element('

    {{total}}

    '); + * var clonedElement = $compile(templateElement)(scope, function(clonedElement, scope) { + * // Attach the clone to DOM document at the right place. * }); * - * //now we have reference to the cloned DOM via `clone` - *
    + * // Now we have reference to the cloned DOM via `clonedElement`. + * // NOTE: The `clonedElement` returned by the linking function is the same as the + * // `clonedElement` passed to `cloneAttachFn`. + * ``` * * * For information on how the compiler works, see the - * {@link guide/compiler Angular HTML Compiler} section of the Developer Guide. + * {@link guide/compiler AngularJS HTML Compiler} section of the Developer Guide. + * + * @knownIssue + * + * ### Double Compilation + * + Double compilation occurs when an already compiled part of the DOM gets + compiled again. This is an undesired effect and can lead to misbehaving directives, performance issues, + and memory leaks. Refer to the Compiler Guide {@link guide/compiler#double-compilation-and-how-to-avoid-it + section on double compilation} for an in-depth explanation and ways to avoid it. + + * @knownIssue + + ### Issues with `replace: true` + * + *
    + * **Note**: {@link $compile#-replace- `replace: true`} is deprecated and not recommended to use, + * mainly due to the issues listed here. It has been completely removed in the new Angular. + *
    + * + * #### Attribute values are not merged + * + * When a `replace` directive encounters the same attribute on the original and the replace node, + * it will simply deduplicate the attribute and join the values with a space or with a `;` in case of + * the `style` attribute. + * ```html + * Original Node: + * Replace Template: + * Result: + * ``` + * + * That means attributes that contain AngularJS expressions will not be merged correctly, e.g. + * {@link ngShow} or {@link ngClass} will cause a {@link $parse} error: + * + * ```html + * Original Node: + * Replace Template: + * Result: + * ``` + * + * See issue [#5695](https://github.com/angular/angular.js/issues/5695). + * + * #### Directives are not deduplicated before compilation + * + * When the original node and the replace template declare the same directive(s), they will be + * {@link guide/compiler#double-compilation-and-how-to-avoid-it compiled twice} because the compiler + * does not deduplicate them. In many cases, this is not noticeable, but e.g. {@link ngModel} will + * attach `$formatters` and `$parsers` twice. + * + * See issue [#2573](https://github.com/angular/angular.js/issues/2573). + * + * #### `transclude: element` in the replace template root can have unexpected effects + * + * When the replace template has a directive at the root node that uses + * {@link $compile#-transclude- `transclude: element`}, e.g. + * {@link ngIf} or {@link ngRepeat}, the DOM structure or scope inheritance can be incorrect. + * See the following issues: + * + * - Incorrect scope on replaced element: + * [#9837](https://github.com/angular/angular.js/issues/9837) + * - Different DOM between `template` and `templateUrl`: + * [#10612](https://github.com/angular/angular.js/issues/14326) + * + */ + +/** + * @ngdoc directive + * @name ngProp + * @restrict A + * @element ANY + * + * @usage + * + * ```html + * + * + * ``` + * + * or with uppercase letters in property (e.g. "propName"): + * + * + * ```html + * + * + * ``` + * + * + * @description + * The `ngProp` directive binds an expression to a DOM element property. + * `ngProp` allows writing to arbitrary properties by including + * the property name in the attribute, e.g. `ng-prop-value="'my value'"` binds 'my value' to + * the `value` property. + * + * Usually, it's not necessary to write to properties in AngularJS, as the built-in directives + * handle the most common use cases (instead of the above example, you would use {@link ngValue}). + * + * However, [custom elements](https://developer.mozilla.org/docs/Web/Web_Components/Using_custom_elements) + * often use custom properties to hold data, and `ngProp` can be used to provide input to these + * custom elements. + * + * ## Binding to camelCase properties + * + * Since HTML attributes are case-insensitive, camelCase properties like `innerHTML` must be escaped. + * AngularJS uses the underscore (_) in front of a character to indicate that it is uppercase, so + * `innerHTML` must be written as `ng-prop-inner_h_t_m_l="expression"` (Note that this is just an + * example, and for binding HTML {@link ngBindHtml} should be used. + * + * ## Security + * + * Binding expressions to arbitrary properties poses a security risk, as properties like `innerHTML` + * can insert potentially dangerous HTML into the application, e.g. script tags that execute + * malicious code. + * For this reason, `ngProp` applies Strict Contextual Escaping with the {@link ng.$sce $sce service}. + * This means vulnerable properties require their content to be "trusted", based on the + * context of the property. For example, the `innerHTML` is in the `HTML` context, and the + * `iframe.src` property is in the `RESOURCE_URL` context, which requires that values written to + * this property are trusted as a `RESOURCE_URL`. + * + * This can be set explicitly by calling $sce.trustAs(type, value) on the value that is + * trusted before passing it to the `ng-prop-*` directive. There are exist shorthand methods for + * each context type in the form of {@link ng.$sce#trustAsResourceUrl $sce.trustAsResourceUrl()} et al. + * + * In some cases you can also rely upon automatic sanitization of untrusted values - see below. + * + * Based on the context, other options may exist to mark a value as trusted / configure the behavior + * of {@link ng.$sce}. For example, to restrict the `RESOURCE_URL` context to specific origins, use + * the {@link $sceDelegateProvider#trustedResourceUrlList trustedResourceUrlList()} + * and {@link $sceDelegateProvider#bannedResourceUrlList bannedResourceUrlList()}. + * + * {@link ng.$sce#what-trusted-context-types-are-supported- Find out more about the different context types}. + * + * ### HTML Sanitization + * + * By default, `$sce` will throw an error if it detects untrusted HTML content, and will not bind the + * content. + * However, if you include the {@link ngSanitize ngSanitize module}, it will try to sanitize the + * potentially dangerous HTML, e.g. strip non-trusted tags and attributes when binding to + * `innerHTML`. + * + * @example + * ### Binding to different contexts + * + * + * + * angular.module('exampleNgProp', []) + * .component('main', { + * templateUrl: 'main.html', + * controller: function($sce) { + * this.safeContent = 'Safe content'; + * this.unsafeContent = ''; + * this.trustedUnsafeContent = $sce.trustAsHtml(this.unsafeContent); + * } + * }); + * + * + *
    + *
    + * Binding to a property without security context: + *
    + * innerText (safeContent) + *
    + * + *
    + * "Safe" content that requires a security context will throw because the contents could potentially be dangerous ... + *
    + * innerHTML (safeContent) + *
    + * + *
    + * ... so that actually dangerous content cannot be executed: + *
    + * innerHTML (unsafeContent) + *
    + * + *
    + * ... but unsafe Content that has been trusted explicitly works - only do this if you are 100% sure! + *
    + * innerHTML (trustedUnsafeContent) + *
    + *
    + *
    + * + *
    + *
    + * + * .prop-unit { + * margin-bottom: 10px; + * } + * + * .prop-binding { + * min-height: 30px; + * border: 1px solid blue; + * } + * + * .prop-note { + * font-family: Monospace; + * } + * + *
    + * + * + * @example + * ### Binding to innerHTML with ngSanitize + * + * + * + * angular.module('exampleNgProp', ['ngSanitize']) + * .component('main', { + * templateUrl: 'main.html', + * controller: function($sce) { + * this.safeContent = 'Safe content'; + * this.unsafeContent = ''; + * this.trustedUnsafeContent = $sce.trustAsHtml(this.unsafeContent); + * } + * }); + * + * + *
    + *
    + * "Safe" content will be sanitized ... + *
    + * innerHTML (safeContent) + *
    + * + *
    + * ... as will dangerous content: + *
    + * innerHTML (unsafeContent) + *
    + * + *
    + * ... and content that has been trusted explicitly works the same as without ngSanitize: + *
    + * innerHTML (trustedUnsafeContent) + *
    + *
    + *
    + * + *
    + *
    + * + * .prop-unit { + * margin-bottom: 10px; + * } + * + * .prop-binding { + * min-height: 30px; + * border: 1px solid blue; + * } + * + * .prop-note { + * font-family: Monospace; + * } + * + *
    + * + */ + +/** @ngdoc directive + * @name ngOn + * @restrict A + * @element ANY + * + * @usage + * + * ```html + * + * + * ``` + * + * or with uppercase letters in property (e.g. "eventName"): + * + * + * ```html + * + * + * ``` + * + * @description + * The `ngOn` directive adds an event listener to a DOM element via + * {@link angular.element angular.element().on()}, and evaluates an expression when the event is + * fired. + * `ngOn` allows adding listeners for arbitrary events by including + * the event name in the attribute, e.g. `ng-on-drop="onDrop()"` executes the 'onDrop()' expression + * when the `drop` event is fired. + * + * AngularJS provides specific directives for many events, such as {@link ngClick}, so in most + * cases it is not necessary to use `ngOn`. However, AngularJS does not support all events + * (e.g. the `drop` event in the example above), and new events might be introduced in later DOM + * standards. + * + * Another use-case for `ngOn` is listening to + * [custom events](https://developer.mozilla.org/docs/Web/Guide/Events/Creating_and_triggering_events) + * fired by + * [custom elements](https://developer.mozilla.org/docs/Web/Web_Components/Using_custom_elements). + * + * ## Binding to camelCase properties + * + * Since HTML attributes are case-insensitive, camelCase properties like `myEvent` must be escaped. + * AngularJS uses the underscore (_) in front of a character to indicate that it is uppercase, so + * `myEvent` must be written as `ng-on-my_event="expression"`. + * + * @example + * ### Bind to built-in DOM events + * + * + * + * angular.module('exampleNgOn', []) + * .component('main', { + * templateUrl: 'main.html', + * controller: function() { + * this.clickCount = 0; + * this.mouseoverCount = 0; + * + * this.loadingState = 0; + * } + * }); + * + * + *
    + * This is equivalent to `ngClick` and `ngMouseover`:
    + *
    + * clickCount: {{$ctrl.clickCount}}
    + * mouseover: {{$ctrl.mouseoverCount}} + * + *
    + * + * For the `error` and `load` event on images no built-in AngularJS directives exist:
    + *
    + *
    + * Image is loading + * Image load error + * Image loaded successfully + *
    + *
    + *
    + * + *
    + *
    + *
    + * + * + * @example + * ### Bind to custom DOM events + * + * + * + * angular.module('exampleNgOn', []) + * .component('main', { + * templateUrl: 'main.html', + * controller: function() { + * this.eventLog = ''; + * + * this.listener = function($event) { + * this.eventLog = 'Event with type "' + $event.type + '" fired at ' + $event.detail; + * }; + * } + * }) + * .component('childComponent', { + * templateUrl: 'child.html', + * controller: function($element) { + * this.fireEvent = function() { + * var event = new CustomEvent('customtype', { detail: new Date()}); + * + * $element[0].dispatchEvent(event); + * }; + * } + * }); + * + * + *
    + * Event log: {{$ctrl.eventLog}} + *
    + * + + * + * + *
    + *
    + *
    */ var $compileMinErr = minErr('$compile'); +function UNINITIALIZED_VALUE() {} +var _UNINITIALIZED_VALUE = new UNINITIALIZED_VALUE(); + /** - * @ngdoc service - * @name ng.$compileProvider - * @function + * @ngdoc provider + * @name $compileProvider * * @description */ $CompileProvider.$inject = ['$provide', '$$sanitizeUriProvider']; +/** @this */ function $CompileProvider($provide, $$sanitizeUriProvider) { var hasDirectives = {}, Suffix = 'Directive', - COMMENT_DIRECTIVE_REGEXP = /^\s*directive\:\s*([\d\w\-_]+)\s+(.*)$/, - CLASS_DIRECTIVE_REGEXP = /(([\d\w\-_]+)(?:\:([^;]+))?;?)/; + COMMENT_DIRECTIVE_REGEXP = /^\s*directive:\s*([\w-]+)\s+(.*)$/, + CLASS_DIRECTIVE_REGEXP = /(([\w-]+)(?::([^;]+))?;?)/, + ALL_OR_NOTHING_ATTRS = makeMap('ngSrc,ngSrcset,src,srcset'), + REQUIRE_PREFIX_REGEXP = /^(?:(\^\^?)?(\?)?(\^\^?)?)?/; // Ref: http://developers.whatwg.org/webappapis.html#event-handler-idl-attributes // The assumption is that future DOM event attribute names will begin with // 'on' and be composed of only English letters. var EVENT_HANDLER_ATTR_REGEXP = /^(on[a-z]+|formaction)$/; + var bindingCache = createMap(); + + function parseIsolateBindings(scope, directiveName, isController) { + var LOCAL_REGEXP = /^([@&]|[=<](\*?))(\??)\s*([\w$]*)$/; + + var bindings = createMap(); + + forEach(scope, function(definition, scopeName) { + definition = definition.trim(); + + if (definition in bindingCache) { + bindings[scopeName] = bindingCache[definition]; + return; + } + var match = definition.match(LOCAL_REGEXP); + + if (!match) { + throw $compileMinErr('iscp', + 'Invalid {3} for directive \'{0}\'.' + + ' Definition: {... {1}: \'{2}\' ...}', + directiveName, scopeName, definition, + (isController ? 'controller bindings definition' : + 'isolate scope definition')); + } + + bindings[scopeName] = { + mode: match[1][0], + collection: match[2] === '*', + optional: match[3] === '?', + attrName: match[4] || scopeName + }; + if (match[4]) { + bindingCache[definition] = bindings[scopeName]; + } + }); + + return bindings; + } + + function parseDirectiveBindings(directive, directiveName) { + var bindings = { + isolateScope: null, + bindToController: null + }; + if (isObject(directive.scope)) { + if (directive.bindToController === true) { + bindings.bindToController = parseIsolateBindings(directive.scope, + directiveName, true); + bindings.isolateScope = {}; + } else { + bindings.isolateScope = parseIsolateBindings(directive.scope, + directiveName, false); + } + } + if (isObject(directive.bindToController)) { + bindings.bindToController = + parseIsolateBindings(directive.bindToController, directiveName, true); + } + if (bindings.bindToController && !directive.controller) { + // There is no controller + throw $compileMinErr('noctrl', + 'Cannot bind to controller without directive \'{0}\'s controller.', + directiveName); + } + return bindings; + } + + function assertValidDirectiveName(name) { + var letter = name.charAt(0); + if (!letter || letter !== lowercase(letter)) { + throw $compileMinErr('baddir', 'Directive/Component name \'{0}\' is invalid. The first character must be a lowercase letter', name); + } + if (name !== name.trim()) { + throw $compileMinErr('baddir', + 'Directive/Component name \'{0}\' is invalid. The name should not contain leading or trailing whitespaces', + name); + } + } + + function getDirectiveRequire(directive) { + var require = directive.require || (directive.controller && directive.name); + + if (!isArray(require) && isObject(require)) { + forEach(require, function(value, key) { + var match = value.match(REQUIRE_PREFIX_REGEXP); + var name = value.substring(match[0].length); + if (!name) require[key] = match[0] + key; + }); + } + + return require; + } + + function getDirectiveRestrict(restrict, name) { + if (restrict && !(isString(restrict) && /[EACM]/.test(restrict))) { + throw $compileMinErr('badrestrict', + 'Restrict property \'{0}\' of directive \'{1}\' is invalid', + restrict, + name); + } + + return restrict || 'EA'; + } /** - * @ngdoc function - * @name ng.$compileProvider#directive - * @methodOf ng.$compileProvider - * @function + * @ngdoc method + * @name $compileProvider#directive + * @kind function * * @description * Register a new directive with the compiler. * - * @param {string|Object} name Name of the directive in camel-case (i.e. ngBind which - * will match as ng-bind), or an object map of directives where the keys are the - * names and the values are the factories. - * @param {function|Array} directiveFactory An injectable directive factory function. See - * {@link guide/directive} for more info. + * @param {string|Object} name Name of the directive in camel-case (i.e. `ngBind` which will match + * as `ng-bind`), or an object map of directives where the keys are the names and the values + * are the factories. + * @param {Function|Array} directiveFactory An injectable directive factory function. See the + * {@link guide/directive directive guide} and the {@link $compile compile API} for more info. * @returns {ng.$compileProvider} Self for chaining. */ - this.directive = function registerDirective(name, directiveFactory) { + this.directive = function registerDirective(name, directiveFactory) { + assertArg(name, 'name'); assertNotHasOwnProperty(name, 'directive'); if (isString(name)) { + assertValidDirectiveName(name); assertArg(directiveFactory, 'directiveFactory'); if (!hasDirectives.hasOwnProperty(name)) { hasDirectives[name] = []; @@ -541,8 +1530,9 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { directive.priority = directive.priority || 0; directive.index = index; directive.name = directive.name || name; - directive.require = directive.require || (directive.controller && directive.name); - directive.restrict = directive.restrict || 'A'; + directive.require = getDirectiveRequire(directive); + directive.restrict = getDirectiveRestrict(directive.restrict, name); + directive.$$moduleName = directiveFactory.$$moduleName; directives.push(directive); } catch (e) { $exceptionHandler(e); @@ -555,91 +1545,629 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { } else { forEach(name, reverseParams(registerDirective)); } - return this; + return this; + }; + + /** + * @ngdoc method + * @name $compileProvider#component + * @module ng + * @param {string|Object} name Name of the component in camelCase (i.e. `myComp` which will match ``), + * or an object map of components where the keys are the names and the values are the component definition objects. + * @param {Object} options Component definition object (a simplified + * {@link ng.$compile#directive-definition-object directive definition object}), + * with the following properties (all optional): + * + * - `controller` – `{(string|function()=}` – controller constructor function that should be + * associated with newly created scope or the name of a {@link ng.$compile#-controller- + * registered controller} if passed as a string. An empty `noop` function by default. + * - `controllerAs` – `{string=}` – identifier name for to reference the controller in the component's scope. + * If present, the controller will be published to scope under the `controllerAs` name. + * If not present, this will default to be `$ctrl`. + * - `template` – `{string=|function()=}` – html template as a string or a function that + * returns an html template as a string which should be used as the contents of this component. + * Empty string by default. + * + * If `template` is a function, then it is {@link auto.$injector#invoke injected} with + * the following locals: + * + * - `$element` - Current element + * - `$attrs` - Current attributes object for the element + * + * - `templateUrl` – `{string=|function()=}` – path or function that returns a path to an html + * template that should be used as the contents of this component. + * + * If `templateUrl` is a function, then it is {@link auto.$injector#invoke injected} with + * the following locals: + * + * - `$element` - Current element + * - `$attrs` - Current attributes object for the element + * + * - `bindings` – `{object=}` – defines bindings between DOM attributes and component properties. + * Component properties are always bound to the component controller and not to the scope. + * See {@link ng.$compile#-bindtocontroller- `bindToController`}. + * - `transclude` – `{boolean=}` – whether {@link $compile#transclusion content transclusion} is enabled. + * Disabled by default. + * - `require` - `{Object=}` - requires the controllers of other directives and binds them to + * this component's controller. The object keys specify the property names under which the required + * controllers (object values) will be bound. See {@link ng.$compile#-require- `require`}. + * - `$...` – additional properties to attach to the directive factory function and the controller + * constructor function. (This is used by the component router to annotate) + * + * @returns {ng.$compileProvider} the compile provider itself, for chaining of function calls. + * @description + * Register a **component definition** with the compiler. This is a shorthand for registering a special + * type of directive, which represents a self-contained UI component in your application. Such components + * are always isolated (i.e. `scope: {}`) and are always restricted to elements (i.e. `restrict: 'E'`). + * + * Component definitions are very simple and do not require as much configuration as defining general + * directives. Component definitions usually consist only of a template and a controller backing it. + * + * In order to make the definition easier, components enforce best practices like use of `controllerAs`, + * `bindToController`. They always have **isolate scope** and are restricted to elements. + * + * Here are a few examples of how you would usually define components: + * + * ```js + * var myMod = angular.module(...); + * myMod.component('myComp', { + * template: '
    My name is {{$ctrl.name}}
    ', + * controller: function() { + * this.name = 'shahar'; + * } + * }); + * + * myMod.component('myComp', { + * template: '
    My name is {{$ctrl.name}}
    ', + * bindings: {name: '@'} + * }); + * + * myMod.component('myComp', { + * templateUrl: 'views/my-comp.html', + * controller: 'MyCtrl', + * controllerAs: 'ctrl', + * bindings: {name: '@'} + * }); + * + * ``` + * For more examples, and an in-depth guide, see the {@link guide/component component guide}. + * + *
    + * See also {@link ng.$compileProvider#directive $compileProvider.directive()}. + */ + this.component = function registerComponent(name, options) { + if (!isString(name)) { + forEach(name, reverseParams(bind(this, registerComponent))); + return this; + } + + var controller = options.controller || function() {}; + + function factory($injector) { + function makeInjectable(fn) { + if (isFunction(fn) || isArray(fn)) { + return /** @this */ function(tElement, tAttrs) { + return $injector.invoke(fn, this, {$element: tElement, $attrs: tAttrs}); + }; + } else { + return fn; + } + } + + var template = (!options.template && !options.templateUrl ? '' : options.template); + var ddo = { + controller: controller, + controllerAs: identifierForController(options.controller) || options.controllerAs || '$ctrl', + template: makeInjectable(template), + templateUrl: makeInjectable(options.templateUrl), + transclude: options.transclude, + scope: {}, + bindToController: options.bindings || {}, + restrict: 'E', + require: options.require + }; + + // Copy annotations (starting with $) over to the DDO + forEach(options, function(val, key) { + if (key.charAt(0) === '$') ddo[key] = val; + }); + + return ddo; + } + + // TODO(pete) remove the following `forEach` before we release 1.6.0 + // The component-router@0.2.0 looks for the annotations on the controller constructor + // Nothing in AngularJS looks for annotations on the factory function but we can't remove + // it from 1.5.x yet. + + // Copy any annotation properties (starting with $) over to the factory and controller constructor functions + // These could be used by libraries such as the new component router + forEach(options, function(val, key) { + if (key.charAt(0) === '$') { + factory[key] = val; + // Don't try to copy over annotations to named controller + if (isFunction(controller)) controller[key] = val; + } + }); + + factory.$inject = ['$injector']; + + return this.directive(name, factory); + }; + + + /** + * @ngdoc method + * @name $compileProvider#aHrefSanitizationTrustedUrlList + * @kind function + * + * @description + * Retrieves or overrides the default regular expression that is used for determining trusted safe + * urls during a[href] sanitization. + * + * The sanitization is a security measure aimed at preventing XSS attacks via html links. + * + * Any url about to be assigned to a[href] via data-binding is first normalized and turned into + * an absolute url. Afterwards, the url is matched against the `aHrefSanitizationTrustedUrlList` + * regular expression. If a match is found, the original url is written into the dom. Otherwise, + * the absolute url is prefixed with `'unsafe:'` string and only then is it written into the DOM. + * + * @param {RegExp=} regexp New regexp to trust urls with. + * @returns {RegExp|ng.$compileProvider} Current RegExp if called without value or self for + * chaining otherwise. + */ + this.aHrefSanitizationTrustedUrlList = function(regexp) { + if (isDefined(regexp)) { + $$sanitizeUriProvider.aHrefSanitizationTrustedUrlList(regexp); + return this; + } else { + return $$sanitizeUriProvider.aHrefSanitizationTrustedUrlList(); + } + }; + + + /** + * @ngdoc method + * @name $compileProvider#aHrefSanitizationWhitelist + * @kind function + * + * @deprecated + * sinceVersion="1.8.1" + * + * This method is deprecated. Use {@link $compileProvider#aHrefSanitizationTrustedUrlList + * aHrefSanitizationTrustedUrlList} instead. + */ + Object.defineProperty(this, 'aHrefSanitizationWhitelist', { + get: function() { + return this.aHrefSanitizationTrustedUrlList; + }, + set: function(value) { + this.aHrefSanitizationTrustedUrlList = value; + } + }); + + + /** + * @ngdoc method + * @name $compileProvider#imgSrcSanitizationTrustedUrlList + * @kind function + * + * @description + * Retrieves or overrides the default regular expression that is used for determining trusted safe + * urls during img[src] sanitization. + * + * The sanitization is a security measure aimed at prevent XSS attacks via html links. + * + * Any url about to be assigned to img[src] via data-binding is first normalized and turned into + * an absolute url. Afterwards, the url is matched against the `imgSrcSanitizationTrustedUrlList` + * regular expression. If a match is found, the original url is written into the dom. Otherwise, + * the absolute url is prefixed with `'unsafe:'` string and only then is it written into the DOM. + * + * @param {RegExp=} regexp New regexp to trust urls with. + * @returns {RegExp|ng.$compileProvider} Current RegExp if called without value or self for + * chaining otherwise. + */ + this.imgSrcSanitizationTrustedUrlList = function(regexp) { + if (isDefined(regexp)) { + $$sanitizeUriProvider.imgSrcSanitizationTrustedUrlList(regexp); + return this; + } else { + return $$sanitizeUriProvider.imgSrcSanitizationTrustedUrlList(); + } + }; + + + /** + * @ngdoc method + * @name $compileProvider#imgSrcSanitizationWhitelist + * @kind function + * + * @deprecated + * sinceVersion="1.8.1" + * + * This method is deprecated. Use {@link $compileProvider#imgSrcSanitizationTrustedUrlList + * imgSrcSanitizationTrustedUrlList} instead. + */ + Object.defineProperty(this, 'imgSrcSanitizationWhitelist', { + get: function() { + return this.imgSrcSanitizationTrustedUrlList; + }, + set: function(value) { + this.imgSrcSanitizationTrustedUrlList = value; + } + }); + + /** + * @ngdoc method + * @name $compileProvider#debugInfoEnabled + * + * @param {boolean=} enabled update the debugInfoEnabled state if provided, otherwise just return the + * current debugInfoEnabled state + * @returns {*} current value if used as getter or itself (chaining) if used as setter + * + * @kind function + * + * @description + * Call this method to enable/disable various debug runtime information in the compiler such as adding + * binding information and a reference to the current scope on to DOM elements. + * If enabled, the compiler will add the following to DOM elements that have been bound to the scope + * * `ng-binding` CSS class + * * `ng-scope` and `ng-isolated-scope` CSS classes + * * `$binding` data property containing an array of the binding expressions + * * Data properties used by the {@link angular.element#methods `scope()`/`isolateScope()` methods} to return + * the element's scope. + * * Placeholder comments will contain information about what directive and binding caused the placeholder. + * E.g. ``. + * + * You may want to disable this in production for a significant performance boost. See + * {@link guide/production#disabling-debug-data Disabling Debug Data} for more. + * + * The default value is true. + */ + var debugInfoEnabled = true; + this.debugInfoEnabled = function(enabled) { + if (isDefined(enabled)) { + debugInfoEnabled = enabled; + return this; + } + return debugInfoEnabled; + }; + + /** + * @ngdoc method + * @name $compileProvider#strictComponentBindingsEnabled + * + * @param {boolean=} enabled update the strictComponentBindingsEnabled state if provided, + * otherwise return the current strictComponentBindingsEnabled state. + * @returns {*} current value if used as getter or itself (chaining) if used as setter + * + * @kind function + * + * @description + * Call this method to enable / disable the strict component bindings check. If enabled, the + * compiler will enforce that all scope / controller bindings of a + * {@link $compileProvider#directive directive} / {@link $compileProvider#component component} + * that are not set as optional with `?`, must be provided when the directive is instantiated. + * If not provided, the compiler will throw the + * {@link error/$compile/missingattr $compile:missingattr error}. + * + * The default value is false. + */ + var strictComponentBindingsEnabled = false; + this.strictComponentBindingsEnabled = function(enabled) { + if (isDefined(enabled)) { + strictComponentBindingsEnabled = enabled; + return this; + } + return strictComponentBindingsEnabled; + }; + + var TTL = 10; + /** + * @ngdoc method + * @name $compileProvider#onChangesTtl + * @description + * + * Sets the number of times `$onChanges` hooks can trigger new changes before giving up and + * assuming that the model is unstable. + * + * The current default is 10 iterations. + * + * In complex applications it's possible that dependencies between `$onChanges` hooks and bindings will result + * in several iterations of calls to these hooks. However if an application needs more than the default 10 + * iterations to stabilize then you should investigate what is causing the model to continuously change during + * the `$onChanges` hook execution. + * + * Increasing the TTL could have performance implications, so you should not change it without proper justification. + * + * @param {number} limit The number of `$onChanges` hook iterations. + * @returns {number|object} the current limit (or `this` if called as a setter for chaining) + */ + this.onChangesTtl = function(value) { + if (arguments.length) { + TTL = value; + return this; + } + return TTL; + }; + + var commentDirectivesEnabledConfig = true; + /** + * @ngdoc method + * @name $compileProvider#commentDirectivesEnabled + * @description + * + * It indicates to the compiler + * whether or not directives on comments should be compiled. + * Defaults to `true`. + * + * Calling this function with false disables the compilation of directives + * on comments for the whole application. + * This results in a compilation performance gain, + * as the compiler doesn't have to check comments when looking for directives. + * This should however only be used if you are sure that no comment directives are used in + * the application (including any 3rd party directives). + * + * @param {boolean} enabled `false` if the compiler may ignore directives on comments + * @returns {boolean|object} the current value (or `this` if called as a setter for chaining) + */ + this.commentDirectivesEnabled = function(value) { + if (arguments.length) { + commentDirectivesEnabledConfig = value; + return this; + } + return commentDirectivesEnabledConfig; }; + var cssClassDirectivesEnabledConfig = true; /** - * @ngdoc function - * @name ng.$compileProvider#aHrefSanitizationWhitelist - * @methodOf ng.$compileProvider - * @function - * + * @ngdoc method + * @name $compileProvider#cssClassDirectivesEnabled * @description - * Retrieves or overrides the default regular expression that is used for whitelisting of safe - * urls during a[href] sanitization. * - * The sanitization is a security measure aimed at prevent XSS attacks via html links. + * It indicates to the compiler + * whether or not directives on element classes should be compiled. + * Defaults to `true`. * - * Any url about to be assigned to a[href] via data-binding is first normalized and turned into - * an absolute url. Afterwards, the url is matched against the `aHrefSanitizationWhitelist` - * regular expression. If a match is found, the original url is written into the dom. Otherwise, - * the absolute url is prefixed with `'unsafe:'` string and only then is it written into the DOM. + * Calling this function with false disables the compilation of directives + * on element classes for the whole application. + * This results in a compilation performance gain, + * as the compiler doesn't have to check element classes when looking for directives. + * This should however only be used if you are sure that no class directives are used in + * the application (including any 3rd party directives). * - * @param {RegExp=} regexp New regexp to whitelist urls with. - * @returns {RegExp|ng.$compileProvider} Current RegExp if called without value or self for - * chaining otherwise. + * @param {boolean} enabled `false` if the compiler may ignore directives on element classes + * @returns {boolean|object} the current value (or `this` if called as a setter for chaining) */ - this.aHrefSanitizationWhitelist = function(regexp) { - if (isDefined(regexp)) { - $$sanitizeUriProvider.aHrefSanitizationWhitelist(regexp); + this.cssClassDirectivesEnabled = function(value) { + if (arguments.length) { + cssClassDirectivesEnabledConfig = value; return this; - } else { - return $$sanitizeUriProvider.aHrefSanitizationWhitelist(); } + return cssClassDirectivesEnabledConfig; }; /** - * @ngdoc function - * @name ng.$compileProvider#imgSrcSanitizationWhitelist - * @methodOf ng.$compileProvider - * @function - * + * The security context of DOM Properties. + * @private + */ + var PROP_CONTEXTS = createMap(); + + /** + * @ngdoc method + * @name $compileProvider#addPropertySecurityContext * @description - * Retrieves or overrides the default regular expression that is used for whitelisting of safe - * urls during img[src] sanitization. - * - * The sanitization is a security measure aimed at prevent XSS attacks via html links. * - * Any url about to be assigned to img[src] via data-binding is first normalized and turned into - * an absolute url. Afterwards, the url is matched against the `imgSrcSanitizationWhitelist` - * regular expression. If a match is found, the original url is written into the dom. Otherwise, - * the absolute url is prefixed with `'unsafe:'` string and only then is it written into the DOM. + * Defines the security context for DOM properties bound by ng-prop-*. * - * @param {RegExp=} regexp New regexp to whitelist urls with. - * @returns {RegExp|ng.$compileProvider} Current RegExp if called without value or self for - * chaining otherwise. + * @param {string} elementName The element name or '*' to match any element. + * @param {string} propertyName The DOM property name. + * @param {string} ctx The {@link $sce} security context in which this value is safe for use, e.g. `$sce.URL` + * @returns {object} `this` for chaining */ - this.imgSrcSanitizationWhitelist = function(regexp) { - if (isDefined(regexp)) { - $$sanitizeUriProvider.imgSrcSanitizationWhitelist(regexp); - return this; - } else { - return $$sanitizeUriProvider.imgSrcSanitizationWhitelist(); + this.addPropertySecurityContext = function(elementName, propertyName, ctx) { + var key = (elementName.toLowerCase() + '|' + propertyName.toLowerCase()); + + if (key in PROP_CONTEXTS && PROP_CONTEXTS[key] !== ctx) { + throw $compileMinErr('ctxoverride', 'Property context \'{0}.{1}\' already set to \'{2}\', cannot override to \'{3}\'.', elementName, propertyName, PROP_CONTEXTS[key], ctx); } + + PROP_CONTEXTS[key] = ctx; + return this; }; + /* Default property contexts. + * + * Copy of https://github.com/angular/angular/blob/6.0.6/packages/compiler/src/schema/dom_security_schema.ts#L31-L58 + * Changing: + * - SecurityContext.* => SCE_CONTEXTS/$sce.* + * - STYLE => CSS + * - various URL => MEDIA_URL + * - *|formAction, form|action URL => RESOURCE_URL (like the attribute) + */ + (function registerNativePropertyContexts() { + function registerContext(ctx, values) { + forEach(values, function(v) { PROP_CONTEXTS[v.toLowerCase()] = ctx; }); + } + + registerContext(SCE_CONTEXTS.HTML, [ + 'iframe|srcdoc', + '*|innerHTML', + '*|outerHTML' + ]); + registerContext(SCE_CONTEXTS.CSS, ['*|style']); + registerContext(SCE_CONTEXTS.URL, [ + 'area|href', 'area|ping', + 'a|href', 'a|ping', + 'blockquote|cite', + 'body|background', + 'del|cite', + 'input|src', + 'ins|cite', + 'q|cite' + ]); + registerContext(SCE_CONTEXTS.MEDIA_URL, [ + 'audio|src', + 'img|src', 'img|srcset', + 'source|src', 'source|srcset', + 'track|src', + 'video|src', 'video|poster' + ]); + registerContext(SCE_CONTEXTS.RESOURCE_URL, [ + '*|formAction', + 'applet|code', 'applet|codebase', + 'base|href', + 'embed|src', + 'frame|src', + 'form|action', + 'head|profile', + 'html|manifest', + 'iframe|src', + 'link|href', + 'media|src', + 'object|codebase', 'object|data', + 'script|src' + ]); + })(); + + this.$get = [ - '$injector', '$interpolate', '$exceptionHandler', '$http', '$templateCache', '$parse', - '$controller', '$rootScope', '$document', '$sce', '$animate', '$$sanitizeUri', - function($injector, $interpolate, $exceptionHandler, $http, $templateCache, $parse, - $controller, $rootScope, $document, $sce, $animate, $$sanitizeUri) { + '$injector', '$interpolate', '$exceptionHandler', '$templateRequest', '$parse', + '$controller', '$rootScope', '$sce', '$animate', + function($injector, $interpolate, $exceptionHandler, $templateRequest, $parse, + $controller, $rootScope, $sce, $animate) { + + var SIMPLE_ATTR_NAME = /^\w/; + var specialAttrHolder = window.document.createElement('div'); + + + var commentDirectivesEnabled = commentDirectivesEnabledConfig; + var cssClassDirectivesEnabled = cssClassDirectivesEnabledConfig; + + + var onChangesTtl = TTL; + // The onChanges hooks should all be run together in a single digest + // When changes occur, the call to trigger their hooks will be added to this queue + var onChangesQueue; + + // This function is called in a $$postDigest to trigger all the onChanges hooks in a single digest + function flushOnChangesQueue() { + try { + if (!(--onChangesTtl)) { + // We have hit the TTL limit so reset everything + onChangesQueue = undefined; + throw $compileMinErr('infchng', '{0} $onChanges() iterations reached. Aborting!\n', TTL); + } + // We must run this hook in an apply since the $$postDigest runs outside apply + $rootScope.$apply(function() { + for (var i = 0, ii = onChangesQueue.length; i < ii; ++i) { + try { + onChangesQueue[i](); + } catch (e) { + $exceptionHandler(e); + } + } + // Reset the queue to trigger a new schedule next time there is a change + onChangesQueue = undefined; + }); + } finally { + onChangesTtl++; + } + } + + + function sanitizeSrcset(value, invokeType) { + if (!value) { + return value; + } + if (!isString(value)) { + throw $compileMinErr('srcset', 'Can\'t pass trusted values to `{0}`: "{1}"', invokeType, value.toString()); + } + + // Such values are a bit too complex to handle automatically inside $sce. + // Instead, we sanitize each of the URIs individually, which works, even dynamically. + + // It's not possible to work around this using `$sce.trustAsMediaUrl`. + // If you want to programmatically set explicitly trusted unsafe URLs, you should use + // `$sce.trustAsHtml` on the whole `img` tag and inject it into the DOM using the + // `ng-bind-html` directive. + + var result = ''; + + // first check if there are spaces because it's not the same pattern + var trimmedSrcset = trim(value); + // ( 999x ,| 999w ,| ,|, ) + var srcPattern = /(\s+\d+x\s*,|\s+\d+w\s*,|\s+,|,\s+)/; + var pattern = /\s/.test(trimmedSrcset) ? srcPattern : /(,)/; + + // split srcset into tuple of uri and descriptor except for the last item + var rawUris = trimmedSrcset.split(pattern); + + // for each tuples + var nbrUrisWith2parts = Math.floor(rawUris.length / 2); + for (var i = 0; i < nbrUrisWith2parts; i++) { + var innerIdx = i * 2; + // sanitize the uri + result += $sce.getTrustedMediaUrl(trim(rawUris[innerIdx])); + // add the descriptor + result += ' ' + trim(rawUris[innerIdx + 1]); + } + + // split the last item into uri and descriptor + var lastTuple = trim(rawUris[i * 2]).split(/\s/); + + // sanitize the last uri + result += $sce.getTrustedMediaUrl(trim(lastTuple[0])); + + // and add the last descriptor if any + if (lastTuple.length === 2) { + result += (' ' + trim(lastTuple[1])); + } + return result; + } + + + function Attributes(element, attributesToCopy) { + if (attributesToCopy) { + var keys = Object.keys(attributesToCopy); + var i, l, key; + + for (i = 0, l = keys.length; i < l; i++) { + key = keys[i]; + this[key] = attributesToCopy[key]; + } + } else { + this.$attr = {}; + } - var Attributes = function(element, attr) { this.$$element = element; - this.$attr = attr || {}; - }; + } Attributes.prototype = { + /** + * @ngdoc method + * @name $compile.directive.Attributes#$normalize + * @kind function + * + * @description + * Converts an attribute name (e.g. dash/colon/underscore-delimited string, optionally prefixed with `x-` or + * `data-`) to its normalized, camelCase form. + * + * Also there is special case for Moz prefix starting with upper case letter. + * + * For further information check out the guide on {@link guide/directive#matching-directives Matching Directives} + * + * @param {string} name Name to normalize + */ $normalize: directiveNormalize, /** - * @ngdoc function - * @name ng.$compile.directive.Attributes#$addClass - * @methodOf ng.$compile.directive.Attributes - * @function + * @ngdoc method + * @name $compile.directive.Attributes#$addClass + * @kind function * * @description * Adds the CSS class value specified by the classVal parameter to the element. If animations @@ -647,17 +2175,16 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { * * @param {string} classVal The className value that will be added to the element */ - $addClass : function(classVal) { - if(classVal && classVal.length > 0) { + $addClass: function(classVal) { + if (classVal && classVal.length > 0) { $animate.addClass(this.$$element, classVal); } }, /** - * @ngdoc function - * @name ng.$compile.directive.Attributes#$removeClass - * @methodOf ng.$compile.directive.Attributes - * @function + * @ngdoc method + * @name $compile.directive.Attributes#$removeClass + * @kind function * * @description * Removes the CSS class value specified by the classVal parameter from the element. If @@ -665,17 +2192,16 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { * * @param {string} classVal The className value that will be removed from the element */ - $removeClass : function(classVal) { - if(classVal && classVal.length > 0) { + $removeClass: function(classVal) { + if (classVal && classVal.length > 0) { $animate.removeClass(this.$$element, classVal); } }, /** - * @ngdoc function - * @name ng.$compile.directive.Attributes#$updateClass - * @methodOf ng.$compile.directive.Attributes - * @function + * @ngdoc method + * @name $compile.directive.Attributes#$updateClass + * @kind function * * @description * Adds and removes the appropriate CSS class values to the element based on the difference @@ -684,9 +2210,16 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { * @param {string} newClasses The current CSS className value * @param {string} oldClasses The former CSS className value */ - $updateClass : function(newClasses, oldClasses) { - this.$removeClass(tokenDifference(oldClasses, newClasses)); - this.$addClass(tokenDifference(newClasses, oldClasses)); + $updateClass: function(newClasses, oldClasses) { + var toAdd = tokenDifference(newClasses, oldClasses); + if (toAdd && toAdd.length) { + $animate.addClass(this.$$element, toAdd); + } + + var toRemove = tokenDifference(oldClasses, newClasses); + if (toRemove && toRemove.length) { + $animate.removeClass(this.$$element, toRemove); + } }, /** @@ -700,16 +2233,21 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { */ $set: function(key, value, writeAttr, attrName) { // TODO: decide whether or not to throw an error if "class" - //is set through this function since it may cause $updateClass to - //become unstable. + // is set through this function since it may cause $updateClass to + // become unstable. - var booleanKey = getBooleanAttrName(this.$$element[0], key), - normalizedVal, + var node = this.$$element[0], + booleanKey = getBooleanAttrName(node, key), + aliasedKey = getAliasedAttrName(key), + observer = key, nodeName; if (booleanKey) { this.$$element.prop(key, value); attrName = booleanKey; + } else if (aliasedKey) { + this[aliasedKey] = value; + observer = aliasedKey; } this[key] = value; @@ -726,37 +2264,50 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { nodeName = nodeName_(this.$$element); - // sanitize a[href] and img[src] values - if ((nodeName === 'A' && key === 'href') || - (nodeName === 'IMG' && key === 'src')) { - this[key] = value = $$sanitizeUri(value, key === 'src'); + // Sanitize img[srcset] values. + if (nodeName === 'img' && key === 'srcset') { + this[key] = value = sanitizeSrcset(value, '$set(\'srcset\', value)'); } if (writeAttr !== false) { - if (value === null || value === undefined) { + if (value === null || isUndefined(value)) { this.$$element.removeAttr(attrName); } else { - this.$$element.attr(attrName, value); + if (SIMPLE_ATTR_NAME.test(attrName)) { + // jQuery skips special boolean attrs treatment in XML nodes for + // historical reasons and hence AngularJS cannot freely call + // `.attr(attrName, false) with such attributes. To avoid issues + // in XHTML, call `removeAttr` in such cases instead. + // See https://github.com/jquery/jquery/issues/4249 + if (booleanKey && value === false) { + this.$$element.removeAttr(attrName); + } else { + this.$$element.attr(attrName, value); + } + } else { + setSpecialAttr(this.$$element[0], attrName, value); + } } } // fire observers var $$observers = this.$$observers; - $$observers && forEach($$observers[key], function(fn) { - try { - fn(value); - } catch (e) { - $exceptionHandler(e); - } - }); + if ($$observers) { + forEach($$observers[observer], function(fn) { + try { + fn(value); + } catch (e) { + $exceptionHandler(e); + } + }); + } }, /** - * @ngdoc function - * @name ng.$compile.directive.Attributes#$observe - * @methodOf ng.$compile.directive.Attributes - * @function + * @ngdoc method + * @name $compile.directive.Attributes#$observe + * @kind function * * @description * Observes an interpolated attribute. @@ -768,34 +2319,95 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { * @param {string} key Normalized key. (ie ngAttribute) . * @param {function(interpolatedValue)} fn Function that will be called whenever the interpolated value of the attribute changes. - * See the {@link guide/directive#Attributes Directives} guide for more info. - * @returns {function()} the `fn` parameter. + * See the {@link guide/interpolation#how-text-and-attribute-bindings-work Interpolation + * guide} for more info. + * @returns {function()} Returns a deregistration function for this observer. */ $observe: function(key, fn) { var attrs = this, - $$observers = (attrs.$$observers || (attrs.$$observers = {})), + $$observers = (attrs.$$observers || (attrs.$$observers = createMap())), listeners = ($$observers[key] || ($$observers[key] = [])); listeners.push(fn); $rootScope.$evalAsync(function() { - if (!listeners.$$inter) { + if (!listeners.$$inter && attrs.hasOwnProperty(key) && !isUndefined(attrs[key])) { // no one registered attribute interpolation function, so lets call it manually fn(attrs[key]); } }); - return fn; + + return function() { + arrayRemove(listeners, fn); + }; } }; + function setSpecialAttr(element, attrName, value) { + // Attributes names that do not start with letters (such as `(click)`) cannot be set using `setAttribute` + // so we have to jump through some hoops to get such an attribute + // https://github.com/angular/angular.js/pull/13318 + specialAttrHolder.innerHTML = ''; + var attributes = specialAttrHolder.firstChild.attributes; + var attribute = attributes[0]; + // We have to remove the attribute from its container element before we can add it to the destination element + attributes.removeNamedItem(attribute.name); + attribute.value = value; + element.attributes.setNamedItem(attribute); + } + + function safeAddClass($element, className) { + try { + $element.addClass(className); + } catch (e) { + // ignore, since it means that we are trying to set class on + // SVG element, where class name is read-only. + } + } + + var startSymbol = $interpolate.startSymbol(), endSymbol = $interpolate.endSymbol(), - denormalizeTemplate = (startSymbol == '{{' || endSymbol == '}}') + denormalizeTemplate = (startSymbol === '{{' && endSymbol === '}}') ? identity : function denormalizeTemplate(template) { return template.replace(/\{\{/g, startSymbol).replace(/}}/g, endSymbol); }, - NG_ATTR_BINDING = /^ngAttr[A-Z]/; + NG_PREFIX_BINDING = /^ng(Attr|Prop|On)([A-Z].*)$/; + var MULTI_ELEMENT_DIR_RE = /^(.+)Start$/; + + compile.$$addBindingInfo = debugInfoEnabled ? function $$addBindingInfo($element, binding) { + var bindings = $element.data('$binding') || []; + + if (isArray(binding)) { + bindings = bindings.concat(binding); + } else { + bindings.push(binding); + } + + $element.data('$binding', bindings); + } : noop; + compile.$$addBindingClass = debugInfoEnabled ? function $$addBindingClass($element) { + safeAddClass($element, 'ng-binding'); + } : noop; + + compile.$$addScopeInfo = debugInfoEnabled ? function $$addScopeInfo($element, scope, isolated, noTemplate) { + var dataName = isolated ? (noTemplate ? '$isolateScopeNoTemplate' : '$isolateScope') : '$scope'; + $element.data(dataName, scope); + } : noop; + + compile.$$addScopeClass = debugInfoEnabled ? function $$addScopeClass($element, isolated) { + safeAddClass($element, isolated ? 'ng-isolate-scope' : 'ng-scope'); + } : noop; + + compile.$$createComment = function(directiveName, comment) { + var content = ''; + if (debugInfoEnabled) { + content = ' ' + (directiveName || '') + ': '; + if (comment) content += comment + ' '; + } + return window.document.createComment(content); + }; return compile; @@ -808,48 +2420,84 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { // modify it. $compileNodes = jqLite($compileNodes); } - // We can not compile top level text elements since text nodes can be merged and we will - // not be able to attach scope data to them, so we will wrap them in - forEach($compileNodes, function(node, index){ - if (node.nodeType == 3 /* text node */ && node.nodeValue.match(/\S+/) /* non-empty */ ) { - $compileNodes[index] = node = jqLite(node).wrap('').parent()[0]; - } - }); var compositeLinkFn = compileNodes($compileNodes, transcludeFn, $compileNodes, maxPriority, ignoreDirective, previousCompileContext); - return function publicLinkFn(scope, cloneConnectFn, transcludeControllers){ + compile.$$addScopeClass($compileNodes); + var namespace = null; + return function publicLinkFn(scope, cloneConnectFn, options) { + if (!$compileNodes) { + throw $compileMinErr('multilink', 'This element has already been linked.'); + } assertArg(scope, 'scope'); - // important!!: we must call our jqLite.clone() since the jQuery one is trying to be smart - // and sometimes changes the structure of the DOM. - var $linkNode = cloneConnectFn - ? JQLitePrototype.clone.call($compileNodes) // IMPORTANT!!! - : $compileNodes; - - forEach(transcludeControllers, function(instance, name) { - $linkNode.data('$' + name + 'Controller', instance); - }); - // Attach scope only to non-text nodes. - for(var i = 0, ii = $linkNode.length; i
    ').append($compileNodes).html()) + ); + } else if (cloneConnectFn) { + // important!!: we must call our jqLite.clone() since the jQuery one is trying to be smart + // and sometimes changes the structure of the DOM. + $linkNode = JQLitePrototype.clone.call($compileNodes); + } else { + $linkNode = $compileNodes; + } + + if (transcludeControllers) { + for (var controllerName in transcludeControllers) { + $linkNode.data('$' + controllerName + 'Controller', transcludeControllers[controllerName].instance); } } - safeAddClass($linkNode, 'ng-scope'); + + compile.$$addScopeInfo($linkNode, scope); + if (cloneConnectFn) cloneConnectFn($linkNode, scope); - if (compositeLinkFn) compositeLinkFn(scope, $linkNode, $linkNode); + if (compositeLinkFn) compositeLinkFn(scope, $linkNode, $linkNode, parentBoundTranscludeFn); + + if (!cloneConnectFn) { + $compileNodes = compositeLinkFn = null; + } return $linkNode; }; } - function safeAddClass($element, className) { - try { - $element.addClass(className); - } catch(e) { - // ignore, since it means that we are trying to set class on - // SVG element, where class name is read-only. + function detectNamespaceForChildElements(parentElement) { + // TODO: Make this detect MathML as well... + var node = parentElement && parentElement[0]; + if (!node) { + return 'html'; + } else { + return nodeName_(node) !== 'foreignobject' && toString.call(node).match(/SVG/) ? 'svg' : 'html'; } } @@ -860,23 +2508,34 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { * function, which is the a linking function for the node. * * @param {NodeList} nodeList an array of nodes or NodeList to compile - * @param {function(angular.Scope[, cloneAttachFn]} transcludeFn A linking function, where the + * @param {function(angular.Scope, cloneAttachFn=)} transcludeFn A linking function, where the * scope argument is auto-generated to the new child of the transcluded parent scope. * @param {DOMElement=} $rootElement If the nodeList is the root of the compilation tree then * the rootElement must be set the jqLite collection of the compile root. This is * needed so that the jqLite collection items can be replaced with widgets. - * @param {number=} max directive priority - * @returns {?function} A composite linking function of all of the matched directives or null. + * @param {number=} maxPriority Max directive priority. + * @returns {Function} A composite linking function of all of the matched directives or null. */ function compileNodes(nodeList, transcludeFn, $rootElement, maxPriority, ignoreDirective, previousCompileContext) { var linkFns = [], - nodeLinkFn, childLinkFn, directives, attrs, linkFnFound; + // `nodeList` can be either an element's `.childNodes` (live NodeList) + // or a jqLite/jQuery collection or an array + notLiveList = isArray(nodeList) || (nodeList instanceof jqLite), + attrs, directives, nodeLinkFn, childNodes, childLinkFn, linkFnFound, nodeLinkFnFound; - for(var i = 0; i < nodeList.length; i++) { + + for (var i = 0; i < nodeList.length; i++) { attrs = new Attributes(); - // we must always refer to nodeList[i] since the nodes can be replaced underneath us. + // Support: IE 11 only + // Workaround for #11781 and #14924 + if (msie === 11) { + mergeConsecutiveTextNodes(nodeList, i, notLiveList); + } + + // We must always refer to `nodeList[i]` hereafter, + // since the nodes can be replaced underneath us. directives = collectDirectives(nodeList[i], [], attrs, i === 0 ? maxPriority : undefined, ignoreDirective); @@ -885,16 +2544,25 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { null, [], [], previousCompileContext) : null; + if (nodeLinkFn && nodeLinkFn.scope) { + compile.$$addScopeClass(attrs.$$element); + } + childLinkFn = (nodeLinkFn && nodeLinkFn.terminal || - !nodeList[i].childNodes || - !nodeList[i].childNodes.length) + !(childNodes = nodeList[i].childNodes) || + !childNodes.length) ? null - : compileNodes(nodeList[i].childNodes, - nodeLinkFn ? nodeLinkFn.transclude : transcludeFn); + : compileNodes(childNodes, + nodeLinkFn ? ( + (nodeLinkFn.transcludeOnThisElement || !nodeLinkFn.templateOnThisElement) + && nodeLinkFn.transclude) : transcludeFn); + + if (nodeLinkFn || childLinkFn) { + linkFns.push(i, nodeLinkFn, childLinkFn); + linkFnFound = true; + nodeLinkFnFound = nodeLinkFnFound || nodeLinkFn; + } - linkFns.push(nodeLinkFn); - linkFns.push(childLinkFn); - linkFnFound = (linkFnFound || nodeLinkFn || childLinkFn); //use the previous context only for the first element in the virtual group previousCompileContext = null; } @@ -902,60 +2570,115 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { // return a linking function if we have found anything, null otherwise return linkFnFound ? compositeLinkFn : null; - function compositeLinkFn(scope, nodeList, $rootElement, boundTranscludeFn) { - var nodeLinkFn, childLinkFn, node, $node, childScope, childTranscludeFn, i, ii, n; + function compositeLinkFn(scope, nodeList, $rootElement, parentBoundTranscludeFn) { + var nodeLinkFn, childLinkFn, node, childScope, i, ii, idx, childBoundTranscludeFn; + var stableNodeList; + + + if (nodeLinkFnFound) { + // copy nodeList so that if a nodeLinkFn removes or adds an element at this DOM level our + // offsets don't get screwed up + var nodeListLength = nodeList.length; + stableNodeList = new Array(nodeListLength); - // copy nodeList so that linking doesn't break due to live list updates. - var stableNodeList = []; - for (i = 0, ii = nodeList.length; i < ii; i++) { - stableNodeList.push(nodeList[i]); + // create a sparse array by only copying the elements which have a linkFn + for (i = 0; i < linkFns.length; i += 3) { + idx = linkFns[i]; + stableNodeList[idx] = nodeList[idx]; + } + } else { + stableNodeList = nodeList; } - for(i = 0, n = 0, ii = linkFns.length; i < ii; n++) { - node = stableNodeList[n]; + for (i = 0, ii = linkFns.length; i < ii;) { + node = stableNodeList[linkFns[i++]]; nodeLinkFn = linkFns[i++]; childLinkFn = linkFns[i++]; - $node = jqLite(node); if (nodeLinkFn) { if (nodeLinkFn.scope) { childScope = scope.$new(); - $node.data('$scope', childScope); - safeAddClass($node, 'ng-scope'); + compile.$$addScopeInfo(jqLite(node), childScope); } else { childScope = scope; } - childTranscludeFn = nodeLinkFn.transclude; - if (childTranscludeFn || (!boundTranscludeFn && transcludeFn)) { - nodeLinkFn(childLinkFn, childScope, node, $rootElement, - createBoundTranscludeFn(scope, childTranscludeFn || transcludeFn) - ); + + if (nodeLinkFn.transcludeOnThisElement) { + childBoundTranscludeFn = createBoundTranscludeFn( + scope, nodeLinkFn.transclude, parentBoundTranscludeFn); + + } else if (!nodeLinkFn.templateOnThisElement && parentBoundTranscludeFn) { + childBoundTranscludeFn = parentBoundTranscludeFn; + + } else if (!parentBoundTranscludeFn && transcludeFn) { + childBoundTranscludeFn = createBoundTranscludeFn(scope, transcludeFn); + } else { - nodeLinkFn(childLinkFn, childScope, node, undefined, boundTranscludeFn); + childBoundTranscludeFn = null; } + + nodeLinkFn(childLinkFn, childScope, node, $rootElement, childBoundTranscludeFn); + } else if (childLinkFn) { - childLinkFn(scope, node.childNodes, undefined, boundTranscludeFn); + childLinkFn(scope, node.childNodes, undefined, parentBoundTranscludeFn); } } } } - function createBoundTranscludeFn(scope, transcludeFn) { - return function boundTranscludeFn(transcludedScope, cloneFn, controllers) { - var scopeCreated = false; + function mergeConsecutiveTextNodes(nodeList, idx, notLiveList) { + var node = nodeList[idx]; + var parent = node.parentNode; + var sibling; + + if (node.nodeType !== NODE_TYPE_TEXT) { + return; + } + + while (true) { + sibling = parent ? node.nextSibling : nodeList[idx + 1]; + if (!sibling || sibling.nodeType !== NODE_TYPE_TEXT) { + break; + } + + node.nodeValue = node.nodeValue + sibling.nodeValue; + + if (sibling.parentNode) { + sibling.parentNode.removeChild(sibling); + } + if (notLiveList && sibling === nodeList[idx + 1]) { + nodeList.splice(idx + 1, 1); + } + } + } + + function createBoundTranscludeFn(scope, transcludeFn, previousBoundTranscludeFn) { + function boundTranscludeFn(transcludedScope, cloneFn, controllers, futureParentElement, containingScope) { if (!transcludedScope) { - transcludedScope = scope.$new(); + transcludedScope = scope.$new(false, containingScope); transcludedScope.$$transcluded = true; - scopeCreated = true; } - var clone = transcludeFn(transcludedScope, cloneFn, controllers); - if (scopeCreated) { - clone.on('$destroy', bind(transcludedScope, transcludedScope.$destroy)); + return transcludeFn(transcludedScope, cloneFn, { + parentBoundTranscludeFn: previousBoundTranscludeFn, + transcludeControllers: controllers, + futureParentElement: futureParentElement + }); + } + + // We need to attach the transclusion slots onto the `boundTranscludeFn` + // so that they are available inside the `controllersBoundTransclude` function + var boundSlots = boundTranscludeFn.$$slots = createMap(); + for (var slotName in transcludeFn.$$slots) { + if (transcludeFn.$$slots[slotName]) { + boundSlots[slotName] = createBoundTranscludeFn(scope, transcludeFn.$$slots[slotName], previousBoundTranscludeFn); + } else { + boundSlots[slotName] = null; } - return clone; - }; + } + + return boundTranscludeFn; } /** @@ -972,54 +2695,96 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { var nodeType = node.nodeType, attrsMap = attrs.$attr, match, + nodeName, className; - switch(nodeType) { - case 1: /* Element */ + switch (nodeType) { + case NODE_TYPE_ELEMENT: /* Element */ + + nodeName = nodeName_(node); + // use the node name: addDirective(directives, - directiveNormalize(nodeName_(node).toLowerCase()), 'E', maxPriority, ignoreDirective); + directiveNormalize(nodeName), 'E', maxPriority, ignoreDirective); // iterate over the attributes - for (var attr, name, nName, ngAttrName, value, nAttrs = node.attributes, + for (var attr, name, nName, value, ngPrefixMatch, nAttrs = node.attributes, j = 0, jj = nAttrs && nAttrs.length; j < jj; j++) { var attrStartName = false; var attrEndName = false; + var isNgAttr = false, isNgProp = false, isNgEvent = false; + var multiElementMatch; + attr = nAttrs[j]; - if (!msie || msie >= 8 || attr.specified) { - name = attr.name; - // support ngAttr attribute binding - ngAttrName = directiveNormalize(name); - if (NG_ATTR_BINDING.test(ngAttrName)) { - name = snake_case(ngAttrName.substr(6), '-'); - } + name = attr.name; + value = attr.value; + + nName = directiveNormalize(name.toLowerCase()); + + // Support ng-attr-*, ng-prop-* and ng-on-* + if ((ngPrefixMatch = nName.match(NG_PREFIX_BINDING))) { + isNgAttr = ngPrefixMatch[1] === 'Attr'; + isNgProp = ngPrefixMatch[1] === 'Prop'; + isNgEvent = ngPrefixMatch[1] === 'On'; + + // Normalize the non-prefixed name + name = name.replace(PREFIX_REGEXP, '') + .toLowerCase() + .substr(4 + ngPrefixMatch[1].length).replace(/_(.)/g, function(match, letter) { + return letter.toUpperCase(); + }); - var directiveNName = ngAttrName.replace(/(Start|End)$/, ''); - if (ngAttrName === directiveNName + 'Start') { - attrStartName = name; - attrEndName = name.substr(0, name.length - 5) + 'end'; - name = name.substr(0, name.length - 6); - } + // Support *-start / *-end multi element directives + } else if ((multiElementMatch = nName.match(MULTI_ELEMENT_DIR_RE)) && directiveIsMultiElement(multiElementMatch[1])) { + attrStartName = name; + attrEndName = name.substr(0, name.length - 5) + 'end'; + name = name.substr(0, name.length - 6); + } + if (isNgProp || isNgEvent) { + attrs[nName] = value; + attrsMap[nName] = attr.name; + + if (isNgProp) { + addPropertyDirective(node, directives, nName, name); + } else { + addEventDirective(directives, nName, name); + } + } else { + // Update nName for cases where a prefix was removed + // NOTE: the .toLowerCase() is unnecessary and causes https://github.com/angular/angular.js/issues/16624 for ng-attr-* nName = directiveNormalize(name.toLowerCase()); attrsMap[nName] = name; - attrs[nName] = value = trim((msie && name == 'href') - ? decodeURIComponent(node.getAttribute(name, 2)) - : attr.value); - if (getBooleanAttrName(node, nName)) { - attrs[nName] = true; // presence means true + + if (isNgAttr || !attrs.hasOwnProperty(nName)) { + attrs[nName] = value; + if (getBooleanAttrName(node, nName)) { + attrs[nName] = true; // presence means true + } } - addAttrInterpolateDirective(node, directives, value, nName); + + addAttrInterpolateDirective(node, directives, value, nName, isNgAttr); addDirective(directives, nName, 'A', maxPriority, ignoreDirective, attrStartName, attrEndName); } } + if (nodeName === 'input' && node.getAttribute('type') === 'hidden') { + // Hidden input elements can have strange behaviour when navigating back to the page + // This tells the browser not to try to cache and reinstate previous values + node.setAttribute('autocomplete', 'off'); + } + // use class as directive + if (!cssClassDirectivesEnabled) break; className = node.className; + if (isObject(className)) { + // Maybe SVGAnimatedString + className = className.animVal; + } if (isString(className) && className !== '') { - while (match = CLASS_DIRECTIVE_REGEXP.exec(className)) { + while ((match = CLASS_DIRECTIVE_REGEXP.exec(className))) { nName = directiveNormalize(match[2]); if (addDirective(directives, nName, 'C', maxPriority, ignoreDirective)) { attrs[nName] = trim(match[3]); @@ -1028,23 +2793,12 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { } } break; - case 3: /* Text Node */ + case NODE_TYPE_TEXT: /* Text Node */ addTextInterpolateDirective(directives, node.nodeValue); break; - case 8: /* Comment */ - try { - match = COMMENT_DIRECTIVE_REGEXP.exec(node.nodeValue); - if (match) { - nName = directiveNormalize(match[1]); - if (addDirective(directives, nName, 'M', maxPriority, ignoreDirective)) { - attrs[nName] = trim(match[2]); - } - } - } catch (e) { - // turns out that under some circumstances IE9 throws errors when one attempts to read - // comment's node value. - // Just ignore it and continue. (Can't seem to reproduce in test case.) - } + case NODE_TYPE_COMMENT: /* Comment */ + if (!commentDirectivesEnabled) break; + collectCommentDirectives(node, directives, attrs, maxPriority, ignoreDirective); break; } @@ -1052,8 +2806,26 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { return directives; } + function collectCommentDirectives(node, directives, attrs, maxPriority, ignoreDirective) { + // function created because of performance, try/catch disables + // the optimization of the whole function #14848 + try { + var match = COMMENT_DIRECTIVE_REGEXP.exec(node.nodeValue); + if (match) { + var nName = directiveNormalize(match[1]); + if (addDirective(directives, nName, 'M', maxPriority, ignoreDirective)) { + attrs[nName] = trim(match[2]); + } + } + } catch (e) { + // turns out that under some circumstances IE9 throws errors when one attempts to read + // comment's node value. + // Just ignore it and continue. (Can't seem to reproduce in test case.) + } + } + /** - * Given a node with an directive-start it collects all of the siblings until it finds + * Given a node with a directive-start it collects all of the siblings until it finds * directive-end. * @param node * @param attrStart @@ -1064,14 +2836,13 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { var nodes = []; var depth = 0; if (attrStart && node.hasAttribute && node.hasAttribute(attrStart)) { - var startNode = node; do { if (!node) { throw $compileMinErr('uterdir', - "Unterminated attribute, found '{0}' but no matching '{1}' found.", + 'Unterminated attribute, found \'{0}\' but no matching \'{1}\' found.', attrStart, attrEnd); } - if (node.nodeType == 1 /** Element **/) { + if (node.nodeType === NODE_TYPE_ELEMENT) { if (node.hasAttribute(attrStart)) depth++; if (node.hasAttribute(attrEnd)) depth--; } @@ -1094,12 +2865,41 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { * @returns {Function} */ function groupElementsLinkFnWrapper(linkFn, attrStart, attrEnd) { - return function(scope, element, attrs, controllers, transcludeFn) { + return function groupedElementsLink(scope, element, attrs, controllers, transcludeFn) { element = groupScan(element[0], attrStart, attrEnd); return linkFn(scope, element, attrs, controllers, transcludeFn); }; } + /** + * A function generator that is used to support both eager and lazy compilation + * linking function. + * @param eager + * @param $compileNodes + * @param transcludeFn + * @param maxPriority + * @param ignoreDirective + * @param previousCompileContext + * @returns {Function} + */ + function compilationGenerator(eager, $compileNodes, transcludeFn, maxPriority, ignoreDirective, previousCompileContext) { + var compiled; + + if (eager) { + return compile($compileNodes, transcludeFn, maxPriority, ignoreDirective, previousCompileContext); + } + return /** @this */ function lazyCompilation() { + if (!compiled) { + compiled = compile($compileNodes, transcludeFn, maxPriority, ignoreDirective, previousCompileContext); + + // Null out all of these references in order to make them eligible for garbage collection + // since this is a potentially long lived closure + $compileNodes = transcludeFn = previousCompileContext = null; + } + return compiled.apply(this, arguments); + }; + } + /** * Once the directives have been collected, their compile functions are executed. This method * is responsible for inlining directive templates as well as terminating the application @@ -1109,7 +2909,7 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { * this needs to be pre-sorted by priority order. * @param {Node} compileNode The raw DOM node to apply the compile functions to * @param {Object} templateAttrs The shared attribute function - * @param {function(angular.Scope[, cloneAttachFn]} transcludeFn A linking function, where the + * @param {function(angular.Scope, cloneAttachFn=)} transcludeFn A linking function, where the * scope argument is auto-generated to the new * child of the transcluded parent scope. * @param {JQLite} jqCollection If we are working on the root of the compile tree then this @@ -1121,7 +2921,7 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { * @param {Array.} postLinkFns * @param {Object} previousCompileContext Context used for previous compilation of the current * node - * @returns linkFn + * @returns {Function} linkFn */ function applyDirectivesToNode(directives, compileNode, templateAttrs, transcludeFn, jqCollection, originalReplaceDirective, preLinkFns, postLinkFns, @@ -1129,13 +2929,14 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { previousCompileContext = previousCompileContext || {}; var terminalPriority = -Number.MAX_VALUE, - newScopeDirective, + newScopeDirective = previousCompileContext.newScopeDirective, controllerDirectives = previousCompileContext.controllerDirectives, newIsolateScopeDirective = previousCompileContext.newIsolateScopeDirective, templateDirective = previousCompileContext.templateDirective, nonTlbTranscludeDirective = previousCompileContext.nonTlbTranscludeDirective, hasTranscludeDirective = false, - hasElementTranscludeDirective = false, + hasTemplate = false, + hasElementTranscludeDirective = previousCompileContext.hasElementTranscludeDirective, $compileNode = templateAttrs.$$element = jqLite(compileNode), directive, directiveName, @@ -1143,10 +2944,12 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { replaceDirective = originalReplaceDirective, childTranscludeFn = transcludeFn, linkFn, + didScanForMultipleTransclusion = false, + mightHaveMultipleTransclusionError = false, directiveValue; // executes all directives on the current element - for(var i = 0, ii = directives.length; i < ii; i++) { + for (var i = 0, ii = directives.length; i < ii; i++) { directive = directives[i]; var attrStart = directive.$$start; var attrEnd = directive.$$end; @@ -1161,70 +2964,165 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { break; // prevent further processing of directives } - if (directiveValue = directive.scope) { - newScopeDirective = newScopeDirective || directive; + directiveValue = directive.scope; + + if (directiveValue) { // skip the check for directives with async templates, we'll check the derived sync // directive when the template arrives if (!directive.templateUrl) { - assertNoDuplicate('new/isolated scope', newIsolateScopeDirective, directive, - $compileNode); if (isObject(directiveValue)) { + // This directive is trying to add an isolated scope. + // Check that there is no scope of any kind already + assertNoDuplicate('new/isolated scope', newIsolateScopeDirective || newScopeDirective, + directive, $compileNode); newIsolateScopeDirective = directive; + } else { + // This directive is trying to add a child scope. + // Check that there is no isolated scope already + assertNoDuplicate('new/isolated scope', newIsolateScopeDirective, directive, + $compileNode); } } + + newScopeDirective = newScopeDirective || directive; } directiveName = directive.name; + // If we encounter a condition that can result in transclusion on the directive, + // then scan ahead in the remaining directives for others that may cause a multiple + // transclusion error to be thrown during the compilation process. If a matching directive + // is found, then we know that when we encounter a transcluded directive, we need to eagerly + // compile the `transclude` function rather than doing it lazily in order to throw + // exceptions at the correct time + if (!didScanForMultipleTransclusion && ((directive.replace && (directive.templateUrl || directive.template)) + || (directive.transclude && !directive.$$tlb))) { + var candidateDirective; + + for (var scanningIndex = i + 1; (candidateDirective = directives[scanningIndex++]);) { + if ((candidateDirective.transclude && !candidateDirective.$$tlb) + || (candidateDirective.replace && (candidateDirective.templateUrl || candidateDirective.template))) { + mightHaveMultipleTransclusionError = true; + break; + } + } + + didScanForMultipleTransclusion = true; + } + if (!directive.templateUrl && directive.controller) { - directiveValue = directive.controller; - controllerDirectives = controllerDirectives || {}; - assertNoDuplicate("'" + directiveName + "' controller", + controllerDirectives = controllerDirectives || createMap(); + assertNoDuplicate('\'' + directiveName + '\' controller', controllerDirectives[directiveName], directive, $compileNode); controllerDirectives[directiveName] = directive; } - if (directiveValue = directive.transclude) { + directiveValue = directive.transclude; + + if (directiveValue) { hasTranscludeDirective = true; // Special case ngIf and ngRepeat so that we don't complain about duplicate transclusion. - // This option should only be used by directives that know how to how to safely handle element transclusion, + // This option should only be used by directives that know how to safely handle element transclusion, // where the transcluded nodes are added or replaced after linking. if (!directive.$$tlb) { assertNoDuplicate('transclusion', nonTlbTranscludeDirective, directive, $compileNode); nonTlbTranscludeDirective = directive; } - if (directiveValue == 'element') { + if (directiveValue === 'element') { hasElementTranscludeDirective = true; terminalPriority = directive.priority; - $template = groupScan(compileNode, attrStart, attrEnd); + $template = $compileNode; $compileNode = templateAttrs.$$element = - jqLite(document.createComment(' ' + directiveName + ': ' + - templateAttrs[directiveName] + ' ')); + jqLite(compile.$$createComment(directiveName, templateAttrs[directiveName])); compileNode = $compileNode[0]; - replaceWith(jqCollection, jqLite(sliceArgs($template)), compileNode); + replaceWith(jqCollection, sliceArgs($template), compileNode); + + childTranscludeFn = compilationGenerator(mightHaveMultipleTransclusionError, $template, transcludeFn, terminalPriority, + replaceDirective && replaceDirective.name, { + // Don't pass in: + // - controllerDirectives - otherwise we'll create duplicates controllers + // - newIsolateScopeDirective or templateDirective - combining templates with + // element transclusion doesn't make sense. + // + // We need only nonTlbTranscludeDirective so that we prevent putting transclusion + // on the same element more than once. + nonTlbTranscludeDirective: nonTlbTranscludeDirective + }); + } else { + + var slots = createMap(); + + if (!isObject(directiveValue)) { + $template = jqLite(jqLiteClone(compileNode)).contents(); + } else { + + // We have transclusion slots, + // collect them up, compile them and store their transclusion functions + $template = window.document.createDocumentFragment(); + + var slotMap = createMap(); + var filledSlots = createMap(); + + // Parse the element selectors + forEach(directiveValue, function(elementSelector, slotName) { + // If an element selector starts with a ? then it is optional + var optional = (elementSelector.charAt(0) === '?'); + elementSelector = optional ? elementSelector.substring(1) : elementSelector; + + slotMap[elementSelector] = slotName; + + // We explicitly assign `null` since this implies that a slot was defined but not filled. + // Later when calling boundTransclusion functions with a slot name we only error if the + // slot is `undefined` + slots[slotName] = null; + + // filledSlots contains `true` for all slots that are either optional or have been + // filled. This is used to check that we have not missed any required slots + filledSlots[slotName] = optional; + }); + + // Add the matching elements into their slot + forEach($compileNode.contents(), function(node) { + var slotName = slotMap[directiveNormalize(nodeName_(node))]; + if (slotName) { + filledSlots[slotName] = true; + slots[slotName] = slots[slotName] || window.document.createDocumentFragment(); + slots[slotName].appendChild(node); + } else { + $template.appendChild(node); + } + }); + + // Check for required slots that were not filled + forEach(filledSlots, function(filled, slotName) { + if (!filled) { + throw $compileMinErr('reqslot', 'Required transclusion slot `{0}` was not filled.', slotName); + } + }); + + for (var slotName in slots) { + if (slots[slotName]) { + // Only define a transclusion function if the slot was filled + var slotCompileNodes = jqLite(slots[slotName].childNodes); + slots[slotName] = compilationGenerator(mightHaveMultipleTransclusionError, slotCompileNodes, transcludeFn); + } + } - childTranscludeFn = compile($template, transcludeFn, terminalPriority, - replaceDirective && replaceDirective.name, { - // Don't pass in: - // - controllerDirectives - otherwise we'll create duplicates controllers - // - newIsolateScopeDirective or templateDirective - combining templates with - // element transclusion doesn't make sense. - // - // We need only nonTlbTranscludeDirective so that we prevent putting transclusion - // on the same element more than once. - nonTlbTranscludeDirective: nonTlbTranscludeDirective - }); - } else { - $template = jqLite(jqLiteClone(compileNode)).contents(); - $compileNode.html(''); // clear contents - childTranscludeFn = compile($template, transcludeFn); + $template = jqLite($template.childNodes); + } + + $compileNode.empty(); // clear contents + childTranscludeFn = compilationGenerator(mightHaveMultipleTransclusionError, $template, transcludeFn, undefined, + undefined, { needsNewScope: directive.$$isolateScope || directive.$$newScope}); + childTranscludeFn.$$slots = slots; } } if (directive.template) { + hasTemplate = true; assertNoDuplicate('template', templateDirective, directive, $compileNode); templateDirective = directive; @@ -1236,14 +3134,16 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { if (directive.replace) { replaceDirective = directive; - $template = jqLite('
    ' + - trim(directiveValue) + - '
    ').contents(); + if (jqLiteIsTextNode(directiveValue)) { + $template = []; + } else { + $template = removeComments(wrapTemplate(directive.templateNamespace, trim(directiveValue))); + } compileNode = $template[0]; - if ($template.length != 1 || compileNode.nodeType !== 1) { + if ($template.length !== 1 || compileNode.nodeType !== NODE_TYPE_ELEMENT) { throw $compileMinErr('tplrt', - "Template for directive '{0}' must have exactly one root element. {1}", + 'Template for directive \'{0}\' must have exactly one root element. {1}', directiveName, ''); } @@ -1259,8 +3159,11 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { var templateDirectives = collectDirectives(compileNode, [], newTemplateAttrs); var unprocessedDirectives = directives.splice(i + 1, directives.length - (i + 1)); - if (newIsolateScopeDirective) { - markDirectivesAsIsolate(templateDirectives); + if (newIsolateScopeDirective || newScopeDirective) { + // The original directive caused the current element to be replaced but this element + // also needs to have a new scope, so we need to tell the template directives + // that they would need to get their scope from further up, if they require transclusion + markDirectiveScope(templateDirectives, newIsolateScopeDirective, newScopeDirective); } directives = directives.concat(templateDirectives).concat(unprocessedDirectives); mergeTemplateAttributes(templateAttrs, newTemplateAttrs); @@ -1272,6 +3175,7 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { } if (directive.templateUrl) { + hasTemplate = true; assertNoDuplicate('template', templateDirective, directive, $compileNode); templateDirective = directive; @@ -1279,9 +3183,11 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { replaceDirective = directive; } + // eslint-disable-next-line no-func-assign nodeLinkFn = compileTemplateUrl(directives.splice(i, directives.length - i), $compileNode, - templateAttrs, jqCollection, childTranscludeFn, preLinkFns, postLinkFns, { + templateAttrs, jqCollection, hasTranscludeDirective && childTranscludeFn, preLinkFns, postLinkFns, { controllerDirectives: controllerDirectives, + newScopeDirective: (newScopeDirective !== directive) && newScopeDirective, newIsolateScopeDirective: newIsolateScopeDirective, templateDirective: templateDirective, nonTlbTranscludeDirective: nonTlbTranscludeDirective @@ -1290,10 +3196,11 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { } else if (directive.compile) { try { linkFn = directive.compile($compileNode, templateAttrs, childTranscludeFn); + var context = directive.$$originalDirective || directive; if (isFunction(linkFn)) { - addLinkFns(null, linkFn, attrStart, attrEnd); + addLinkFns(null, bind(context, linkFn), attrStart, attrEnd); } else if (linkFn) { - addLinkFns(linkFn.pre, linkFn.post, attrStart, attrEnd); + addLinkFns(bind(context, linkFn.pre), bind(context, linkFn.post), attrStart, attrEnd); } } catch (e) { $exceptionHandler(e, startingTag($compileNode)); @@ -1308,7 +3215,11 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { } nodeLinkFn.scope = newScopeDirective && newScopeDirective.scope === true; - nodeLinkFn.transclude = hasTranscludeDirective && childTranscludeFn; + nodeLinkFn.transcludeOnThisElement = hasTranscludeDirective; + nodeLinkFn.templateOnThisElement = hasTemplate; + nodeLinkFn.transclude = childTranscludeFn; + + previousCompileContext.hasElementTranscludeDirective = hasElementTranscludeDirective; // might be normal or delayed nodeLinkFn depending on if templateUrl is present return nodeLinkFn; @@ -1319,6 +3230,7 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { if (pre) { if (attrStart) pre = groupElementsLinkFnWrapper(pre, attrStart, attrEnd); pre.require = directive.require; + pre.directiveName = directiveName; if (newIsolateScopeDirective === directive || directive.$$isolateScope) { pre = cloneAndAnnotateFn(pre, {isolateScope: true}); } @@ -1327,6 +3239,7 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { if (post) { if (attrStart) post = groupElementsLinkFnWrapper(post, attrStart, attrEnd); post.require = directive.require; + post.directiveName = directiveName; if (newIsolateScopeDirective === directive || directive.$$isolateScope) { post = cloneAndAnnotateFn(post, {isolateScope: true}); } @@ -1334,176 +3247,113 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { } } - - function getControllers(require, $element, elementControllers) { - var value, retrievalMethod = 'data', optional = false; - if (isString(require)) { - while((value = require.charAt(0)) == '^' || value == '?') { - require = require.substr(1); - if (value == '^') { - retrievalMethod = 'inheritedData'; - } - optional = optional || value == '?'; - } - value = null; - - if (elementControllers && retrievalMethod === 'data') { - value = elementControllers[require]; - } - value = value || $element[retrievalMethod]('$' + require + 'Controller'); - - if (!value && !optional) { - throw $compileMinErr('ctreq', - "Controller '{0}', required by directive '{1}', can't be found!", - require, directiveName); - } - return value; - } else if (isArray(require)) { - value = []; - forEach(require, function(require) { - value.push(getControllers(require, $element, elementControllers)); - }); - } - return value; - } - - function nodeLinkFn(childLinkFn, scope, linkNode, $rootElement, boundTranscludeFn) { - var attrs, $element, i, ii, linkFn, controller, isolateScope, elementControllers = {}, transcludeFn; + var i, ii, linkFn, isolateScope, controllerScope, elementControllers, transcludeFn, $element, + attrs, scopeBindingInfo; if (compileNode === linkNode) { attrs = templateAttrs; + $element = templateAttrs.$$element; } else { - attrs = shallowCopy(templateAttrs, new Attributes(jqLite(linkNode), templateAttrs.$attr)); + $element = jqLite(linkNode); + attrs = new Attributes($element, templateAttrs); } - $element = attrs.$$element; + controllerScope = scope; if (newIsolateScopeDirective) { - var LOCAL_REGEXP = /^\s*([@=&])(\??)\s*(\w*)\s*$/; - var $linkNode = jqLite(linkNode); - isolateScope = scope.$new(true); + } else if (newScopeDirective) { + controllerScope = scope.$parent; + } - if (templateDirective && (templateDirective === newIsolateScopeDirective.$$originalDirective)) { - $linkNode.data('$isolateScope', isolateScope) ; - } else { - $linkNode.data('$isolateScopeNoTemplate', isolateScope); - } - - - - safeAddClass($linkNode, 'ng-isolate-scope'); + if (boundTranscludeFn) { + // track `boundTranscludeFn` so it can be unwrapped if `transcludeFn` + // is later passed as `parentBoundTranscludeFn` to `publicLinkFn` + transcludeFn = controllersBoundTransclude; + transcludeFn.$$boundTransclude = boundTranscludeFn; + // expose the slots on the `$transclude` function + transcludeFn.isSlotFilled = function(slotName) { + return !!boundTranscludeFn.$$slots[slotName]; + }; + } - forEach(newIsolateScopeDirective.scope, function(definition, scopeName) { - var match = definition.match(LOCAL_REGEXP) || [], - attrName = match[3] || scopeName, - optional = (match[2] == '?'), - mode = match[1], // @, =, or & - lastValue, - parentGet, parentSet; + if (controllerDirectives) { + elementControllers = setupControllers($element, attrs, transcludeFn, controllerDirectives, isolateScope, scope, newIsolateScopeDirective); + } - isolateScope.$$isolateBindings[scopeName] = mode + attrName; + if (newIsolateScopeDirective) { + // Initialize isolate scope bindings for new isolate scope directive. + compile.$$addScopeInfo($element, isolateScope, true, !(templateDirective && (templateDirective === newIsolateScopeDirective || + templateDirective === newIsolateScopeDirective.$$originalDirective))); + compile.$$addScopeClass($element, true); + isolateScope.$$isolateBindings = + newIsolateScopeDirective.$$isolateBindings; + scopeBindingInfo = initializeDirectiveBindings(scope, attrs, isolateScope, + isolateScope.$$isolateBindings, + newIsolateScopeDirective); + if (scopeBindingInfo.removeWatches) { + isolateScope.$on('$destroy', scopeBindingInfo.removeWatches); + } + } - switch (mode) { + // Initialize bindToController bindings + for (var name in elementControllers) { + var controllerDirective = controllerDirectives[name]; + var controller = elementControllers[name]; + var bindings = controllerDirective.$$bindings.bindToController; - case '@': - attrs.$observe(attrName, function(value) { - isolateScope[scopeName] = value; - }); - attrs.$$observers[attrName].$$scope = scope; - if( attrs[attrName] ) { - // If the attribute has been provided then we trigger an interpolation to ensure - // the value is there for use in the link fn - isolateScope[scopeName] = $interpolate(attrs[attrName])(scope); - } - break; + controller.instance = controller(); + $element.data('$' + controllerDirective.name + 'Controller', controller.instance); + controller.bindingInfo = + initializeDirectiveBindings(controllerScope, attrs, controller.instance, bindings, controllerDirective); + } - case '=': - if (optional && !attrs[attrName]) { - return; - } - parentGet = $parse(attrs[attrName]); - parentSet = parentGet.assign || function() { - // reset the change, or we will throw this exception on every $digest - lastValue = isolateScope[scopeName] = parentGet(scope); - throw $compileMinErr('nonassign', - "Expression '{0}' used with directive '{1}' is non-assignable!", - attrs[attrName], newIsolateScopeDirective.name); - }; - lastValue = isolateScope[scopeName] = parentGet(scope); - isolateScope.$watch(function parentValueWatch() { - var parentValue = parentGet(scope); - - if (parentValue !== isolateScope[scopeName]) { - // we are out of sync and need to copy - if (parentValue !== lastValue) { - // parent changed and it has precedence - lastValue = isolateScope[scopeName] = parentValue; - } else { - // if the parent can be assigned then do so - parentSet(scope, parentValue = lastValue = isolateScope[scopeName]); - } - } - return parentValue; - }); - break; - - case '&': - parentGet = $parse(attrs[attrName]); - isolateScope[scopeName] = function(locals) { - return parentGet(scope, locals); - }; - break; - - default: - throw $compileMinErr('iscp', - "Invalid isolate scope definition for directive '{0}'." + - " Definition: {... {1}: '{2}' ...}", - newIsolateScopeDirective.name, scopeName, definition); - } - }); - } - transcludeFn = boundTranscludeFn && controllersBoundTransclude; - if (controllerDirectives) { - forEach(controllerDirectives, function(directive) { - var locals = { - $scope: directive === newIsolateScopeDirective || directive.$$isolateScope ? isolateScope : scope, - $element: $element, - $attrs: attrs, - $transclude: transcludeFn - }, controllerInstance; - - controller = directive.controller; - if (controller == '@') { - controller = attrs[directive.name]; - } + // Bind the required controllers to the controller, if `require` is an object and `bindToController` is truthy + forEach(controllerDirectives, function(controllerDirective, name) { + var require = controllerDirective.require; + if (controllerDirective.bindToController && !isArray(require) && isObject(require)) { + extend(elementControllers[name].instance, getControllers(name, require, $element, elementControllers)); + } + }); - controllerInstance = $controller(controller, locals); - // For directives with element transclusion the element is a comment, - // but jQuery .data doesn't support attaching data to comment nodes as it's hard to - // clean up (http://bugs.jquery.com/ticket/8335). - // Instead, we save the controllers for the element in a local hash and attach to .data - // later, once we have the actual element. - elementControllers[directive.name] = controllerInstance; - if (!hasElementTranscludeDirective) { - $element.data('$' + directive.name + 'Controller', controllerInstance); + // Handle the init and destroy lifecycle hooks on all controllers that have them + forEach(elementControllers, function(controller) { + var controllerInstance = controller.instance; + if (isFunction(controllerInstance.$onChanges)) { + try { + controllerInstance.$onChanges(controller.bindingInfo.initialChanges); + } catch (e) { + $exceptionHandler(e); } - - if (directive.controllerAs) { - locals.$scope[directive.controllerAs] = controllerInstance; + } + if (isFunction(controllerInstance.$onInit)) { + try { + controllerInstance.$onInit(); + } catch (e) { + $exceptionHandler(e); } - }); - } + } + if (isFunction(controllerInstance.$doCheck)) { + controllerScope.$watch(function() { controllerInstance.$doCheck(); }); + controllerInstance.$doCheck(); + } + if (isFunction(controllerInstance.$onDestroy)) { + controllerScope.$on('$destroy', function callOnDestroyHook() { + controllerInstance.$onDestroy(); + }); + } + }); // PRELINKING - for(i = 0, ii = preLinkFns.length; i < ii; i++) { - try { - linkFn = preLinkFns[i]; - linkFn(linkFn.isolateScope ? isolateScope : scope, $element, attrs, - linkFn.require && getControllers(linkFn.require, $element, elementControllers), transcludeFn); - } catch (e) { - $exceptionHandler(e, startingTag($element)); - } + for (i = 0, ii = preLinkFns.length; i < ii; i++) { + linkFn = preLinkFns[i]; + invokeLinkFn(linkFn, + linkFn.isolateScope ? isolateScope : scope, + $element, + attrs, + linkFn.require && getControllers(linkFn.directiveName, linkFn.require, $element, elementControllers), + transcludeFn + ); } // RECURSION @@ -1513,25 +3363,38 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { if (newIsolateScopeDirective && (newIsolateScopeDirective.template || newIsolateScopeDirective.templateUrl === null)) { scopeToChild = isolateScope; } - childLinkFn && childLinkFn(scopeToChild, linkNode.childNodes, undefined, boundTranscludeFn); + if (childLinkFn) { + childLinkFn(scopeToChild, linkNode.childNodes, undefined, boundTranscludeFn); + } // POSTLINKING - for(i = postLinkFns.length - 1; i >= 0; i--) { - try { - linkFn = postLinkFns[i]; - linkFn(linkFn.isolateScope ? isolateScope : scope, $element, attrs, - linkFn.require && getControllers(linkFn.require, $element, elementControllers), transcludeFn); - } catch (e) { - $exceptionHandler(e, startingTag($element)); - } + for (i = postLinkFns.length - 1; i >= 0; i--) { + linkFn = postLinkFns[i]; + invokeLinkFn(linkFn, + linkFn.isolateScope ? isolateScope : scope, + $element, + attrs, + linkFn.require && getControllers(linkFn.directiveName, linkFn.require, $element, elementControllers), + transcludeFn + ); } + // Trigger $postLink lifecycle hooks + forEach(elementControllers, function(controller) { + var controllerInstance = controller.instance; + if (isFunction(controllerInstance.$postLink)) { + controllerInstance.$postLink(); + } + }); + // This is the function that is injected as `$transclude`. - function controllersBoundTransclude(scope, cloneAttachFn) { + // Note: all arguments are optional! + function controllersBoundTransclude(scope, cloneAttachFn, futureParentElement, slotName) { var transcludeControllers; - - // no scope passed - if (arguments.length < 2) { + // No scope passed in: + if (!isScope(scope)) { + slotName = futureParentElement; + futureParentElement = cloneAttachFn; cloneAttachFn = scope; scope = undefined; } @@ -1539,16 +3402,118 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { if (hasElementTranscludeDirective) { transcludeControllers = elementControllers; } + if (!futureParentElement) { + futureParentElement = hasElementTranscludeDirective ? $element.parent() : $element; + } + if (slotName) { + // slotTranscludeFn can be one of three things: + // * a transclude function - a filled slot + // * `null` - an optional slot that was not filled + // * `undefined` - a slot that was not declared (i.e. invalid) + var slotTranscludeFn = boundTranscludeFn.$$slots[slotName]; + if (slotTranscludeFn) { + return slotTranscludeFn(scope, cloneAttachFn, transcludeControllers, futureParentElement, scopeToChild); + } else if (isUndefined(slotTranscludeFn)) { + throw $compileMinErr('noslot', + 'No parent directive that requires a transclusion with slot name "{0}". ' + + 'Element: {1}', + slotName, startingTag($element)); + } + } else { + return boundTranscludeFn(scope, cloneAttachFn, transcludeControllers, futureParentElement, scopeToChild); + } + } + } + } + + function getControllers(directiveName, require, $element, elementControllers) { + var value; + + if (isString(require)) { + var match = require.match(REQUIRE_PREFIX_REGEXP); + var name = require.substring(match[0].length); + var inheritType = match[1] || match[3]; + var optional = match[2] === '?'; + + //If only parents then start at the parent element + if (inheritType === '^^') { + $element = $element.parent(); + //Otherwise attempt getting the controller from elementControllers in case + //the element is transcluded (and has no data) and to avoid .data if possible + } else { + value = elementControllers && elementControllers[name]; + value = value && value.instance; + } + + if (!value) { + var dataName = '$' + name + 'Controller'; + + if (inheritType === '^^' && $element[0] && $element[0].nodeType === NODE_TYPE_DOCUMENT) { + // inheritedData() uses the documentElement when it finds the document, so we would + // require from the element itself. + value = null; + } else { + value = inheritType ? $element.inheritedData(dataName) : $element.data(dataName); + } + } + + if (!value && !optional) { + throw $compileMinErr('ctreq', + 'Controller \'{0}\', required by directive \'{1}\', can\'t be found!', + name, directiveName); + } + } else if (isArray(require)) { + value = []; + for (var i = 0, ii = require.length; i < ii; i++) { + value[i] = getControllers(directiveName, require[i], $element, elementControllers); + } + } else if (isObject(require)) { + value = {}; + forEach(require, function(controller, property) { + value[property] = getControllers(directiveName, controller, $element, elementControllers); + }); + } - return boundTranscludeFn(scope, cloneAttachFn, transcludeControllers); + return value || null; + } + + function setupControllers($element, attrs, transcludeFn, controllerDirectives, isolateScope, scope, newIsolateScopeDirective) { + var elementControllers = createMap(); + for (var controllerKey in controllerDirectives) { + var directive = controllerDirectives[controllerKey]; + var locals = { + $scope: directive === newIsolateScopeDirective || directive.$$isolateScope ? isolateScope : scope, + $element: $element, + $attrs: attrs, + $transclude: transcludeFn + }; + + var controller = directive.controller; + if (controller === '@') { + controller = attrs[directive.name]; } + + var controllerInstance = $controller(controller, locals, true, directive.controllerAs); + + // For directives with element transclusion the element is a comment. + // In this case .data will not attach any data. + // Instead, we save the controllers for the element in a local hash and attach to .data + // later, once we have the actual element. + elementControllers[directive.name] = controllerInstance; + $element.data('$' + directive.name + 'Controller', controllerInstance.instance); } + return elementControllers; } - function markDirectivesAsIsolate(directives) { - // mark all directives as needing isolate scope. + // Depending upon the context in which a directive finds itself it might need to have a new isolated + // or child scope created. For instance: + // * if the directive has been pulled into a template because another directive with a higher priority + // asked for element transclusion + // * if the directive itself asks for transclusion but it is at the root of a template and the original + // element was replaced. See https://github.com/angular/angular.js/issues/12936 + function markDirectiveScope(directives, isolateScope, newScope) { for (var j = 0, jj = directives.length; j < jj; j++) { - directives[j] = inherit(directives[j], {$$isolateScope: true}); + directives[j] = inherit(directives[j], {$$isolateScope: isolateScope, $$newScope: newScope}); } } @@ -1564,32 +3529,58 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { * * `A': attribute * * `C`: class * * `M`: comment - * @returns true if directive was added. + * @returns {boolean} true if directive was added. */ function addDirective(tDirectives, name, location, maxPriority, ignoreDirective, startAttrName, endAttrName) { if (name === ignoreDirective) return null; var match = null; if (hasDirectives.hasOwnProperty(name)) { - for(var directive, directives = $injector.get(name + Suffix), - i = 0, ii = directives.length; i directive.priority) && - directive.restrict.indexOf(location) != -1) { - if (startAttrName) { - directive = inherit(directive, {$$start: startAttrName, $$end: endAttrName}); + for (var directive, directives = $injector.get(name + Suffix), + i = 0, ii = directives.length; i < ii; i++) { + directive = directives[i]; + if ((isUndefined(maxPriority) || maxPriority > directive.priority) && + directive.restrict.indexOf(location) !== -1) { + if (startAttrName) { + directive = inherit(directive, {$$start: startAttrName, $$end: endAttrName}); + } + if (!directive.$$bindings) { + var bindings = directive.$$bindings = + parseDirectiveBindings(directive, directive.name); + if (isObject(bindings.isolateScope)) { + directive.$$isolateBindings = bindings.isolateScope; } - tDirectives.push(directive); - match = directive; } - } catch(e) { $exceptionHandler(e); } + tDirectives.push(directive); + match = directive; + } } } return match; } + /** + * looks up the directive and returns true if it is a multi-element directive, + * and therefore requires DOM nodes between -start and -end markers to be grouped + * together. + * + * @param {string} name name of the directive to look up. + * @returns true if directive was registered as multi-element. + */ + function directiveIsMultiElement(name) { + if (hasDirectives.hasOwnProperty(name)) { + for (var directive, directives = $injector.get(name + Suffix), + i = 0, ii = directives.length; i < ii; i++) { + directive = directives[i]; + if (directive.multiElement) { + return true; + } + } + } + return false; + } + /** * When the element is replaced with HTML template then the new attributes * on the template need to be merged with the existing attributes in the DOM. @@ -1600,14 +3591,17 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { */ function mergeTemplateAttributes(dst, src) { var srcAttr = src.$attr, - dstAttr = dst.$attr, - $element = dst.$$element; + dstAttr = dst.$attr; // reapply the old attributes to the new element forEach(dst, function(value, key) { - if (key.charAt(0) != '$') { - if (src[key]) { - value += (key === 'style' ? ';' : ' ') + src[key]; + if (key.charAt(0) !== '$') { + if (src[key] && src[key] !== value) { + if (value.length) { + value += (key === 'style' ? ';' : ' ') + src[key]; + } else { + value = src[key]; + } } dst.$set(key, value, true, srcAttr[key]); } @@ -1615,18 +3609,16 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { // copy the new attributes on the old attrs object forEach(src, function(value, key) { - if (key == 'class') { - safeAddClass($element, value); - dst['class'] = (dst['class'] ? dst['class'] + ' ' : '') + value; - } else if (key == 'style') { - $element.attr('style', $element.attr('style') + ';' + value); - dst['style'] = (dst['style'] ? dst['style'] + ';' : '') + value; - // `dst` will never contain hasOwnProperty as DOM parser won't let it. - // You will get an "InvalidCharacterError: DOM Exception 5" error if you - // have an attribute like "has-own-property" or "data-has-own-property", etc. - } else if (key.charAt(0) != '$' && !dst.hasOwnProperty(key)) { + // Check if we already set this attribute in the loop above. + // `dst` will never contain hasOwnProperty as DOM parser won't let it. + // You will get an "InvalidCharacterError: DOM Exception 5" error if you + // have an attribute like "has-own-property" or "data-has-own-property", etc. + if (!dst.hasOwnProperty(key) && key.charAt(0) !== '$') { dst[key] = value; - dstAttr[key] = srcAttr[key]; + + if (key !== 'class' && key !== 'style') { + dstAttr[key] = srcAttr[key]; + } } }); } @@ -1639,29 +3631,33 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { afterTemplateChildLinkFn, beforeTemplateCompileNode = $compileNode[0], origAsyncDirective = directives.shift(), - // The fact that we have to copy and patch the directive seems wrong! - derivedSyncDirective = extend({}, origAsyncDirective, { + derivedSyncDirective = inherit(origAsyncDirective, { templateUrl: null, transclude: null, replace: null, $$originalDirective: origAsyncDirective }), templateUrl = (isFunction(origAsyncDirective.templateUrl)) ? origAsyncDirective.templateUrl($compileNode, tAttrs) - : origAsyncDirective.templateUrl; + : origAsyncDirective.templateUrl, + templateNamespace = origAsyncDirective.templateNamespace; - $compileNode.html(''); + $compileNode.empty(); - $http.get($sce.getTrustedResourceUrl(templateUrl), {cache: $templateCache}). - success(function(content) { + $templateRequest(templateUrl) + .then(function(content) { var compileNode, tempTemplateAttrs, $template, childBoundTranscludeFn; content = denormalizeTemplate(content); if (origAsyncDirective.replace) { - $template = jqLite('
    ' + trim(content) + '
    ').contents(); + if (jqLiteIsTextNode(content)) { + $template = []; + } else { + $template = removeComments(wrapTemplate(templateNamespace, trim(content))); + } compileNode = $template[0]; - if ($template.length != 1 || compileNode.nodeType !== 1) { + if ($template.length !== 1 || compileNode.nodeType !== NODE_TYPE_ELEMENT) { throw $compileMinErr('tplrt', - "Template for directive '{0}' must have exactly one root element. {1}", + 'Template for directive \'{0}\' must have exactly one root element. {1}', origAsyncDirective.name, templateUrl); } @@ -1670,7 +3666,9 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { var templateDirectives = collectDirectives(compileNode, [], tempTemplateAttrs); if (isObject(origAsyncDirective.scope)) { - markDirectivesAsIsolate(templateDirectives); + // the original directive that caused the template to be loaded async required + // an isolate scope + markDirectiveScope(templateDirectives, true); } directives = templateDirectives.concat(directives); mergeTemplateAttributes(tAttrs, tempTemplateAttrs); @@ -1685,27 +3683,36 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { childTranscludeFn, $compileNode, origAsyncDirective, preLinkFns, postLinkFns, previousCompileContext); forEach($rootElement, function(node, i) { - if (node == compileNode) { + if (node === compileNode) { $rootElement[i] = $compileNode[0]; } }); afterTemplateChildLinkFn = compileNodes($compileNode[0].childNodes, childTranscludeFn); - - while(linkQueue.length) { + while (linkQueue.length) { var scope = linkQueue.shift(), beforeTemplateLinkNode = linkQueue.shift(), linkRootElement = linkQueue.shift(), boundTranscludeFn = linkQueue.shift(), linkNode = $compileNode[0]; + if (scope.$$destroyed) continue; + if (beforeTemplateLinkNode !== beforeTemplateCompileNode) { - // it was cloned therefore we have to clone as well. - linkNode = jqLiteClone(compileNode); + var oldClasses = beforeTemplateLinkNode.className; + + if (!(previousCompileContext.hasElementTranscludeDirective && + origAsyncDirective.replace)) { + // it was cloned therefore we have to clone as well. + linkNode = jqLiteClone(compileNode); + } replaceWith(linkRootElement, jqLite(beforeTemplateLinkNode), linkNode); + + // Copy in CSS classes from original node + safeAddClass(jqLite(linkNode), oldClasses); } - if (afterTemplateNodeLinkFn.transclude) { - childBoundTranscludeFn = createBoundTranscludeFn(scope, afterTemplateNodeLinkFn.transclude); + if (afterTemplateNodeLinkFn.transcludeOnThisElement) { + childBoundTranscludeFn = createBoundTranscludeFn(scope, afterTemplateNodeLinkFn.transclude, boundTranscludeFn); } else { childBoundTranscludeFn = boundTranscludeFn; } @@ -1713,19 +3720,25 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { childBoundTranscludeFn); } linkQueue = null; - }). - error(function(response, code, headers, config) { - throw $compileMinErr('tpload', 'Failed to load template: {0}', config.url); + }).catch(function(error) { + if (isError(error)) { + $exceptionHandler(error); + } }); return function delayedNodeLinkFn(ignoreChildLinkFn, scope, node, rootElement, boundTranscludeFn) { + var childBoundTranscludeFn = boundTranscludeFn; + if (scope.$$destroyed) return; if (linkQueue) { - linkQueue.push(scope); - linkQueue.push(node); - linkQueue.push(rootElement); - linkQueue.push(boundTranscludeFn); + linkQueue.push(scope, + node, + rootElement, + childBoundTranscludeFn); } else { - afterTemplateNodeLinkFn(afterTemplateChildLinkFn, scope, node, rootElement, boundTranscludeFn); + if (afterTemplateNodeLinkFn.transcludeOnThisElement) { + childBoundTranscludeFn = createBoundTranscludeFn(scope, afterTemplateNodeLinkFn.transclude, boundTranscludeFn); + } + afterTemplateNodeLinkFn(afterTemplateChildLinkFn, scope, node, rootElement, childBoundTranscludeFn); } }; } @@ -1741,11 +3754,18 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { return a.index - b.index; } - function assertNoDuplicate(what, previousDirective, directive, element) { + + function wrapModuleNameIfDefined(moduleName) { + return moduleName ? + (' (module: ' + moduleName + ')') : + ''; + } + if (previousDirective) { - throw $compileMinErr('multidir', 'Multiple directives [{0}, {1}] asking for {2} on: {3}', - previousDirective.name, directive.name, what, startingTag(element)); + throw $compileMinErr('multidir', 'Multiple directives [{0}{1}, {2}{3}] asking for {4} on: {5}', + previousDirective.name, wrapModuleNameIfDefined(previousDirective.$$moduleName), + directive.name, wrapModuleNameIfDefined(directive.$$moduleName), what, startingTag(element)); } } @@ -1755,72 +3775,175 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { if (interpolateFn) { directives.push({ priority: 0, - compile: valueFn(function textInterpolateLinkFn(scope, node) { - var parent = node.parent(), - bindings = parent.data('$binding') || []; - bindings.push(interpolateFn); - safeAddClass(parent.data('$binding', bindings), 'ng-binding'); - scope.$watch(interpolateFn, function interpolateFnWatchAction(value) { - node[0].nodeValue = value; - }); - }) + compile: function textInterpolateCompileFn(templateNode) { + var templateNodeParent = templateNode.parent(), + hasCompileParent = !!templateNodeParent.length; + + // When transcluding a template that has bindings in the root + // we don't have a parent and thus need to add the class during linking fn. + if (hasCompileParent) compile.$$addBindingClass(templateNodeParent); + + return function textInterpolateLinkFn(scope, node) { + var parent = node.parent(); + if (!hasCompileParent) compile.$$addBindingClass(parent); + compile.$$addBindingInfo(parent, interpolateFn.expressions); + scope.$watch(interpolateFn, function interpolateFnWatchAction(value) { + node[0].nodeValue = value; + }); + }; + } }); } } - function getTrustedContext(node, attrNormalizedName) { - if (attrNormalizedName == "srcdoc") { + function wrapTemplate(type, template) { + type = lowercase(type || 'html'); + switch (type) { + case 'svg': + case 'math': + var wrapper = window.document.createElement('div'); + wrapper.innerHTML = '<' + type + '>' + template + ''; + return wrapper.childNodes[0].childNodes; + default: + return template; + } + } + + + function getTrustedAttrContext(nodeName, attrNormalizedName) { + if (attrNormalizedName === 'srcdoc') { return $sce.HTML; } - var tag = nodeName_(node); - // maction[xlink:href] can source SVG. It's not limited to . - if (attrNormalizedName == "xlinkHref" || - (tag == "FORM" && attrNormalizedName == "action") || - (tag != "IMG" && (attrNormalizedName == "src" || - attrNormalizedName == "ngSrc"))) { + // All nodes with src attributes require a RESOURCE_URL value, except for + // img and various html5 media nodes, which require the MEDIA_URL context. + if (attrNormalizedName === 'src' || attrNormalizedName === 'ngSrc') { + if (['img', 'video', 'audio', 'source', 'track'].indexOf(nodeName) === -1) { + return $sce.RESOURCE_URL; + } + return $sce.MEDIA_URL; + } else if (attrNormalizedName === 'xlinkHref') { + // Some xlink:href are okay, most aren't + if (nodeName === 'image') return $sce.MEDIA_URL; + if (nodeName === 'a') return $sce.URL; + return $sce.RESOURCE_URL; + } else if ( + // Formaction + (nodeName === 'form' && attrNormalizedName === 'action') || + // If relative URLs can go where they are not expected to, then + // all sorts of trust issues can arise. + (nodeName === 'base' && attrNormalizedName === 'href') || + // links can be stylesheets or imports, which can run script in the current origin + (nodeName === 'link' && attrNormalizedName === 'href') + ) { return $sce.RESOURCE_URL; + } else if (nodeName === 'a' && (attrNormalizedName === 'href' || + attrNormalizedName === 'ngHref')) { + return $sce.URL; } } + function getTrustedPropContext(nodeName, propNormalizedName) { + var prop = propNormalizedName.toLowerCase(); + return PROP_CONTEXTS[nodeName + '|' + prop] || PROP_CONTEXTS['*|' + prop]; + } + + function sanitizeSrcsetPropertyValue(value) { + return sanitizeSrcset($sce.valueOf(value), 'ng-prop-srcset'); + } + function addPropertyDirective(node, directives, attrName, propName) { + if (EVENT_HANDLER_ATTR_REGEXP.test(propName)) { + throw $compileMinErr('nodomevents', 'Property bindings for HTML DOM event properties are disallowed'); + } + + var nodeName = nodeName_(node); + var trustedContext = getTrustedPropContext(nodeName, propName); + + var sanitizer = identity; + // Sanitize img[srcset] + source[srcset] values. + if (propName === 'srcset' && (nodeName === 'img' || nodeName === 'source')) { + sanitizer = sanitizeSrcsetPropertyValue; + } else if (trustedContext) { + sanitizer = $sce.getTrusted.bind($sce, trustedContext); + } + + directives.push({ + priority: 100, + compile: function ngPropCompileFn(_, attr) { + var ngPropGetter = $parse(attr[attrName]); + var ngPropWatch = $parse(attr[attrName], function sceValueOf(val) { + // Unwrap the value to compare the actual inner safe value, not the wrapper object. + return $sce.valueOf(val); + }); + + return { + pre: function ngPropPreLinkFn(scope, $element) { + function applyPropValue() { + var propValue = ngPropGetter(scope); + $element[0][propName] = sanitizer(propValue); + } + + applyPropValue(); + scope.$watch(ngPropWatch, applyPropValue); + } + }; + } + }); + } + + function addEventDirective(directives, attrName, eventName) { + directives.push( + createEventDirective($parse, $rootScope, $exceptionHandler, attrName, eventName, /*forceAsync=*/false) + ); + } + + function addAttrInterpolateDirective(node, directives, value, name, isNgAttr) { + var nodeName = nodeName_(node); + var trustedContext = getTrustedAttrContext(nodeName, name); + var mustHaveExpression = !isNgAttr; + var allOrNothing = ALL_OR_NOTHING_ATTRS[name] || isNgAttr; - function addAttrInterpolateDirective(node, directives, value, name) { - var interpolateFn = $interpolate(value, true); + var interpolateFn = $interpolate(value, mustHaveExpression, trustedContext, allOrNothing); // no interpolation found -> ignore if (!interpolateFn) return; - - if (name === "multiple" && nodeName_(node) === "SELECT") { - throw $compileMinErr("selmulti", - "Binding to the 'multiple' attribute is not supported. Element: {0}", + if (name === 'multiple' && nodeName === 'select') { + throw $compileMinErr('selmulti', + 'Binding to the \'multiple\' attribute is not supported. Element: {0}', startingTag(node)); } + if (EVENT_HANDLER_ATTR_REGEXP.test(name)) { + throw $compileMinErr('nodomevents', 'Interpolations for HTML DOM event attributes are disallowed'); + } + directives.push({ priority: 100, compile: function() { return { pre: function attrInterpolatePreLinkFn(scope, element, attr) { - var $$observers = (attr.$$observers || (attr.$$observers = {})); - - if (EVENT_HANDLER_ATTR_REGEXP.test(name)) { - throw $compileMinErr('nodomevents', - "Interpolations for HTML DOM event attributes are disallowed. Please use the " + - "ng- versions (such as ng-click instead of onclick) instead."); + var $$observers = (attr.$$observers || (attr.$$observers = createMap())); + + // If the attribute has changed since last $interpolate()ed + var newValue = attr[name]; + if (newValue !== value) { + // we need to interpolate again since the attribute value has been updated + // (e.g. by another directive's compile function) + // ensure unset/empty values make interpolateFn falsy + interpolateFn = newValue && $interpolate(newValue, true, trustedContext, allOrNothing); + value = newValue; } - // we need to interpolate again, in case the attribute value has been updated - // (e.g. by another directive's compile function) - interpolateFn = $interpolate(attr[name], true, getTrustedContext(node, name)); - // if attribute was updated so that there is no interpolation going on we don't want to // register any observers if (!interpolateFn) return; - // TODO(i): this should likely be attr.$set(name, iterpolateFn(scope) so that we reset the - // actual attr value + // initialize attr object so that it's ready in case we need the value for isolate + // scope initialization, otherwise the value would not be available from isolate + // directive's linking fn during linking phase attr[name] = interpolateFn(scope); + ($$observers[name] || ($$observers[name] = [])).$$inter = true; (attr.$$observers && attr.$$observers[name].$$scope || scope). $watch(interpolateFn, function interpolateFnWatchAction(newValue, oldValue) { @@ -1830,7 +3953,7 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { //skip animations when the first digest occurs (when //both the new and the old values are the same) since //the CSS classes are the non-interpolated values - if(name === 'class' && newValue != oldValue) { + if (name === 'class' && newValue !== oldValue) { attr.$updateClass(newValue, oldValue); } else { attr.$set(name, newValue); @@ -1860,8 +3983,8 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { i, ii; if ($rootElement) { - for(i = 0, ii = $rootElement.length; i < ii; i++) { - if ($rootElement[i] == firstElementToRemove) { + for (i = 0, ii = $rootElement.length; i < ii; i++) { + if ($rootElement[i] === firstElementToRemove) { $rootElement[i++] = newNode; for (var j = i, j2 = j + removeCount - 1, jj = $rootElement.length; @@ -1873,6 +3996,13 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { } } $rootElement.length -= removeCount - 1; + + // If the replaced element is also the jQuery .context then replace it + // .context is a deprecated jQuery api, so we should set it only when jQuery set it + // http://api.jquery.com/context/ + if ($rootElement.context === firstElementToRemove) { + $rootElement.context = newNode; + } break; } } @@ -1881,16 +4011,34 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { if (parent) { parent.replaceChild(newNode, firstElementToRemove); } - var fragment = document.createDocumentFragment(); - fragment.appendChild(firstElementToRemove); - newNode[jqLite.expando] = firstElementToRemove[jqLite.expando]; - for (var k = 1, kk = elementsToRemove.length; k < kk; k++) { - var element = elementsToRemove[k]; - jqLite(element).remove(); // must do this way to clean up expando - fragment.appendChild(element); - delete elementsToRemove[k]; + + // Append all the `elementsToRemove` to a fragment. This will... + // - remove them from the DOM + // - allow them to still be traversed with .nextSibling + // - allow a single fragment.qSA to fetch all elements being removed + var fragment = window.document.createDocumentFragment(); + for (i = 0; i < removeCount; i++) { + fragment.appendChild(elementsToRemove[i]); + } + + if (jqLite.hasData(firstElementToRemove)) { + // Copy over user data (that includes AngularJS's $scope etc.). Don't copy private + // data here because there's no public interface in jQuery to do that and copying over + // event listeners (which is the main use of private data) wouldn't work anyway. + jqLite.data(newNode, jqLite.data(firstElementToRemove)); + + // Remove $destroy event listeners from `firstElementToRemove` + jqLite(firstElementToRemove).off('$destroy'); } + // Cleanup any data/listeners on the elements and children. + // This includes invoking the $destroy event on any elements with listeners. + jqLite.cleanData(fragment.querySelectorAll('*')); + + // Update the jqLite collection to only contain the `newNode` + for (i = 1; i < removeCount; i++) { + delete elementsToRemove[i]; + } elementsToRemove[0] = newNode; elementsToRemove.length = 1; } @@ -1899,58 +4047,253 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { function cloneAndAnnotateFn(fn, annotation) { return extend(function() { return fn.apply(null, arguments); }, fn, annotation); } + + + function invokeLinkFn(linkFn, scope, $element, attrs, controllers, transcludeFn) { + try { + linkFn(scope, $element, attrs, controllers, transcludeFn); + } catch (e) { + $exceptionHandler(e, startingTag($element)); + } + } + + function strictBindingsCheck(attrName, directiveName) { + if (strictComponentBindingsEnabled) { + throw $compileMinErr('missingattr', + 'Attribute \'{0}\' of \'{1}\' is non-optional and must be set!', + attrName, directiveName); + } + } + + // Set up $watches for isolate scope and controller bindings. + function initializeDirectiveBindings(scope, attrs, destination, bindings, directive) { + var removeWatchCollection = []; + var initialChanges = {}; + var changes; + + forEach(bindings, function initializeBinding(definition, scopeName) { + var attrName = definition.attrName, + optional = definition.optional, + mode = definition.mode, // @, =, <, or & + lastValue, + parentGet, parentSet, compare, removeWatch; + + switch (mode) { + + case '@': + if (!optional && !hasOwnProperty.call(attrs, attrName)) { + strictBindingsCheck(attrName, directive.name); + destination[scopeName] = attrs[attrName] = undefined; + + } + removeWatch = attrs.$observe(attrName, function(value) { + if (isString(value) || isBoolean(value)) { + var oldValue = destination[scopeName]; + recordChanges(scopeName, value, oldValue); + destination[scopeName] = value; + } + }); + attrs.$$observers[attrName].$$scope = scope; + lastValue = attrs[attrName]; + if (isString(lastValue)) { + // If the attribute has been provided then we trigger an interpolation to ensure + // the value is there for use in the link fn + destination[scopeName] = $interpolate(lastValue)(scope); + } else if (isBoolean(lastValue)) { + // If the attributes is one of the BOOLEAN_ATTR then AngularJS will have converted + // the value to boolean rather than a string, so we special case this situation + destination[scopeName] = lastValue; + } + initialChanges[scopeName] = new SimpleChange(_UNINITIALIZED_VALUE, destination[scopeName]); + removeWatchCollection.push(removeWatch); + break; + + case '=': + if (!hasOwnProperty.call(attrs, attrName)) { + if (optional) break; + strictBindingsCheck(attrName, directive.name); + attrs[attrName] = undefined; + } + if (optional && !attrs[attrName]) break; + + parentGet = $parse(attrs[attrName]); + if (parentGet.literal) { + compare = equals; + } else { + compare = simpleCompare; + } + parentSet = parentGet.assign || function() { + // reset the change, or we will throw this exception on every $digest + lastValue = destination[scopeName] = parentGet(scope); + throw $compileMinErr('nonassign', + 'Expression \'{0}\' in attribute \'{1}\' used with directive \'{2}\' is non-assignable!', + attrs[attrName], attrName, directive.name); + }; + lastValue = destination[scopeName] = parentGet(scope); + var parentValueWatch = function parentValueWatch(parentValue) { + if (!compare(parentValue, destination[scopeName])) { + // we are out of sync and need to copy + if (!compare(parentValue, lastValue)) { + // parent changed and it has precedence + destination[scopeName] = parentValue; + } else { + // if the parent can be assigned then do so + parentSet(scope, parentValue = destination[scopeName]); + } + } + lastValue = parentValue; + return lastValue; + }; + parentValueWatch.$stateful = true; + if (definition.collection) { + removeWatch = scope.$watchCollection(attrs[attrName], parentValueWatch); + } else { + removeWatch = scope.$watch($parse(attrs[attrName], parentValueWatch), null, parentGet.literal); + } + removeWatchCollection.push(removeWatch); + break; + + case '<': + if (!hasOwnProperty.call(attrs, attrName)) { + if (optional) break; + strictBindingsCheck(attrName, directive.name); + attrs[attrName] = undefined; + } + if (optional && !attrs[attrName]) break; + + parentGet = $parse(attrs[attrName]); + var isLiteral = parentGet.literal; + + var initialValue = destination[scopeName] = parentGet(scope); + initialChanges[scopeName] = new SimpleChange(_UNINITIALIZED_VALUE, destination[scopeName]); + + removeWatch = scope[definition.collection ? '$watchCollection' : '$watch'](parentGet, function parentValueWatchAction(newValue, oldValue) { + if (oldValue === newValue) { + if (oldValue === initialValue || (isLiteral && equals(oldValue, initialValue))) { + return; + } + oldValue = initialValue; + } + recordChanges(scopeName, newValue, oldValue); + destination[scopeName] = newValue; + }); + + removeWatchCollection.push(removeWatch); + break; + + case '&': + if (!optional && !hasOwnProperty.call(attrs, attrName)) { + strictBindingsCheck(attrName, directive.name); + } + // Don't assign Object.prototype method to scope + parentGet = attrs.hasOwnProperty(attrName) ? $parse(attrs[attrName]) : noop; + + // Don't assign noop to destination if expression is not valid + if (parentGet === noop && optional) break; + + destination[scopeName] = function(locals) { + return parentGet(scope, locals); + }; + break; + } + }); + + function recordChanges(key, currentValue, previousValue) { + if (isFunction(destination.$onChanges) && !simpleCompare(currentValue, previousValue)) { + // If we have not already scheduled the top level onChangesQueue handler then do so now + if (!onChangesQueue) { + scope.$$postDigest(flushOnChangesQueue); + onChangesQueue = []; + } + // If we have not already queued a trigger of onChanges for this controller then do so now + if (!changes) { + changes = {}; + onChangesQueue.push(triggerOnChangesHook); + } + // If the has been a change on this property already then we need to reuse the previous value + if (changes[key]) { + previousValue = changes[key].previousValue; + } + // Store this change + changes[key] = new SimpleChange(previousValue, currentValue); + } + } + + function triggerOnChangesHook() { + destination.$onChanges(changes); + // Now clear the changes so that we schedule onChanges when more changes arrive + changes = undefined; + } + + return { + initialChanges: initialChanges, + removeWatches: removeWatchCollection.length && function removeWatches() { + for (var i = 0, ii = removeWatchCollection.length; i < ii; ++i) { + removeWatchCollection[i](); + } + } + }; + } }]; } -var PREFIX_REGEXP = /^(x[\:\-_]|data[\:\-_])/i; +function SimpleChange(previous, current) { + this.previousValue = previous; + this.currentValue = current; +} +SimpleChange.prototype.isFirstChange = function() { return this.previousValue === _UNINITIALIZED_VALUE; }; + + +var PREFIX_REGEXP = /^((?:x|data)[:\-_])/i; +var SPECIAL_CHARS_REGEXP = /[:\-_]+(.)/g; + /** * Converts all accepted directives format into proper directive name. - * All of these will become 'myDirective': - * my:Directive - * my-directive - * x-my-directive - * data-my:directive - * - * Also there is special case for Moz prefix starting with upper case letter. * @param name Name to normalize */ function directiveNormalize(name) { - return camelCase(name.replace(PREFIX_REGEXP, '')); + return name + .replace(PREFIX_REGEXP, '') + .replace(SPECIAL_CHARS_REGEXP, function(_, letter, offset) { + return offset ? letter.toUpperCase() : letter; + }); } /** - * @ngdoc object - * @name ng.$compile.directive.Attributes + * @ngdoc type + * @name $compile.directive.Attributes * * @description * A shared object between directive compile / linking functions which contains normalized DOM * element attributes. The values reflect current binding state `{{ }}`. The normalization is - * needed since all of these are treated as equivalent in Angular: + * needed since all of these are treated as equivalent in AngularJS: * + * ``` * + * ``` */ /** * @ngdoc property - * @name ng.$compile.directive.Attributes#$attr - * @propertyOf ng.$compile.directive.Attributes - * @returns {object} A map of DOM element attribute names to the normalized name. This is - * needed to do reverse lookup from normalized name back to actual name. + * @name $compile.directive.Attributes#$attr + * + * @description + * A map of DOM element attribute names to the normalized name. This is + * needed to do reverse lookup from normalized name back to actual name. */ /** - * @ngdoc function - * @name ng.$compile.directive.Attributes#$set - * @methodOf ng.$compile.directive.Attributes - * @function + * @ngdoc method + * @name $compile.directive.Attributes#$set + * @kind function * * @description * Set DOM element attribute value. * * * @param {string} name Normalized element attribute name of the property to modify. The name is - * revers translated using the {@link ng.$compile.directive.Attributes#$attr $attr} + * reverse-translated using the {@link ng.$compile.directive.Attributes#$attr $attr} * property to the original name. * @param {string} value Value to set the attribute to. The value can be an interpolated string. */ @@ -1966,7 +4309,7 @@ function nodesetLinkingFn( /* NodeList */ nodeList, /* Element */ rootElement, /* function(Function) */ boundTranscludeFn -){} +) {} function directiveLinkingFn( /* nodesetLinkingFn */ nodesetLinkingFn, @@ -1974,7 +4317,7 @@ function directiveLinkingFn( /* Node */ node, /* Element */ rootElement, /* function(Function) */ boundTranscludeFn -){} +) {} function tokenDifference(str1, str2) { var values = '', @@ -1982,12 +4325,30 @@ function tokenDifference(str1, str2) { tokens2 = str2.split(/\s+/); outer: - for(var i = 0; i < tokens1.length; i++) { + for (var i = 0; i < tokens1.length; i++) { var token = tokens1[i]; - for(var j = 0; j < tokens2.length; j++) { - if(token == tokens2[j]) continue outer; + for (var j = 0; j < tokens2.length; j++) { + if (token === tokens2[j]) continue outer; } values += (values.length > 0 ? ' ' : '') + token; } return values; } + +function removeComments(jqNodes) { + jqNodes = jqLite(jqNodes); + var i = jqNodes.length; + + if (i <= 1) { + return jqNodes; + } + + while (i--) { + var node = jqNodes[i]; + if (node.nodeType === NODE_TYPE_COMMENT || + (node.nodeType === NODE_TYPE_TEXT && node.nodeValue.trim() === '')) { + splice.call(jqNodes, i, 1); + } + } + return jqNodes; +} diff --git a/src/ng/controller.js b/src/ng/controller.js index 938fbfbe82fc..3b8d6196449b 100644 --- a/src/ng/controller.js +++ b/src/ng/controller.js @@ -1,24 +1,45 @@ 'use strict'; +var $controllerMinErr = minErr('$controller'); + + +var CNTRL_REG = /^(\S+)(\s+as\s+([\w$]+))?$/; +function identifierForController(controller, ident) { + if (ident && isString(ident)) return ident; + if (isString(controller)) { + var match = CNTRL_REG.exec(controller); + if (match) return match[3]; + } +} + + /** - * @ngdoc object - * @name ng.$controllerProvider + * @ngdoc provider + * @name $controllerProvider + * @this + * * @description - * The {@link ng.$controller $controller service} is used by Angular to create new + * The {@link ng.$controller $controller service} is used by AngularJS to create new * controllers. * * This provider allows controller registration via the - * {@link ng.$controllerProvider#methods_register register} method. + * {@link ng.$controllerProvider#register register} method. */ function $ControllerProvider() { - var controllers = {}, - CNTRL_REG = /^(\S+)(\s+as\s+(\w+))?$/; + var controllers = {}; + /** + * @ngdoc method + * @name $controllerProvider#has + * @param {string} name Controller name to check. + */ + this.has = function(name) { + return controllers.hasOwnProperty(name); + }; /** - * @ngdoc function - * @name ng.$controllerProvider#register - * @methodOf ng.$controllerProvider + * @ngdoc method + * @name $controllerProvider#register * @param {string|Object} name Controller name, or an object map of controllers where the keys are * the names and the values are the constructors. * @param {Function|Array} constructor Controller constructor fn (optionally decorated with DI @@ -33,12 +54,11 @@ function $ControllerProvider() { } }; - - this.$get = ['$injector', '$window', function($injector, $window) { + this.$get = ['$injector', function($injector) { /** - * @ngdoc function - * @name ng.$controller + * @ngdoc service + * @name $controller * @requires $injector * * @param {Function|string} constructor If called with a function then it's considered to be the @@ -47,7 +67,10 @@ function $ControllerProvider() { * * * check if a controller with given name is registered via `$controllerProvider` * * check if evaluating the string on the current scope returns a constructor - * * check `window[constructor]` on the global `window` object + * + * The string can use the `controller as property` syntax, where the controller instance is published + * as the specified property on the `scope`; the `scope` must be injected into `locals` param for this + * to work correctly. * * @param {Object} locals Injection locals for Controller. * @return {Object} Instance of given controller. @@ -55,37 +78,96 @@ function $ControllerProvider() { * @description * `$controller` service is responsible for instantiating controllers. * - * It's just a simple call to {@link AUTO.$injector $injector}, but extracted into - * a service, so that one can override this service with {@link https://gist.github.com/1649788 - * BC version}. + * It's just a simple call to {@link auto.$injector $injector}, but extracted into + * a service, so that one can override this service with [BC version](https://gist.github.com/1649788). */ - return function(expression, locals) { + return function $controller(expression, locals, later, ident) { + // PRIVATE API: + // param `later` --- indicates that the controller's constructor is invoked at a later time. + // If true, $controller will allocate the object with the correct + // prototype chain, but will not invoke the controller until a returned + // callback is invoked. + // param `ident` --- An optional label which overrides the label parsed from the controller + // expression, if any. var instance, match, constructor, identifier; + later = later === true; + if (ident && isString(ident)) { + identifier = ident; + } - if(isString(expression)) { - match = expression.match(CNTRL_REG), - constructor = match[1], - identifier = match[3]; + if (isString(expression)) { + match = expression.match(CNTRL_REG); + if (!match) { + throw $controllerMinErr('ctrlfmt', + 'Badly formed controller string \'{0}\'. ' + + 'Must match `__name__ as __id__` or `__name__`.', expression); + } + constructor = match[1]; + identifier = identifier || match[3]; expression = controllers.hasOwnProperty(constructor) ? controllers[constructor] - : getter(locals.$scope, constructor, true) || getter($window, constructor, true); + : getter(locals.$scope, constructor, true); + + if (!expression) { + throw $controllerMinErr('ctrlreg', + 'The controller with the name \'{0}\' is not registered.', constructor); + } assertArgFn(expression, constructor, true); } - instance = $injector.instantiate(expression, locals); + if (later) { + // Instantiate controller later: + // This machinery is used to create an instance of the object before calling the + // controller's constructor itself. + // + // This allows properties to be added to the controller before the constructor is + // invoked. Primarily, this is used for isolate scope bindings in $compile. + // + // This feature is not intended for use by applications, and is thus not documented + // publicly. + // Object creation: http://jsperf.com/create-constructor/2 + var controllerPrototype = (isArray(expression) ? + expression[expression.length - 1] : expression).prototype; + instance = Object.create(controllerPrototype || null); - if (identifier) { - if (!(locals && typeof locals.$scope == 'object')) { - throw minErr('$controller')('noscp', - "Cannot export controller '{0}' as '{1}'! No $scope object provided via `locals`.", - constructor || expression.name, identifier); + if (identifier) { + addIdentifier(locals, identifier, instance, constructor || expression.name); } - locals.$scope[identifier] = instance; + return extend(function $controllerInit() { + var result = $injector.invoke(expression, instance, locals, constructor); + if (result !== instance && (isObject(result) || isFunction(result))) { + instance = result; + if (identifier) { + // If result changed, re-assign controllerAs value to scope. + addIdentifier(locals, identifier, instance, constructor || expression.name); + } + } + return instance; + }, { + instance: instance, + identifier: identifier + }); + } + + instance = $injector.instantiate(expression, locals, constructor); + + if (identifier) { + addIdentifier(locals, identifier, instance, constructor || expression.name); } return instance; }; + + function addIdentifier(locals, identifier, instance, name) { + if (!(locals && isObject(locals.$scope))) { + throw minErr('$controller')('noscp', + 'Cannot export controller \'{0}\' as \'{1}\'! No $scope object provided via `locals`.', + name, identifier); + } + + locals.$scope[identifier] = instance; + } }]; } diff --git a/src/ng/cookieReader.js b/src/ng/cookieReader.js new file mode 100644 index 000000000000..ce04f812b57a --- /dev/null +++ b/src/ng/cookieReader.js @@ -0,0 +1,65 @@ +'use strict'; + +/** + * @name $$cookieReader + * @requires $document + * + * @description + * This is a private service for reading cookies used by $http and ngCookies + * + * @return {Object} a key/value map of the current cookies + */ +function $$CookieReader($document) { + var rawDocument = $document[0] || {}; + var lastCookies = {}; + var lastCookieString = ''; + + function safeGetCookie(rawDocument) { + try { + return rawDocument.cookie || ''; + } catch (e) { + return ''; + } + } + + function safeDecodeURIComponent(str) { + try { + return decodeURIComponent(str); + } catch (e) { + return str; + } + } + + return function() { + var cookieArray, cookie, i, index, name; + var currentCookieString = safeGetCookie(rawDocument); + + if (currentCookieString !== lastCookieString) { + lastCookieString = currentCookieString; + cookieArray = lastCookieString.split('; '); + lastCookies = {}; + + for (i = 0; i < cookieArray.length; i++) { + cookie = cookieArray[i]; + index = cookie.indexOf('='); + if (index > 0) { //ignore nameless cookies + name = safeDecodeURIComponent(cookie.substring(0, index)); + // the first value that is seen for a cookie is the most + // specific one. values for the same cookie name that + // follow are for less specific paths. + if (isUndefined(lastCookies[name])) { + lastCookies[name] = safeDecodeURIComponent(cookie.substring(index + 1)); + } + } + } + } + return lastCookies; + }; +} + +$$CookieReader.$inject = ['$document']; + +/** @this */ +function $$CookieReaderProvider() { + this.$get = $$CookieReader; +} diff --git a/src/ng/directive/a.js b/src/ng/directive/a.js index b3e9ad6d54f1..17913a043b72 100644 --- a/src/ng/directive/a.js +++ b/src/ng/directive/a.js @@ -2,43 +2,33 @@ /** * @ngdoc directive - * @name ng.directive:a + * @name a * @restrict E * * @description - * Modifies the default behavior of the html A tag so that the default action is prevented when + * Modifies the default behavior of the html a tag so that the default action is prevented when * the href attribute is empty. * - * This change permits the easy creation of action links with the `ngClick` directive - * without changing the location or causing page reloads, e.g.: - * `Add Item` + * For dynamically creating `href` attributes for a tags, see the {@link ng.ngHref `ngHref`} directive. */ var htmlAnchorDirective = valueFn({ restrict: 'E', compile: function(element, attr) { + if (!attr.href && !attr.xlinkHref) { + return function(scope, element) { + // If the linked element is not an anchor tag anymore, do nothing + if (element[0].nodeName.toLowerCase() !== 'a') return; - if (msie <= 8) { - - // turn link into a stylable link in IE - // but only if it doesn't have name attribute, in which case it's an anchor - if (!attr.href && !attr.name) { - attr.$set('href', ''); - } - - // add a comment node to anchors to workaround IE bug that causes element content to be reset - // to new attribute content if attribute is updated with value containing @ and element also - // contains value with @ - // see issue #1949 - element.append(document.createComment('IE fix')); + // SVGAElement does not use the href attribute, but rather the 'xlinkHref' attribute. + var href = toString.call(element.prop('href')) === '[object SVGAnimatedString]' ? + 'xlink:href' : 'href'; + element.on('click', function(event) { + // if we have no href url, then don't navigate anywhere. + if (!element.attr(href)) { + event.preventDefault(); + } + }); + }; } - - return function(scope, element) { - element.on('click', function(event){ - // if we have no href url, then don't navigate anywhere. - if (!element.attr('href')) { - event.preventDefault(); - } - }); - }; } }); diff --git a/src/ng/directive/attrs.js b/src/ng/directive/attrs.js new file mode 100644 index 000000000000..3d3d4aa5b114 --- /dev/null +++ b/src/ng/directive/attrs.js @@ -0,0 +1,448 @@ +'use strict'; + +/** + * @ngdoc directive + * @name ngHref + * @restrict A + * @priority 99 + * + * @description + * Using AngularJS markup like `{{hash}}` in an href attribute will + * make the link go to the wrong URL if the user clicks it before + * AngularJS has a chance to replace the `{{hash}}` markup with its + * value. Until AngularJS replaces the markup the link will be broken + * and will most likely return a 404 error. The `ngHref` directive + * solves this problem. + * + * The wrong way to write it: + * ```html + * link1 + * ``` + * + * The correct way to write it: + * ```html + * link1 + * ``` + * + * @element A + * @param {template} ngHref any string which can contain `{{}}` markup. + * + * @example + * This example shows various combinations of `href`, `ng-href` and `ng-click` attributes + * in links and their different behaviors: + + +
    + link 1 (link, don't reload)
    + link 2 (link, don't reload)
    + link 3 (link, reload!)
    + anchor (link, don't reload)
    + anchor (no link)
    + link (link, change location) +
    + + it('should execute ng-click but not reload when href without value', function() { + element(by.id('link-1')).click(); + expect(element(by.model('value')).getAttribute('value')).toEqual('1'); + expect(element(by.id('link-1')).getAttribute('href')).toBe(''); + }); + + it('should execute ng-click but not reload when href empty string', function() { + element(by.id('link-2')).click(); + expect(element(by.model('value')).getAttribute('value')).toEqual('2'); + expect(element(by.id('link-2')).getAttribute('href')).toBe(''); + }); + + it('should execute ng-click and change url when ng-href specified', function() { + expect(element(by.id('link-3')).getAttribute('href')).toMatch(/\/123$/); + + element(by.id('link-3')).click(); + + // At this point, we navigate away from an AngularJS page, so we need + // to use browser.driver to get the base webdriver. + + browser.wait(function() { + return browser.driver.getCurrentUrl().then(function(url) { + return url.match(/\/123$/); + }); + }, 5000, 'page should navigate to /123'); + }); + + it('should execute ng-click but not reload when href empty string and name specified', function() { + element(by.id('link-4')).click(); + expect(element(by.model('value')).getAttribute('value')).toEqual('4'); + expect(element(by.id('link-4')).getAttribute('href')).toBe(''); + }); + + it('should execute ng-click but not reload when no href but name specified', function() { + element(by.id('link-5')).click(); + expect(element(by.model('value')).getAttribute('value')).toEqual('5'); + expect(element(by.id('link-5')).getAttribute('href')).toBe(null); + }); + + it('should only change url when only ng-href', function() { + element(by.model('value')).clear(); + element(by.model('value')).sendKeys('6'); + expect(element(by.id('link-6')).getAttribute('href')).toMatch(/\/6$/); + + element(by.id('link-6')).click(); + + // At this point, we navigate away from an AngularJS page, so we need + // to use browser.driver to get the base webdriver. + browser.wait(function() { + return browser.driver.getCurrentUrl().then(function(url) { + return url.match(/\/6$/); + }); + }, 5000, 'page should navigate to /6'); + }); + +
    + */ + +/** + * @ngdoc directive + * @name ngSrc + * @restrict A + * @priority 99 + * + * @description + * Using AngularJS markup like `{{hash}}` in a `src` attribute doesn't + * work right: The browser will fetch from the URL with the literal + * text `{{hash}}` until AngularJS replaces the expression inside + * `{{hash}}`. The `ngSrc` directive solves this problem. + * + * The buggy way to write it: + * ```html + * Description + * ``` + * + * The correct way to write it: + * ```html + * Description + * ``` + * + * @element IMG + * @param {template} ngSrc any string which can contain `{{}}` markup. + */ + +/** + * @ngdoc directive + * @name ngSrcset + * @restrict A + * @priority 99 + * + * @description + * Using AngularJS markup like `{{hash}}` in a `srcset` attribute doesn't + * work right: The browser will fetch from the URL with the literal + * text `{{hash}}` until AngularJS replaces the expression inside + * `{{hash}}`. The `ngSrcset` directive solves this problem. + * + * The buggy way to write it: + * ```html + * Description + * ``` + * + * The correct way to write it: + * ```html + * Description + * ``` + * + * @element IMG + * @param {template} ngSrcset any string which can contain `{{}}` markup. + */ + +/** + * @ngdoc directive + * @name ngDisabled + * @restrict A + * @priority 100 + * + * @description + * + * This directive sets the `disabled` attribute on the element (typically a form control, + * e.g. `input`, `button`, `select` etc.) if the + * {@link guide/expression expression} inside `ngDisabled` evaluates to truthy. + * + * A special directive is necessary because we cannot use interpolation inside the `disabled` + * attribute. See the {@link guide/interpolation interpolation guide} for more info. + * + * @example + + +
    + +
    + + it('should toggle button', function() { + expect(element(by.css('button')).getAttribute('disabled')).toBeFalsy(); + element(by.model('checked')).click(); + expect(element(by.css('button')).getAttribute('disabled')).toBeTruthy(); + }); + +
    + * + * @param {expression} ngDisabled If the {@link guide/expression expression} is truthy, + * then the `disabled` attribute will be set on the element + */ + + +/** + * @ngdoc directive + * @name ngChecked + * @restrict A + * @priority 100 + * + * @description + * Sets the `checked` attribute on the element, if the expression inside `ngChecked` is truthy. + * + * Note that this directive should not be used together with {@link ngModel `ngModel`}, + * as this can lead to unexpected behavior. + * + * A special directive is necessary because we cannot use interpolation inside the `checked` + * attribute. See the {@link guide/interpolation interpolation guide} for more info. + * + * @example + + +
    + +
    + + it('should check both checkBoxes', function() { + expect(element(by.id('checkFollower')).getAttribute('checked')).toBeFalsy(); + element(by.model('leader')).click(); + expect(element(by.id('checkFollower')).getAttribute('checked')).toBeTruthy(); + }); + +
    + * + * @element INPUT + * @param {expression} ngChecked If the {@link guide/expression expression} is truthy, + * then the `checked` attribute will be set on the element + */ + + +/** + * @ngdoc directive + * @name ngReadonly + * @restrict A + * @priority 100 + * + * @description + * + * Sets the `readonly` attribute on the element, if the expression inside `ngReadonly` is truthy. + * Note that `readonly` applies only to `input` elements with specific types. [See the input docs on + * MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#attr-readonly) for more information. + * + * A special directive is necessary because we cannot use interpolation inside the `readonly` + * attribute. See the {@link guide/interpolation interpolation guide} for more info. + * + * @example + + +
    + +
    + + it('should toggle readonly attr', function() { + expect(element(by.css('[type="text"]')).getAttribute('readonly')).toBeFalsy(); + element(by.model('checked')).click(); + expect(element(by.css('[type="text"]')).getAttribute('readonly')).toBeTruthy(); + }); + +
    + * + * @element INPUT + * @param {expression} ngReadonly If the {@link guide/expression expression} is truthy, + * then special attribute "readonly" will be set on the element + */ + + +/** + * @ngdoc directive + * @name ngSelected + * @restrict A + * @priority 100 + * + * @description + * + * Sets the `selected` attribute on the element, if the expression inside `ngSelected` is truthy. + * + * A special directive is necessary because we cannot use interpolation inside the `selected` + * attribute. See the {@link guide/interpolation interpolation guide} for more info. + * + *
    + * **Note:** `ngSelected` does not interact with the `select` and `ngModel` directives, it only + * sets the `selected` attribute on the element. If you are using `ngModel` on the select, you + * should not use `ngSelected` on the options, as `ngModel` will set the select value and + * selected options. + *
    + * + * @example + + +
    + +
    + + it('should select Greetings!', function() { + expect(element(by.id('greet')).getAttribute('selected')).toBeFalsy(); + element(by.model('selected')).click(); + expect(element(by.id('greet')).getAttribute('selected')).toBeTruthy(); + }); + +
    + * + * @element OPTION + * @param {expression} ngSelected If the {@link guide/expression expression} is truthy, + * then special attribute "selected" will be set on the element + */ + +/** + * @ngdoc directive + * @name ngOpen + * @restrict A + * @priority 100 + * + * @description + * + * Sets the `open` attribute on the element, if the expression inside `ngOpen` is truthy. + * + * A special directive is necessary because we cannot use interpolation inside the `open` + * attribute. See the {@link guide/interpolation interpolation guide} for more info. + * + * ## A note about browser compatibility + * + * Internet Explorer and Edge do not support the `details` element, it is + * recommended to use {@link ng.ngShow} and {@link ng.ngHide} instead. + * + * @example + + +
    +
    + List +
      +
    • Apple
    • +
    • Orange
    • +
    • Durian
    • +
    +
    +
    + + it('should toggle open', function() { + expect(element(by.id('details')).getAttribute('open')).toBeFalsy(); + element(by.model('open')).click(); + expect(element(by.id('details')).getAttribute('open')).toBeTruthy(); + }); + +
    + * + * @element DETAILS + * @param {expression} ngOpen If the {@link guide/expression expression} is truthy, + * then special attribute "open" will be set on the element + */ + +var ngAttributeAliasDirectives = {}; + +// boolean attrs are evaluated +forEach(BOOLEAN_ATTR, function(propName, attrName) { + // binding to multiple is not supported + if (propName === 'multiple') return; + + function defaultLinkFn(scope, element, attr) { + scope.$watch(attr[normalized], function ngBooleanAttrWatchAction(value) { + attr.$set(attrName, !!value); + }); + } + + var normalized = directiveNormalize('ng-' + attrName); + var linkFn = defaultLinkFn; + + if (propName === 'checked') { + linkFn = function(scope, element, attr) { + // ensuring ngChecked doesn't interfere with ngModel when both are set on the same input + if (attr.ngModel !== attr[normalized]) { + defaultLinkFn(scope, element, attr); + } + }; + } + + ngAttributeAliasDirectives[normalized] = function() { + return { + restrict: 'A', + priority: 100, + link: linkFn + }; + }; +}); + +// aliased input attrs are evaluated +forEach(ALIASED_ATTR, function(htmlAttr, ngAttr) { + ngAttributeAliasDirectives[ngAttr] = function() { + return { + priority: 100, + link: function(scope, element, attr) { + //special case ngPattern when a literal regular expression value + //is used as the expression (this way we don't have to watch anything). + if (ngAttr === 'ngPattern' && attr.ngPattern.charAt(0) === '/') { + var match = attr.ngPattern.match(REGEX_STRING_REGEXP); + if (match) { + attr.$set('ngPattern', new RegExp(match[1], match[2])); + return; + } + } + + scope.$watch(attr[ngAttr], function ngAttrAliasWatchAction(value) { + attr.$set(ngAttr, value); + }); + } + }; + }; +}); + +// ng-src, ng-srcset, ng-href are interpolated +forEach(['src', 'srcset', 'href'], function(attrName) { + var normalized = directiveNormalize('ng-' + attrName); + ngAttributeAliasDirectives[normalized] = ['$sce', function($sce) { + return { + priority: 99, // it needs to run after the attributes are interpolated + link: function(scope, element, attr) { + var propName = attrName, + name = attrName; + + if (attrName === 'href' && + toString.call(element.prop('href')) === '[object SVGAnimatedString]') { + name = 'xlinkHref'; + attr.$attr[name] = 'xlink:href'; + propName = null; + } + + // We need to sanitize the url at least once, in case it is a constant + // non-interpolated attribute. + attr.$set(normalized, $sce.getTrustedMediaUrl(attr[normalized])); + + attr.$observe(normalized, function(value) { + if (!value) { + if (attrName === 'href') { + attr.$set(name, null); + } + return; + } + + attr.$set(name, value); + + // Support: IE 9-11 only + // On IE, if "ng:src" directive declaration is used and "src" attribute doesn't exist + // then calling element.setAttribute('src', 'foo') doesn't do anything, so we need + // to set the property as well to achieve the desired effect. + // We use attr[attrName] value since $set might have sanitized the url. + if (msie && propName) element.prop(propName, attr[name]); + }); + } + }; + }]; +}); diff --git a/src/ng/directive/booleanAttrs.js b/src/ng/directive/booleanAttrs.js deleted file mode 100644 index 7db60a5dfd22..000000000000 --- a/src/ng/directive/booleanAttrs.js +++ /dev/null @@ -1,367 +0,0 @@ -'use strict'; - -/** - * @ngdoc directive - * @name ng.directive:ngHref - * @restrict A - * - * @description - * Using Angular markup like `{{hash}}` in an href attribute will - * make the link go to the wrong URL if the user clicks it before - * Angular has a chance to replace the `{{hash}}` markup with its - * value. Until Angular replaces the markup the link will be broken - * and will most likely return a 404 error. - * - * The `ngHref` directive solves this problem. - * - * The wrong way to write it: - *
    - * 
    - * 
    - * - * The correct way to write it: - *
    - * 
    - * 
    - * - * @element A - * @param {template} ngHref any string which can contain `{{}}` markup. - * - * @example - * This example shows various combinations of `href`, `ng-href` and `ng-click` attributes - * in links and their different behaviors: - - -
    -
    link 1 (link, don't reload)
    - link 2 (link, don't reload)
    - link 3 (link, reload!)
    - anchor (link, don't reload)
    - anchor (no link)
    - link (link, change location) -
    - - it('should execute ng-click but not reload when href without value', function() { - element('#link-1').click(); - expect(input('value').val()).toEqual('1'); - expect(element('#link-1').attr('href')).toBe(""); - }); - - it('should execute ng-click but not reload when href empty string', function() { - element('#link-2').click(); - expect(input('value').val()).toEqual('2'); - expect(element('#link-2').attr('href')).toBe(""); - }); - - it('should execute ng-click and change url when ng-href specified', function() { - expect(element('#link-3').attr('href')).toBe("/123"); - - element('#link-3').click(); - expect(browser().window().path()).toEqual('/123'); - }); - - it('should execute ng-click but not reload when href empty string and name specified', function() { - element('#link-4').click(); - expect(input('value').val()).toEqual('4'); - expect(element('#link-4').attr('href')).toBe(''); - }); - - it('should execute ng-click but not reload when no href but name specified', function() { - element('#link-5').click(); - expect(input('value').val()).toEqual('5'); - expect(element('#link-5').attr('href')).toBe(undefined); - }); - - it('should only change url when only ng-href', function() { - input('value').enter('6'); - expect(element('#link-6').attr('href')).toBe('6'); - - element('#link-6').click(); - expect(browser().location().url()).toEqual('/6'); - }); - -
    - */ - -/** - * @ngdoc directive - * @name ng.directive:ngSrc - * @restrict A - * - * @description - * Using Angular markup like `{{hash}}` in a `src` attribute doesn't - * work right: The browser will fetch from the URL with the literal - * text `{{hash}}` until Angular replaces the expression inside - * `{{hash}}`. The `ngSrc` directive solves this problem. - * - * The buggy way to write it: - *
    - * 
    - * 
    - * - * The correct way to write it: - *
    - * 
    - * 
    - * - * @element IMG - * @param {template} ngSrc any string which can contain `{{}}` markup. - */ - -/** - * @ngdoc directive - * @name ng.directive:ngSrcset - * @restrict A - * - * @description - * Using Angular markup like `{{hash}}` in a `srcset` attribute doesn't - * work right: The browser will fetch from the URL with the literal - * text `{{hash}}` until Angular replaces the expression inside - * `{{hash}}`. The `ngSrcset` directive solves this problem. - * - * The buggy way to write it: - *
    - * 
    - * 
    - * - * The correct way to write it: - *
    - * 
    - * 
    - * - * @element IMG - * @param {template} ngSrcset any string which can contain `{{}}` markup. - */ - -/** - * @ngdoc directive - * @name ng.directive:ngDisabled - * @restrict A - * - * @description - * - * The following markup will make the button enabled on Chrome/Firefox but not on IE8 and older IEs: - *
    - * 
    - * - *
    - *
    - * - * The HTML specification does not require browsers to preserve the values of boolean attributes - * such as disabled. (Their presence means true and their absence means false.) - * If we put an Angular interpolation expression into such an attribute then the - * binding information would be lost when the browser removes the attribute. - * The `ngDisabled` directive solves this problem for the `disabled` attribute. - * This complementary directive is not removed by the browser and so provides - * a permanent reliable place to store the binding information. - * - * @example - - - Click me to toggle:
    - -
    - - it('should toggle button', function() { - expect(element('.doc-example-live :button').prop('disabled')).toBeFalsy(); - input('checked').check(); - expect(element('.doc-example-live :button').prop('disabled')).toBeTruthy(); - }); - -
    - * - * @element INPUT - * @param {expression} ngDisabled If the {@link guide/expression expression} is truthy, - * then special attribute "disabled" will be set on the element - */ - - -/** - * @ngdoc directive - * @name ng.directive:ngChecked - * @restrict A - * - * @description - * The HTML specification does not require browsers to preserve the values of boolean attributes - * such as checked. (Their presence means true and their absence means false.) - * If we put an Angular interpolation expression into such an attribute then the - * binding information would be lost when the browser removes the attribute. - * The `ngChecked` directive solves this problem for the `checked` attribute. - * This complementary directive is not removed by the browser and so provides - * a permanent reliable place to store the binding information. - * @example - - - Check me to check both:
    - -
    - - it('should check both checkBoxes', function() { - expect(element('.doc-example-live #checkSlave').prop('checked')).toBeFalsy(); - input('master').check(); - expect(element('.doc-example-live #checkSlave').prop('checked')).toBeTruthy(); - }); - -
    - * - * @element INPUT - * @param {expression} ngChecked If the {@link guide/expression expression} is truthy, - * then special attribute "checked" will be set on the element - */ - - -/** - * @ngdoc directive - * @name ng.directive:ngReadonly - * @restrict A - * - * @description - * The HTML specification does not require browsers to preserve the values of boolean attributes - * such as readonly. (Their presence means true and their absence means false.) - * If we put an Angular interpolation expression into such an attribute then the - * binding information would be lost when the browser removes the attribute. - * The `ngReadonly` directive solves this problem for the `readonly` attribute. - * This complementary directive is not removed by the browser and so provides - * a permanent reliable place to store the binding information. - - * @example - - - Check me to make text readonly:
    - -
    - - it('should toggle readonly attr', function() { - expect(element('.doc-example-live :text').prop('readonly')).toBeFalsy(); - input('checked').check(); - expect(element('.doc-example-live :text').prop('readonly')).toBeTruthy(); - }); - -
    - * - * @element INPUT - * @param {expression} ngReadonly If the {@link guide/expression expression} is truthy, - * then special attribute "readonly" will be set on the element - */ - - -/** - * @ngdoc directive - * @name ng.directive:ngSelected - * @restrict A - * - * @description - * The HTML specification does not require browsers to preserve the values of boolean attributes - * such as selected. (Their presence means true and their absence means false.) - * If we put an Angular interpolation expression into such an attribute then the - * binding information would be lost when the browser removes the attribute. - * The `ngSelected` directive solves this problem for the `selected` atttribute. - * This complementary directive is not removed by the browser and so provides - * a permanent reliable place to store the binding information. - * @example - - - Check me to select:
    - -
    - - it('should select Greetings!', function() { - expect(element('.doc-example-live #greet').prop('selected')).toBeFalsy(); - input('selected').check(); - expect(element('.doc-example-live #greet').prop('selected')).toBeTruthy(); - }); - -
    - * - * @element OPTION - * @param {expression} ngSelected If the {@link guide/expression expression} is truthy, - * then special attribute "selected" will be set on the element - */ - -/** - * @ngdoc directive - * @name ng.directive:ngOpen - * @restrict A - * - * @description - * The HTML specification does not require browsers to preserve the values of boolean attributes - * such as open. (Their presence means true and their absence means false.) - * If we put an Angular interpolation expression into such an attribute then the - * binding information would be lost when the browser removes the attribute. - * The `ngOpen` directive solves this problem for the `open` attribute. - * This complementary directive is not removed by the browser and so provides - * a permanent reliable place to store the binding information. - - * - * @example - - - Check me check multiple:
    -
    - Show/Hide me -
    -
    - - it('should toggle open', function() { - expect(element('#details').prop('open')).toBeFalsy(); - input('open').check(); - expect(element('#details').prop('open')).toBeTruthy(); - }); - -
    - * - * @element DETAILS - * @param {expression} ngOpen If the {@link guide/expression expression} is truthy, - * then special attribute "open" will be set on the element - */ - -var ngAttributeAliasDirectives = {}; - - -// boolean attrs are evaluated -forEach(BOOLEAN_ATTR, function(propName, attrName) { - // binding to multiple is not supported - if (propName == "multiple") return; - - var normalized = directiveNormalize('ng-' + attrName); - ngAttributeAliasDirectives[normalized] = function() { - return { - priority: 100, - compile: function() { - return function(scope, element, attr) { - scope.$watch(attr[normalized], function ngBooleanAttrWatchAction(value) { - attr.$set(attrName, !!value); - }); - }; - } - }; - }; -}); - - -// ng-src, ng-srcset, ng-href are interpolated -forEach(['src', 'srcset', 'href'], function(attrName) { - var normalized = directiveNormalize('ng-' + attrName); - ngAttributeAliasDirectives[normalized] = function() { - return { - priority: 99, // it needs to run after the attributes are interpolated - link: function(scope, element, attr) { - attr.$observe(normalized, function(value) { - if (!value) - return; - - attr.$set(attrName, value); - - // on IE, if "ng:src" directive declaration is used and "src" attribute doesn't exist - // then calling element.setAttribute('src', 'foo') doesn't do anything, so we need - // to set the property as well to achieve the desired effect. - // we use attr[attrName] value since $set can sanitize the url. - if (msie) element.prop(attrName, attr[attrName]); - }); - } - }; - }; -}); diff --git a/src/ng/directive/form.js b/src/ng/directive/form.js index 0cd70844ee72..fe03a7af4a34 100644 --- a/src/ng/directive/form.js +++ b/src/ng/directive/form.js @@ -1,32 +1,50 @@ 'use strict'; -/* global -nullFormCtrl */ +/* global -nullFormCtrl, -PENDING_CLASS, -SUBMITTED_CLASS + */ var nullFormCtrl = { $addControl: noop, + $getControls: valueFn([]), + $$renameControl: nullFormRenameControl, $removeControl: noop, $setValidity: noop, $setDirty: noop, - $setPristine: noop -}; + $setPristine: noop, + $setSubmitted: noop, + $$setSubmitted: noop +}, +PENDING_CLASS = 'ng-pending', +SUBMITTED_CLASS = 'ng-submitted'; + +function nullFormRenameControl(control, name) { + control.$name = name; +} /** - * @ngdoc object - * @name ng.directive:form.FormController + * @ngdoc type + * @name form.FormController * * @property {boolean} $pristine True if user has not interacted with the form yet. * @property {boolean} $dirty True if user has already interacted with the form. * @property {boolean} $valid True if all of the containing forms and controls are valid. * @property {boolean} $invalid True if at least one containing control or form is invalid. + * @property {boolean} $submitted True if user has submitted the form even if its invalid. * - * @property {Object} $error Is an object hash, containing references to all invalid controls or - * forms, where: + * @property {Object} $pending An object hash, containing references to controls or forms with + * pending validators, where: * - * - keys are validation tokens (error names), - * - values are arrays of controls or forms that are invalid for given error name. + * - keys are validations tokens (error names). + * - values are arrays of controls or forms that have a pending validator for the given error name. * + * See {@link form.FormController#$error $error} for a list of built-in validation tokens. * - * Built-in validation tokens: + * @property {Object} $error An object hash, containing references to controls or forms with failing + * validators, where: + * + * - keys are validation tokens (error names), + * - values are arrays of controls or forms that have a failing validator for the given error name. * + * Built-in validation tokens: * - `email` * - `max` * - `maxlength` @@ -36,9 +54,14 @@ var nullFormCtrl = { * - `pattern` * - `required` * - `url` - * + * - `date` + * - `datetimelocal` + * - `time` + * - `week` + * - `month` + * * @description - * `FormController` keeps track of all its controls and nested forms as well as state of them, + * `FormController` keeps track of all its controls and nested forms as well as the state of them, * such as being valid/invalid or dirty/pristine. * * Each {@link ng.directive:form form} directive creates an instance @@ -46,129 +69,172 @@ var nullFormCtrl = { * */ //asks for $scope to fool the BC controller module -FormController.$inject = ['$element', '$attrs', '$scope']; -function FormController(element, attrs) { - var form = this, - parentForm = element.parent().controller('form') || nullFormCtrl, - invalidCount = 0, // used to easily determine if we are valid - errors = form.$error = {}, - controls = []; +FormController.$inject = ['$element', '$attrs', '$scope', '$animate', '$interpolate']; +function FormController($element, $attrs, $scope, $animate, $interpolate) { + this.$$controls = []; // init state - form.$name = attrs.name || attrs.ngForm; - form.$dirty = false; - form.$pristine = true; - form.$valid = true; - form.$invalid = false; + this.$error = {}; + this.$$success = {}; + this.$pending = undefined; + this.$name = $interpolate($attrs.name || $attrs.ngForm || '')($scope); + this.$dirty = false; + this.$pristine = true; + this.$valid = true; + this.$invalid = false; + this.$submitted = false; + this.$$parentForm = nullFormCtrl; - parentForm.$addControl(form); + this.$$element = $element; + this.$$animate = $animate; - // Setup initial state of the control - element.addClass(PRISTINE_CLASS); - toggleValidCss(true); + setupValidity(this); +} - // convenience method for easy toggling of classes - function toggleValidCss(isValid, validationErrorKey) { - validationErrorKey = validationErrorKey ? '-' + snake_case(validationErrorKey, '-') : ''; - element. - removeClass((isValid ? INVALID_CLASS : VALID_CLASS) + validationErrorKey). - addClass((isValid ? VALID_CLASS : INVALID_CLASS) + validationErrorKey); - } +FormController.prototype = { + /** + * @ngdoc method + * @name form.FormController#$rollbackViewValue + * + * @description + * Rollback all form controls pending updates to the `$modelValue`. + * + * Updates may be pending by a debounced event or because the input is waiting for a some future + * event defined in `ng-model-options`. This method is typically needed by the reset button of + * a form that uses `ng-model-options` to pend updates. + */ + $rollbackViewValue: function() { + forEach(this.$$controls, function(control) { + control.$rollbackViewValue(); + }); + }, /** - * @ngdoc function - * @name ng.directive:form.FormController#$addControl - * @methodOf ng.directive:form.FormController + * @ngdoc method + * @name form.FormController#$commitViewValue * * @description - * Register a control with the form. + * Commit all form controls pending updates to the `$modelValue`. * - * Input elements using ngModelController do this automatically when they are linked. + * Updates may be pending by a debounced event or because the input is waiting for a some future + * event defined in `ng-model-options`. This method is rarely needed as `NgModelController` + * usually handles calling this in response to input events. */ - form.$addControl = function(control) { + $commitViewValue: function() { + forEach(this.$$controls, function(control) { + control.$commitViewValue(); + }); + }, + + /** + * @ngdoc method + * @name form.FormController#$addControl + * @param {object} control control object, either a {@link form.FormController} or an + * {@link ngModel.NgModelController} + * + * @description + * Register a control with the form. Input elements using ngModelController do this automatically + * when they are linked. + * + * Note that the current state of the control will not be reflected on the new parent form. This + * is not an issue with normal use, as freshly compiled and linked controls are in a `$pristine` + * state. + * + * However, if the method is used programmatically, for example by adding dynamically created controls, + * or controls that have been previously removed without destroying their corresponding DOM element, + * it's the developers responsibility to make sure the current state propagates to the parent form. + * + * For example, if an input control is added that is already `$dirty` and has `$error` properties, + * calling `$setDirty()` and `$validate()` afterwards will propagate the state to the parent form. + */ + $addControl: function(control) { // Breaking change - before, inputs whose name was "hasOwnProperty" were quietly ignored // and not added to the scope. Now we throw an error. assertNotHasOwnProperty(control.$name, 'input'); - controls.push(control); + this.$$controls.push(control); if (control.$name) { - form[control.$name] = control; + this[control.$name] = control; } - }; + + control.$$parentForm = this; + }, /** - * @ngdoc function - * @name ng.directive:form.FormController#$removeControl - * @methodOf ng.directive:form.FormController + * @ngdoc method + * @name form.FormController#$getControls + * @returns {Array} the controls that are currently part of this form * * @description - * Deregister a control from the form. + * This method returns a **shallow copy** of the controls that are currently part of this form. + * The controls can be instances of {@link form.FormController `FormController`} + * ({@link ngForm "child-forms"}) and of {@link ngModel.NgModelController `NgModelController`}. + * If you need access to the controls of child-forms, you have to call `$getControls()` + * recursively on them. + * This can be used for example to iterate over all controls to validate them. * - * Input elements using ngModelController do this automatically when they are destroyed. + * The controls can be accessed normally, but adding to, or removing controls from the array has + * no effect on the form. Instead, use {@link form.FormController#$addControl `$addControl()`} and + * {@link form.FormController#$removeControl `$removeControl()`} for this use-case. + * Likewise, adding a control to, or removing a control from the form is not reflected + * in the shallow copy. That means you should get a fresh copy from `$getControls()` every time + * you need access to the controls. */ - form.$removeControl = function(control) { - if (control.$name && form[control.$name] === control) { - delete form[control.$name]; - } - forEach(errors, function(queue, validationToken) { - form.$setValidity(validationToken, true, control); - }); + $getControls: function() { + return shallowCopy(this.$$controls); + }, - arrayRemove(controls, control); - }; + // Private API: rename a form control + $$renameControl: function(control, newName) { + var oldName = control.$name; + + if (this[oldName] === control) { + delete this[oldName]; + } + this[newName] = control; + control.$name = newName; + }, /** - * @ngdoc function - * @name ng.directive:form.FormController#$setValidity - * @methodOf ng.directive:form.FormController + * @ngdoc method + * @name form.FormController#$removeControl + * @param {object} control control object, either a {@link form.FormController} or an + * {@link ngModel.NgModelController} * * @description - * Sets the validity of a form control. + * Deregister a control from the form. * - * This method will also propagate to parent forms. + * Input elements using ngModelController do this automatically when they are destroyed. + * + * Note that only the removed control's validation state (`$errors`etc.) will be removed from the + * form. `$dirty`, `$submitted` states will not be changed, because the expected behavior can be + * different from case to case. For example, removing the only `$dirty` control from a form may or + * may not mean that the form is still `$dirty`. */ - form.$setValidity = function(validationToken, isValid, control) { - var queue = errors[validationToken]; - - if (isValid) { - if (queue) { - arrayRemove(queue, control); - if (!queue.length) { - invalidCount--; - if (!invalidCount) { - toggleValidCss(isValid); - form.$valid = true; - form.$invalid = false; - } - errors[validationToken] = false; - toggleValidCss(true, validationToken); - parentForm.$setValidity(validationToken, true, form); - } - } - - } else { - if (!invalidCount) { - toggleValidCss(isValid); - } - if (queue) { - if (includes(queue, control)) return; - } else { - errors[validationToken] = queue = []; - invalidCount++; - toggleValidCss(false, validationToken); - parentForm.$setValidity(validationToken, false, form); - } - queue.push(control); - - form.$valid = false; - form.$invalid = true; + $removeControl: function(control) { + if (control.$name && this[control.$name] === control) { + delete this[control.$name]; } - }; + forEach(this.$pending, function(value, name) { + // eslint-disable-next-line no-invalid-this + this.$setValidity(name, null, control); + }, this); + forEach(this.$error, function(value, name) { + // eslint-disable-next-line no-invalid-this + this.$setValidity(name, null, control); + }, this); + forEach(this.$$success, function(value, name) { + // eslint-disable-next-line no-invalid-this + this.$setValidity(name, null, control); + }, this); + + arrayRemove(this.$$controls, control); + control.$$parentForm = nullFormCtrl; + }, /** - * @ngdoc function - * @name ng.directive:form.FormController#$setDirty - * @methodOf ng.directive:form.FormController + * @ngdoc method + * @name form.FormController#$setDirty * * @description * Sets the form to a dirty state. @@ -176,93 +242,198 @@ function FormController(element, attrs) { * This method can be called to add the 'ng-dirty' class and set the form to a dirty * state (ng-dirty class). This method will also propagate to parent forms. */ - form.$setDirty = function() { - element.removeClass(PRISTINE_CLASS).addClass(DIRTY_CLASS); - form.$dirty = true; - form.$pristine = false; - parentForm.$setDirty(); - }; + $setDirty: function() { + this.$$animate.removeClass(this.$$element, PRISTINE_CLASS); + this.$$animate.addClass(this.$$element, DIRTY_CLASS); + this.$dirty = true; + this.$pristine = false; + this.$$parentForm.$setDirty(); + }, /** - * @ngdoc function - * @name ng.directive:form.FormController#$setPristine - * @methodOf ng.directive:form.FormController + * @ngdoc method + * @name form.FormController#$setPristine * * @description * Sets the form to its pristine state. * - * This method can be called to remove the 'ng-dirty' class and set the form to its pristine - * state (ng-pristine class). This method will also propagate to all the controls contained - * in this form. + * This method sets the form's `$pristine` state to true, the `$dirty` state to false, removes + * the `ng-dirty` class and adds the `ng-pristine` class. Additionally, it sets the `$submitted` + * state to false. + * + * This method will also propagate to all the controls contained in this form. * * Setting a form back to a pristine state is often useful when we want to 'reuse' a form after * saving or resetting it. */ - form.$setPristine = function () { - element.removeClass(DIRTY_CLASS).addClass(PRISTINE_CLASS); - form.$dirty = false; - form.$pristine = true; - forEach(controls, function(control) { + $setPristine: function() { + this.$$animate.setClass(this.$$element, PRISTINE_CLASS, DIRTY_CLASS + ' ' + SUBMITTED_CLASS); + this.$dirty = false; + this.$pristine = true; + this.$submitted = false; + forEach(this.$$controls, function(control) { control.$setPristine(); }); - }; -} + }, + /** + * @ngdoc method + * @name form.FormController#$setUntouched + * + * @description + * Sets the form to its untouched state. + * + * This method can be called to remove the 'ng-touched' class and set the form controls to their + * untouched state (ng-untouched class). + * + * Setting a form controls back to their untouched state is often useful when setting the form + * back to its pristine state. + */ + $setUntouched: function() { + forEach(this.$$controls, function(control) { + control.$setUntouched(); + }); + }, + + /** + * @ngdoc method + * @name form.FormController#$setSubmitted + * + * @description + * Sets the form to its `$submitted` state. This will also set `$submitted` on all child and + * parent forms of the form. + */ + $setSubmitted: function() { + var rootForm = this; + while (rootForm.$$parentForm && (rootForm.$$parentForm !== nullFormCtrl)) { + rootForm = rootForm.$$parentForm; + } + rootForm.$$setSubmitted(); + }, + + $$setSubmitted: function() { + this.$$animate.addClass(this.$$element, SUBMITTED_CLASS); + this.$submitted = true; + forEach(this.$$controls, function(control) { + if (control.$$setSubmitted) { + control.$$setSubmitted(); + } + }); + } +}; + +/** + * @ngdoc method + * @name form.FormController#$setValidity + * + * @description + * Change the validity state of the form, and notify the parent form (if any). + * + * Application developers will rarely need to call this method directly. It is used internally, by + * {@link ngModel.NgModelController#$setValidity NgModelController.$setValidity()}, to propagate a + * control's validity state to the parent `FormController`. + * + * @param {string} validationErrorKey Name of the validator. The `validationErrorKey` will be + * assigned to either `$error[validationErrorKey]` or `$pending[validationErrorKey]` (for + * unfulfilled `$asyncValidators`), so that it is available for data-binding. The + * `validationErrorKey` should be in camelCase and will get converted into dash-case for + * class name. Example: `myError` will result in `ng-valid-my-error` and + * `ng-invalid-my-error` classes and can be bound to as `{{ someForm.$error.myError }}`. + * @param {boolean} isValid Whether the current state is valid (true), invalid (false), pending + * (undefined), or skipped (null). Pending is used for unfulfilled `$asyncValidators`. + * Skipped is used by AngularJS when validators do not run because of parse errors and when + * `$asyncValidators` do not run because any of the `$validators` failed. + * @param {NgModelController | FormController} controller - The controller whose validity state is + * triggering the change. + */ +addSetValidityMethod({ + clazz: FormController, + set: function(object, property, controller) { + var list = object[property]; + if (!list) { + object[property] = [controller]; + } else { + var index = list.indexOf(controller); + if (index === -1) { + list.push(controller); + } + } + }, + unset: function(object, property, controller) { + var list = object[property]; + if (!list) { + return; + } + arrayRemove(list, controller); + if (list.length === 0) { + delete object[property]; + } + } +}); /** * @ngdoc directive - * @name ng.directive:ngForm + * @name ngForm * @restrict EAC * * @description - * Nestable alias of {@link ng.directive:form `form`} directive. HTML - * does not allow nesting of form elements. It is useful to nest forms, for example if the validity of a - * sub-group of controls needs to be determined. + * Helper directive that makes it possible to create control groups inside a + * {@link ng.directive:form `form`} directive. + * These "child forms" can be used, for example, to determine the validity of a sub-group of + * controls. * - * @param {string=} ngForm|name Name of the form. If specified, the form controller will be published into - * related scope, under this name. + *
    + * **Note**: `ngForm` cannot be used as a replacement for `
    `, because it lacks its + * [built-in HTML functionality](https://html.spec.whatwg.org/#the-form-element). + * Specifically, you cannot submit `ngForm` like a `` tag. That means, + * you cannot send data to the server with `ngForm`, or integrate it with + * {@link ng.directive:ngSubmit `ngSubmit`}. + *
    + * + * @param {string=} ngForm|name Name of the form. If specified, the form controller will + * be published into the related scope, under this name. * */ /** * @ngdoc directive - * @name ng.directive:form + * @name form * @restrict E * * @description * Directive that instantiates - * {@link ng.directive:form.FormController FormController}. + * {@link form.FormController FormController}. * * If the `name` attribute is specified, the form controller is published onto the current scope under * this name. * - * # Alias: {@link ng.directive:ngForm `ngForm`} + * ## Alias: {@link ng.directive:ngForm `ngForm`} * - * In Angular forms can be nested. This means that the outer form is valid when all of the child + * In AngularJS, forms can be nested. This means that the outer form is valid when all of the child * forms are valid as well. However, browsers do not allow nesting of `` elements, so - * Angular provides the {@link ng.directive:ngForm `ngForm`} directive which behaves identically to - * `` but can be nested. This allows you to have nested forms, which is very useful when - * using Angular validation directives in forms that are dynamically generated using the - * {@link ng.directive:ngRepeat `ngRepeat`} directive. Since you cannot dynamically generate the `name` - * attribute of input elements using interpolation, you have to wrap each set of repeated inputs in an - * `ngForm` directive and nest these in an outer `form` element. + * AngularJS provides the {@link ng.directive:ngForm `ngForm`} directive, which behaves identically to + * `form` but can be nested. Nested forms can be useful, for example, if the validity of a sub-group + * of controls needs to be determined. * + * ## CSS classes + * - `ng-valid` is set if the form is valid. + * - `ng-invalid` is set if the form is invalid. + * - `ng-pending` is set if the form is pending. + * - `ng-pristine` is set if the form is pristine. + * - `ng-dirty` is set if the form is dirty. + * - `ng-submitted` is set if the form was submitted. * - * # CSS classes - * - `ng-valid` Is set if the form is valid. - * - `ng-invalid` Is set if the form is invalid. - * - `ng-pristine` Is set if the form is pristine. - * - `ng-dirty` Is set if the form is dirty. + * Keep in mind that ngAnimate can detect each of these classes when added and removed. * * - * # Submitting a form and preventing the default action + * ## Submitting a form and preventing the default action * - * Since the role of forms in client-side Angular applications is different than in classical + * Since the role of forms in client-side AngularJS applications is different than in classical * roundtrip apps, it is desirable for the browser not to translate the form submission into a full * page reload that sends the data to the server. Instead some javascript logic should be triggered * to handle the form submission in an application-specific way. * - * For this reason, Angular prevents the default action (form submission to the server) unless the + * For this reason, AngularJS prevents the default action (form submission to the server) unless the * `` element has an `action` attribute specified. * * You can use one of the following two ways to specify what javascript method should be called when @@ -284,97 +455,273 @@ function FormController(element, attrs) { * hitting enter in any of the input fields will trigger the click handler on the *first* button or * input[type=submit] (`ngClick`) *and* a submit handler on the enclosing form (`ngSubmit`) * - * @param {string=} name Name of the form. If specified, the form controller will be published into - * related scope, under this name. + * Any pending `ngModelOptions` changes will take place immediately when an enclosing form is + * submitted. Note that `ngClick` events will occur before the model is updated. Use `ngSubmit` + * to have access to the updated model. + * + * @animations + * Animations in ngForm are triggered when any of the associated CSS classes are added and removed. + * These classes are: `.ng-pristine`, `.ng-dirty`, `.ng-invalid` and `.ng-valid` as well as any + * other validations that are performed within the form. Animations in ngForm are similar to how + * they work in ngClass and animations can be hooked into using CSS transitions, keyframes as well + * as JS animations. + * + * The following example shows a simple way to utilize CSS transitions to style a form element + * that has been rendered as invalid after it has been validated: + * + *
    + * //be sure to include ngAnimate as a module to hook into more
    + * //advanced animations
    + * .my-form {
    + *   transition:0.5s linear all;
    + *   background: white;
    + * }
    + * .my-form.ng-invalid {
    + *   background: red;
    + *   color:white;
    + * }
    + * 
    * * @example - - + + - + + userType: Required!
    - userType = {{userType}}
    - myForm.input.$valid = {{myForm.input.$valid}}
    - myForm.input.$error = {{myForm.input.$error}}
    - myForm.$valid = {{myForm.$valid}}
    - myForm.$error.required = {{!!myForm.$error.required}}
    + userType = {{userType}}
    + myForm.input.$valid = {{myForm.input.$valid}}
    + myForm.input.$error = {{myForm.input.$error}}
    + myForm.$valid = {{myForm.$valid}}
    + myForm.$error.required = {{!!myForm.$error.required}}
    -
    - + + it('should initialize to model', function() { - expect(binding('userType')).toEqual('guest'); - expect(binding('myForm.input.$valid')).toEqual('true'); + var userType = element(by.binding('userType')); + var valid = element(by.binding('myForm.input.$valid')); + + expect(userType.getText()).toContain('guest'); + expect(valid.getText()).toContain('true'); }); it('should be invalid if empty', function() { - input('userType').enter(''); - expect(binding('userType')).toEqual(''); - expect(binding('myForm.input.$valid')).toEqual('false'); + var userType = element(by.binding('userType')); + var valid = element(by.binding('myForm.input.$valid')); + var userInput = element(by.model('userType')); + + userInput.clear(); + userInput.sendKeys(''); + + expect(userType.getText()).toEqual('userType ='); + expect(valid.getText()).toContain('false'); }); - -
    + + + * + * @param {string=} name Name of the form. If specified, the form controller will be published into + * related scope, under this name. */ var formDirectiveFactory = function(isNgForm) { - return ['$timeout', function($timeout) { + return ['$timeout', '$parse', function($timeout, $parse) { var formDirective = { name: 'form', restrict: isNgForm ? 'EAC' : 'E', + require: ['form', '^^?form'], //first is the form's own ctrl, second is an optional parent form controller: FormController, - compile: function() { + compile: function ngFormCompile(formElement, attr) { + // Setup initial state of the control + formElement.addClass(PRISTINE_CLASS).addClass(VALID_CLASS); + + var nameAttr = attr.name ? 'name' : (isNgForm && attr.ngForm ? 'ngForm' : false); + return { - pre: function(scope, formElement, attr, controller) { - if (!attr.action) { + pre: function ngFormPreLink(scope, formElement, attr, ctrls) { + var controller = ctrls[0]; + + // if `action` attr is not present on the form, prevent the default action (submission) + if (!('action' in attr)) { // we can't use jq events because if a form is destroyed during submission the default // action is not prevented. see #1238 // // IE 9 is not affected because it doesn't fire a submit event and try to do a full // page reload if the form was destroyed by submission of the form via a click handler // on a button in the form. Looks like an IE9 specific bug. - var preventDefaultListener = function(event) { - event.preventDefault - ? event.preventDefault() - : event.returnValue = false; // IE + var handleFormSubmission = function(event) { + scope.$apply(function() { + controller.$commitViewValue(); + controller.$setSubmitted(); + }); + + event.preventDefault(); }; - addEventListenerFn(formElement[0], 'submit', preventDefaultListener); + formElement[0].addEventListener('submit', handleFormSubmission); // unregister the preventDefault listener so that we don't not leak memory but in a // way that will achieve the prevention of the default action. formElement.on('$destroy', function() { $timeout(function() { - removeEventListenerFn(formElement[0], 'submit', preventDefaultListener); + formElement[0].removeEventListener('submit', handleFormSubmission); }, 0, false); }); } - var parentFormCtrl = formElement.parent().controller('form'), - alias = attr.name || attr.ngForm; + var parentFormCtrl = ctrls[1] || controller.$$parentForm; + parentFormCtrl.$addControl(controller); - if (alias) { - setter(scope, alias, controller, alias); - } - if (parentFormCtrl) { - formElement.on('$destroy', function() { - parentFormCtrl.$removeControl(controller); - if (alias) { - setter(scope, alias, undefined, alias); - } - extend(controller, nullFormCtrl); //stop propagating child destruction handlers upwards + var setter = nameAttr ? getSetter(controller.$name) : noop; + + if (nameAttr) { + setter(scope, controller); + attr.$observe(nameAttr, function(newValue) { + if (controller.$name === newValue) return; + setter(scope, undefined); + controller.$$parentForm.$$renameControl(controller, newValue); + setter = getSetter(controller.$name); + setter(scope, controller); }); } + formElement.on('$destroy', function() { + controller.$$parentForm.$removeControl(controller); + setter(scope, undefined); + extend(controller, nullFormCtrl); //stop propagating child destruction handlers upwards + }); } }; } }; return formDirective; + + function getSetter(expression) { + if (expression === '') { + //create an assignable expression, so forms with an empty name can be renamed later + return $parse('this[""]').assign; + } + return $parse(expression).assign || noop; + } }]; }; var formDirective = formDirectiveFactory(); var ngFormDirective = formDirectiveFactory(true); + + + +// helper methods +function setupValidity(instance) { + instance.$$classCache = {}; + instance.$$classCache[INVALID_CLASS] = !(instance.$$classCache[VALID_CLASS] = instance.$$element.hasClass(VALID_CLASS)); +} +function addSetValidityMethod(context) { + var clazz = context.clazz, + set = context.set, + unset = context.unset; + + clazz.prototype.$setValidity = function(validationErrorKey, state, controller) { + if (isUndefined(state)) { + createAndSet(this, '$pending', validationErrorKey, controller); + } else { + unsetAndCleanup(this, '$pending', validationErrorKey, controller); + } + if (!isBoolean(state)) { + unset(this.$error, validationErrorKey, controller); + unset(this.$$success, validationErrorKey, controller); + } else { + if (state) { + unset(this.$error, validationErrorKey, controller); + set(this.$$success, validationErrorKey, controller); + } else { + set(this.$error, validationErrorKey, controller); + unset(this.$$success, validationErrorKey, controller); + } + } + if (this.$pending) { + cachedToggleClass(this, PENDING_CLASS, true); + this.$valid = this.$invalid = undefined; + toggleValidationCss(this, '', null); + } else { + cachedToggleClass(this, PENDING_CLASS, false); + this.$valid = isObjectEmpty(this.$error); + this.$invalid = !this.$valid; + toggleValidationCss(this, '', this.$valid); + } + + // re-read the state as the set/unset methods could have + // combined state in this.$error[validationError] (used for forms), + // where setting/unsetting only increments/decrements the value, + // and does not replace it. + var combinedState; + if (this.$pending && this.$pending[validationErrorKey]) { + combinedState = undefined; + } else if (this.$error[validationErrorKey]) { + combinedState = false; + } else if (this.$$success[validationErrorKey]) { + combinedState = true; + } else { + combinedState = null; + } + + toggleValidationCss(this, validationErrorKey, combinedState); + this.$$parentForm.$setValidity(validationErrorKey, combinedState, this); + }; + + function createAndSet(ctrl, name, value, controller) { + if (!ctrl[name]) { + ctrl[name] = {}; + } + set(ctrl[name], value, controller); + } + + function unsetAndCleanup(ctrl, name, value, controller) { + if (ctrl[name]) { + unset(ctrl[name], value, controller); + } + if (isObjectEmpty(ctrl[name])) { + ctrl[name] = undefined; + } + } + + function cachedToggleClass(ctrl, className, switchValue) { + if (switchValue && !ctrl.$$classCache[className]) { + ctrl.$$animate.addClass(ctrl.$$element, className); + ctrl.$$classCache[className] = true; + } else if (!switchValue && ctrl.$$classCache[className]) { + ctrl.$$animate.removeClass(ctrl.$$element, className); + ctrl.$$classCache[className] = false; + } + } + + function toggleValidationCss(ctrl, validationErrorKey, isValid) { + validationErrorKey = validationErrorKey ? '-' + snake_case(validationErrorKey, '-') : ''; + + cachedToggleClass(ctrl, VALID_CLASS + validationErrorKey, isValid === true); + cachedToggleClass(ctrl, INVALID_CLASS + validationErrorKey, isValid === false); + } +} + +function isObjectEmpty(obj) { + if (obj) { + for (var prop in obj) { + if (obj.hasOwnProperty(prop)) { + return false; + } + } + } + return true; +} diff --git a/src/ng/directive/input.js b/src/ng/directive/input.js index 8307f7e816e8..7dfbf164b7be 100644 --- a/src/ng/directive/input.js +++ b/src/ng/directive/input.js @@ -1,27 +1,54 @@ 'use strict'; /* global - - -VALID_CLASS, - -INVALID_CLASS, - -PRISTINE_CLASS, - -DIRTY_CLASS + VALID_CLASS: false, + INVALID_CLASS: false, + PRISTINE_CLASS: false, + DIRTY_CLASS: false, + ngModelMinErr: false */ -var URL_REGEXP = /^(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?$/; -var EMAIL_REGEXP = /^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}$/; -var NUMBER_REGEXP = /^\s*(\-|\+)?(\d+|(\d*(\.\d*)))\s*$/; +// Regex code was initially obtained from SO prior to modification: https://stackoverflow.com/questions/3143070/javascript-regex-iso-datetime#answer-3143231 +var ISO_DATE_REGEXP = /^\d{4,}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+(?:[+-][0-2]\d:[0-5]\d|Z)$/; +// See valid URLs in RFC3987 (http://tools.ietf.org/html/rfc3987) +// Note: We are being more lenient, because browsers are too. +// 1. Scheme +// 2. Slashes +// 3. Username +// 4. Password +// 5. Hostname +// 6. Port +// 7. Path +// 8. Query +// 9. Fragment +// 1111111111111111 222 333333 44444 55555555555555555555555 666 77777777 8888888 999 +var URL_REGEXP = /^[a-z][a-z\d.+-]*:\/*(?:[^:@]+(?::[^@]+)?@)?(?:[^\s:/?#]+|\[[a-f\d:]+])(?::\d+)?(?:\/[^?#]*)?(?:\?[^#]*)?(?:#.*)?$/i; +// eslint-disable-next-line max-len +var EMAIL_REGEXP = /^(?=.{1,254}$)(?=.{1,64}@)[-!#$%&'*+/0-9=?A-Z^_`a-z{|}~]+(\.[-!#$%&'*+/0-9=?A-Z^_`a-z{|}~]+)*@[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?(\.[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?)*$/; +var NUMBER_REGEXP = /^\s*(-|\+)?(\d+|(\d*(\.\d*)))([eE][+-]?\d+)?\s*$/; +var DATE_REGEXP = /^(\d{4,})-(\d{2})-(\d{2})$/; +var DATETIMELOCAL_REGEXP = /^(\d{4,})-(\d\d)-(\d\d)T(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/; +var WEEK_REGEXP = /^(\d{4,})-W(\d\d)$/; +var MONTH_REGEXP = /^(\d{4,})-(\d\d)$/; +var TIME_REGEXP = /^(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/; + +var PARTIAL_VALIDATION_EVENTS = 'keydown wheel mousedown'; +var PARTIAL_VALIDATION_TYPES = createMap(); +forEach('date,datetime-local,month,time,week'.split(','), function(type) { + PARTIAL_VALIDATION_TYPES[type] = true; +}); var inputType = { /** - * @ngdoc inputType - * @name ng.directive:input.text + * @ngdoc input + * @name input[text] * * @description - * Standard HTML text input with angular data binding. + * Standard HTML text input with AngularJS data binding, inherited by most of the `input` elements. * - * @param {string} ngModel Assignable angular expression to data-bind to. + * + * @param {string} ngModel Assignable AngularJS expression to data-bind to. * @param {string=} name Property name of the form under which the control is published. * @param {string=} required Adds `required` validation error key if the value is not entered. * @param {string=} ngRequired Adds `required` attribute and `required` validation constraint to @@ -30,78 +57,667 @@ var inputType = { * @param {number=} ngMinlength Sets `minlength` validation error key if the value is shorter than * minlength. * @param {number=} ngMaxlength Sets `maxlength` validation error key if the value is longer than - * maxlength. - * @param {string=} ngPattern Sets `pattern` validation error key if the value does not match the - * RegExp pattern expression. Expected value is `/regexp/` for inline patterns or `regexp` for - * patterns defined as scope expressions. - * @param {string=} ngChange Angular expression to be executed when input changes due to user + * maxlength. Setting the attribute to a negative or non-numeric value, allows view values of + * any length. + * @param {string=} pattern Similar to `ngPattern` except that the attribute value is the actual string + * that contains the regular expression body that will be converted to a regular expression + * as in the ngPattern directive. + * @param {string=} ngPattern Sets `pattern` validation error key if the ngModel {@link ngModel.NgModelController#$viewValue $viewValue} + * does not match a RegExp found by evaluating the AngularJS expression given in the attribute value. + * If the expression evaluates to a RegExp object, then this is used directly. + * If the expression evaluates to a string, then it will be converted to a RegExp + * after wrapping it in `^` and `$` characters. For instance, `"abc"` will be converted to + * `new RegExp('^abc$')`.
    + * **Note:** Avoid using the `g` flag on the RegExp, as it will cause each successive search to + * start at the index of the last search's match, thus not taking the whole input value into + * account. + * @param {string=} ngChange AngularJS expression to be executed when input changes due to user * interaction with the input element. - * @param {boolean=} [ngTrim=true] If set to false Angular will not automatically trim the input. + * @param {boolean=} [ngTrim=true] If set to false AngularJS will not automatically trim the input. + * This parameter is ignored for input[type=password] controls, which will never trim the + * input. * * @example - - + + -
    - Single word: - - Required! - - Single word only! - - text = {{text}}
    - myForm.input.$valid = {{myForm.input.$valid}}
    - myForm.input.$error = {{myForm.input.$error}}
    - myForm.$valid = {{myForm.$valid}}
    - myForm.$error.required = {{!!myForm.$error.required}}
    + + +
    + + Required! + + Single word only! +
    + text = {{example.text}}
    + myForm.input.$valid = {{myForm.input.$valid}}
    + myForm.input.$error = {{myForm.input.$error}}
    + myForm.$valid = {{myForm.$valid}}
    + myForm.$error.required = {{!!myForm.$error.required}}
    -
    - + + + var text = element(by.binding('example.text')); + var valid = element(by.binding('myForm.input.$valid')); + var input = element(by.model('example.text')); + it('should initialize to model', function() { - expect(binding('text')).toEqual('guest'); - expect(binding('myForm.input.$valid')).toEqual('true'); + expect(text.getText()).toContain('guest'); + expect(valid.getText()).toContain('true'); }); it('should be invalid if empty', function() { - input('text').enter(''); - expect(binding('text')).toEqual(''); - expect(binding('myForm.input.$valid')).toEqual('false'); + input.clear(); + input.sendKeys(''); + + expect(text.getText()).toEqual('text ='); + expect(valid.getText()).toContain('false'); }); it('should be invalid if multi word', function() { - input('text').enter('hello world'); - expect(binding('myForm.input.$valid')).toEqual('false'); - }); + input.clear(); + input.sendKeys('hello world'); - it('should not be trimmed', function() { - input('text').enter('untrimmed '); - expect(binding('text')).toEqual('untrimmed '); - expect(binding('myForm.input.$valid')).toEqual('true'); + expect(valid.getText()).toContain('false'); }); - -
    + + */ 'text': textInputType, + /** + * @ngdoc input + * @name input[date] + * + * @description + * Input with date validation and transformation. In browsers that do not yet support + * the HTML5 date input, a text element will be used. In that case, text must be entered in a valid ISO-8601 + * date format (yyyy-MM-dd), for example: `2009-01-06`. Since many + * modern browsers do not yet support this input type, it is important to provide cues to users on the + * expected input format via a placeholder or label. + * + * The model must always be a Date object, otherwise AngularJS will throw an error. + * Invalid `Date` objects (dates whose `getTime()` is `NaN`) will be rendered as an empty string. + * + * The timezone to be used to read/write the `Date` instance in the model can be defined using + * {@link ng.directive:ngModelOptions ngModelOptions}. By default, this is the timezone of the browser. + * + * @param {string} ngModel Assignable AngularJS expression to data-bind to. + * @param {string=} name Property name of the form under which the control is published. + * @param {string=} min Sets the `min` validation error key if the value entered is less than `min`. This must be a + * valid ISO date string (yyyy-MM-dd). You can also use interpolation inside this attribute + * (e.g. `min="{{minDate | date:'yyyy-MM-dd'}}"`). Note that `min` will also add native HTML5 + * constraint validation. + * @param {string=} max Sets the `max` validation error key if the value entered is greater than `max`. This must be + * a valid ISO date string (yyyy-MM-dd). You can also use interpolation inside this attribute + * (e.g. `max="{{maxDate | date:'yyyy-MM-dd'}}"`). Note that `max` will also add native HTML5 + * constraint validation. + * @param {(date|string)=} ngMin Sets the `min` validation constraint to the Date / ISO date string + * the `ngMin` expression evaluates to. Note that it does not set the `min` attribute. + * @param {(date|string)=} ngMax Sets the `max` validation constraint to the Date / ISO date string + * the `ngMax` expression evaluates to. Note that it does not set the `max` attribute. + * @param {string=} required Sets `required` validation error key if the value is not entered. + * @param {string=} ngRequired Adds `required` attribute and `required` validation constraint to + * the element when the ngRequired expression evaluates to true. Use `ngRequired` instead of + * `required` when you want to data-bind to the `required` attribute. + * @param {string=} ngChange AngularJS expression to be executed when input changes due to user + * interaction with the input element. + * + * @example + + + +
    + + +
    + + Required! + + Not a valid date! +
    + value = {{example.value | date: "yyyy-MM-dd"}}
    + myForm.input.$valid = {{myForm.input.$valid}}
    + myForm.input.$error = {{myForm.input.$error}}
    + myForm.$valid = {{myForm.$valid}}
    + myForm.$error.required = {{!!myForm.$error.required}}
    + +
    + + var value = element(by.binding('example.value | date: "yyyy-MM-dd"')); + var valid = element(by.binding('myForm.input.$valid')); + + // currently protractor/webdriver does not support + // sending keys to all known HTML5 input controls + // for various browsers (see https://github.com/angular/protractor/issues/562). + function setInput(val) { + // set the value of the element and force validation. + var scr = "var ipt = document.getElementById('exampleInput'); " + + "ipt.value = '" + val + "';" + + "angular.element(ipt).scope().$apply(function(s) { s.myForm[ipt.name].$setViewValue('" + val + "'); });"; + browser.executeScript(scr); + } + + it('should initialize to model', function() { + expect(value.getText()).toContain('2013-10-22'); + expect(valid.getText()).toContain('myForm.input.$valid = true'); + }); + + it('should be invalid if empty', function() { + setInput(''); + expect(value.getText()).toEqual('value ='); + expect(valid.getText()).toContain('myForm.input.$valid = false'); + }); + + it('should be invalid if over max', function() { + setInput('2015-01-01'); + expect(value.getText()).toContain(''); + expect(valid.getText()).toContain('myForm.input.$valid = false'); + }); + +
    + */ + 'date': createDateInputType('date', DATE_REGEXP, + createDateParser(DATE_REGEXP, ['yyyy', 'MM', 'dd']), + 'yyyy-MM-dd'), + + /** + * @ngdoc input + * @name input[datetime-local] + * + * @description + * Input with datetime validation and transformation. In browsers that do not yet support + * the HTML5 date input, a text element will be used. In that case, the text must be entered in a valid ISO-8601 + * local datetime format (yyyy-MM-ddTHH:mm:ss), for example: `2010-12-28T14:57:00`. + * + * The model must always be a Date object, otherwise AngularJS will throw an error. + * Invalid `Date` objects (dates whose `getTime()` is `NaN`) will be rendered as an empty string. + * + * The timezone to be used to read/write the `Date` instance in the model can be defined using + * {@link ng.directive:ngModelOptions ngModelOptions}. By default, this is the timezone of the browser. + * + * The format of the displayed time can be adjusted with the + * {@link ng.directive:ngModelOptions#ngModelOptions-arguments ngModelOptions} `timeSecondsFormat` + * and `timeStripZeroSeconds`. + * + * @param {string} ngModel Assignable AngularJS expression to data-bind to. + * @param {string=} name Property name of the form under which the control is published. + * @param {string=} min Sets the `min` validation error key if the value entered is less than `min`. + * This must be a valid ISO datetime format (yyyy-MM-ddTHH:mm:ss). You can also use interpolation + * inside this attribute (e.g. `min="{{minDatetimeLocal | date:'yyyy-MM-ddTHH:mm:ss'}}"`). + * Note that `min` will also add native HTML5 constraint validation. + * @param {string=} max Sets the `max` validation error key if the value entered is greater than `max`. + * This must be a valid ISO datetime format (yyyy-MM-ddTHH:mm:ss). You can also use interpolation + * inside this attribute (e.g. `max="{{maxDatetimeLocal | date:'yyyy-MM-ddTHH:mm:ss'}}"`). + * Note that `max` will also add native HTML5 constraint validation. + * @param {(date|string)=} ngMin Sets the `min` validation error key to the Date / ISO datetime string + * the `ngMin` expression evaluates to. Note that it does not set the `min` attribute. + * @param {(date|string)=} ngMax Sets the `max` validation error key to the Date / ISO datetime string + * the `ngMax` expression evaluates to. Note that it does not set the `max` attribute. + * @param {string=} required Sets `required` validation error key if the value is not entered. + * @param {string=} ngRequired Adds `required` attribute and `required` validation constraint to + * the element when the ngRequired expression evaluates to true. Use `ngRequired` instead of + * `required` when you want to data-bind to the `required` attribute. + * @param {string=} ngChange AngularJS expression to be executed when input changes due to user + * interaction with the input element. + * + * @example + + + +
    + + +
    + + Required! + + Not a valid date! +
    + value = {{example.value | date: "yyyy-MM-ddTHH:mm:ss"}}
    + myForm.input.$valid = {{myForm.input.$valid}}
    + myForm.input.$error = {{myForm.input.$error}}
    + myForm.$valid = {{myForm.$valid}}
    + myForm.$error.required = {{!!myForm.$error.required}}
    + +
    + + var value = element(by.binding('example.value | date: "yyyy-MM-ddTHH:mm:ss"')); + var valid = element(by.binding('myForm.input.$valid')); + + // currently protractor/webdriver does not support + // sending keys to all known HTML5 input controls + // for various browsers (https://github.com/angular/protractor/issues/562). + function setInput(val) { + // set the value of the element and force validation. + var scr = "var ipt = document.getElementById('exampleInput'); " + + "ipt.value = '" + val + "';" + + "angular.element(ipt).scope().$apply(function(s) { s.myForm[ipt.name].$setViewValue('" + val + "'); });"; + browser.executeScript(scr); + } + + it('should initialize to model', function() { + expect(value.getText()).toContain('2010-12-28T14:57:00'); + expect(valid.getText()).toContain('myForm.input.$valid = true'); + }); + + it('should be invalid if empty', function() { + setInput(''); + expect(value.getText()).toEqual('value ='); + expect(valid.getText()).toContain('myForm.input.$valid = false'); + }); + + it('should be invalid if over max', function() { + setInput('2015-01-01T23:59:00'); + expect(value.getText()).toContain(''); + expect(valid.getText()).toContain('myForm.input.$valid = false'); + }); + +
    + */ + 'datetime-local': createDateInputType('datetimelocal', DATETIMELOCAL_REGEXP, + createDateParser(DATETIMELOCAL_REGEXP, ['yyyy', 'MM', 'dd', 'HH', 'mm', 'ss', 'sss']), + 'yyyy-MM-ddTHH:mm:ss.sss'), + + /** + * @ngdoc input + * @name input[time] + * + * @description + * Input with time validation and transformation. In browsers that do not yet support + * the HTML5 time input, a text element will be used. In that case, the text must be entered in a valid ISO-8601 + * local time format (HH:mm:ss), for example: `14:57:00`. Model must be a Date object. This binding will always output a + * Date object to the model of January 1, 1970, or local date `new Date(1970, 0, 1, HH, mm, ss)`. + * + * The model must always be a Date object, otherwise AngularJS will throw an error. + * Invalid `Date` objects (dates whose `getTime()` is `NaN`) will be rendered as an empty string. + * + * The timezone to be used to read/write the `Date` instance in the model can be defined using + * {@link ng.directive:ngModelOptions#ngModelOptions-arguments ngModelOptions}. By default, + * this is the timezone of the browser. + * + * The format of the displayed time can be adjusted with the + * {@link ng.directive:ngModelOptions#ngModelOptions-arguments ngModelOptions} `timeSecondsFormat` + * and `timeStripZeroSeconds`. + * + * @param {string} ngModel Assignable AngularJS expression to data-bind to. + * @param {string=} name Property name of the form under which the control is published. + * @param {string=} min Sets the `min` validation error key if the value entered is less than `min`. + * This must be a valid ISO time format (HH:mm:ss). You can also use interpolation inside this + * attribute (e.g. `min="{{minTime | date:'HH:mm:ss'}}"`). Note that `min` will also add + * native HTML5 constraint validation. + * @param {string=} max Sets the `max` validation error key if the value entered is greater than `max`. + * This must be a valid ISO time format (HH:mm:ss). You can also use interpolation inside this + * attribute (e.g. `max="{{maxTime | date:'HH:mm:ss'}}"`). Note that `max` will also add + * native HTML5 constraint validation. + * @param {(date|string)=} ngMin Sets the `min` validation constraint to the Date / ISO time string the + * `ngMin` expression evaluates to. Note that it does not set the `min` attribute. + * @param {(date|string)=} ngMax Sets the `max` validation constraint to the Date / ISO time string the + * `ngMax` expression evaluates to. Note that it does not set the `max` attribute. + * @param {string=} required Sets `required` validation error key if the value is not entered. + * @param {string=} ngRequired Adds `required` attribute and `required` validation constraint to + * the element when the ngRequired expression evaluates to true. Use `ngRequired` instead of + * `required` when you want to data-bind to the `required` attribute. + * @param {string=} ngChange AngularJS expression to be executed when input changes due to user + * interaction with the input element. + * + * @example + + + +
    + + +
    + + Required! + + Not a valid date! +
    + value = {{example.value | date: "HH:mm:ss"}}
    + myForm.input.$valid = {{myForm.input.$valid}}
    + myForm.input.$error = {{myForm.input.$error}}
    + myForm.$valid = {{myForm.$valid}}
    + myForm.$error.required = {{!!myForm.$error.required}}
    + +
    + + var value = element(by.binding('example.value | date: "HH:mm:ss"')); + var valid = element(by.binding('myForm.input.$valid')); + + // currently protractor/webdriver does not support + // sending keys to all known HTML5 input controls + // for various browsers (https://github.com/angular/protractor/issues/562). + function setInput(val) { + // set the value of the element and force validation. + var scr = "var ipt = document.getElementById('exampleInput'); " + + "ipt.value = '" + val + "';" + + "angular.element(ipt).scope().$apply(function(s) { s.myForm[ipt.name].$setViewValue('" + val + "'); });"; + browser.executeScript(scr); + } + + it('should initialize to model', function() { + expect(value.getText()).toContain('14:57:00'); + expect(valid.getText()).toContain('myForm.input.$valid = true'); + }); + + it('should be invalid if empty', function() { + setInput(''); + expect(value.getText()).toEqual('value ='); + expect(valid.getText()).toContain('myForm.input.$valid = false'); + }); + + it('should be invalid if over max', function() { + setInput('23:59:00'); + expect(value.getText()).toContain(''); + expect(valid.getText()).toContain('myForm.input.$valid = false'); + }); + +
    + */ + 'time': createDateInputType('time', TIME_REGEXP, + createDateParser(TIME_REGEXP, ['HH', 'mm', 'ss', 'sss']), + 'HH:mm:ss.sss'), + + /** + * @ngdoc input + * @name input[week] + * + * @description + * Input with week-of-the-year validation and transformation to Date. In browsers that do not yet support + * the HTML5 week input, a text element will be used. In that case, the text must be entered in a valid ISO-8601 + * week format (yyyy-W##), for example: `2013-W02`. + * + * The model must always be a Date object, otherwise AngularJS will throw an error. + * Invalid `Date` objects (dates whose `getTime()` is `NaN`) will be rendered as an empty string. + * + * The value of the resulting Date object will be set to Thursday at 00:00:00 of the requested week, + * due to ISO-8601 week numbering standards. Information on ISO's system for numbering the weeks of the + * year can be found at: https://en.wikipedia.org/wiki/ISO_8601#Week_dates + * + * The timezone to be used to read/write the `Date` instance in the model can be defined using + * {@link ng.directive:ngModelOptions ngModelOptions}. By default, this is the timezone of the browser. + * + * @param {string} ngModel Assignable AngularJS expression to data-bind to. + * @param {string=} name Property name of the form under which the control is published. + * @param {string=} min Sets the `min` validation error key if the value entered is less than `min`. + * This must be a valid ISO week format (yyyy-W##). You can also use interpolation inside this + * attribute (e.g. `min="{{minWeek | date:'yyyy-Www'}}"`). Note that `min` will also add + * native HTML5 constraint validation. + * @param {string=} max Sets the `max` validation error key if the value entered is greater than `max`. + * This must be a valid ISO week format (yyyy-W##). You can also use interpolation inside this + * attribute (e.g. `max="{{maxWeek | date:'yyyy-Www'}}"`). Note that `max` will also add + * native HTML5 constraint validation. + * @param {(date|string)=} ngMin Sets the `min` validation constraint to the Date / ISO week string + * the `ngMin` expression evaluates to. Note that it does not set the `min` attribute. + * @param {(date|string)=} ngMax Sets the `max` validation constraint to the Date / ISO week string + * the `ngMax` expression evaluates to. Note that it does not set the `max` attribute. + * @param {string=} required Sets `required` validation error key if the value is not entered. + * @param {string=} ngRequired Adds `required` attribute and `required` validation constraint to + * the element when the ngRequired expression evaluates to true. Use `ngRequired` instead of + * `required` when you want to data-bind to the `required` attribute. + * @param {string=} ngChange AngularJS expression to be executed when input changes due to user + * interaction with the input element. + * + * @example + + + +
    + +
    + + Required! + + Not a valid date! +
    + value = {{example.value | date: "yyyy-Www"}}
    + myForm.input.$valid = {{myForm.input.$valid}}
    + myForm.input.$error = {{myForm.input.$error}}
    + myForm.$valid = {{myForm.$valid}}
    + myForm.$error.required = {{!!myForm.$error.required}}
    + +
    + + var value = element(by.binding('example.value | date: "yyyy-Www"')); + var valid = element(by.binding('myForm.input.$valid')); + + // currently protractor/webdriver does not support + // sending keys to all known HTML5 input controls + // for various browsers (https://github.com/angular/protractor/issues/562). + function setInput(val) { + // set the value of the element and force validation. + var scr = "var ipt = document.getElementById('exampleInput'); " + + "ipt.value = '" + val + "';" + + "angular.element(ipt).scope().$apply(function(s) { s.myForm[ipt.name].$setViewValue('" + val + "'); });"; + browser.executeScript(scr); + } + + it('should initialize to model', function() { + expect(value.getText()).toContain('2013-W01'); + expect(valid.getText()).toContain('myForm.input.$valid = true'); + }); + + it('should be invalid if empty', function() { + setInput(''); + expect(value.getText()).toEqual('value ='); + expect(valid.getText()).toContain('myForm.input.$valid = false'); + }); + + it('should be invalid if over max', function() { + setInput('2015-W01'); + expect(value.getText()).toContain(''); + expect(valid.getText()).toContain('myForm.input.$valid = false'); + }); + +
    + */ + 'week': createDateInputType('week', WEEK_REGEXP, weekParser, 'yyyy-Www'), + + /** + * @ngdoc input + * @name input[month] + * + * @description + * Input with month validation and transformation. In browsers that do not yet support + * the HTML5 month input, a text element will be used. In that case, the text must be entered in a valid ISO-8601 + * month format (yyyy-MM), for example: `2009-01`. + * + * The model must always be a Date object, otherwise AngularJS will throw an error. + * Invalid `Date` objects (dates whose `getTime()` is `NaN`) will be rendered as an empty string. + * If the model is not set to the first of the month, the next view to model update will set it + * to the first of the month. + * + * The timezone to be used to read/write the `Date` instance in the model can be defined using + * {@link ng.directive:ngModelOptions ngModelOptions}. By default, this is the timezone of the browser. + * + * @param {string} ngModel Assignable AngularJS expression to data-bind to. + * @param {string=} name Property name of the form under which the control is published. + * @param {string=} min Sets the `min` validation error key if the value entered is less than `min`. + * This must be a valid ISO month format (yyyy-MM). You can also use interpolation inside this + * attribute (e.g. `min="{{minMonth | date:'yyyy-MM'}}"`). Note that `min` will also add + * native HTML5 constraint validation. + * @param {string=} max Sets the `max` validation error key if the value entered is greater than `max`. + * This must be a valid ISO month format (yyyy-MM). You can also use interpolation inside this + * attribute (e.g. `max="{{maxMonth | date:'yyyy-MM'}}"`). Note that `max` will also add + * native HTML5 constraint validation. + * @param {(date|string)=} ngMin Sets the `min` validation constraint to the Date / ISO week string + * the `ngMin` expression evaluates to. Note that it does not set the `min` attribute. + * @param {(date|string)=} ngMax Sets the `max` validation constraint to the Date / ISO week string + * the `ngMax` expression evaluates to. Note that it does not set the `max` attribute. + + * @param {string=} required Sets `required` validation error key if the value is not entered. + * @param {string=} ngRequired Adds `required` attribute and `required` validation constraint to + * the element when the ngRequired expression evaluates to true. Use `ngRequired` instead of + * `required` when you want to data-bind to the `required` attribute. + * @param {string=} ngChange AngularJS expression to be executed when input changes due to user + * interaction with the input element. + * + * @example + + + +
    + + +
    + + Required! + + Not a valid month! +
    + value = {{example.value | date: "yyyy-MM"}}
    + myForm.input.$valid = {{myForm.input.$valid}}
    + myForm.input.$error = {{myForm.input.$error}}
    + myForm.$valid = {{myForm.$valid}}
    + myForm.$error.required = {{!!myForm.$error.required}}
    + +
    + + var value = element(by.binding('example.value | date: "yyyy-MM"')); + var valid = element(by.binding('myForm.input.$valid')); + + // currently protractor/webdriver does not support + // sending keys to all known HTML5 input controls + // for various browsers (https://github.com/angular/protractor/issues/562). + function setInput(val) { + // set the value of the element and force validation. + var scr = "var ipt = document.getElementById('exampleInput'); " + + "ipt.value = '" + val + "';" + + "angular.element(ipt).scope().$apply(function(s) { s.myForm[ipt.name].$setViewValue('" + val + "'); });"; + browser.executeScript(scr); + } + + it('should initialize to model', function() { + expect(value.getText()).toContain('2013-10'); + expect(valid.getText()).toContain('myForm.input.$valid = true'); + }); + + it('should be invalid if empty', function() { + setInput(''); + expect(value.getText()).toEqual('value ='); + expect(valid.getText()).toContain('myForm.input.$valid = false'); + }); + + it('should be invalid if over max', function() { + setInput('2015-01'); + expect(value.getText()).toContain(''); + expect(valid.getText()).toContain('myForm.input.$valid = false'); + }); + +
    + */ + 'month': createDateInputType('month', MONTH_REGEXP, + createDateParser(MONTH_REGEXP, ['yyyy', 'MM']), + 'yyyy-MM'), /** - * @ngdoc inputType - * @name ng.directive:input.number + * @ngdoc input + * @name input[number] * * @description * Text input with number validation and transformation. Sets the `number` validation * error if not a valid number. * - * @param {string} ngModel Assignable angular expression to data-bind to. + *
    + * The model must always be of type `number` otherwise AngularJS will throw an error. + * Be aware that a string containing a number is not enough. See the {@link ngModel:numfmt} + * error docs for more information and an example of how to convert your model if necessary. + *
    + * + * + * + * @knownIssue + * + * ### HTML5 constraint validation and `allowInvalid` + * + * In browsers that follow the + * [HTML5 specification](https://html.spec.whatwg.org/multipage/forms.html#number-state-%28type=number%29), + * `input[number]` does not work as expected with {@link ngModelOptions `ngModelOptions.allowInvalid`}. + * If a non-number is entered in the input, the browser will report the value as an empty string, + * which means the view / model values in `ngModel` and subsequently the scope value + * will also be an empty string. + * + * @knownIssue + * + * ### Large numbers and `step` validation + * + * The `step` validation will not work correctly for very large numbers (e.g. 9999999999) due to + * Javascript's arithmetic limitations. If you need to handle large numbers, purpose-built + * libraries (e.g. https://github.com/MikeMcl/big.js/), can be included into AngularJS by + * {@link guide/forms#modifying-built-in-validators overwriting the validators} + * for `number` and / or `step`, or by {@link guide/forms#custom-validation applying custom validators} + * to an `input[text]` element. The source for `input[number]` type can be used as a starting + * point for both implementations. + * + * @param {string} ngModel Assignable AngularJS expression to data-bind to. * @param {string=} name Property name of the form under which the control is published. * @param {string=} min Sets the `min` validation error key if the value entered is less than `min`. + * Can be interpolated. * @param {string=} max Sets the `max` validation error key if the value entered is greater than `max`. + * Can be interpolated. + * @param {string=} ngMin Like `min`, sets the `min` validation error key if the value entered is less than `ngMin`, + * but does not trigger HTML5 native validation. Takes an expression. + * @param {string=} ngMax Like `max`, sets the `max` validation error key if the value entered is greater than `ngMax`, + * but does not trigger HTML5 native validation. Takes an expression. + * @param {string=} step Sets the `step` validation error key if the value entered does not fit the `step` constraint. + * Can be interpolated. + * @param {string=} ngStep Like `step`, sets the `step` validation error key if the value entered does not fit the `ngStep` constraint, + * but does not trigger HTML5 native validation. Takes an expression. * @param {string=} required Sets `required` validation error key if the value is not entered. * @param {string=} ngRequired Adds `required` attribute and `required` validation constraint to * the element when the ngRequired expression evaluates to true. Use `ngRequired` instead of @@ -109,67 +725,96 @@ var inputType = { * @param {number=} ngMinlength Sets `minlength` validation error key if the value is shorter than * minlength. * @param {number=} ngMaxlength Sets `maxlength` validation error key if the value is longer than - * maxlength. - * @param {string=} ngPattern Sets `pattern` validation error key if the value does not match the - * RegExp pattern expression. Expected value is `/regexp/` for inline patterns or `regexp` for - * patterns defined as scope expressions. - * @param {string=} ngChange Angular expression to be executed when input changes due to user + * maxlength. Setting the attribute to a negative or non-numeric value, allows view values of + * any length. + * @param {string=} pattern Similar to `ngPattern` except that the attribute value is the actual string + * that contains the regular expression body that will be converted to a regular expression + * as in the ngPattern directive. + * @param {string=} ngPattern Sets `pattern` validation error key if the ngModel {@link ngModel.NgModelController#$viewValue $viewValue} + * does not match a RegExp found by evaluating the AngularJS expression given in the attribute value. + * If the expression evaluates to a RegExp object, then this is used directly. + * If the expression evaluates to a string, then it will be converted to a RegExp + * after wrapping it in `^` and `$` characters. For instance, `"abc"` will be converted to + * `new RegExp('^abc$')`.
    + * **Note:** Avoid using the `g` flag on the RegExp, as it will cause each successive search to + * start at the index of the last search's match, thus not taking the whole input value into + * account. + * @param {string=} ngChange AngularJS expression to be executed when input changes due to user * interaction with the input element. * * @example - - + + -
    - Number: - - Required! - - Not valid number! - value = {{value}}
    + + +
    + + Required! + + Not valid number! +
    + value = {{example.value}}
    myForm.input.$valid = {{myForm.input.$valid}}
    myForm.input.$error = {{myForm.input.$error}}
    myForm.$valid = {{myForm.$valid}}
    myForm.$error.required = {{!!myForm.$error.required}}
    -
    - + + + var value = element(by.binding('example.value')); + var valid = element(by.binding('myForm.input.$valid')); + var input = element(by.model('example.value')); + it('should initialize to model', function() { - expect(binding('value')).toEqual('12'); - expect(binding('myForm.input.$valid')).toEqual('true'); + expect(value.getText()).toContain('12'); + expect(valid.getText()).toContain('true'); }); it('should be invalid if empty', function() { - input('value').enter(''); - expect(binding('value')).toEqual(''); - expect(binding('myForm.input.$valid')).toEqual('false'); + input.clear(); + input.sendKeys(''); + expect(value.getText()).toEqual('value ='); + expect(valid.getText()).toContain('false'); }); it('should be invalid if over max', function() { - input('value').enter('123'); - expect(binding('value')).toEqual(''); - expect(binding('myForm.input.$valid')).toEqual('false'); + input.clear(); + input.sendKeys('123'); + expect(value.getText()).toEqual('value ='); + expect(valid.getText()).toContain('false'); }); - -
    + + */ 'number': numberInputType, /** - * @ngdoc inputType - * @name ng.directive:input.url + * @ngdoc input + * @name input[url] * * @description * Text input with URL validation. Sets the `url` validation error key if the content is not a * valid URL. * - * @param {string} ngModel Assignable angular expression to data-bind to. + *
    + * **Note:** `input[url]` uses a regex to validate urls that is derived from the regex + * used in Chromium. If you need stricter validation, you can use `ng-pattern` or modify + * the built-in validators (see the {@link guide/forms Forms guide}) + *
    + * + * @param {string} ngModel Assignable AngularJS expression to data-bind to. * @param {string=} name Property name of the form under which the control is published. * @param {string=} required Sets `required` validation error key if the value is not entered. * @param {string=} ngRequired Adds `required` attribute and `required` validation constraint to @@ -178,66 +823,99 @@ var inputType = { * @param {number=} ngMinlength Sets `minlength` validation error key if the value is shorter than * minlength. * @param {number=} ngMaxlength Sets `maxlength` validation error key if the value is longer than - * maxlength. - * @param {string=} ngPattern Sets `pattern` validation error key if the value does not match the - * RegExp pattern expression. Expected value is `/regexp/` for inline patterns or `regexp` for - * patterns defined as scope expressions. - * @param {string=} ngChange Angular expression to be executed when input changes due to user + * maxlength. Setting the attribute to a negative or non-numeric value, allows view values of + * any length. + * @param {string=} pattern Similar to `ngPattern` except that the attribute value is the actual string + * that contains the regular expression body that will be converted to a regular expression + * as in the ngPattern directive. + * @param {string=} ngPattern Sets `pattern` validation error key if the ngModel {@link ngModel.NgModelController#$viewValue $viewValue} + * does not match a RegExp found by evaluating the AngularJS expression given in the attribute value. + * If the expression evaluates to a RegExp object, then this is used directly. + * If the expression evaluates to a string, then it will be converted to a RegExp + * after wrapping it in `^` and `$` characters. For instance, `"abc"` will be converted to + * `new RegExp('^abc$')`.
    + * **Note:** Avoid using the `g` flag on the RegExp, as it will cause each successive search to + * start at the index of the last search's match, thus not taking the whole input value into + * account. + * @param {string=} ngChange AngularJS expression to be executed when input changes due to user * interaction with the input element. * * @example - - + + -
    - URL: - - Required! - - Not valid url! - text = {{text}}
    + +
    - + + + var text = element(by.binding('url.text')); + var valid = element(by.binding('myForm.input.$valid')); + var input = element(by.model('url.text')); + it('should initialize to model', function() { - expect(binding('text')).toEqual('http://google.com/'); - expect(binding('myForm.input.$valid')).toEqual('true'); + expect(text.getText()).toContain('http://google.com/'); + expect(valid.getText()).toContain('true'); }); it('should be invalid if empty', function() { - input('text').enter(''); - expect(binding('text')).toEqual(''); - expect(binding('myForm.input.$valid')).toEqual('false'); + input.clear(); + input.sendKeys(''); + + expect(text.getText()).toEqual('text ='); + expect(valid.getText()).toContain('false'); }); it('should be invalid if not url', function() { - input('text').enter('xxx'); - expect(binding('myForm.input.$valid')).toEqual('false'); + input.clear(); + input.sendKeys('box'); + + expect(valid.getText()).toContain('false'); }); - -
    + + */ 'url': urlInputType, /** - * @ngdoc inputType - * @name ng.directive:input.email + * @ngdoc input + * @name input[email] * * @description * Text input with email validation. Sets the `email` validation error key if not a valid email * address. * - * @param {string} ngModel Assignable angular expression to data-bind to. + *
    + * **Note:** `input[email]` uses a regex to validate email addresses that is derived from the regex + * used in Chromium, which may not fulfill your app's requirements. + * If you need stricter (e.g. requiring a top-level domain), or more relaxed validation + * (e.g. allowing IPv6 address literals) you can use `ng-pattern` or + * modify the built-in validators (see the {@link guide/forms Forms guide}). + *
    + * + * @param {string} ngModel Assignable AngularJS expression to data-bind to. * @param {string=} name Property name of the form under which the control is published. * @param {string=} required Sets `required` validation error key if the value is not entered. * @param {string=} ngRequired Adds `required` attribute and `required` validation constraint to @@ -246,180 +924,422 @@ var inputType = { * @param {number=} ngMinlength Sets `minlength` validation error key if the value is shorter than * minlength. * @param {number=} ngMaxlength Sets `maxlength` validation error key if the value is longer than - * maxlength. - * @param {string=} ngPattern Sets `pattern` validation error key if the value does not match the - * RegExp pattern expression. Expected value is `/regexp/` for inline patterns or `regexp` for - * patterns defined as scope expressions. - * @param {string=} ngChange Angular expression to be executed when input changes due to user + * maxlength. Setting the attribute to a negative or non-numeric value, allows view values of + * any length. + * @param {string=} pattern Similar to `ngPattern` except that the attribute value is the actual string + * that contains the regular expression body that will be converted to a regular expression + * as in the ngPattern directive. + * @param {string=} ngPattern Sets `pattern` validation error key if the ngModel {@link ngModel.NgModelController#$viewValue $viewValue} + * does not match a RegExp found by evaluating the AngularJS expression given in the attribute value. + * If the expression evaluates to a RegExp object, then this is used directly. + * If the expression evaluates to a string, then it will be converted to a RegExp + * after wrapping it in `^` and `$` characters. For instance, `"abc"` will be converted to + * `new RegExp('^abc$')`.
    + * **Note:** Avoid using the `g` flag on the RegExp, as it will cause each successive search to + * start at the index of the last search's match, thus not taking the whole input value into + * account. + * @param {string=} ngChange AngularJS expression to be executed when input changes due to user * interaction with the input element. * * @example - - + + -
    - Email: - - Required! - - Not valid email! - text = {{text}}
    + + +
    + + Required! + + Not valid email! +
    + text = {{email.text}}
    myForm.input.$valid = {{myForm.input.$valid}}
    myForm.input.$error = {{myForm.input.$error}}
    myForm.$valid = {{myForm.$valid}}
    myForm.$error.required = {{!!myForm.$error.required}}
    myForm.$error.email = {{!!myForm.$error.email}}
    -
    - + + + var text = element(by.binding('email.text')); + var valid = element(by.binding('myForm.input.$valid')); + var input = element(by.model('email.text')); + it('should initialize to model', function() { - expect(binding('text')).toEqual('me@example.com'); - expect(binding('myForm.input.$valid')).toEqual('true'); + expect(text.getText()).toContain('me@example.com'); + expect(valid.getText()).toContain('true'); }); it('should be invalid if empty', function() { - input('text').enter(''); - expect(binding('text')).toEqual(''); - expect(binding('myForm.input.$valid')).toEqual('false'); + input.clear(); + input.sendKeys(''); + expect(text.getText()).toEqual('text ='); + expect(valid.getText()).toContain('false'); }); it('should be invalid if not email', function() { - input('text').enter('xxx'); - expect(binding('myForm.input.$valid')).toEqual('false'); + input.clear(); + input.sendKeys('xxx'); + + expect(valid.getText()).toContain('false'); }); - -
    + + */ 'email': emailInputType, /** - * @ngdoc inputType - * @name ng.directive:input.radio + * @ngdoc input + * @name input[radio] * * @description * HTML radio button. * - * @param {string} ngModel Assignable angular expression to data-bind to. - * @param {string} value The value to which the expression should be set when selected. + * **Note:**
    + * All inputs controlled by {@link ngModel ngModel} (including those of type `radio`) will use the + * value of their `name` attribute to determine the property under which their + * {@link ngModel.NgModelController NgModelController} will be published on the parent + * {@link form.FormController FormController}. Thus, if you use the same `name` for multiple + * inputs of a form (e.g. a group of radio inputs), only _one_ `NgModelController` will be + * published on the parent `FormController` under that name. The rest of the controllers will + * continue to work as expected, but you won't be able to access them as properties on the parent + * `FormController`. + * + *
    + *

    + * In plain HTML forms, the `name` attribute is used to identify groups of radio inputs, so + * that the browser can manage their state (checked/unchecked) based on the state of other + * inputs in the same group. + *

    + *

    + * In AngularJS forms, this is not necessary. The input's state will be updated based on the + * value of the underlying model data. + *

    + *
    + * + *
    + * If you omit the `name` attribute on a radio input, `ngModel` will automatically assign it a + * unique name. + *
    + * + * @param {string} ngModel Assignable AngularJS expression to data-bind to. + * @param {string} value The value to which the `ngModel` expression should be set when selected. + * Note that `value` only supports `string` values, i.e. the scope model needs to be a string, + * too. Use `ngValue` if you need complex models (`number`, `object`, ...). * @param {string=} name Property name of the form under which the control is published. - * @param {string=} ngChange Angular expression to be executed when input changes due to user + * @param {string=} ngChange AngularJS expression to be executed when input changes due to user * interaction with the input element. + * @param {string} ngValue AngularJS expression to which `ngModel` will be be set when the radio + * is selected. Should be used instead of the `value` attribute if you need + * a non-string `ngModel` (`boolean`, `array`, ...). * * @example - - + + -
    - Red
    - Green
    - Blue
    - color = {{color}}
    + +
    +
    +
    + color = {{color.name | json}}
    -
    - + Note that `ng-value="specialValue"` sets radio item's value to be the value of `$scope.specialValue`. + + it('should change state', function() { - expect(binding('color')).toEqual('blue'); + var inputs = element.all(by.model('color.name')); + var color = element(by.binding('color.name')); - input('color').select('red'); - expect(binding('color')).toEqual('red'); + expect(color.getText()).toContain('blue'); + + inputs.get(0).click(); + expect(color.getText()).toContain('red'); + + inputs.get(1).click(); + expect(color.getText()).toContain('green'); }); - -
    + + */ 'radio': radioInputType, + /** + * @ngdoc input + * @name input[range] + * + * @description + * Native range input with validation and transformation. + * + * The model for the range input must always be a `Number`. + * + * IE9 and other browsers that do not support the `range` type fall back + * to a text input without any default values for `min`, `max` and `step`. Model binding, + * validation and number parsing are nevertheless supported. + * + * Browsers that support range (latest Chrome, Safari, Firefox, Edge) treat `input[range]` + * in a way that never allows the input to hold an invalid value. That means: + * - any non-numerical value is set to `(max + min) / 2`. + * - any numerical value that is less than the current min val, or greater than the current max val + * is set to the min / max val respectively. + * - additionally, the current `step` is respected, so the nearest value that satisfies a step + * is used. + * + * See the [HTML Spec on input[type=range]](https://www.w3.org/TR/html5/forms.html#range-state-(type=range)) + * for more info. + * + * This has the following consequences for AngularJS: + * + * Since the element value should always reflect the current model value, a range input + * will set the bound ngModel expression to the value that the browser has set for the + * input element. For example, in the following input ``, + * if the application sets `model.value = null`, the browser will set the input to `'50'`. + * AngularJS will then set the model to `50`, to prevent input and model value being out of sync. + * + * That means the model for range will immediately be set to `50` after `ngModel` has been + * initialized. It also means a range input can never have the required error. + * + * This does not only affect changes to the model value, but also to the values of the `min`, + * `max`, and `step` attributes. When these change in a way that will cause the browser to modify + * the input value, AngularJS will also update the model value. + * + * Automatic value adjustment also means that a range input element can never have the `required`, + * `min`, or `max` errors. + * + * However, `step` is currently only fully implemented by Firefox. Other browsers have problems + * when the step value changes dynamically - they do not adjust the element value correctly, but + * instead may set the `stepMismatch` error. If that's the case, the AngularJS will set the `step` + * error on the input, and set the model to `undefined`. + * + * Note that `input[range]` is not compatible with`ngMax`, `ngMin`, and `ngStep`, because they do + * not set the `min` and `max` attributes, which means that the browser won't automatically adjust + * the input value based on their values, and will always assume min = 0, max = 100, and step = 1. + * + * @param {string} ngModel Assignable AngularJS expression to data-bind to. + * @param {string=} name Property name of the form under which the control is published. + * @param {string=} min Sets the `min` validation to ensure that the value entered is greater + * than `min`. Can be interpolated. + * @param {string=} max Sets the `max` validation to ensure that the value entered is less than `max`. + * Can be interpolated. + * @param {string=} step Sets the `step` validation to ensure that the value entered matches the `step` + * Can be interpolated. + * @param {expression=} ngChange AngularJS expression to be executed when the ngModel value changes due + * to user interaction with the input element. + * @param {expression=} ngChecked If the expression is truthy, then the `checked` attribute will be set on the + * element. **Note** : `ngChecked` should not be used alongside `ngModel`. + * Checkout {@link ng.directive:ngChecked ngChecked} for usage. + * + * @example + + + +
    + + Model as range: +
    + Model as number:
    + Min:
    + Max:
    + value = {{value}}
    + myForm.range.$valid = {{myForm.range.$valid}}
    + myForm.range.$error = {{myForm.range.$error}} + +
    +
    + + * ## Range Input with ngMin & ngMax attributes + + * @example + + + +
    + Model as range: +
    + Model as number:
    + Min:
    + Max:
    + value = {{value}}
    + myForm.range.$valid = {{myForm.range.$valid}}
    + myForm.range.$error = {{myForm.range.$error}} + +
    +
    + + */ + 'range': rangeInputType, /** - * @ngdoc inputType - * @name ng.directive:input.checkbox + * @ngdoc input + * @name input[checkbox] * * @description * HTML checkbox. * - * @param {string} ngModel Assignable angular expression to data-bind to. + * @param {string} ngModel Assignable AngularJS expression to data-bind to. * @param {string=} name Property name of the form under which the control is published. - * @param {string=} ngTrueValue The value to which the expression should be set when selected. - * @param {string=} ngFalseValue The value to which the expression should be set when not selected. - * @param {string=} ngChange Angular expression to be executed when input changes due to user + * @param {expression=} ngTrueValue The value to which the expression should be set when selected. + * @param {expression=} ngFalseValue The value to which the expression should be set when not selected. + * @param {string=} ngChange AngularJS expression to be executed when input changes due to user * interaction with the input element. * * @example - - + + -
    - Value1:
    - Value2:
    - value1 = {{value1}}
    - value2 = {{value2}}
    + +
    +
    + value1 = {{checkboxModel.value1}}
    + value2 = {{checkboxModel.value2}}
    -
    - + + it('should change state', function() { - expect(binding('value1')).toEqual('true'); - expect(binding('value2')).toEqual('YES'); + var value1 = element(by.binding('checkboxModel.value1')); + var value2 = element(by.binding('checkboxModel.value2')); - input('value1').check(); - input('value2').check(); - expect(binding('value1')).toEqual('false'); - expect(binding('value2')).toEqual('NO'); + expect(value1.getText()).toContain('true'); + expect(value2.getText()).toContain('YES'); + + element(by.model('checkboxModel.value1')).click(); + element(by.model('checkboxModel.value2')).click(); + + expect(value1.getText()).toContain('false'); + expect(value2.getText()).toContain('NO'); }); - -
    + + */ 'checkbox': checkboxInputType, 'hidden': noop, 'button': noop, 'submit': noop, - 'reset': noop + 'reset': noop, + 'file': noop }; +function stringBasedInputType(ctrl) { + ctrl.$formatters.push(function(value) { + return ctrl.$isEmpty(value) ? value : value.toString(); + }); +} function textInputType(scope, element, attr, ctrl, $sniffer, $browser) { - // In composition mode, users are still inputing intermediate text buffer, + baseInputType(scope, element, attr, ctrl, $sniffer, $browser); + stringBasedInputType(ctrl); +} + +function baseInputType(scope, element, attr, ctrl, $sniffer, $browser) { + var type = lowercase(element[0].type); + + // In composition mode, users are still inputting intermediate text buffer, // hold the listener until composition is done. // More about composition events: https://developer.mozilla.org/en-US/docs/Web/API/CompositionEvent - var composing = false; + if (!$sniffer.android) { + var composing = false; - element.on('compositionstart', function() { - composing = true; - }); + element.on('compositionstart', function() { + composing = true; + }); - element.on('compositionend', function() { - composing = false; - }); + // Support: IE9+ + element.on('compositionupdate', function(ev) { + // End composition when ev.data is empty string on 'compositionupdate' event. + // When the input de-focusses (e.g. by clicking away), IE triggers 'compositionupdate' + // instead of 'compositionend'. + if (isUndefined(ev.data) || ev.data === '') { + composing = false; + } + }); + + element.on('compositionend', function() { + composing = false; + listener(); + }); + } - var listener = function() { + var timeout; + + var listener = function(ev) { + if (timeout) { + $browser.defer.cancel(timeout); + timeout = null; + } if (composing) return; - var value = element.val(); + var value = element.val(), + event = ev && ev.type; // By default we will trim the value // If the attribute ng-trim exists we will avoid trimming - // e.g. - if (toBoolean(attr.ngTrim || 'T')) { + // If input type is 'password', the value is never trimmed + if (type !== 'password' && (!attr.ngTrim || attr.ngTrim !== 'false')) { value = trim(value); } - if (ctrl.$viewValue !== value) { - scope.$apply(function() { - ctrl.$setViewValue(value); - }); + // If a control is suffering from bad input (due to native validators), browsers discard its + // value, so it may be necessary to revalidate (by calling $setViewValue again) even if the + // control's value is the same empty value twice in a row. + if (ctrl.$viewValue !== value || (value === '' && ctrl.$$hasNativeValidators)) { + ctrl.$setViewValue(value, event); } }; @@ -428,30 +1348,30 @@ function textInputType(scope, element, attr, ctrl, $sniffer, $browser) { if ($sniffer.hasEvent('input')) { element.on('input', listener); } else { - var timeout; - - var deferListener = function() { + var deferListener = function(ev, input, origValue) { if (!timeout) { timeout = $browser.defer(function() { - listener(); timeout = null; + if (!input || input.value !== origValue) { + listener(ev); + } }); } }; - element.on('keydown', function(event) { + element.on('keydown', /** @this */ function(event) { var key = event.keyCode; // ignore // command modifiers arrows if (key === 91 || (15 < key && key < 19) || (37 <= key && key <= 40)) return; - deferListener(); + deferListener(event, this, this.value); }); - // if user modifies input value using context menu in IE, we need "paste" and "cut" events to catch it + // if user modifies input value using context menu in IE, we need "paste", "cut" and "drop" events to catch it if ($sniffer.hasEvent('paste')) { - element.on('paste cut', deferListener); + element.on('paste cut drop', deferListener); } } @@ -459,226 +1379,650 @@ function textInputType(scope, element, attr, ctrl, $sniffer, $browser) { // or form autocomplete on newer browser, we need "change" event to catch it element.on('change', listener); + // Some native input types (date-family) have the ability to change validity without + // firing any input/change events. + // For these event types, when native validators are present and the browser supports the type, + // check for validity changes on various DOM events. + if (PARTIAL_VALIDATION_TYPES[type] && ctrl.$$hasNativeValidators && type === attr.type) { + element.on(PARTIAL_VALIDATION_EVENTS, /** @this */ function(ev) { + if (!timeout) { + var validity = this[VALIDITY_STATE_PROPERTY]; + var origBadInput = validity.badInput; + var origTypeMismatch = validity.typeMismatch; + timeout = $browser.defer(function() { + timeout = null; + if (validity.badInput !== origBadInput || validity.typeMismatch !== origTypeMismatch) { + listener(ev); + } + }); + } + }); + } + ctrl.$render = function() { - element.val(ctrl.$isEmpty(ctrl.$viewValue) ? '' : ctrl.$viewValue); + // Workaround for Firefox validation #12102. + var value = ctrl.$isEmpty(ctrl.$viewValue) ? '' : ctrl.$viewValue; + if (element.val() !== value) { + element.val(value); + } }; +} - // pattern validator - var pattern = attr.ngPattern, - patternValidator, - match; +function weekParser(isoWeek, existingDate) { + if (isDate(isoWeek)) { + return isoWeek; + } - var validate = function(regexp, value) { - if (ctrl.$isEmpty(value) || regexp.test(value)) { - ctrl.$setValidity('pattern', true); - return value; - } else { - ctrl.$setValidity('pattern', false); - return undefined; + if (isString(isoWeek)) { + WEEK_REGEXP.lastIndex = 0; + var parts = WEEK_REGEXP.exec(isoWeek); + if (parts) { + var year = +parts[1], + week = +parts[2], + hours = 0, + minutes = 0, + seconds = 0, + milliseconds = 0, + firstThurs = getFirstThursdayOfYear(year), + addDays = (week - 1) * 7; + + if (existingDate) { + hours = existingDate.getHours(); + minutes = existingDate.getMinutes(); + seconds = existingDate.getSeconds(); + milliseconds = existingDate.getMilliseconds(); + } + + return new Date(year, 0, firstThurs.getDate() + addDays, hours, minutes, seconds, milliseconds); } - }; + } - if (pattern) { - match = pattern.match(/^\/(.*)\/([gim]*)$/); - if (match) { - pattern = new RegExp(match[1], match[2]); - patternValidator = function(value) { - return validate(pattern, value); - }; - } else { - patternValidator = function(value) { - var patternObj = scope.$eval(pattern); + return NaN; +} - if (!patternObj || !patternObj.test) { - throw minErr('ngPattern')('noregexp', - 'Expected {0} to be a RegExp but was {1}. Element: {2}', pattern, - patternObj, startingTag(element)); - } - return validate(patternObj, value); - }; - } +function createDateParser(regexp, mapping) { + return function(iso, previousDate) { + var parts, map; - ctrl.$formatters.push(patternValidator); - ctrl.$parsers.push(patternValidator); - } + if (isDate(iso)) { + return iso; + } - // min length validator - if (attr.ngMinlength) { - var minlength = int(attr.ngMinlength); - var minLengthValidator = function(value) { - if (!ctrl.$isEmpty(value) && value.length < minlength) { - ctrl.$setValidity('minlength', false); - return undefined; - } else { - ctrl.$setValidity('minlength', true); - return value; + if (isString(iso)) { + // When a date is JSON'ified to wraps itself inside of an extra + // set of double quotes. This makes the date parsing code unable + // to match the date string and parse it as a date. + if (iso.charAt(0) === '"' && iso.charAt(iso.length - 1) === '"') { + iso = iso.substring(1, iso.length - 1); } - }; + if (ISO_DATE_REGEXP.test(iso)) { + return new Date(iso); + } + regexp.lastIndex = 0; + parts = regexp.exec(iso); + + if (parts) { + parts.shift(); + if (previousDate) { + map = { + yyyy: previousDate.getFullYear(), + MM: previousDate.getMonth() + 1, + dd: previousDate.getDate(), + HH: previousDate.getHours(), + mm: previousDate.getMinutes(), + ss: previousDate.getSeconds(), + sss: previousDate.getMilliseconds() / 1000 + }; + } else { + map = { yyyy: 1970, MM: 1, dd: 1, HH: 0, mm: 0, ss: 0, sss: 0 }; + } - ctrl.$parsers.push(minLengthValidator); - ctrl.$formatters.push(minLengthValidator); - } + forEach(parts, function(part, index) { + if (index < mapping.length) { + map[mapping[index]] = +part; + } + }); - // max length validator - if (attr.ngMaxlength) { - var maxlength = int(attr.ngMaxlength); - var maxLengthValidator = function(value) { - if (!ctrl.$isEmpty(value) && value.length > maxlength) { - ctrl.$setValidity('maxlength', false); - return undefined; - } else { - ctrl.$setValidity('maxlength', true); - return value; + var date = new Date(map.yyyy, map.MM - 1, map.dd, map.HH, map.mm, map.ss || 0, map.sss * 1000 || 0); + if (map.yyyy < 100) { + // In the constructor, 2-digit years map to 1900-1999. + // Use `setFullYear()` to set the correct year. + date.setFullYear(map.yyyy); + } + + return date; } - }; + } - ctrl.$parsers.push(maxLengthValidator); - ctrl.$formatters.push(maxLengthValidator); - } + return NaN; + }; } -function numberInputType(scope, element, attr, ctrl, $sniffer, $browser) { - textInputType(scope, element, attr, ctrl, $sniffer, $browser); +function createDateInputType(type, regexp, parseDate, format) { + return function dynamicDateInputType(scope, element, attr, ctrl, $sniffer, $browser, $filter, $parse) { + badInputChecker(scope, element, attr, ctrl, type); + baseInputType(scope, element, attr, ctrl, $sniffer, $browser); - ctrl.$parsers.push(function(value) { - var empty = ctrl.$isEmpty(value); - if (empty || NUMBER_REGEXP.test(value)) { - ctrl.$setValidity('number', true); - return value === '' ? null : (empty ? value : parseFloat(value)); - } else { - ctrl.$setValidity('number', false); - return undefined; - } - }); + var isTimeType = type === 'time' || type === 'datetimelocal'; + var previousDate; + var previousTimezone; - ctrl.$formatters.push(function(value) { - return ctrl.$isEmpty(value) ? '' : '' + value; - }); + ctrl.$parsers.push(function(value) { + if (ctrl.$isEmpty(value)) return null; - if (attr.min) { - var minValidator = function(value) { - var min = parseFloat(attr.min); - if (!ctrl.$isEmpty(value) && value < min) { - ctrl.$setValidity('min', false); - return undefined; - } else { - ctrl.$setValidity('min', true); - return value; + if (regexp.test(value)) { + // Note: We cannot read ctrl.$modelValue, as there might be a different + // parser/formatter in the processing chain so that the model + // contains some different data format! + return parseDateAndConvertTimeZoneToLocal(value, previousDate); } - }; + ctrl.$$parserName = type; + return undefined; + }); - ctrl.$parsers.push(minValidator); - ctrl.$formatters.push(minValidator); - } + ctrl.$formatters.push(function(value) { + if (value && !isDate(value)) { + throw ngModelMinErr('datefmt', 'Expected `{0}` to be a date', value); + } + if (isValidDate(value)) { + previousDate = value; + var timezone = ctrl.$options.getOption('timezone'); - if (attr.max) { - var maxValidator = function(value) { - var max = parseFloat(attr.max); - if (!ctrl.$isEmpty(value) && value > max) { - ctrl.$setValidity('max', false); - return undefined; + if (timezone) { + previousTimezone = timezone; + previousDate = convertTimezoneToLocal(previousDate, timezone, true); + } + + return formatter(value, timezone); } else { - ctrl.$setValidity('max', true); - return value; + previousDate = null; + previousTimezone = null; + return ''; } - }; - - ctrl.$parsers.push(maxValidator); - ctrl.$formatters.push(maxValidator); - } + }); - ctrl.$formatters.push(function(value) { + if (isDefined(attr.min) || attr.ngMin) { + var minVal = attr.min || $parse(attr.ngMin)(scope); + var parsedMinVal = parseObservedDateValue(minVal); - if (ctrl.$isEmpty(value) || isNumber(value)) { - ctrl.$setValidity('number', true); - return value; - } else { - ctrl.$setValidity('number', false); - return undefined; + ctrl.$validators.min = function(value) { + return !isValidDate(value) || isUndefined(parsedMinVal) || parseDate(value) >= parsedMinVal; + }; + attr.$observe('min', function(val) { + if (val !== minVal) { + parsedMinVal = parseObservedDateValue(val); + minVal = val; + ctrl.$validate(); + } + }); } - }); -} -function urlInputType(scope, element, attr, ctrl, $sniffer, $browser) { - textInputType(scope, element, attr, ctrl, $sniffer, $browser); + if (isDefined(attr.max) || attr.ngMax) { + var maxVal = attr.max || $parse(attr.ngMax)(scope); + var parsedMaxVal = parseObservedDateValue(maxVal); - var urlValidator = function(value) { - if (ctrl.$isEmpty(value) || URL_REGEXP.test(value)) { - ctrl.$setValidity('url', true); - return value; - } else { - ctrl.$setValidity('url', false); - return undefined; + ctrl.$validators.max = function(value) { + return !isValidDate(value) || isUndefined(parsedMaxVal) || parseDate(value) <= parsedMaxVal; + }; + attr.$observe('max', function(val) { + if (val !== maxVal) { + parsedMaxVal = parseObservedDateValue(val); + maxVal = val; + ctrl.$validate(); + } + }); } - }; - ctrl.$formatters.push(urlValidator); - ctrl.$parsers.push(urlValidator); + function isValidDate(value) { + // Invalid Date: getTime() returns NaN + return value && !(value.getTime && value.getTime() !== value.getTime()); + } + + function parseObservedDateValue(val) { + return isDefined(val) && !isDate(val) ? parseDateAndConvertTimeZoneToLocal(val) || undefined : val; + } + + function parseDateAndConvertTimeZoneToLocal(value, previousDate) { + var timezone = ctrl.$options.getOption('timezone'); + + if (previousTimezone && previousTimezone !== timezone) { + // If the timezone has changed, adjust the previousDate to the default timezone + // so that the new date is converted with the correct timezone offset + previousDate = addDateMinutes(previousDate, timezoneToOffset(previousTimezone)); + } + + var parsedDate = parseDate(value, previousDate); + + if (!isNaN(parsedDate) && timezone) { + parsedDate = convertTimezoneToLocal(parsedDate, timezone); + } + return parsedDate; + } + + function formatter(value, timezone) { + var targetFormat = format; + + if (isTimeType && isString(ctrl.$options.getOption('timeSecondsFormat'))) { + targetFormat = format + .replace('ss.sss', ctrl.$options.getOption('timeSecondsFormat')) + .replace(/:$/, ''); + } + + var formatted = $filter('date')(value, targetFormat, timezone); + + if (isTimeType && ctrl.$options.getOption('timeStripZeroSeconds')) { + formatted = formatted.replace(/(?::00)?(?:\.000)?$/, ''); + } + + return formatted; + } + }; } -function emailInputType(scope, element, attr, ctrl, $sniffer, $browser) { - textInputType(scope, element, attr, ctrl, $sniffer, $browser); +function badInputChecker(scope, element, attr, ctrl, parserName) { + var node = element[0]; + var nativeValidation = ctrl.$$hasNativeValidators = isObject(node.validity); + if (nativeValidation) { + ctrl.$parsers.push(function(value) { + var validity = element.prop(VALIDITY_STATE_PROPERTY) || {}; + if (validity.badInput || validity.typeMismatch) { + ctrl.$$parserName = parserName; + return undefined; + } - var emailValidator = function(value) { - if (ctrl.$isEmpty(value) || EMAIL_REGEXP.test(value)) { - ctrl.$setValidity('email', true); return value; + }); + } +} + +function numberFormatterParser(ctrl) { + ctrl.$parsers.push(function(value) { + if (ctrl.$isEmpty(value)) return null; + if (NUMBER_REGEXP.test(value)) return parseFloat(value); + + ctrl.$$parserName = 'number'; + return undefined; + }); + + ctrl.$formatters.push(function(value) { + if (!ctrl.$isEmpty(value)) { + if (!isNumber(value)) { + throw ngModelMinErr('numfmt', 'Expected `{0}` to be a number', value); + } + value = value.toString(); + } + return value; + }); +} + +function parseNumberAttrVal(val) { + if (isDefined(val) && !isNumber(val)) { + val = parseFloat(val); + } + return !isNumberNaN(val) ? val : undefined; +} + +function isNumberInteger(num) { + // See http://stackoverflow.com/questions/14636536/how-to-check-if-a-variable-is-an-integer-in-javascript#14794066 + // (minus the assumption that `num` is a number) + + // eslint-disable-next-line no-bitwise + return (num | 0) === num; +} + +function countDecimals(num) { + var numString = num.toString(); + var decimalSymbolIndex = numString.indexOf('.'); + + if (decimalSymbolIndex === -1) { + if (-1 < num && num < 1) { + // It may be in the exponential notation format (`1e-X`) + var match = /e-(\d+)$/.exec(numString); + + if (match) { + return Number(match[1]); + } + } + + return 0; + } + + return numString.length - decimalSymbolIndex - 1; +} + +function isValidForStep(viewValue, stepBase, step) { + // At this point `stepBase` and `step` are expected to be non-NaN values + // and `viewValue` is expected to be a valid stringified number. + var value = Number(viewValue); + + var isNonIntegerValue = !isNumberInteger(value); + var isNonIntegerStepBase = !isNumberInteger(stepBase); + var isNonIntegerStep = !isNumberInteger(step); + + // Due to limitations in Floating Point Arithmetic (e.g. `0.3 - 0.2 !== 0.1` or + // `0.5 % 0.1 !== 0`), we need to convert all numbers to integers. + if (isNonIntegerValue || isNonIntegerStepBase || isNonIntegerStep) { + var valueDecimals = isNonIntegerValue ? countDecimals(value) : 0; + var stepBaseDecimals = isNonIntegerStepBase ? countDecimals(stepBase) : 0; + var stepDecimals = isNonIntegerStep ? countDecimals(step) : 0; + + var decimalCount = Math.max(valueDecimals, stepBaseDecimals, stepDecimals); + var multiplier = Math.pow(10, decimalCount); + + value = value * multiplier; + stepBase = stepBase * multiplier; + step = step * multiplier; + + if (isNonIntegerValue) value = Math.round(value); + if (isNonIntegerStepBase) stepBase = Math.round(stepBase); + if (isNonIntegerStep) step = Math.round(step); + } + + return (value - stepBase) % step === 0; +} + +function numberInputType(scope, element, attr, ctrl, $sniffer, $browser, $filter, $parse) { + badInputChecker(scope, element, attr, ctrl, 'number'); + numberFormatterParser(ctrl); + baseInputType(scope, element, attr, ctrl, $sniffer, $browser); + + var parsedMinVal; + + if (isDefined(attr.min) || attr.ngMin) { + var minVal = attr.min || $parse(attr.ngMin)(scope); + parsedMinVal = parseNumberAttrVal(minVal); + + ctrl.$validators.min = function(modelValue, viewValue) { + return ctrl.$isEmpty(viewValue) || isUndefined(parsedMinVal) || viewValue >= parsedMinVal; + }; + + attr.$observe('min', function(val) { + if (val !== minVal) { + parsedMinVal = parseNumberAttrVal(val); + minVal = val; + // TODO(matsko): implement validateLater to reduce number of validations + ctrl.$validate(); + } + }); + } + + if (isDefined(attr.max) || attr.ngMax) { + var maxVal = attr.max || $parse(attr.ngMax)(scope); + var parsedMaxVal = parseNumberAttrVal(maxVal); + + ctrl.$validators.max = function(modelValue, viewValue) { + return ctrl.$isEmpty(viewValue) || isUndefined(parsedMaxVal) || viewValue <= parsedMaxVal; + }; + + attr.$observe('max', function(val) { + if (val !== maxVal) { + parsedMaxVal = parseNumberAttrVal(val); + maxVal = val; + // TODO(matsko): implement validateLater to reduce number of validations + ctrl.$validate(); + } + }); + } + + if (isDefined(attr.step) || attr.ngStep) { + var stepVal = attr.step || $parse(attr.ngStep)(scope); + var parsedStepVal = parseNumberAttrVal(stepVal); + + ctrl.$validators.step = function(modelValue, viewValue) { + return ctrl.$isEmpty(viewValue) || isUndefined(parsedStepVal) || + isValidForStep(viewValue, parsedMinVal || 0, parsedStepVal); + }; + + attr.$observe('step', function(val) { + // TODO(matsko): implement validateLater to reduce number of validations + if (val !== stepVal) { + parsedStepVal = parseNumberAttrVal(val); + stepVal = val; + ctrl.$validate(); + } + + }); + + } +} + +function rangeInputType(scope, element, attr, ctrl, $sniffer, $browser) { + badInputChecker(scope, element, attr, ctrl, 'range'); + numberFormatterParser(ctrl); + baseInputType(scope, element, attr, ctrl, $sniffer, $browser); + + var supportsRange = ctrl.$$hasNativeValidators && element[0].type === 'range', + minVal = supportsRange ? 0 : undefined, + maxVal = supportsRange ? 100 : undefined, + stepVal = supportsRange ? 1 : undefined, + validity = element[0].validity, + hasMinAttr = isDefined(attr.min), + hasMaxAttr = isDefined(attr.max), + hasStepAttr = isDefined(attr.step); + + var originalRender = ctrl.$render; + + ctrl.$render = supportsRange && isDefined(validity.rangeUnderflow) && isDefined(validity.rangeOverflow) ? + //Browsers that implement range will set these values automatically, but reading the adjusted values after + //$render would cause the min / max validators to be applied with the wrong value + function rangeRender() { + originalRender(); + ctrl.$setViewValue(element.val()); + } : + originalRender; + + if (hasMinAttr) { + minVal = parseNumberAttrVal(attr.min); + + ctrl.$validators.min = supportsRange ? + // Since all browsers set the input to a valid value, we don't need to check validity + function noopMinValidator() { return true; } : + // non-support browsers validate the min val + function minValidator(modelValue, viewValue) { + return ctrl.$isEmpty(viewValue) || isUndefined(minVal) || viewValue >= minVal; + }; + + setInitialValueAndObserver('min', minChange); + } + + if (hasMaxAttr) { + maxVal = parseNumberAttrVal(attr.max); + + ctrl.$validators.max = supportsRange ? + // Since all browsers set the input to a valid value, we don't need to check validity + function noopMaxValidator() { return true; } : + // non-support browsers validate the max val + function maxValidator(modelValue, viewValue) { + return ctrl.$isEmpty(viewValue) || isUndefined(maxVal) || viewValue <= maxVal; + }; + + setInitialValueAndObserver('max', maxChange); + } + + if (hasStepAttr) { + stepVal = parseNumberAttrVal(attr.step); + + ctrl.$validators.step = supportsRange ? + function nativeStepValidator() { + // Currently, only FF implements the spec on step change correctly (i.e. adjusting the + // input element value to a valid value). It's possible that other browsers set the stepMismatch + // validity error instead, so we can at least report an error in that case. + return !validity.stepMismatch; + } : + // ngStep doesn't set the setp attr, so the browser doesn't adjust the input value as setting step would + function stepValidator(modelValue, viewValue) { + return ctrl.$isEmpty(viewValue) || isUndefined(stepVal) || + isValidForStep(viewValue, minVal || 0, stepVal); + }; + + setInitialValueAndObserver('step', stepChange); + } + + function setInitialValueAndObserver(htmlAttrName, changeFn) { + // interpolated attributes set the attribute value only after a digest, but we need the + // attribute value when the input is first rendered, so that the browser can adjust the + // input value based on the min/max value + element.attr(htmlAttrName, attr[htmlAttrName]); + var oldVal = attr[htmlAttrName]; + attr.$observe(htmlAttrName, function wrappedObserver(val) { + if (val !== oldVal) { + oldVal = val; + changeFn(val); + } + }); + } + + function minChange(val) { + minVal = parseNumberAttrVal(val); + // ignore changes before model is initialized + if (isNumberNaN(ctrl.$modelValue)) { + return; + } + + if (supportsRange) { + var elVal = element.val(); + // IE11 doesn't set the el val correctly if the minVal is greater than the element value + if (minVal > elVal) { + elVal = minVal; + element.val(elVal); + } + ctrl.$setViewValue(elVal); } else { - ctrl.$setValidity('email', false); - return undefined; + // TODO(matsko): implement validateLater to reduce number of validations + ctrl.$validate(); + } + } + + function maxChange(val) { + maxVal = parseNumberAttrVal(val); + // ignore changes before model is initialized + if (isNumberNaN(ctrl.$modelValue)) { + return; + } + + if (supportsRange) { + var elVal = element.val(); + // IE11 doesn't set the el val correctly if the maxVal is less than the element value + if (maxVal < elVal) { + element.val(maxVal); + // IE11 and Chrome don't set the value to the minVal when max < min + elVal = maxVal < minVal ? minVal : maxVal; + } + ctrl.$setViewValue(elVal); + } else { + // TODO(matsko): implement validateLater to reduce number of validations + ctrl.$validate(); + } + } + + function stepChange(val) { + stepVal = parseNumberAttrVal(val); + // ignore changes before model is initialized + if (isNumberNaN(ctrl.$modelValue)) { + return; + } + + // Some browsers don't adjust the input value correctly, but set the stepMismatch error + if (!supportsRange) { + // TODO(matsko): implement validateLater to reduce number of validations + ctrl.$validate(); + } else if (ctrl.$viewValue !== element.val()) { + ctrl.$setViewValue(element.val()); } + } +} + +function urlInputType(scope, element, attr, ctrl, $sniffer, $browser) { + // Note: no badInputChecker here by purpose as `url` is only a validation + // in browsers, i.e. we can always read out input.value even if it is not valid! + baseInputType(scope, element, attr, ctrl, $sniffer, $browser); + stringBasedInputType(ctrl); + + ctrl.$validators.url = function(modelValue, viewValue) { + var value = modelValue || viewValue; + return ctrl.$isEmpty(value) || URL_REGEXP.test(value); }; +} - ctrl.$formatters.push(emailValidator); - ctrl.$parsers.push(emailValidator); +function emailInputType(scope, element, attr, ctrl, $sniffer, $browser) { + // Note: no badInputChecker here by purpose as `url` is only a validation + // in browsers, i.e. we can always read out input.value even if it is not valid! + baseInputType(scope, element, attr, ctrl, $sniffer, $browser); + stringBasedInputType(ctrl); + + ctrl.$validators.email = function(modelValue, viewValue) { + var value = modelValue || viewValue; + return ctrl.$isEmpty(value) || EMAIL_REGEXP.test(value); + }; } function radioInputType(scope, element, attr, ctrl) { + var doTrim = !attr.ngTrim || trim(attr.ngTrim) !== 'false'; // make the name unique, if not defined if (isUndefined(attr.name)) { element.attr('name', nextUid()); } - element.on('click', function() { + var listener = function(ev) { + var value; if (element[0].checked) { - scope.$apply(function() { - ctrl.$setViewValue(attr.value); - }); + value = attr.value; + if (doTrim) { + value = trim(value); + } + ctrl.$setViewValue(value, ev && ev.type); } - }); + }; + + element.on('change', listener); ctrl.$render = function() { var value = attr.value; - element[0].checked = (value == ctrl.$viewValue); + if (doTrim) { + value = trim(value); + } + element[0].checked = (value === ctrl.$viewValue); }; attr.$observe('value', ctrl.$render); } -function checkboxInputType(scope, element, attr, ctrl) { - var trueValue = attr.ngTrueValue, - falseValue = attr.ngFalseValue; +function parseConstantExpr($parse, context, name, expression, fallback) { + var parseFn; + if (isDefined(expression)) { + parseFn = $parse(expression); + if (!parseFn.constant) { + throw ngModelMinErr('constexpr', 'Expected constant expression for `{0}`, but saw ' + + '`{1}`.', name, expression); + } + return parseFn(context); + } + return fallback; +} - if (!isString(trueValue)) trueValue = true; - if (!isString(falseValue)) falseValue = false; +function checkboxInputType(scope, element, attr, ctrl, $sniffer, $browser, $filter, $parse) { + var trueValue = parseConstantExpr($parse, scope, 'ngTrueValue', attr.ngTrueValue, true); + var falseValue = parseConstantExpr($parse, scope, 'ngFalseValue', attr.ngFalseValue, false); - element.on('click', function() { - scope.$apply(function() { - ctrl.$setViewValue(element[0].checked); - }); - }); + var listener = function(ev) { + ctrl.$setViewValue(element[0].checked, ev && ev.type); + }; + + element.on('change', listener); ctrl.$render = function() { element[0].checked = ctrl.$viewValue; }; - // Override the standard `$isEmpty` because a value of `false` means empty in a checkbox. + // Override the standard `$isEmpty` because the $viewValue of an empty checkbox is always set to `false` + // This is because of the parser below, which compares the `$modelValue` with `trueValue` to convert + // it to a boolean. ctrl.$isEmpty = function(value) { - return value !== trueValue; + return value === false; }; ctrl.$formatters.push(function(value) { - return value === trueValue; + return equals(value, trueValue); }); ctrl.$parsers.push(function(value) { @@ -689,15 +2033,15 @@ function checkboxInputType(scope, element, attr, ctrl) { /** * @ngdoc directive - * @name ng.directive:textarea + * @name textarea * @restrict E * * @description - * HTML textarea element control with angular data-binding. The data-binding and validation + * HTML textarea element control with AngularJS data-binding. The data-binding and validation * properties of this element are exactly the same as those of the * {@link ng.directive:input input element}. * - * @param {string} ngModel Assignable angular expression to data-bind to. + * @param {string} ngModel Assignable AngularJS expression to data-bind to. * @param {string=} name Property name of the form under which the control is published. * @param {string=} required Sets `required` validation error key if the value is not entered. * @param {string=} ngRequired Adds `required` attribute and `required` validation constraint to @@ -706,754 +2050,267 @@ function checkboxInputType(scope, element, attr, ctrl) { * @param {number=} ngMinlength Sets `minlength` validation error key if the value is shorter than * minlength. * @param {number=} ngMaxlength Sets `maxlength` validation error key if the value is longer than - * maxlength. - * @param {string=} ngPattern Sets `pattern` validation error key if the value does not match the - * RegExp pattern expression. Expected value is `/regexp/` for inline patterns or `regexp` for - * patterns defined as scope expressions. - * @param {string=} ngChange Angular expression to be executed when input changes due to user + * maxlength. Setting the attribute to a negative or non-numeric value, allows view values of any + * length. + * @param {string=} ngPattern Sets `pattern` validation error key if the ngModel {@link ngModel.NgModelController#$viewValue $viewValue} + * does not match a RegExp found by evaluating the AngularJS expression given in the attribute value. + * If the expression evaluates to a RegExp object, then this is used directly. + * If the expression evaluates to a string, then it will be converted to a RegExp + * after wrapping it in `^` and `$` characters. For instance, `"abc"` will be converted to + * `new RegExp('^abc$')`.
    + * **Note:** Avoid using the `g` flag on the RegExp, as it will cause each successive search to + * start at the index of the last search's match, thus not taking the whole input value into + * account. + * @param {string=} ngChange AngularJS expression to be executed when input changes due to user * interaction with the input element. + * @param {boolean=} [ngTrim=true] If set to false AngularJS will not automatically trim the input. + * + * @knownIssue + * + * When specifying the `placeholder` attribute of ` - - - - it('should data-bind and become invalid', function() { - var contentEditable = element('[contenteditable]'); - - expect(contentEditable.text()).toEqual('Change me!'); - input('userContent').enter(''); - expect(contentEditable.text()).toEqual(''); - expect(contentEditable.prop('className')).toMatch(/ng-invalid-required/); - }); - - * - * - * ## Isolated Scope Pitfall - * - * Note that if you have a directive with an isolated scope, you cannot require `ngModel` - * since the model value will be looked up on the isolated scope rather than the outer scope. - * When the directive updates the model value, calling `ngModel.$setViewValue()` the property - * on the outer scope will not be updated. However you can get around this by using $parent. - * - * Here is an example of this situation. You'll notice that the first div is not updating the input. - * However the second div can update the input properly. - * - * - - angular.module('badIsolatedDirective', []).directive('isolate', function() { - return { - require: 'ngModel', - scope: { }, - template: '', - link: function(scope, element, attrs, ngModel) { - scope.$watch('innerModel', function(value) { - console.log(value); - ngModel.$setViewValue(value); - }); + require: ['?ngModel'], + link: { + pre: function(scope, element, attr, ctrls) { + if (ctrls[0]) { + (inputType[lowercase(attr.type)] || inputType.text)(scope, element, attr, ctrls[0], $sniffer, + $browser, $filter, $parse); } - }; - }); - - - -
    -
    -
    - *
    - * - * - */ -var NgModelController = ['$scope', '$exceptionHandler', '$attrs', '$element', '$parse', - function($scope, $exceptionHandler, $attr, $element, $parse) { - this.$viewValue = Number.NaN; - this.$modelValue = Number.NaN; - this.$parsers = []; - this.$formatters = []; - this.$viewChangeListeners = []; - this.$pristine = true; - this.$dirty = false; - this.$valid = true; - this.$invalid = false; - this.$name = $attr.name; - - var ngModelGet = $parse($attr.ngModel), - ngModelSet = ngModelGet.assign; - - if (!ngModelSet) { - throw minErr('ngModel')('nonassign', "Expression '{0}' is non-assignable. Element: {1}", - $attr.ngModel, startingTag($element)); - } - - /** - * @ngdoc function - * @name ng.directive:ngModel.NgModelController#$render - * @methodOf ng.directive:ngModel.NgModelController - * - * @description - * Called when the view needs to be updated. It is expected that the user of the ng-model - * directive will implement this method. - */ - this.$render = noop; - - /** - * @ngdoc function - * @name { ng.directive:ngModel.NgModelController#$isEmpty - * @methodOf ng.directive:ngModel.NgModelController - * - * @description - * This is called when we need to determine if the value of the input is empty. - * - * For instance, the required directive does this to work out if the input has data or not. - * The default `$isEmpty` function checks whether the value is `undefined`, `''`, `null` or `NaN`. - * - * You can override this for input directives whose concept of being empty is different to the - * default. The `checkboxInputType` directive does this because in its case a value of `false` - * implies empty. - */ - this.$isEmpty = function(value) { - return isUndefined(value) || value === '' || value === null || value !== value; - }; - - var parentForm = $element.inheritedData('$formController') || nullFormCtrl, - invalidCount = 0, // used to easily determine if we are valid - $error = this.$error = {}; // keep invalid keys here - - - // Setup initial state of the control - $element.addClass(PRISTINE_CLASS); - toggleValidCss(true); - - // convenience method for easy toggling of classes - function toggleValidCss(isValid, validationErrorKey) { - validationErrorKey = validationErrorKey ? '-' + snake_case(validationErrorKey, '-') : ''; - $element. - removeClass((isValid ? INVALID_CLASS : VALID_CLASS) + validationErrorKey). - addClass((isValid ? VALID_CLASS : INVALID_CLASS) + validationErrorKey); - } - - /** - * @ngdoc function - * @name ng.directive:ngModel.NgModelController#$setValidity - * @methodOf ng.directive:ngModel.NgModelController - * - * @description - * Change the validity state, and notifies the form when the control changes validity. (i.e. it - * does not notify form if given validator is already marked as invalid). - * - * This method should be called by validators - i.e. the parser or formatter functions. - * - * @param {string} validationErrorKey Name of the validator. the `validationErrorKey` will assign - * to `$error[validationErrorKey]=isValid` so that it is available for data-binding. - * The `validationErrorKey` should be in camelCase and will get converted into dash-case - * for class name. Example: `myError` will result in `ng-valid-my-error` and `ng-invalid-my-error` - * class and can be bound to as `{{someForm.someControl.$error.myError}}` . - * @param {boolean} isValid Whether the current state is valid (true) or invalid (false). - */ - this.$setValidity = function(validationErrorKey, isValid) { - // Purposeful use of ! here to cast isValid to boolean in case it is undefined - // jshint -W018 - if ($error[validationErrorKey] === !isValid) return; - // jshint +W018 - - if (isValid) { - if ($error[validationErrorKey]) invalidCount--; - if (!invalidCount) { - toggleValidCss(true); - this.$valid = true; - this.$invalid = false; } - } else { - toggleValidCss(false); - this.$invalid = true; - this.$valid = false; - invalidCount++; } - - $error[validationErrorKey] = !isValid; - toggleValidCss(isValid, validationErrorKey); - - parentForm.$setValidity(validationErrorKey, isValid, this); }; - - /** - * @ngdoc function - * @name ng.directive:ngModel.NgModelController#$setPristine - * @methodOf ng.directive:ngModel.NgModelController - * - * @description - * Sets the control to its pristine state. - * - * This method can be called to remove the 'ng-dirty' class and set the control to its pristine - * state (ng-pristine class). - */ - this.$setPristine = function () { - this.$dirty = false; - this.$pristine = true; - $element.removeClass(DIRTY_CLASS).addClass(PRISTINE_CLASS); - }; - - /** - * @ngdoc function - * @name ng.directive:ngModel.NgModelController#$setViewValue - * @methodOf ng.directive:ngModel.NgModelController - * - * @description - * Update the view value. - * - * This method should be called when the view value changes, typically from within a DOM event handler. - * For example {@link ng.directive:input input} and - * {@link ng.directive:select select} directives call it. - * - * It will update the $viewValue, then pass this value through each of the functions in `$parsers`, - * which includes any validators. The value that comes out of this `$parsers` pipeline, be applied to - * `$modelValue` and the **expression** specified in the `ng-model` attribute. - * - * Lastly, all the registered change listeners, in the `$viewChangeListeners` list, are called. - * - * Note that calling this function does not trigger a `$digest`. - * - * @param {string} value Value from the view. - */ - this.$setViewValue = function(value) { - this.$viewValue = value; - - // change to dirty - if (this.$pristine) { - this.$dirty = true; - this.$pristine = false; - $element.removeClass(PRISTINE_CLASS).addClass(DIRTY_CLASS); - parentForm.$setDirty(); - } - - forEach(this.$parsers, function(fn) { - value = fn(value); - }); - - if (this.$modelValue !== value) { - this.$modelValue = value; - ngModelSet($scope, value); - forEach(this.$viewChangeListeners, function(listener) { - try { - listener(); - } catch(e) { - $exceptionHandler(e); - } - }); - } - }; - - // model -> value - var ctrl = this; - - $scope.$watch(function ngModelWatch() { - var value = ngModelGet($scope); - - // if scope model value and ngModel value are out of sync - if (ctrl.$modelValue !== value) { - - var formatters = ctrl.$formatters, - idx = formatters.length; - - ctrl.$modelValue = value; - while(idx--) { - value = formatters[idx](value); - } - - if (ctrl.$viewValue !== value) { - ctrl.$viewValue = value; - ctrl.$render(); - } - } - }); }]; -/** - * @ngdoc directive - * @name ng.directive:ngModel - * - * @element input - * - * @description - * The `ngModel` directive binds an `input`,`select`, `textarea` (or custom form control) to a - * property on the scope using {@link ng.directive:ngModel.NgModelController NgModelController}, - * which is created and exposed by this directive. - * - * `ngModel` is responsible for: - * - * - Binding the view into the model, which other directives such as `input`, `textarea` or `select` - * require. - * - Providing validation behavior (i.e. required, number, email, url). - * - Keeping the state of the control (valid/invalid, dirty/pristine, validation errors). - * - Setting related css classes on the element (`ng-valid`, `ng-invalid`, `ng-dirty`, `ng-pristine`). - * - Registering the control with its parent {@link ng.directive:form form}. - * - * Note: `ngModel` will try to bind to the property given by evaluating the expression on the - * current scope. If the property doesn't already exist on this scope, it will be created - * implicitly and added to the scope. - * - * For best practices on using `ngModel`, see: - * - * - {@link https://github.com/angular/angular.js/wiki/Understanding-Scopes} - * - * For basic examples, how to use `ngModel`, see: - * - * - {@link ng.directive:input input} - * - {@link ng.directive:input.text text} - * - {@link ng.directive:input.checkbox checkbox} - * - {@link ng.directive:input.radio radio} - * - {@link ng.directive:input.number number} - * - {@link ng.directive:input.email email} - * - {@link ng.directive:input.url url} - * - {@link ng.directive:select select} - * - {@link ng.directive:textarea textarea} - * - */ -var ngModelDirective = function() { - return { - require: ['ngModel', '^?form'], - controller: NgModelController, - link: function(scope, element, attr, ctrls) { - // notify others, especially parent forms - - var modelCtrl = ctrls[0], - formCtrl = ctrls[1] || nullFormCtrl; - - formCtrl.$addControl(modelCtrl); - - scope.$on('$destroy', function() { - formCtrl.$removeControl(modelCtrl); - }); +var hiddenInputBrowserCacheDirective = function() { + var valueProperty = { + configurable: true, + enumerable: false, + get: function() { + return this.getAttribute('value') || ''; + }, + set: function(val) { + this.setAttribute('value', val); } }; -}; - -/** - * @ngdoc directive - * @name ng.directive:ngChange - * - * @description - * Evaluate given expression when user changes the input. - * The expression is not evaluated when the value change is coming from the model. - * - * Note, this directive requires `ngModel` to be present. - * - * @element input - * @param {expression} ngChange {@link guide/expression Expression} to evaluate upon change - * in input value. - * - * @example - * - * - * - *
    - * - * - *
    - * debug = {{confirmed}}
    - * counter = {{counter}} - *
    - *
    - * - * it('should evaluate the expression if changing from view', function() { - * expect(binding('counter')).toEqual('0'); - * element('#ng-change-example1').click(); - * expect(binding('counter')).toEqual('1'); - * expect(binding('confirmed')).toEqual('true'); - * }); - * - * it('should not evaluate the expression if changing from model', function() { - * element('#ng-change-example2').click(); - * expect(binding('counter')).toEqual('0'); - * expect(binding('confirmed')).toEqual('true'); - * }); - * - *
    - */ -var ngChangeDirective = valueFn({ - require: 'ngModel', - link: function(scope, element, attr, ctrl) { - ctrl.$viewChangeListeners.push(function() { - scope.$eval(attr.ngChange); - }); - } -}); - - -var requiredDirective = function() { return { - require: '?ngModel', - link: function(scope, elm, attr, ctrl) { - if (!ctrl) return; - attr.required = true; // force truthy in case we are on non input element - - var validator = function(value) { - if (attr.required && ctrl.$isEmpty(value)) { - ctrl.$setValidity('required', false); - return; - } else { - ctrl.$setValidity('required', true); - return value; - } - }; - - ctrl.$formatters.push(validator); - ctrl.$parsers.unshift(validator); - - attr.$observe('required', function() { - validator(ctrl.$viewValue); - }); - } - }; -}; - - -/** - * @ngdoc directive - * @name ng.directive:ngList - * - * @description - * Text input that converts between a delimited string and an array of strings. The delimiter - * can be a fixed string (by default a comma) or a regular expression. - * - * @element input - * @param {string=} ngList optional delimiter that should be used to split the value. If - * specified in form `/something/` then the value will be converted into a regular expression. - * - * @example - - - -
    - List: - - Required! -
    - names = {{names}}
    - myForm.namesInput.$valid = {{myForm.namesInput.$valid}}
    - myForm.namesInput.$error = {{myForm.namesInput.$error}}
    - myForm.$valid = {{myForm.$valid}}
    - myForm.$error.required = {{!!myForm.$error.required}}
    - -
    - - it('should initialize to model', function() { - expect(binding('names')).toEqual('["igor","misko","vojta"]'); - expect(binding('myForm.namesInput.$valid')).toEqual('true'); - expect(element('span.error').css('display')).toBe('none'); - }); - - it('should be invalid if empty', function() { - input('names').enter(''); - expect(binding('names')).toEqual(''); - expect(binding('myForm.namesInput.$valid')).toEqual('false'); - expect(element('span.error').css('display')).not().toBe('none'); - }); - -
    - */ -var ngListDirective = function() { - return { - require: 'ngModel', - link: function(scope, element, attr, ctrl) { - var match = /\/(.*)\//.exec(attr.ngList), - separator = match && new RegExp(match[1]) || attr.ngList || ','; - - var parse = function(viewValue) { - // If the viewValue is invalid (say required but empty) it will be `undefined` - if (isUndefined(viewValue)) return; - - var list = []; + restrict: 'E', + priority: 200, + compile: function(_, attr) { + if (lowercase(attr.type) !== 'hidden') { + return; + } - if (viewValue) { - forEach(viewValue.split(separator), function(value) { - if (value) list.push(trim(value)); - }); - } + return { + pre: function(scope, element, attr, ctrls) { + var node = element[0]; - return list; - }; + // Support: Edge + // Moving the DOM around prevents autofillling + if (node.parentNode) { + node.parentNode.insertBefore(node, node.nextSibling); + } - ctrl.$parsers.push(parse); - ctrl.$formatters.push(function(value) { - if (isArray(value)) { - return value.join(', '); + // Support: FF, IE + // Avoiding direct assignment to .value prevents autofillling + if (Object.defineProperty) { + Object.defineProperty(node, 'value', valueProperty); + } } - - return undefined; - }); - - // Override the standard $isEmpty because an empty array means the input is empty. - ctrl.$isEmpty = function(value) { - return !value || !value.length; }; } }; }; + var CONSTANT_VALUE_REGEXP = /^(true|false|\d+)$/; /** * @ngdoc directive - * @name ng.directive:ngValue + * @name ngValue + * @restrict A + * @priority 100 * * @description - * Binds the given expression to the value of `input[select]` or `input[radio]`, so - * that when the element is selected, the `ngModel` of that element is set to the - * bound value. + * Binds the given expression to the value of the element. + * + * It is mainly used on {@link input[radio] `input[radio]`} and option elements, + * so that when the element is selected, the {@link ngModel `ngModel`} of that element (or its + * {@link select `select`} parent element) is set to the bound value. It is especially useful + * for dynamically generated lists using {@link ngRepeat `ngRepeat`}, as shown below. * - * `ngValue` is useful when dynamically generating lists of radio buttons using `ng-repeat`, as - * shown below. + * It can also be used to achieve one-way binding of a given expression to an input element + * such as an `input[text]` or a `textarea`, when that element does not use ngModel. * - * @element input - * @param {string=} ngValue angular expression, whose value will be bound to the `value` attribute - * of the `input` element + * @element ANY + * @param {string=} ngValue AngularJS expression, whose value will be bound to the `value` attribute + * and `value` property of the element. * * @example - - + + -
    +

    Which is your favorite?

    -
    You chose {{my.favorite}}
    -
    - + + + var favorite = element(by.binding('my.favorite')); + it('should initialize to model', function() { - expect(binding('my.favorite')).toEqual('unicorns'); + expect(favorite.getText()).toContain('unicorns'); }); it('should bind the values to the inputs', function() { - input('my.favorite').select('pizza'); - expect(binding('my.favorite')).toEqual('pizza'); + element.all(by.model('my.favorite')).get(0).click(); + expect(favorite.getText()).toContain('pizza'); }); - -
    + + */ var ngValueDirective = function() { + /** + * inputs use the value attribute as their default value if the value property is not set. + * Once the value property has been set (by adding input), it will not react to changes to + * the value attribute anymore. Setting both attribute and property fixes this behavior, and + * makes it possible to use ngValue as a sort of one-way bind. + */ + function updateElementValue(element, attr, value) { + // Support: IE9 only + // In IE9 values are converted to string (e.g. `input.value = null` results in `input.value === 'null'`). + var propValue = isDefined(value) ? value : (msie === 9) ? '' : null; + element.prop('value', propValue); + attr.$set('value', value); + } + return { + restrict: 'A', priority: 100, compile: function(tpl, tplAttr) { if (CONSTANT_VALUE_REGEXP.test(tplAttr.ngValue)) { return function ngValueConstantLink(scope, elm, attr) { - attr.$set('value', scope.$eval(attr.ngValue)); + var value = scope.$eval(attr.ngValue); + updateElementValue(elm, attr, value); }; } else { return function ngValueLink(scope, elm, attr) { scope.$watch(attr.ngValue, function valueWatchAction(value) { - attr.$set('value', value); + updateElementValue(elm, attr, value); }); }; } diff --git a/src/ng/directive/ngBind.js b/src/ng/directive/ngBind.js index ecfc8ab63097..d27a3bad2a0a 100644 --- a/src/ng/directive/ngBind.js +++ b/src/ng/directive/ngBind.js @@ -2,19 +2,19 @@ /** * @ngdoc directive - * @name ng.directive:ngBind + * @name ngBind * @restrict AC * * @description - * The `ngBind` attribute tells Angular to replace the text content of the specified HTML element + * The `ngBind` attribute tells AngularJS to replace the text content of the specified HTML element * with the value of a given expression, and to update the text content when the value of that * expression changes. * * Typically, you don't use `ngBind` directly, but instead you use the double curly markup like * `{{ expression }}` which is similar but less verbose. * - * It is preferrable to use `ngBind` instead of `{{ expression }}` when a template is momentarily - * displayed by the browser in its raw state before Angular compiles it. Since `ngBind` is an + * It is preferable to use `ngBind` instead of `{{ expression }}` if a template is momentarily + * displayed by the browser in its raw state before AngularJS compiles it. Since `ngBind` is an * element attribute, it makes the bindings invisible to the user while the page is loading. * * An alternative solution to this problem would be using the @@ -26,41 +26,51 @@ * * @example * Enter a name in the Live Preview text box; the greeting below the text box changes instantly. - - + + -
    - Enter name:
    +
    +
    Hello !
    - - + + it('should check ng-bind', function() { - expect(using('.doc-example-live').binding('name')).toBe('Whirled'); - using('.doc-example-live').input('name').enter('world'); - expect(using('.doc-example-live').binding('name')).toBe('world'); + var nameInput = element(by.model('name')); + + expect(element(by.binding('name')).getText()).toBe('Whirled'); + nameInput.clear(); + nameInput.sendKeys('world'); + expect(element(by.binding('name')).getText()).toBe('world'); }); - - + + */ -var ngBindDirective = ngDirective(function(scope, element, attr) { - element.addClass('ng-binding').data('$binding', attr.ngBind); - scope.$watch(attr.ngBind, function ngBindWatchAction(value) { - // We are purposefully using == here rather than === because we want to - // catch when value is "null or undefined" - // jshint -W041 - element.text(value == undefined ? '' : value); - }); -}); +var ngBindDirective = ['$compile', function($compile) { + return { + restrict: 'AC', + compile: function ngBindCompile(templateElement) { + $compile.$$addBindingClass(templateElement); + return function ngBindLink(scope, element, attr) { + $compile.$$addBindingInfo(element, attr.ngBind); + element = element[0]; + scope.$watch(attr.ngBind, function ngBindWatchAction(value) { + element.textContent = stringify(value); + }); + }; + } + }; +}]; /** * @ngdoc directive - * @name ng.directive:ngBindTemplate + * @name ngBindTemplate * * @description * The `ngBindTemplate` directive specifies that the element @@ -76,60 +86,70 @@ var ngBindDirective = ngDirective(function(scope, element, attr) { * * @example * Try it here: enter text in text box and watch the greeting change. - - + + -
    - Salutation:
    - Name:
    +
    +
    +
    
            
    - - + + it('should check ng-bind', function() { - expect(using('.doc-example-live').binding('salutation')). - toBe('Hello'); - expect(using('.doc-example-live').binding('name')). - toBe('World'); - using('.doc-example-live').input('salutation').enter('Greetings'); - using('.doc-example-live').input('name').enter('user'); - expect(using('.doc-example-live').binding('salutation')). - toBe('Greetings'); - expect(using('.doc-example-live').binding('name')). - toBe('user'); + var salutationElem = element(by.binding('salutation')); + var salutationInput = element(by.model('salutation')); + var nameInput = element(by.model('name')); + + expect(salutationElem.getText()).toBe('Hello World!'); + + salutationInput.clear(); + salutationInput.sendKeys('Greetings'); + nameInput.clear(); + nameInput.sendKeys('user'); + + expect(salutationElem.getText()).toBe('Greetings user!'); }); - - + + */ -var ngBindTemplateDirective = ['$interpolate', function($interpolate) { - return function(scope, element, attr) { - // TODO: move this to scenario runner - var interpolateFn = $interpolate(element.attr(attr.$attr.ngBindTemplate)); - element.addClass('ng-binding').data('$binding', interpolateFn); - attr.$observe('ngBindTemplate', function(value) { - element.text(value); - }); +var ngBindTemplateDirective = ['$interpolate', '$compile', function($interpolate, $compile) { + return { + compile: function ngBindTemplateCompile(templateElement) { + $compile.$$addBindingClass(templateElement); + return function ngBindTemplateLink(scope, element, attr) { + var interpolateFn = $interpolate(element.attr(attr.$attr.ngBindTemplate)); + $compile.$$addBindingInfo(element, interpolateFn.expressions); + element = element[0]; + attr.$observe('ngBindTemplate', function(value) { + element.textContent = isUndefined(value) ? '' : value; + }); + }; + } }; }]; /** * @ngdoc directive - * @name ng.directive:ngBindHtml + * @name ngBindHtml * * @description - * Creates a binding that will innerHTML the result of evaluating the `expression` into the current - * element in a secure way. By default, the innerHTML-ed content will be sanitized using the {@link - * ngSanitize.$sanitize $sanitize} service. To utilize this functionality, ensure that `$sanitize` - * is available, for example, by including {@link ngSanitize} in your module's dependencies (not in - * core Angular.) You may also bypass sanitization for values you know are safe. To do so, bind to - * an explicitly trusted value via {@link ng.$sce#methods_trustAsHtml $sce.trustAsHtml}. See the example - * under {@link ng.$sce#Example Strict Contextual Escaping (SCE)}. + * Evaluates the expression and inserts the resulting HTML into the element in a secure way. By default, + * the resulting HTML content will be sanitized using the {@link ngSanitize.$sanitize $sanitize} service. + * To utilize this functionality, ensure that `$sanitize` is available, for example, by including {@link + * ngSanitize} in your module's dependencies (not in core AngularJS). In order to use {@link ngSanitize} + * in your module's dependencies, you need to include "angular-sanitize.js" in your application. + * + * You may also bypass sanitization for values you know are safe. To do so, bind to + * an explicitly trusted value via {@link ng.$sce#trustAsHtml $sce.trustAsHtml}. See the example + * under {@link ng.$sce#show-me-an-example-using-sce- Strict Contextual Escaping (SCE)}. * * Note: If a `$sanitize` service is unavailable and the bound value isn't explicitly trusted, you * will have an exception (instead of an exploit.) @@ -138,43 +158,51 @@ var ngBindTemplateDirective = ['$interpolate', function($interpolate) { * @param {expression} ngBindHtml {@link guide/expression Expression} to evaluate. * * @example - Try it here: enter text in text box and watch the greeting change. - - + + -
    +

    - - - angular.module('ngBindHtmlExample', ['ngSanitize']) - .controller('ngBindHtmlCtrl', ['$scope', function ngBindHtmlCtrl($scope) { - $scope.myHTML = - 'I am an HTMLstring with links! and other stuff'; - }]); + + angular.module('bindHtmlExample', ['ngSanitize']) + .controller('ExampleController', ['$scope', function($scope) { + $scope.myHTML = + 'I am an HTMLstring with ' + + 'links! and other stuff'; + }]); - + it('should check ng-bind-html', function() { - expect(using('.doc-example-live').binding('myHTML')). - toBe( - 'I am an HTMLstring with links! and other stuff' - ); + expect(element(by.binding('myHTML')).getText()).toBe( + 'I am an HTMLstring with links! and other stuff'); }); */ -var ngBindHtmlDirective = ['$sce', '$parse', function($sce, $parse) { - return function(scope, element, attr) { - element.addClass('ng-binding').data('$binding', attr.ngBindHtml); +var ngBindHtmlDirective = ['$sce', '$parse', '$compile', function($sce, $parse, $compile) { + return { + restrict: 'A', + compile: function ngBindHtmlCompile(tElement, tAttrs) { + var ngBindHtmlGetter = $parse(tAttrs.ngBindHtml); + var ngBindHtmlWatch = $parse(tAttrs.ngBindHtml, function sceValueOf(val) { + // Unwrap the value to compare the actual inner safe value, not the wrapper object. + return $sce.valueOf(val); + }); + $compile.$$addBindingClass(tElement); - var parsed = $parse(attr.ngBindHtml); - function getStringValue() { return (parsed(scope) || '').toString(); } + return function ngBindHtmlLink(scope, element, attr) { + $compile.$$addBindingInfo(element, attr.ngBindHtml); - scope.$watch(getStringValue, function ngBindHtmlWatchAction(value) { - element.html($sce.getTrustedHtml(parsed(scope)) || ''); - }); + scope.$watch(ngBindHtmlWatch, function ngBindHtmlWatchAction() { + // The watched value is the unwrapped value. To avoid re-escaping, use the direct getter. + var value = ngBindHtmlGetter(scope); + element.html($sce.getTrustedHtml(value) || ''); + }); + }; + } }; }]; diff --git a/src/ng/directive/ngChange.js b/src/ng/directive/ngChange.js new file mode 100644 index 000000000000..89265809264f --- /dev/null +++ b/src/ng/directive/ngChange.js @@ -0,0 +1,79 @@ +'use strict'; + +/** + * @ngdoc directive + * @name ngChange + * @restrict A + * + * @description + * Evaluate the given expression when the user changes the input. + * The expression is evaluated immediately, unlike the JavaScript onchange event + * which only triggers at the end of a change (usually, when the user leaves the + * form element or presses the return key). + * + * The `ngChange` expression is only evaluated when a change in the input value causes + * a new value to be committed to the model. + * + * It will not be evaluated: + * * if the value returned from the `$parsers` transformation pipeline has not changed + * * if the input has continued to be invalid since the model will stay `null` + * * if the model is changed programmatically and not by a change to the input value + * + * + * Note, this directive requires `ngModel` to be present. + * + * @element ANY + * @param {expression} ngChange {@link guide/expression Expression} to evaluate upon change + * in input value. + * + * @example + * + * + * + *
    + * + * + *
    + * debug = {{confirmed}}
    + * counter = {{counter}}
    + *
    + *
    + * + * var counter = element(by.binding('counter')); + * var debug = element(by.binding('confirmed')); + * + * it('should evaluate the expression if changing from view', function() { + * expect(counter.getText()).toContain('0'); + * + * element(by.id('ng-change-example1')).click(); + * + * expect(counter.getText()).toContain('1'); + * expect(debug.getText()).toContain('true'); + * }); + * + * it('should not evaluate the expression if changing from model', function() { + * element(by.id('ng-change-example2')).click(); + + * expect(counter.getText()).toContain('0'); + * expect(debug.getText()).toContain('true'); + * }); + * + *
    + */ +var ngChangeDirective = valueFn({ + restrict: 'A', + require: 'ngModel', + link: function(scope, element, attr, ctrl) { + ctrl.$viewChangeListeners.push(function() { + scope.$eval(attr.ngChange); + }); + } +}); diff --git a/src/ng/directive/ngClass.js b/src/ng/directive/ngClass.js index 21316c5745d6..fc7b6db2c032 100644 --- a/src/ng/directive/ngClass.js +++ b/src/ng/directive/ngClass.js @@ -1,111 +1,239 @@ 'use strict'; +/* exported + ngClassDirective, + ngClassEvenDirective, + ngClassOddDirective +*/ + function classDirective(name, selector) { name = 'ngClass' + name; - return function() { + var indexWatchExpression; + + return ['$parse', function($parse) { return { restrict: 'AC', link: function(scope, element, attr) { - var oldVal; + var classCounts = element.data('$classCounts'); + var oldModulo = true; + var oldClassString; + + if (!classCounts) { + // Use createMap() to prevent class assumptions involving property + // names in Object.prototype + classCounts = createMap(); + element.data('$classCounts', classCounts); + } - scope.$watch(attr[name], ngClassWatchAction, true); + if (name !== 'ngClass') { + if (!indexWatchExpression) { + indexWatchExpression = $parse('$index', function moduloTwo($index) { + // eslint-disable-next-line no-bitwise + return $index & 1; + }); + } - attr.$observe('class', function(value) { - ngClassWatchAction(scope.$eval(attr[name])); - }); + scope.$watch(indexWatchExpression, ngClassIndexWatchAction); + } + scope.$watch($parse(attr[name], toClassString), ngClassWatchAction); - if (name !== 'ngClass') { - scope.$watch('$index', function($index, old$index) { - // jshint bitwise: false - var mod = $index & 1; - if (mod !== old$index & 1) { - var classes = flattenClasses(scope.$eval(attr[name])); - mod === selector ? - attr.$addClass(classes) : - attr.$removeClass(classes); - } - }); + function addClasses(classString) { + classString = digestClassCounts(split(classString), 1); + attr.$addClass(classString); } + function removeClasses(classString) { + classString = digestClassCounts(split(classString), -1); + attr.$removeClass(classString); + } - function ngClassWatchAction(newVal) { - if (selector === true || scope.$index % 2 === selector) { - var newClasses = flattenClasses(newVal || ''); - if(!oldVal) { - attr.$addClass(newClasses); - } else if(!equals(newVal,oldVal)) { - attr.$updateClass(newClasses, flattenClasses(oldVal)); - } - } - oldVal = copy(newVal); + function updateClasses(oldClassString, newClassString) { + var oldClassArray = split(oldClassString); + var newClassArray = split(newClassString); + + var toRemoveArray = arrayDifference(oldClassArray, newClassArray); + var toAddArray = arrayDifference(newClassArray, oldClassArray); + + var toRemoveString = digestClassCounts(toRemoveArray, -1); + var toAddString = digestClassCounts(toAddArray, 1); + + attr.$addClass(toAddString); + attr.$removeClass(toRemoveString); } + function digestClassCounts(classArray, count) { + var classesToUpdate = []; - function flattenClasses(classVal) { - if(isArray(classVal)) { - return classVal.join(' '); - } else if (isObject(classVal)) { - var classes = [], i = 0; - forEach(classVal, function(v, k) { - if (v) { - classes.push(k); + forEach(classArray, function(className) { + if (count > 0 || classCounts[className]) { + classCounts[className] = (classCounts[className] || 0) + count; + if (classCounts[className] === +(count > 0)) { + classesToUpdate.push(className); } - }); - return classes.join(' '); + } + }); + + return classesToUpdate.join(' '); + } + + function ngClassIndexWatchAction(newModulo) { + // This watch-action should run before the `ngClassWatchAction()`, thus it + // adds/removes `oldClassString`. If the `ngClass` expression has changed as well, the + // `ngClassWatchAction()` will update the classes. + if (newModulo === selector) { + addClasses(oldClassString); + } else { + removeClasses(oldClassString); } - return classVal; + oldModulo = newModulo; + } + + function ngClassWatchAction(newClassString) { + if (oldModulo === selector) { + updateClasses(oldClassString, newClassString); + } + + oldClassString = newClassString; } } }; - }; + }]; + + // Helpers + function arrayDifference(tokens1, tokens2) { + if (!tokens1 || !tokens1.length) return []; + if (!tokens2 || !tokens2.length) return tokens1; + + var values = []; + + outer: + for (var i = 0; i < tokens1.length; i++) { + var token = tokens1[i]; + for (var j = 0; j < tokens2.length; j++) { + if (token === tokens2[j]) continue outer; + } + values.push(token); + } + + return values; + } + + function split(classString) { + return classString && classString.split(' '); + } + + function toClassString(classValue) { + if (!classValue) return classValue; + + var classString = classValue; + + if (isArray(classValue)) { + classString = classValue.map(toClassString).join(' '); + } else if (isObject(classValue)) { + classString = Object.keys(classValue). + filter(function(key) { return classValue[key]; }). + join(' '); + } else if (!isString(classValue)) { + classString = classValue + ''; + } + + return classString; + } } /** * @ngdoc directive - * @name ng.directive:ngClass + * @name ngClass * @restrict AC + * @element ANY * * @description * The `ngClass` directive allows you to dynamically set CSS classes on an HTML element by databinding * an expression that represents all classes to be added. * + * The directive operates in three different ways, depending on which of three types the expression + * evaluates to: + * + * 1. If the expression evaluates to a string, the string should be one or more space-delimited class + * names. + * + * 2. If the expression evaluates to an object, then for each key-value pair of the + * object with a truthy value the corresponding key is used as a class name. + * + * 3. If the expression evaluates to an array, each element of the array should either be a string as in + * type 1 or an object as in type 2. This means that you can mix strings and objects together in an array + * to give you more control over what CSS classes appear. See the code below for an example of this. + * + * * The directive won't add duplicate classes if a particular class was already set. * - * When the expression changes, the previously added classes are removed and only then the - * new classes are added. + * When the expression changes, the previously added classes are removed and only then are the + * new classes added. + * + * @knownIssue + * You should not use {@link guide/interpolation interpolation} in the value of the `class` + * attribute, when using the `ngClass` directive on the same element. + * See {@link guide/interpolation#known-issues here} for more info. * * @animations - * add - happens just before the class is applied to the element - * remove - happens just before the class is removed from the element + * | Animation | Occurs | + * |----------------------------------|-------------------------------------| + * | {@link ng.$animate#addClass addClass} | just before the class is applied to the element | + * | {@link ng.$animate#removeClass removeClass} | just before the class is removed from the element | + * | {@link ng.$animate#setClass setClass} | just before classes are added and classes are removed from the element at the same time | + * + * ### ngClass and pre-existing CSS3 Transitions/Animations + The ngClass directive still supports CSS3 Transitions/Animations even if they do not follow the ngAnimate CSS naming structure. + Upon animation ngAnimate will apply supplementary CSS classes to track the start and end of an animation, but this will not hinder + any pre-existing CSS transitions already on the element. To get an idea of what happens during a class-based animation, be sure + to view the step by step details of {@link $animate#addClass $animate.addClass} and + {@link $animate#removeClass $animate.removeClass}. * - * @element ANY * @param {expression} ngClass {@link guide/expression Expression} to eval. The result * of the evaluation can be a string representing space delimited class * names, an array, or a map of class names to boolean values. In the case of a map, the * names of the properties whose values are truthy will be added as css classes to the * element. * - * @example Example that demonstrates basic bindings via ngClass directive. - + * @example + * ### Basic + -

    Map Syntax Example

    - deleted (apply "strike" class)
    - important (apply "bold" class)
    - error (apply "red" class) +

    Map Syntax Example

    +
    +
    +

    Using String Syntax

    - +

    Using Array Syntax

    -
    -
    -
    +
    +
    +
    +
    +

    Using Array and Map Syntax

    +
    +
    .strike { - text-decoration: line-through; + text-decoration: line-through; } .bold { font-weight: bold; @@ -113,50 +241,67 @@ function classDirective(name, selector) { .red { color: red; } + .has-error { + color: red; + background-color: yellow; + } + .orange { + color: orange; + } - + + var ps = element.all(by.css('p')); + it('should let you toggle the class', function() { - expect(element('.doc-example-live p:first').prop('className')).not().toMatch(/bold/); - expect(element('.doc-example-live p:first').prop('className')).not().toMatch(/red/); + expect(ps.first().getAttribute('class')).not.toMatch(/bold/); + expect(ps.first().getAttribute('class')).not.toMatch(/has-error/); - input('important').check(); - expect(element('.doc-example-live p:first').prop('className')).toMatch(/bold/); + element(by.model('important')).click(); + expect(ps.first().getAttribute('class')).toMatch(/bold/); - input('error').check(); - expect(element('.doc-example-live p:first').prop('className')).toMatch(/red/); + element(by.model('error')).click(); + expect(ps.first().getAttribute('class')).toMatch(/has-error/); }); it('should let you toggle string example', function() { - expect(element('.doc-example-live p:nth-of-type(2)').prop('className')).toBe(''); - input('style').enter('red'); - expect(element('.doc-example-live p:nth-of-type(2)').prop('className')).toBe('red'); + expect(ps.get(1).getAttribute('class')).toBe(''); + element(by.model('style')).clear(); + element(by.model('style')).sendKeys('red'); + expect(ps.get(1).getAttribute('class')).toBe('red'); }); it('array example should have 3 classes', function() { - expect(element('.doc-example-live p:last').prop('className')).toBe(''); - input('style1').enter('bold'); - input('style2').enter('strike'); - input('style3').enter('red'); - expect(element('.doc-example-live p:last').prop('className')).toBe('bold strike red'); + expect(ps.get(2).getAttribute('class')).toBe(''); + element(by.model('style1')).sendKeys('bold'); + element(by.model('style2')).sendKeys('strike'); + element(by.model('style3')).sendKeys('red'); + expect(ps.get(2).getAttribute('class')).toBe('bold strike red'); + }); + + it('array with map example should have 2 classes', function() { + expect(ps.last().getAttribute('class')).toBe(''); + element(by.model('style4')).sendKeys('bold'); + element(by.model('warning')).click(); + expect(ps.last().getAttribute('class')).toBe('bold orange'); });
    - ## Animations + @example + ### Animations The example below demonstrates how to perform animations using ngClass. - + - - + +
    Sample Text
    .base-class { - -webkit-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s; transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s; } @@ -165,37 +310,29 @@ function classDirective(name, selector) { font-size:3em; } - + it('should check ng-class', function() { - expect(element('.doc-example-live span').prop('className')).not(). + expect(element(by.css('.base-class')).getAttribute('class')).not. toMatch(/my-class/); - using('.doc-example-live').element(':button:first').click(); + element(by.id('setbtn')).click(); - expect(element('.doc-example-live span').prop('className')). + expect(element(by.css('.base-class')).getAttribute('class')). toMatch(/my-class/); - using('.doc-example-live').element(':button:last').click(); + element(by.id('clearbtn')).click(); - expect(element('.doc-example-live span').prop('className')).not(). + expect(element(by.css('.base-class')).getAttribute('class')).not. toMatch(/my-class/); });
    - - - ## ngClass and pre-existing CSS3 Transitions/Animations - The ngClass directive still supports CSS3 Transitions/Animations even if they do not follow the ngAnimate CSS naming structure. - Upon animation ngAnimate will apply supplementary CSS classes to track the start and end of an animation, but this will not hinder - any pre-existing CSS transitions already on the element. To get an idea of what happens during a class-based animation, be sure - to view the step by step details of {@link ngAnimate.$animate#methods_addclass $animate.addClass} and - {@link ngAnimate.$animate#methods_removeclass $animate.removeClass}. */ var ngClassDirective = classDirective('', true); /** * @ngdoc directive - * @name ng.directive:ngClassOdd + * @name ngClassOdd * @restrict AC * * @description @@ -206,12 +343,18 @@ var ngClassDirective = classDirective('', true); * This directive can be applied only within the scope of an * {@link ng.directive:ngRepeat ngRepeat}. * + * @animations + * | Animation | Occurs | + * |----------------------------------|-------------------------------------| + * | {@link ng.$animate#addClass addClass} | just before the class is applied to the element | + * | {@link ng.$animate#removeClass removeClass} | just before the class is removed from the element | + * * @element ANY * @param {expression} ngClassOdd {@link guide/expression Expression} to eval. The result * of the evaluation can be a string representing space delimited class names or an array. * * @example - +
    1. @@ -229,21 +372,77 @@ var ngClassDirective = classDirective('', true); color: blue; } - + it('should check ng-class-odd and ng-class-even', function() { - expect(element('.doc-example-live li:first span').prop('className')). + expect(element(by.repeater('name in names').row(0).column('name')).getAttribute('class')). toMatch(/odd/); - expect(element('.doc-example-live li:last span').prop('className')). + expect(element(by.repeater('name in names').row(1).column('name')).getAttribute('class')). toMatch(/even/); }); + * + *
      + * @example + * An example on how to implement animations using `ngClassOdd`: + * + + +
      + +
      +
    + + + +
    {{ item }}
    +
    + + + .odd { + background: rgba(255, 255, 0, 0.25); + } + + .odd-add, .odd-remove { + transition: 1.5s; + } + + + it('should add new entries to the beginning of the list', function() { + var button = element(by.buttonText('Add item')); + var rows = element.all(by.repeater('item in items')); + + expect(rows.count()).toBe(4); + expect(rows.get(0).getText()).toBe('Item 3'); + expect(rows.get(1).getText()).toBe('Item 2'); + + button.click(); + + expect(rows.count()).toBe(5); + expect(rows.get(0).getText()).toBe('Item 4'); + expect(rows.get(1).getText()).toBe('Item 3'); + }); + + it('should add odd class to odd entries', function() { + var button = element(by.buttonText('Add item')); + var rows = element.all(by.repeater('item in items')); + + expect(rows.get(0).getAttribute('class')).toMatch(/odd/); + expect(rows.get(1).getAttribute('class')).not.toMatch(/odd/); + + button.click(); + + expect(rows.get(0).getAttribute('class')).toMatch(/odd/); + expect(rows.get(1).getAttribute('class')).not.toMatch(/odd/); + }); + + */ var ngClassOddDirective = classDirective('Odd', 0); /** * @ngdoc directive - * @name ng.directive:ngClassEven + * @name ngClassEven * @restrict AC * * @description @@ -254,12 +453,18 @@ var ngClassOddDirective = classDirective('Odd', 0); * This directive can be applied only within the scope of an * {@link ng.directive:ngRepeat ngRepeat}. * + * @animations + * | Animation | Occurs | + * |----------------------------------|-------------------------------------| + * | {@link ng.$animate#addClass addClass} | just before the class is applied to the element | + * | {@link ng.$animate#removeClass removeClass} | just before the class is removed from the element | + * * @element ANY * @param {expression} ngClassEven {@link guide/expression Expression} to eval. The * result of the evaluation can be a string representing space delimited class names or an array. * * @example - +
    1. @@ -277,14 +482,70 @@ var ngClassOddDirective = classDirective('Odd', 0); color: blue; } - + it('should check ng-class-odd and ng-class-even', function() { - expect(element('.doc-example-live li:first span').prop('className')). + expect(element(by.repeater('name in names').row(0).column('name')).getAttribute('class')). toMatch(/odd/); - expect(element('.doc-example-live li:last span').prop('className')). + expect(element(by.repeater('name in names').row(1).column('name')).getAttribute('class')). toMatch(/even/); }); + * + *
      + * @example + * An example on how to implement animations using `ngClassEven`: + * + + +
      + +
      + + + + +
      {{ item }}
      +
      +
      + + .even { + background: rgba(255, 255, 0, 0.25); + } + + .even-add, .even-remove { + transition: 1.5s; + } + + + it('should add new entries to the beginning of the list', function() { + var button = element(by.buttonText('Add item')); + var rows = element.all(by.repeater('item in items')); + + expect(rows.count()).toBe(4); + expect(rows.get(0).getText()).toBe('Item 3'); + expect(rows.get(1).getText()).toBe('Item 2'); + + button.click(); + + expect(rows.count()).toBe(5); + expect(rows.get(0).getText()).toBe('Item 4'); + expect(rows.get(1).getText()).toBe('Item 3'); + }); + + it('should add even class to even entries', function() { + var button = element(by.buttonText('Add item')); + var rows = element.all(by.repeater('item in items')); + + expect(rows.get(0).getAttribute('class')).not.toMatch(/even/); + expect(rows.get(1).getAttribute('class')).toMatch(/even/); + + button.click(); + + expect(rows.get(0).getAttribute('class')).not.toMatch(/even/); + expect(rows.get(1).getAttribute('class')).toMatch(/even/); + }); + +
      */ var ngClassEvenDirective = classDirective('Even', 1); diff --git a/src/ng/directive/ngCloak.js b/src/ng/directive/ngCloak.js index d430ae52120c..4fcc7dd2a6eb 100644 --- a/src/ng/directive/ngCloak.js +++ b/src/ng/directive/ngCloak.js @@ -2,11 +2,11 @@ /** * @ngdoc directive - * @name ng.directive:ngCloak + * @name ngCloak * @restrict AC * * @description - * The `ngCloak` directive is used to prevent the Angular html template from being briefly + * The `ngCloak` directive is used to prevent the AngularJS html template from being briefly * displayed by the browser in its raw (uncompiled) form while your application is loading. Use this * directive to avoid the undesirable flicker effect caused by the html template display. * @@ -18,14 +18,14 @@ * `angular.min.js`. * For CSP mode please add `angular-csp.css` to your html file (see {@link ng.directive:ngCsp ngCsp}). * - *
      + * ```css
        * [ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], .ng-cloak, .x-ng-cloak {
        *   display: none !important;
        * }
      - * 
      + * ``` * * When this css rule is loaded by the browser, all html elements (including their children) that - * are tagged with the `ngCloak` directive are hidden. When Angular encounters this directive + * are tagged with the `ngCloak` directive are hidden. When AngularJS encounters this directive * during the compilation of the template it deletes the `ngCloak` element attribute, making * the compiled element visible. * @@ -33,27 +33,23 @@ * document; alternatively, the css rule above must be included in the external stylesheet of the * application. * - * Legacy browsers, like IE7, do not provide attribute selector support (added in CSS 2.1) so they - * cannot match the `[ng\:cloak]` selector. To work around this limitation, you must add the css - * class `ngCloak` in addition to the `ngCloak` directive as shown in the example below. - * * @element ANY * * @example - - + +
      {{ 'hello' }}
      -
      {{ 'hello IE7' }}
      -
      - +
      {{ 'world' }}
      +
      + it('should remove the template directive and css class', function() { - expect(element('.doc-example-live #template1').attr('ng-cloak')). - not().toBeDefined(); - expect(element('.doc-example-live #template2').attr('ng-cloak')). - not().toBeDefined(); + expect($('#template1').getAttribute('ng-cloak')). + toBeNull(); + expect($('#template2').getAttribute('ng-cloak')). + toBeNull(); }); - - + + * */ var ngCloakDirective = ngDirective({ diff --git a/src/ng/directive/ngController.js b/src/ng/directive/ngController.js index 5550b77fd852..014095288000 100644 --- a/src/ng/directive/ngController.js +++ b/src/ng/directive/ngController.js @@ -2,7 +2,7 @@ /** * @ngdoc directive - * @name ng.directive:ngController + * @name ngController * * @description * The `ngController` directive attaches a controller class to the view. This is a key aspect of how angular @@ -10,7 +10,7 @@ * * MVC components in angular: * - * * Model — The Model is scope properties; scopes are attached to the DOM where scope properties + * * Model — Models are the properties of a scope; scopes are attached to the DOM where scope properties * are accessed through bindings. * * View — The template (HTML with data bindings) that is rendered into the View. * * Controller — The `ngController` directive specifies a Controller class; the class contains business @@ -23,149 +23,210 @@ * * @element ANY * @scope - * @param {expression} ngController Name of a globally accessible constructor function or an - * {@link guide/expression expression} that on the current scope evaluates to a - * constructor function. The controller instance can be published into a scope property - * by specifying `as propertyName`. + * @priority 500 + * @param {expression} ngController Name of a constructor function registered with the current + * {@link ng.$controllerProvider $controllerProvider} or an {@link guide/expression expression} + * that on the current scope evaluates to a constructor function. + * + * The controller instance can be published into a scope property by specifying + * `ng-controller="as propertyName"`. * * @example * Here is a simple form for editing user contact information. Adding, removing, clearing, and * greeting are methods declared on the controller (see source tab). These methods can - * easily be called from the angular markup. Notice that the scope becomes the `this` for the - * controller's instance. This allows for easy access to the view data from the controller. Also - * notice that any changes to the data are automatically reflected in the View without the need - * for a manual update. The example is shown in two different declaration styles you may use - * according to preference. - - - -
      - Name: - [ greet ]
      - Contact: -
        -
      • - - - [ clear - | X ] -
      • -
      • [ add ]
      • -
      -
      -
      - - it('should check controller as', function() { - expect(element('#ctrl-as-exmpl>:input').val()).toBe('John Smith'); - expect(element('#ctrl-as-exmpl li:nth-child(1) input').val()) - .toBe('408 555 1212'); - expect(element('#ctrl-as-exmpl li:nth-child(2) input').val()) - .toBe('john.smith@example.org'); - - element('#ctrl-as-exmpl li:first a:contains("clear")').click(); - expect(element('#ctrl-as-exmpl li:first input').val()).toBe(''); - - element('#ctrl-as-exmpl li:last a:contains("add")').click(); - expect(element('#ctrl-as-exmpl li:nth-child(3) input').val()) - .toBe('yourname@example.org'); - }); - -
      - - - -
      - Name: - [ greet ]
      - Contact: -
        -
      • - - - [ clear - | X ] -
      • -
      • [ add ]
      • -
      -
      -
      - - it('should check controller', function() { - expect(element('#ctrl-exmpl>:input').val()).toBe('John Smith'); - expect(element('#ctrl-exmpl li:nth-child(1) input').val()) - .toBe('408 555 1212'); - expect(element('#ctrl-exmpl li:nth-child(2) input').val()) - .toBe('john.smith@example.org'); - - element('#ctrl-exmpl li:first a:contains("clear")').click(); - expect(element('#ctrl-exmpl li:first input').val()).toBe(''); - - element('#ctrl-exmpl li:last a:contains("add")').click(); - expect(element('#ctrl-exmpl li:nth-child(3) input').val()) - .toBe('yourname@example.org'); - }); - -
      + * easily be called from the AngularJS markup. Any changes to the data are automatically reflected + * in the View without the need for a manual update. + * + * Two different declaration styles are included below: + * + * * one binds methods and properties directly onto the controller using `this`: + * `ng-controller="SettingsController1 as settings"` + * * one injects `$scope` into the controller: + * `ng-controller="SettingsController2"` + * + * The second option is more common in the AngularJS community, and is generally used in boilerplates + * and in this guide. However, there are advantages to binding properties directly to the controller + * and avoiding scope. + * + * * Using `controller as` makes it obvious which controller you are accessing in the template when + * multiple controllers apply to an element. + * * If you are writing your controllers as classes you have easier access to the properties and + * methods, which will appear on the scope, from inside the controller code. + * * Since there is always a `.` in the bindings, you don't have to worry about prototypal + * inheritance masking primitives. + * + * This example demonstrates the `controller as` syntax. + * + * + * + *
      + * + *
      + * Contact: + *
        + *
      • + * + * + * + * + *
      • + *
      • + *
      + *
      + *
      + * + * angular.module('controllerAsExample', []) + * .controller('SettingsController1', SettingsController1); + * + * function SettingsController1() { + * this.name = 'John Smith'; + * this.contacts = [ + * {type: 'phone', value: '408 555 1212'}, + * {type: 'email', value: 'john.smith@example.org'} + * ]; + * } + * + * SettingsController1.prototype.greet = function() { + * alert(this.name); + * }; + * + * SettingsController1.prototype.addContact = function() { + * this.contacts.push({type: 'email', value: 'yourname@example.org'}); + * }; + * + * SettingsController1.prototype.removeContact = function(contactToRemove) { + * var index = this.contacts.indexOf(contactToRemove); + * this.contacts.splice(index, 1); + * }; + * + * SettingsController1.prototype.clearContact = function(contact) { + * contact.type = 'phone'; + * contact.value = ''; + * }; + * + * + * it('should check controller as', function() { + * var container = element(by.id('ctrl-as-exmpl')); + * expect(container.element(by.model('settings.name')) + * .getAttribute('value')).toBe('John Smith'); + * + * var firstRepeat = + * container.element(by.repeater('contact in settings.contacts').row(0)); + * var secondRepeat = + * container.element(by.repeater('contact in settings.contacts').row(1)); + * + * expect(firstRepeat.element(by.model('contact.value')).getAttribute('value')) + * .toBe('408 555 1212'); + * + * expect(secondRepeat.element(by.model('contact.value')).getAttribute('value')) + * .toBe('john.smith@example.org'); + * + * firstRepeat.element(by.buttonText('clear')).click(); + * + * expect(firstRepeat.element(by.model('contact.value')).getAttribute('value')) + * .toBe(''); + * + * container.element(by.buttonText('add')).click(); + * + * expect(container.element(by.repeater('contact in settings.contacts').row(2)) + * .element(by.model('contact.value')) + * .getAttribute('value')) + * .toBe('yourname@example.org'); + * }); + * + *
      + * + * This example demonstrates the "attach to `$scope`" style of controller. + * + * + * + *
      + * + *
      + * Contact: + *
        + *
      • + * + * + * + * + *
      • + *
      • [ ]
      • + *
      + *
      + *
      + * + * angular.module('controllerExample', []) + * .controller('SettingsController2', ['$scope', SettingsController2]); + * + * function SettingsController2($scope) { + * $scope.name = 'John Smith'; + * $scope.contacts = [ + * {type:'phone', value:'408 555 1212'}, + * {type:'email', value:'john.smith@example.org'} + * ]; + * + * $scope.greet = function() { + * alert($scope.name); + * }; + * + * $scope.addContact = function() { + * $scope.contacts.push({type:'email', value:'yourname@example.org'}); + * }; + * + * $scope.removeContact = function(contactToRemove) { + * var index = $scope.contacts.indexOf(contactToRemove); + * $scope.contacts.splice(index, 1); + * }; + * + * $scope.clearContact = function(contact) { + * contact.type = 'phone'; + * contact.value = ''; + * }; + * } + * + * + * it('should check controller', function() { + * var container = element(by.id('ctrl-exmpl')); + * + * expect(container.element(by.model('name')) + * .getAttribute('value')).toBe('John Smith'); + * + * var firstRepeat = + * container.element(by.repeater('contact in contacts').row(0)); + * var secondRepeat = + * container.element(by.repeater('contact in contacts').row(1)); + * + * expect(firstRepeat.element(by.model('contact.value')).getAttribute('value')) + * .toBe('408 555 1212'); + * expect(secondRepeat.element(by.model('contact.value')).getAttribute('value')) + * .toBe('john.smith@example.org'); + * + * firstRepeat.element(by.buttonText('clear')).click(); + * + * expect(firstRepeat.element(by.model('contact.value')).getAttribute('value')) + * .toBe(''); + * + * container.element(by.buttonText('add')).click(); + * + * expect(container.element(by.repeater('contact in contacts').row(2)) + * .element(by.model('contact.value')) + * .getAttribute('value')) + * .toBe('yourname@example.org'); + * }); + * + *
      */ var ngControllerDirective = [function() { return { + restrict: 'A', scope: true, controller: '@', priority: 500 diff --git a/src/ng/directive/ngCsp.js b/src/ng/directive/ngCsp.js index fc90d46ac9a1..1a5c611e74f8 100644 --- a/src/ng/directive/ngCsp.js +++ b/src/ng/directive/ngCsp.js @@ -2,42 +2,209 @@ /** * @ngdoc directive - * @name ng.directive:ngCsp + * @name ngCsp * - * @element html + * @restrict A + * @element ANY * @description - * Enables [CSP (Content Security Policy)](https://developer.mozilla.org/en/Security/CSP) support. * - * This is necessary when developing things like Google Chrome Extensions. + * AngularJS has some features that can conflict with certain restrictions that are applied when using + * [CSP (Content Security Policy)](https://developer.mozilla.org/en/Security/CSP) rules. * - * CSP forbids apps to use `eval` or `Function(string)` generated functions (among other things). - * For us to be compatible, we just need to implement the "getterFn" in $parse without violating - * any of these restrictions. + * If you intend to implement CSP with these rules then you must tell AngularJS not to use these + * features. * - * AngularJS uses `Function(string)` generated functions as a speed optimization. Applying the `ngCsp` - * directive will cause Angular to use CSP compatibility mode. When this mode is on AngularJS will - * evaluate all expressions up to 30% slower than in non-CSP mode, but no security violations will - * be raised. + * This is necessary when developing things like Google Chrome Extensions or Universal Windows Apps. * - * CSP forbids JavaScript to inline stylesheet rules. In non CSP mode Angular automatically - * includes some CSS rules (e.g. {@link ng.directive:ngCloak ngCloak}). - * To make those directives work in CSP mode, include the `angular-csp.css` manually. * - * In order to use this feature put the `ngCsp` directive on the root element of the application. + * The following default rules in CSP affect AngularJS: + * + * * The use of `eval()`, `Function(string)` and similar functions to dynamically create and execute + * code from strings is forbidden. AngularJS makes use of this in the {@link $parse} service to + * provide a 30% increase in the speed of evaluating AngularJS expressions. (This CSP rule can be + * disabled with the CSP keyword `unsafe-eval`, but it is generally not recommended as it would + * weaken the protections offered by CSP.) + * + * * The use of inline resources, such as inline ` -
      + Enter text and hit enter:
      list={{list}}
      - - + + it('should check ng-submit', function() { - expect(binding('list')).toBe('[]'); - element('.doc-example-live #submit').click(); - expect(binding('list')).toBe('["hello"]'); - expect(input('text').val()).toBe(''); + expect(element(by.binding('list')).getText()).toBe('list=[]'); + element(by.css('#submit')).click(); + expect(element(by.binding('list')).getText()).toContain('hello'); + expect(element(by.model('text')).getAttribute('value')).toBe(''); }); it('should ignore empty strings', function() { - expect(binding('list')).toBe('[]'); - element('.doc-example-live #submit').click(); - element('.doc-example-live #submit').click(); - expect(binding('list')).toBe('["hello"]'); - }); - - + expect(element(by.binding('list')).getText()).toBe('list=[]'); + element(by.css('#submit')).click(); + element(by.css('#submit')).click(); + expect(element(by.binding('list')).getText()).toContain('hello'); + }); + + */ /** * @ngdoc directive - * @name ng.directive:ngFocus + * @name ngFocus + * @restrict A + * @element window, input, select, textarea, a + * @priority 0 * * @description * Specify custom behavior on focus event. * - * @element window, input, select, textarea, a + * Note: As the `focus` event is executed synchronously when calling `input.focus()` + * AngularJS executes the expression using `scope.$evalAsync` if the event is fired + * during an `$apply` to ensure a consistent state. + * * @param {expression} ngFocus {@link guide/expression Expression} to evaluate upon - * focus. (Event object is available as `$event`) + * focus. ({@link guide/expression#-event- Event object is available as `$event`}) * * @example * See {@link ng.directive:ngClick ngClick} @@ -286,14 +423,24 @@ forEach( /** * @ngdoc directive - * @name ng.directive:ngBlur + * @name ngBlur + * @restrict A + * @element window, input, select, textarea, a + * @priority 0 * * @description * Specify custom behavior on blur event. * - * @element window, input, select, textarea, a + * A [blur event](https://developer.mozilla.org/en-US/docs/Web/Events/blur) fires when + * an element has lost focus. + * + * Note: As the `blur` event is executed synchronously also during DOM manipulations + * (e.g. removing a focussed input), + * AngularJS executes the expression using `scope.$evalAsync` if the event is fired + * during an `$apply` to ensure a consistent state. + * * @param {expression} ngBlur {@link guide/expression Expression} to evaluate upon - * blur. (Event object is available as `$event`) + * blur. ({@link guide/expression#-event- Event object is available as `$event`}) * * @example * See {@link ng.directive:ngClick ngClick} @@ -301,45 +448,66 @@ forEach( /** * @ngdoc directive - * @name ng.directive:ngCopy + * @name ngCopy + * @restrict A + * @element window, input, select, textarea, a + * @priority 0 * * @description * Specify custom behavior on copy event. * - * @element window, input, select, textarea, a * @param {expression} ngCopy {@link guide/expression Expression} to evaluate upon - * copy. (Event object is available as `$event`) + * copy. ({@link guide/expression#-event- Event object is available as `$event`}) * * @example - * See {@link ng.directive:ngClick ngClick} + + + + copied: {{copied}} + + */ /** * @ngdoc directive - * @name ng.directive:ngCut + * @name ngCut + * @restrict A + * @element window, input, select, textarea, a + * @priority 0 * * @description * Specify custom behavior on cut event. * - * @element window, input, select, textarea, a * @param {expression} ngCut {@link guide/expression Expression} to evaluate upon - * cut. (Event object is available as `$event`) + * cut. ({@link guide/expression#-event- Event object is available as `$event`}) * * @example - * See {@link ng.directive:ngClick ngClick} + + + + cut: {{cut}} + + */ /** * @ngdoc directive - * @name ng.directive:ngPaste + * @name ngPaste + * @restrict A + * @element window, input, select, textarea, a + * @priority 0 * * @description * Specify custom behavior on paste event. * - * @element window, input, select, textarea, a * @param {expression} ngPaste {@link guide/expression Expression} to evaluate upon - * paste. (Event object is available as `$event`) + * paste. ({@link guide/expression#-event- Event object is available as `$event`}) * * @example - * See {@link ng.directive:ngClick ngClick} + + + + pasted: {{paste}} + + */ diff --git a/src/ng/directive/ngIf.js b/src/ng/directive/ngIf.js index dcb3825d8ab7..d2471f09b0fe 100644 --- a/src/ng/directive/ngIf.js +++ b/src/ng/directive/ngIf.js @@ -2,8 +2,9 @@ /** * @ngdoc directive - * @name ng.directive:ngIf + * @name ngIf * @restrict A + * @multiElement * * @description * The `ngIf` directive removes or recreates a portion of the DOM tree based on an @@ -19,7 +20,7 @@ * Note that when an element is removed using `ngIf` its scope is destroyed and a new scope * is created when the element is restored. The scope created within `ngIf` inherits from * its parent scope using - * {@link https://github.com/angular/angular.js/wiki/The-Nuances-of-Scope-Prototypal-Inheritance prototypal inheritance}. + * [prototypal inheritance](https://github.com/angular/angular.js/wiki/Understanding-Scopes#javascript-prototypal-inheritance). * An important implication of this is if `ngModel` is used within `ngIf` to bind to * a javascript primitive defined in the parent scope. In this case any modifications made to the * variable within the child scope will override (hide) the value in the parent scope. @@ -33,8 +34,10 @@ * and `leave` effects. * * @animations - * enter - happens just after the ngIf contents change and a new DOM element is created and injected into the ngIf container - * leave - happens just before the ngIf contents are removed from the DOM + * | Animation | Occurs | + * |----------------------------------|-------------------------------------| + * | {@link ng.$animate#enter enter} | just after the `ngIf` contents change and a new DOM element is created and injected into the `ngIf` container | + * | {@link ng.$animate#leave leave} | just before the `ngIf` contents are removed from the DOM | * * @element ANY * @scope @@ -44,12 +47,12 @@ * element is added to the DOM tree. * * @example - + - Click me:
      +
      Show when checked: - I'm removed when the checkbox is unchecked. + This is removed when the checkbox is unchecked.
      @@ -59,11 +62,7 @@ padding:10px; } - /* - The transition styles can also be placed on the CSS base class above - */ .animate-if.ng-enter, .animate-if.ng-leave { - -webkit-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s; transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s; } @@ -79,37 +78,46 @@
      */ -var ngIfDirective = ['$animate', function($animate) { +var ngIfDirective = ['$animate', '$compile', function($animate, $compile) { return { + multiElement: true, transclude: 'element', priority: 600, terminal: true, restrict: 'A', $$tlb: true, - link: function ($scope, $element, $attr, ctrl, $transclude) { - var block, childScope; + link: function($scope, $element, $attr, ctrl, $transclude) { + var block, childScope, previousElements; $scope.$watch($attr.ngIf, function ngIfWatchAction(value) { - if (toBoolean(value)) { + if (value) { if (!childScope) { - childScope = $scope.$new(); - $transclude(childScope, function (clone) { + $transclude(function(clone, newScope) { + childScope = newScope; + clone[clone.length++] = $compile.$$createComment('end ngIf', $attr.ngIf); + // Note: We only need the first/last node of the cloned nodes. + // However, we need to keep the reference to the jqlite wrapper as it might be changed later + // by a directive with templateUrl when its template arrives. block = { - startNode: clone[0], - endNode: clone[clone.length++] = document.createComment(' end ngIf: ' + $attr.ngIf + ' ') + clone: clone }; $animate.enter(clone, $element.parent(), $element); }); } } else { - + if (previousElements) { + previousElements.remove(); + previousElements = null; + } if (childScope) { childScope.$destroy(); childScope = null; } - if (block) { - $animate.leave(getBlockElements(block)); + previousElements = getBlockNodes(block.clone); + $animate.leave(previousElements).done(function(response) { + if (response !== false) previousElements = null; + }); block = null; } } diff --git a/src/ng/directive/ngInclude.js b/src/ng/directive/ngInclude.js index b721aa235fee..2cdd82c9b1c9 100644 --- a/src/ng/directive/ngInclude.js +++ b/src/ng/directive/ngInclude.js @@ -2,39 +2,46 @@ /** * @ngdoc directive - * @name ng.directive:ngInclude + * @name ngInclude * @restrict ECA + * @scope + * @priority -400 * * @description * Fetches, compiles and includes an external HTML fragment. * * By default, the template URL is restricted to the same domain and protocol as the - * application document. This is done by calling {@link ng.$sce#methods_getTrustedResourceUrl + * application document. This is done by calling {@link $sce#getTrustedResourceUrl * $sce.getTrustedResourceUrl} on it. To load templates from other domains or protocols - * you may either {@link ng.$sceDelegateProvider#methods_resourceUrlWhitelist whitelist them} or - * {@link ng.$sce#methods_trustAsResourceUrl wrap them} as trusted values. Refer to Angular's {@link - * ng.$sce Strict Contextual Escaping}. + * you may either add them to your {@link ng.$sceDelegateProvider#trustedResourceUrlList trusted + * resource URL list} or {@link $sce#trustAsResourceUrl wrap them} as trusted values. Refer to + * AngularJS's {@link ng.$sce Strict Contextual Escaping}. * * In addition, the browser's - * {@link https://code.google.com/p/browsersec/wiki/Part2#Same-origin_policy_for_XMLHttpRequest - * Same Origin Policy} and {@link http://www.w3.org/TR/cors/ Cross-Origin Resource Sharing - * (CORS)} policy may further restrict whether the template is successfully loaded. + * [Same Origin Policy](https://code.google.com/p/browsersec/wiki/Part2#Same-origin_policy_for_XMLHttpRequest) + * and [Cross-Origin Resource Sharing (CORS)](http://www.w3.org/TR/cors/) + * policy may further restrict whether the template is successfully loaded. * For example, `ngInclude` won't work for cross-domain requests on all browsers and for `file://` * access on some browsers. * * @animations - * enter - animation is used to bring new content into the browser. - * leave - animation is used to animate existing content away. + * | Animation | Occurs | + * |----------------------------------|-------------------------------------| + * | {@link ng.$animate#enter enter} | when the expression changes, on the new include | + * | {@link ng.$animate#leave leave} | when the expression changes, on the old include | * * The enter and leave animation occur concurrently. * - * @scope - * @priority 400 - * - * @param {string} ngInclude|src angular expression evaluating to URL. If the source is a string constant, - * make sure you wrap it in quotes, e.g. `src="'myPartialTemplate.html'"`. + * @param {string} ngInclude|src AngularJS expression evaluating to URL. If the source is a string constant, + * make sure you wrap it in **single** quotes, e.g. `src="'myPartialTemplate.html'"`. * @param {string=} onload Expression to evaluate when a new partial is loaded. - * + *
      + * **Note:** When using onload on SVG elements in IE11, the browser will try to call + * a function with the name on the window element, which will usually throw a + * "function is undefined" error. To fix this, you can instead use `data-onload` or a + * different form that {@link guide/directive#normalization matches} `onload`. + *
      + * * @param {string=} autoscroll Whether `ngInclude` should call {@link ng.$anchorScroll * $anchorScroll} to scroll the viewport after the content is loaded. * @@ -43,13 +50,13 @@ * - Otherwise enable scrolling only if the expression evaluates to truthy value. * * @example - + -
      +
      - url of the template: {{template.url}} + url of the template: {{template.url}}
      @@ -57,12 +64,13 @@
      - function Ctrl($scope) { - $scope.templates = - [ { name: 'template1.html', url: 'template1.html'} - , { name: 'template2.html', url: 'template2.html'} ]; - $scope.template = $scope.templates[0]; - } + angular.module('includeExample', ['ngAnimate']) + .controller('ExampleController', ['$scope', function($scope) { + $scope.templates = + [{ name: 'template1.html', url: 'template1.html'}, + { name: 'template2.html', url: 'template2.html'}]; + $scope.template = $scope.templates[0]; + }]); Content of template1.html @@ -84,7 +92,6 @@ } .slide-animate.ng-enter, .slide-animate.ng-leave { - -webkit-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s; transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s; position:absolute; @@ -110,19 +117,33 @@ top:50px; } - + + var templateSelect = element(by.model('template')); + var includeElem = element(by.css('[ng-include]')); + it('should load template1.html', function() { - expect(element('.doc-example-live [ng-include]').text()). - toMatch(/Content of template1.html/); + expect(includeElem.getText()).toMatch(/Content of template1.html/); }); + it('should load template2.html', function() { - select('template').option('1'); - expect(element('.doc-example-live [ng-include]').text()). - toMatch(/Content of template2.html/); + if (browser.params.browser === 'firefox') { + // Firefox can't handle using selects + // See https://github.com/angular/protractor/issues/480 + return; + } + templateSelect.click(); + templateSelect.all(by.css('option')).get(2).click(); + expect(includeElem.getText()).toMatch(/Content of template2.html/); }); + it('should change to blank', function() { - select('template').option(''); - expect(element('.doc-example-live [ng-include]')).toBe(undefined); + if (browser.params.browser === 'firefox') { + // Firefox can't handle using selects + return; + } + templateSelect.click(); + templateSelect.all(by.css('option')).get(0).click(); + expect(includeElem.isPresent()).toBe(false); }); @@ -131,29 +152,46 @@ /** * @ngdoc event - * @name ng.directive:ngInclude#$includeContentRequested - * @eventOf ng.directive:ngInclude + * @name ngInclude#$includeContentRequested * @eventType emit on the scope ngInclude was declared in * @description * Emitted every time the ngInclude content is requested. + * + * @param {Object} angularEvent Synthetic event object. + * @param {String} src URL of content to load. */ /** * @ngdoc event - * @name ng.directive:ngInclude#$includeContentLoaded - * @eventOf ng.directive:ngInclude + * @name ngInclude#$includeContentLoaded * @eventType emit on the current ngInclude scope * @description * Emitted every time the ngInclude content is reloaded. + * + * @param {Object} angularEvent Synthetic event object. + * @param {String} src URL of content to load. */ -var ngIncludeDirective = ['$http', '$templateCache', '$anchorScroll', '$compile', '$animate', '$sce', - function($http, $templateCache, $anchorScroll, $compile, $animate, $sce) { + + +/** + * @ngdoc event + * @name ngInclude#$includeContentError + * @eventType emit on the scope ngInclude was declared in + * @description + * Emitted when a template HTTP request yields an erroneous response (status < 200 || status > 299) + * + * @param {Object} angularEvent Synthetic event object. + * @param {String} src URL of content to load. + */ +var ngIncludeDirective = ['$templateRequest', '$anchorScroll', '$animate', + function($templateRequest, $anchorScroll, $animate) { return { restrict: 'ECA', priority: 400, terminal: true, transclude: 'element', + controller: angular.noop, compile: function(element, attr) { var srcExp = attr.ngInclude || attr.src, onloadExp = attr.onload || '', @@ -162,31 +200,45 @@ var ngIncludeDirective = ['$http', '$templateCache', '$anchorScroll', '$compile' return function(scope, $element, $attr, ctrl, $transclude) { var changeCounter = 0, currentScope, + previousElement, currentElement; var cleanupLastIncludeContent = function() { + if (previousElement) { + previousElement.remove(); + previousElement = null; + } if (currentScope) { currentScope.$destroy(); currentScope = null; } - if(currentElement) { - $animate.leave(currentElement); + if (currentElement) { + $animate.leave(currentElement).done(function(response) { + if (response !== false) previousElement = null; + }); + previousElement = currentElement; currentElement = null; } }; - scope.$watch($sce.parseAsResourceUrl(srcExp), function ngIncludeWatchAction(src) { - var afterAnimation = function() { - if (isDefined(autoScrollExp) && (!autoScrollExp || scope.$eval(autoScrollExp))) { - $anchorScroll(); + scope.$watch(srcExp, function ngIncludeWatchAction(src) { + var afterAnimation = function(response) { + if (response !== false && isDefined(autoScrollExp) && + (!autoScrollExp || scope.$eval(autoScrollExp))) { + $anchorScroll(); } }; var thisChangeId = ++changeCounter; if (src) { - $http.get(src, {cache: $templateCache}).success(function(response) { + //set the 2nd param to true to ignore the template request error so that the inner + //contents and scope can be cleaned up. + $templateRequest(src, true).then(function(response) { + if (scope.$$destroyed) return; + if (thisChangeId !== changeCounter) return; var newScope = scope.$new(); + ctrl.template = response; // Note: This will also link all children of ng-include that were contained in the original // html. If that content contains controllers, ... they could pollute/change the scope. @@ -194,26 +246,61 @@ var ngIncludeDirective = ['$http', '$templateCache', '$anchorScroll', '$compile' // Note: We can't remove them in the cloneAttchFn of $transclude as that // function is called before linking the content, which would apply child // directives to non existing elements. - var clone = $transclude(newScope, noop); - cleanupLastIncludeContent(); + var clone = $transclude(newScope, function(clone) { + cleanupLastIncludeContent(); + $animate.enter(clone, null, $element).done(afterAnimation); + }); currentScope = newScope; currentElement = clone; - currentElement.html(response); - $animate.enter(currentElement, null, $element, afterAnimation); - $compile(currentElement.contents())(currentScope); - currentScope.$emit('$includeContentLoaded'); + currentScope.$emit('$includeContentLoaded', src); scope.$eval(onloadExp); - }).error(function() { - if (thisChangeId === changeCounter) cleanupLastIncludeContent(); + }, function() { + if (scope.$$destroyed) return; + + if (thisChangeId === changeCounter) { + cleanupLastIncludeContent(); + scope.$emit('$includeContentError', src); + } }); - scope.$emit('$includeContentRequested'); + scope.$emit('$includeContentRequested', src); } else { cleanupLastIncludeContent(); + ctrl.template = null; } }); }; } }; }]; + +// This directive is called during the $transclude call of the first `ngInclude` directive. +// It will replace and compile the content of the element with the loaded template. +// We need this directive so that the element content is already filled when +// the link function of another directive on the same element as ngInclude +// is called. +var ngIncludeFillContentDirective = ['$compile', + function($compile) { + return { + restrict: 'ECA', + priority: -400, + require: 'ngInclude', + link: function(scope, $element, $attr, ctrl) { + if (toString.call($element[0]).match(/SVG/)) { + // WebKit: https://bugs.webkit.org/show_bug.cgi?id=135698 --- SVG elements do not + // support innerHTML, so detect this here and try to generate the contents + // specially. + $element.empty(); + $compile(jqLiteBuildFragment(ctrl.template, window.document).childNodes)(scope, + function namespaceAdaptedClone(clone) { + $element.append(clone); + }, {futureParentElement: $element}); + return; + } + + $element.html(ctrl.template); + $compile($element.contents())(scope); + } + }; + }]; diff --git a/src/ng/directive/ngInit.js b/src/ng/directive/ngInit.js index d3d0f3c1931c..86e1e5e9ff27 100644 --- a/src/ng/directive/ngInit.js +++ b/src/ng/directive/ngInit.js @@ -2,51 +2,69 @@ /** * @ngdoc directive - * @name ng.directive:ngInit + * @name ngInit * @restrict AC + * @priority 450 + * @element ANY + * + * @param {expression} ngInit {@link guide/expression Expression} to eval. * * @description * The `ngInit` directive allows you to evaluate an expression in the * current scope. * - *
      - * The only appropriate use of `ngInit` for aliasing special properties of - * {@link api/ng.directive:ngRepeat `ngRepeat`}, as seen in the demo below. Besides this case, you - * should use {@link guide/controller controllers} rather than `ngInit` - * to initialize values on a scope. + *
      + * This directive can be abused to add unnecessary amounts of logic into your templates. + * There are only a few appropriate uses of `ngInit`: + *
        + *
      • aliasing special properties of {@link ng.directive:ngRepeat `ngRepeat`}, + * as seen in the demo below.
      • + *
      • initializing data during development, or for examples, as seen throughout these docs.
      • + *
      • injecting data via server side scripting.
      • + *
      + * + * Besides these few cases, you should use {@link guide/component Components} or + * {@link guide/controller Controllers} rather than `ngInit` to initialize values on a scope. *
      * - * @element ANY - * @param {expression} ngInit {@link guide/expression Expression} to eval. + *
      + * **Note**: If you have assignment in `ngInit` along with a {@link ng.$filter `filter`}, make + * sure you have parentheses to ensure correct operator precedence: + *
      + * `
      ` + *
      + *
      * * @example - - + + -
      +
      list[ {{outerIndex}} ][ {{innerIndex}} ] = {{value}};
      - - + + it('should alias index positions', function() { - expect(element('.example-init').text()) - .toBe('list[ 0 ][ 0 ] = a;' + - 'list[ 0 ][ 1 ] = b;' + - 'list[ 1 ][ 0 ] = c;' + - 'list[ 1 ][ 1 ] = d;'); + var elements = element.all(by.css('.example-init')); + expect(elements.get(0).getText()).toBe('list[ 0 ][ 0 ] = a;'); + expect(elements.get(1).getText()).toBe('list[ 0 ][ 1 ] = b;'); + expect(elements.get(2).getText()).toBe('list[ 1 ][ 0 ] = c;'); + expect(elements.get(3).getText()).toBe('list[ 1 ][ 1 ] = d;'); }); - - + + */ var ngInitDirective = ngDirective({ + priority: 450, compile: function() { return { pre: function(scope, element, attrs) { diff --git a/src/ng/directive/ngList.js b/src/ng/directive/ngList.js new file mode 100644 index 000000000000..5e6e58f91e08 --- /dev/null +++ b/src/ng/directive/ngList.js @@ -0,0 +1,133 @@ +'use strict'; + + +/** + * @ngdoc directive + * @name ngList + * @restrict A + * @priority 100 + * + * @param {string=} ngList optional delimiter that should be used to split the value. + * + * @description + * Text input that converts between a delimited string and an array of strings. The default + * delimiter is a comma followed by a space - equivalent to `ng-list=", "`. You can specify a custom + * delimiter as the value of the `ngList` attribute - for example, `ng-list=" | "`. + * + * The behaviour of the directive is affected by the use of the `ngTrim` attribute. + * * If `ngTrim` is set to `"false"` then whitespace around both the separator and each + * list item is respected. This implies that the user of the directive is responsible for + * dealing with whitespace but also allows you to use whitespace as a delimiter, such as a + * tab or newline character. + * * Otherwise whitespace around the delimiter is ignored when splitting (although it is respected + * when joining the list items back together) and whitespace around each list item is stripped + * before it is added to the model. + * + * @example + * ### Validation + * + * + * + * angular.module('listExample', []) + * .controller('ExampleController', ['$scope', function($scope) { + * $scope.names = ['morpheus', 'neo', 'trinity']; + * }]); + * + * + *
      + * + * + * + * Required! + * + *
      + * names = {{names}}
      + * myForm.namesInput.$valid = {{myForm.namesInput.$valid}}
      + * myForm.namesInput.$error = {{myForm.namesInput.$error}}
      + * myForm.$valid = {{myForm.$valid}}
      + * myForm.$error.required = {{!!myForm.$error.required}}
      + *
      + *
      + * + * var listInput = element(by.model('names')); + * var names = element(by.exactBinding('names')); + * var valid = element(by.binding('myForm.namesInput.$valid')); + * var error = element(by.css('span.error')); + * + * it('should initialize to model', function() { + * expect(names.getText()).toContain('["morpheus","neo","trinity"]'); + * expect(valid.getText()).toContain('true'); + * expect(error.getCssValue('display')).toBe('none'); + * }); + * + * it('should be invalid if empty', function() { + * listInput.clear(); + * listInput.sendKeys(''); + * + * expect(names.getText()).toContain(''); + * expect(valid.getText()).toContain('false'); + * expect(error.getCssValue('display')).not.toBe('none'); + * }); + * + *
      + * + * @example + * ### Splitting on newline + * + * + * + * + *
      {{ list | json }}
      + *
      + * + * it("should split the text by newlines", function() { + * var listInput = element(by.model('list')); + * var output = element(by.binding('list | json')); + * listInput.sendKeys('abc\ndef\nghi'); + * expect(output.getText()).toContain('[\n "abc",\n "def",\n "ghi"\n]'); + * }); + * + *
      + * + */ +var ngListDirective = function() { + return { + restrict: 'A', + priority: 100, + require: 'ngModel', + link: function(scope, element, attr, ctrl) { + var ngList = attr.ngList || ', '; + var trimValues = attr.ngTrim !== 'false'; + var separator = trimValues ? trim(ngList) : ngList; + + var parse = function(viewValue) { + // If the viewValue is invalid (say required but empty) it will be `undefined` + if (isUndefined(viewValue)) return; + + var list = []; + + if (viewValue) { + forEach(viewValue.split(separator), function(value) { + if (value) list.push(trimValues ? trim(value) : value); + }); + } + + return list; + }; + + ctrl.$parsers.push(parse); + ctrl.$formatters.push(function(value) { + if (isArray(value)) { + return value.join(ngList); + } + + return undefined; + }); + + // Override the standard $isEmpty because an empty array means the input is empty. + ctrl.$isEmpty = function(value) { + return !value || !value.length; + }; + } + }; +}; diff --git a/src/ng/directive/ngModel.js b/src/ng/directive/ngModel.js new file mode 100644 index 000000000000..951d909342bc --- /dev/null +++ b/src/ng/directive/ngModel.js @@ -0,0 +1,1382 @@ +'use strict'; + +/* global VALID_CLASS: true, + INVALID_CLASS: true, + PRISTINE_CLASS: true, + DIRTY_CLASS: true, + UNTOUCHED_CLASS: true, + TOUCHED_CLASS: true, + PENDING_CLASS: true, + addSetValidityMethod: true, + setupValidity: true, + defaultModelOptions: false +*/ + + +var VALID_CLASS = 'ng-valid', + INVALID_CLASS = 'ng-invalid', + PRISTINE_CLASS = 'ng-pristine', + DIRTY_CLASS = 'ng-dirty', + UNTOUCHED_CLASS = 'ng-untouched', + TOUCHED_CLASS = 'ng-touched', + EMPTY_CLASS = 'ng-empty', + NOT_EMPTY_CLASS = 'ng-not-empty'; + +var ngModelMinErr = minErr('ngModel'); + +/** + * @ngdoc type + * @name ngModel.NgModelController + * @property {*} $viewValue The actual value from the control's view. For `input` elements, this is a + * String. See {@link ngModel.NgModelController#$setViewValue} for information about when the $viewValue + * is set. + * + * @property {*} $modelValue The value in the model that the control is bound to. + * + * @property {Array.} $parsers Array of functions to execute, as a pipeline, whenever + * the control updates the ngModelController with a new {@link ngModel.NgModelController#$viewValue + `$viewValue`} from the DOM, usually via user input. + See {@link ngModel.NgModelController#$setViewValue `$setViewValue()`} for a detailed lifecycle explanation. + Note that the `$parsers` are not called when the bound ngModel expression changes programmatically. + + The functions are called in array order, each passing + its return value through to the next. The last return value is forwarded to the + {@link ngModel.NgModelController#$validators `$validators`} collection. + + Parsers are used to sanitize / convert the {@link ngModel.NgModelController#$viewValue + `$viewValue`}. + + Returning `undefined` from a parser means a parse error occurred. In that case, + no {@link ngModel.NgModelController#$validators `$validators`} will run and the `ngModel` + will be set to `undefined` unless {@link ngModelOptions `ngModelOptions.allowInvalid`} + is set to `true`. The parse error is stored in `ngModel.$error.parse`. + + This simple example shows a parser that would convert text input value to lowercase: + * ```js + * function parse(value) { + * if (value) { + * return value.toLowerCase(); + * } + * } + * ngModelController.$parsers.push(parse); + * ``` + + * + * @property {Array.} $formatters Array of functions to execute, as a pipeline, whenever + the bound ngModel expression changes programmatically. The `$formatters` are not called when the + value of the control is changed by user interaction. + + Formatters are used to format / convert the {@link ngModel.NgModelController#$modelValue + `$modelValue`} for display in the control. + + The functions are called in reverse array order, each passing the value through to the + next. The last return value is used as the actual DOM value. + + This simple example shows a formatter that would convert the model value to uppercase: + + * ```js + * function format(value) { + * if (value) { + * return value.toUpperCase(); + * } + * } + * ngModel.$formatters.push(format); + * ``` + * + * @property {Object.} $validators A collection of validators that are applied + * whenever the model value changes. The key value within the object refers to the name of the + * validator while the function refers to the validation operation. The validation operation is + * provided with the model value as an argument and must return a true or false value depending + * on the response of that validation. + * + * ```js + * ngModel.$validators.validCharacters = function(modelValue, viewValue) { + * var value = modelValue || viewValue; + * return /[0-9]+/.test(value) && + * /[a-z]+/.test(value) && + * /[A-Z]+/.test(value) && + * /\W+/.test(value); + * }; + * ``` + * + * @property {Object.} $asyncValidators A collection of validations that are expected to + * perform an asynchronous validation (e.g. a HTTP request). The validation function that is provided + * is expected to return a promise when it is run during the model validation process. Once the promise + * is delivered then the validation status will be set to true when fulfilled and false when rejected. + * When the asynchronous validators are triggered, each of the validators will run in parallel and the model + * value will only be updated once all validators have been fulfilled. As long as an asynchronous validator + * is unfulfilled, its key will be added to the controllers `$pending` property. Also, all asynchronous validators + * will only run once all synchronous validators have passed. + * + * Please note that if $http is used then it is important that the server returns a success HTTP response code + * in order to fulfill the validation and a status level of `4xx` in order to reject the validation. + * + * ```js + * ngModel.$asyncValidators.uniqueUsername = function(modelValue, viewValue) { + * var value = modelValue || viewValue; + * + * // Lookup user by username + * return $http.get('/api/users/' + value). + * then(function resolved() { + * //username exists, this means validation fails + * return $q.reject('exists'); + * }, function rejected() { + * //username does not exist, therefore this validation passes + * return true; + * }); + * }; + * ``` + * + * @property {Array.} $viewChangeListeners Array of functions to execute whenever + * a change to {@link ngModel.NgModelController#$viewValue `$viewValue`} has caused a change + * to {@link ngModel.NgModelController#$modelValue `$modelValue`}. + * It is called with no arguments, and its return value is ignored. + * This can be used in place of additional $watches against the model value. + * + * @property {Object} $error An object hash with all failing validator ids as keys. + * @property {Object} $pending An object hash with all pending validator ids as keys. + * + * @property {boolean} $untouched True if control has not lost focus yet. + * @property {boolean} $touched True if control has lost focus. + * @property {boolean} $pristine True if user has not interacted with the control yet. + * @property {boolean} $dirty True if user has already interacted with the control. + * @property {boolean} $valid True if there is no error. + * @property {boolean} $invalid True if at least one error on the control. + * @property {string} $name The name attribute of the control. + * + * @description + * + * `NgModelController` provides API for the {@link ngModel `ngModel`} directive. + * The controller contains services for data-binding, validation, CSS updates, and value formatting + * and parsing. It purposefully does not contain any logic which deals with DOM rendering or + * listening to DOM events. + * Such DOM related logic should be provided by other directives which make use of + * `NgModelController` for data-binding to control elements. + * AngularJS provides this DOM logic for most {@link input `input`} elements. + * At the end of this page you can find a {@link ngModel.NgModelController#custom-control-example + * custom control example} that uses `ngModelController` to bind to `contenteditable` elements. + * + * @example + * ### Custom Control Example + * This example shows how to use `NgModelController` with a custom control to achieve + * data-binding. Notice how different directives (`contenteditable`, `ng-model`, and `required`) + * collaborate together to achieve the desired result. + * + * `contenteditable` is an HTML5 attribute, which tells the browser to let the element + * contents be edited in place by the user. + * + * We are using the {@link ng.service:$sce $sce} service here and include the {@link ngSanitize $sanitize} + * module to automatically remove "bad" content like inline event listener (e.g. ``). + * However, as we are using `$sce` the model can still decide to provide unsafe content if it marks + * that content using the `$sce` service. + * + * + + [contenteditable] { + border: 1px solid black; + background-color: white; + min-height: 20px; + } + + .ng-invalid { + border: 1px solid red; + } + + + + angular.module('customControl', ['ngSanitize']). + directive('contenteditable', ['$sce', function($sce) { + return { + restrict: 'A', // only activate on element attribute + require: '?ngModel', // get a hold of NgModelController + link: function(scope, element, attrs, ngModel) { + if (!ngModel) return; // do nothing if no ng-model + + // Specify how UI should be updated + ngModel.$render = function() { + element.html($sce.getTrustedHtml(ngModel.$viewValue || '')); + }; + + // Listen for change events to enable binding + element.on('blur keyup change', function() { + scope.$evalAsync(read); + }); + read(); // initialize + + // Write data to the model + function read() { + var html = element.html(); + // When we clear the content editable the browser leaves a
      behind + // If strip-br attribute is provided then we strip this out + if (attrs.stripBr && html === '
      ') { + html = ''; + } + ngModel.$setViewValue(html); + } + } + }; + }]); +
      + +
      +
      Change me!
      + Required! +
      + +
      +
      + + it('should data-bind and become invalid', function() { + if (browser.params.browser === 'safari' || browser.params.browser === 'firefox') { + // SafariDriver can't handle contenteditable + // and Firefox driver can't clear contenteditables very well + return; + } + var contentEditable = element(by.css('[contenteditable]')); + var content = 'Change me!'; + + expect(contentEditable.getText()).toEqual(content); + + contentEditable.clear(); + contentEditable.sendKeys(protractor.Key.BACK_SPACE); + expect(contentEditable.getText()).toEqual(''); + expect(contentEditable.getAttribute('class')).toMatch(/ng-invalid-required/); + }); + + *
      + * + * + */ +NgModelController.$inject = ['$scope', '$exceptionHandler', '$attrs', '$element', '$parse', '$animate', '$timeout', '$q', '$interpolate']; +function NgModelController($scope, $exceptionHandler, $attr, $element, $parse, $animate, $timeout, $q, $interpolate) { + this.$viewValue = Number.NaN; + this.$modelValue = Number.NaN; + this.$$rawModelValue = undefined; // stores the parsed modelValue / model set from scope regardless of validity. + this.$validators = {}; + this.$asyncValidators = {}; + this.$parsers = []; + this.$formatters = []; + this.$viewChangeListeners = []; + this.$untouched = true; + this.$touched = false; + this.$pristine = true; + this.$dirty = false; + this.$valid = true; + this.$invalid = false; + this.$error = {}; // keep invalid keys here + this.$$success = {}; // keep valid keys here + this.$pending = undefined; // keep pending keys here + this.$name = $interpolate($attr.name || '', false)($scope); + this.$$parentForm = nullFormCtrl; + this.$options = defaultModelOptions; + this.$$updateEvents = ''; + // Attach the correct context to the event handler function for updateOn + this.$$updateEventHandler = this.$$updateEventHandler.bind(this); + + this.$$parsedNgModel = $parse($attr.ngModel); + this.$$parsedNgModelAssign = this.$$parsedNgModel.assign; + this.$$ngModelGet = this.$$parsedNgModel; + this.$$ngModelSet = this.$$parsedNgModelAssign; + this.$$pendingDebounce = null; + this.$$parserValid = undefined; + this.$$parserName = 'parse'; + + this.$$currentValidationRunId = 0; + + this.$$scope = $scope; + this.$$rootScope = $scope.$root; + this.$$attr = $attr; + this.$$element = $element; + this.$$animate = $animate; + this.$$timeout = $timeout; + this.$$parse = $parse; + this.$$q = $q; + this.$$exceptionHandler = $exceptionHandler; + + setupValidity(this); + setupModelWatcher(this); +} + +NgModelController.prototype = { + $$initGetterSetters: function() { + if (this.$options.getOption('getterSetter')) { + var invokeModelGetter = this.$$parse(this.$$attr.ngModel + '()'), + invokeModelSetter = this.$$parse(this.$$attr.ngModel + '($$$p)'); + + this.$$ngModelGet = function($scope) { + var modelValue = this.$$parsedNgModel($scope); + if (isFunction(modelValue)) { + modelValue = invokeModelGetter($scope); + } + return modelValue; + }; + this.$$ngModelSet = function($scope, newValue) { + if (isFunction(this.$$parsedNgModel($scope))) { + invokeModelSetter($scope, {$$$p: newValue}); + } else { + this.$$parsedNgModelAssign($scope, newValue); + } + }; + } else if (!this.$$parsedNgModel.assign) { + throw ngModelMinErr('nonassign', 'Expression \'{0}\' is non-assignable. Element: {1}', + this.$$attr.ngModel, startingTag(this.$$element)); + } + }, + + + /** + * @ngdoc method + * @name ngModel.NgModelController#$render + * + * @description + * Called when the view needs to be updated. It is expected that the user of the ng-model + * directive will implement this method. + * + * The `$render()` method is invoked in the following situations: + * + * * `$rollbackViewValue()` is called. If we are rolling back the view value to the last + * committed value then `$render()` is called to update the input control. + * * The value referenced by `ng-model` is changed programmatically and both the `$modelValue` and + * the `$viewValue` are different from last time. + * + * Since `ng-model` does not do a deep watch, `$render()` is only invoked if the values of + * `$modelValue` and `$viewValue` are actually different from their previous values. If `$modelValue` + * or `$viewValue` are objects (rather than a string or number) then `$render()` will not be + * invoked if you only change a property on the objects. + */ + $render: noop, + + /** + * @ngdoc method + * @name ngModel.NgModelController#$isEmpty + * + * @description + * This is called when we need to determine if the value of an input is empty. + * + * For instance, the required directive does this to work out if the input has data or not. + * + * The default `$isEmpty` function checks whether the value is `undefined`, `''`, `null` or `NaN`. + * + * You can override this for input directives whose concept of being empty is different from the + * default. The `checkboxInputType` directive does this because in its case a value of `false` + * implies empty. + * + * @param {*} value The value of the input to check for emptiness. + * @returns {boolean} True if `value` is "empty". + */ + $isEmpty: function(value) { + // eslint-disable-next-line no-self-compare + return isUndefined(value) || value === '' || value === null || value !== value; + }, + + $$updateEmptyClasses: function(value) { + if (this.$isEmpty(value)) { + this.$$animate.removeClass(this.$$element, NOT_EMPTY_CLASS); + this.$$animate.addClass(this.$$element, EMPTY_CLASS); + } else { + this.$$animate.removeClass(this.$$element, EMPTY_CLASS); + this.$$animate.addClass(this.$$element, NOT_EMPTY_CLASS); + } + }, + + /** + * @ngdoc method + * @name ngModel.NgModelController#$setPristine + * + * @description + * Sets the control to its pristine state. + * + * This method can be called to remove the `ng-dirty` class and set the control to its pristine + * state (`ng-pristine` class). A model is considered to be pristine when the control + * has not been changed from when first compiled. + */ + $setPristine: function() { + this.$dirty = false; + this.$pristine = true; + this.$$animate.removeClass(this.$$element, DIRTY_CLASS); + this.$$animate.addClass(this.$$element, PRISTINE_CLASS); + }, + + /** + * @ngdoc method + * @name ngModel.NgModelController#$setDirty + * + * @description + * Sets the control to its dirty state. + * + * This method can be called to remove the `ng-pristine` class and set the control to its dirty + * state (`ng-dirty` class). A model is considered to be dirty when the control has been changed + * from when first compiled. + */ + $setDirty: function() { + this.$dirty = true; + this.$pristine = false; + this.$$animate.removeClass(this.$$element, PRISTINE_CLASS); + this.$$animate.addClass(this.$$element, DIRTY_CLASS); + this.$$parentForm.$setDirty(); + }, + + /** + * @ngdoc method + * @name ngModel.NgModelController#$setUntouched + * + * @description + * Sets the control to its untouched state. + * + * This method can be called to remove the `ng-touched` class and set the control to its + * untouched state (`ng-untouched` class). Upon compilation, a model is set as untouched + * by default, however this function can be used to restore that state if the model has + * already been touched by the user. + */ + $setUntouched: function() { + this.$touched = false; + this.$untouched = true; + this.$$animate.setClass(this.$$element, UNTOUCHED_CLASS, TOUCHED_CLASS); + }, + + /** + * @ngdoc method + * @name ngModel.NgModelController#$setTouched + * + * @description + * Sets the control to its touched state. + * + * This method can be called to remove the `ng-untouched` class and set the control to its + * touched state (`ng-touched` class). A model is considered to be touched when the user has + * first focused the control element and then shifted focus away from the control (blur event). + */ + $setTouched: function() { + this.$touched = true; + this.$untouched = false; + this.$$animate.setClass(this.$$element, TOUCHED_CLASS, UNTOUCHED_CLASS); + }, + + /** + * @ngdoc method + * @name ngModel.NgModelController#$rollbackViewValue + * + * @description + * Cancel an update and reset the input element's value to prevent an update to the `$modelValue`, + * which may be caused by a pending debounced event or because the input is waiting for some + * future event. + * + * If you have an input that uses `ng-model-options` to set up debounced updates or updates that + * depend on special events such as `blur`, there can be a period when the `$viewValue` is out of + * sync with the ngModel's `$modelValue`. + * + * In this case, you can use `$rollbackViewValue()` to manually cancel the debounced / future update + * and reset the input to the last committed view value. + * + * It is also possible that you run into difficulties if you try to update the ngModel's `$modelValue` + * programmatically before these debounced/future events have resolved/occurred, because AngularJS's + * dirty checking mechanism is not able to tell whether the model has actually changed or not. + * + * The `$rollbackViewValue()` method should be called before programmatically changing the model of an + * input which may have such events pending. This is important in order to make sure that the + * input field will be updated with the new model value and any pending operations are cancelled. + * + * @example + * + * + * angular.module('cancel-update-example', []) + * + * .controller('CancelUpdateController', ['$scope', function($scope) { + * $scope.model = {value1: '', value2: ''}; + * + * $scope.setEmpty = function(e, value, rollback) { + * if (e.keyCode === 27) { + * e.preventDefault(); + * if (rollback) { + * $scope.myForm[value].$rollbackViewValue(); + * } + * $scope.model[value] = ''; + * } + * }; + * }]); + * + * + *
      + *

      Both of these inputs are only updated if they are blurred. Hitting escape should + * empty them. Follow these steps and observe the difference:

      + *
        + *
      1. Type something in the input. You will see that the model is not yet updated
      2. + *
      3. Press the Escape key. + *
          + *
        1. In the first example, nothing happens, because the model is already '', and no + * update is detected. If you blur the input, the model will be set to the current view. + *
        2. + *
        3. In the second example, the pending update is cancelled, and the input is set back + * to the last committed view value (''). Blurring the input does nothing. + *
        4. + *
        + *
      4. + *
      + * + *
      + *
      + *

      Without $rollbackViewValue():

      + * + * value1: "{{ model.value1 }}" + *
      + * + *
      + *

      With $rollbackViewValue():

      + * + * value2: "{{ model.value2 }}" + *
      + *
      + *
      + *
      + + div { + display: table-cell; + } + div:nth-child(1) { + padding-right: 30px; + } + + + *
      + */ + $rollbackViewValue: function() { + this.$$timeout.cancel(this.$$pendingDebounce); + this.$viewValue = this.$$lastCommittedViewValue; + this.$render(); + }, + + /** + * @ngdoc method + * @name ngModel.NgModelController#$validate + * + * @description + * Runs each of the registered validators (first synchronous validators and then + * asynchronous validators). + * If the validity changes to invalid, the model will be set to `undefined`, + * unless {@link ngModelOptions `ngModelOptions.allowInvalid`} is `true`. + * If the validity changes to valid, it will set the model to the last available valid + * `$modelValue`, i.e. either the last parsed value or the last value set from the scope. + */ + $validate: function() { + + // ignore $validate before model is initialized + if (isNumberNaN(this.$modelValue)) { + return; + } + + var viewValue = this.$$lastCommittedViewValue; + // Note: we use the $$rawModelValue as $modelValue might have been + // set to undefined during a view -> model update that found validation + // errors. We can't parse the view here, since that could change + // the model although neither viewValue nor the model on the scope changed + var modelValue = this.$$rawModelValue; + + var prevValid = this.$valid; + var prevModelValue = this.$modelValue; + + var allowInvalid = this.$options.getOption('allowInvalid'); + + var that = this; + this.$$runValidators(modelValue, viewValue, function(allValid) { + // If there was no change in validity, don't update the model + // This prevents changing an invalid modelValue to undefined + if (!allowInvalid && prevValid !== allValid) { + // Note: Don't check this.$valid here, as we could have + // external validators (e.g. calculated on the server), + // that just call $setValidity and need the model value + // to calculate their validity. + that.$modelValue = allValid ? modelValue : undefined; + + if (that.$modelValue !== prevModelValue) { + that.$$writeModelToScope(); + } + } + }); + }, + + $$runValidators: function(modelValue, viewValue, doneCallback) { + this.$$currentValidationRunId++; + var localValidationRunId = this.$$currentValidationRunId; + var that = this; + + // check parser error + if (!processParseErrors()) { + validationDone(false); + return; + } + if (!processSyncValidators()) { + validationDone(false); + return; + } + processAsyncValidators(); + + function processParseErrors() { + var errorKey = that.$$parserName; + + if (isUndefined(that.$$parserValid)) { + setValidity(errorKey, null); + } else { + if (!that.$$parserValid) { + forEach(that.$validators, function(v, name) { + setValidity(name, null); + }); + forEach(that.$asyncValidators, function(v, name) { + setValidity(name, null); + }); + } + + // Set the parse error last, to prevent unsetting it, should a $validators key == parserName + setValidity(errorKey, that.$$parserValid); + return that.$$parserValid; + } + return true; + } + + function processSyncValidators() { + var syncValidatorsValid = true; + forEach(that.$validators, function(validator, name) { + var result = Boolean(validator(modelValue, viewValue)); + syncValidatorsValid = syncValidatorsValid && result; + setValidity(name, result); + }); + if (!syncValidatorsValid) { + forEach(that.$asyncValidators, function(v, name) { + setValidity(name, null); + }); + return false; + } + return true; + } + + function processAsyncValidators() { + var validatorPromises = []; + var allValid = true; + forEach(that.$asyncValidators, function(validator, name) { + var promise = validator(modelValue, viewValue); + if (!isPromiseLike(promise)) { + throw ngModelMinErr('nopromise', + 'Expected asynchronous validator to return a promise but got \'{0}\' instead.', promise); + } + setValidity(name, undefined); + validatorPromises.push(promise.then(function() { + setValidity(name, true); + }, function() { + allValid = false; + setValidity(name, false); + })); + }); + if (!validatorPromises.length) { + validationDone(true); + } else { + that.$$q.all(validatorPromises).then(function() { + validationDone(allValid); + }, noop); + } + } + + function setValidity(name, isValid) { + if (localValidationRunId === that.$$currentValidationRunId) { + that.$setValidity(name, isValid); + } + } + + function validationDone(allValid) { + if (localValidationRunId === that.$$currentValidationRunId) { + + doneCallback(allValid); + } + } + }, + + /** + * @ngdoc method + * @name ngModel.NgModelController#$commitViewValue + * + * @description + * Commit a pending update to the `$modelValue`. + * + * Updates may be pending by a debounced event or because the input is waiting for a some future + * event defined in `ng-model-options`. this method is rarely needed as `NgModelController` + * usually handles calling this in response to input events. + */ + $commitViewValue: function() { + var viewValue = this.$viewValue; + + this.$$timeout.cancel(this.$$pendingDebounce); + + // If the view value has not changed then we should just exit, except in the case where there is + // a native validator on the element. In this case the validation state may have changed even though + // the viewValue has stayed empty. + if (this.$$lastCommittedViewValue === viewValue && (viewValue !== '' || !this.$$hasNativeValidators)) { + return; + } + this.$$updateEmptyClasses(viewValue); + this.$$lastCommittedViewValue = viewValue; + + // change to dirty + if (this.$pristine) { + this.$setDirty(); + } + this.$$parseAndValidate(); + }, + + $$parseAndValidate: function() { + var viewValue = this.$$lastCommittedViewValue; + var modelValue = viewValue; + var that = this; + + this.$$parserValid = isUndefined(modelValue) ? undefined : true; + + // Reset any previous parse error + this.$setValidity(this.$$parserName, null); + this.$$parserName = 'parse'; + + if (this.$$parserValid) { + for (var i = 0; i < this.$parsers.length; i++) { + modelValue = this.$parsers[i](modelValue); + if (isUndefined(modelValue)) { + this.$$parserValid = false; + break; + } + } + } + if (isNumberNaN(this.$modelValue)) { + // this.$modelValue has not been touched yet... + this.$modelValue = this.$$ngModelGet(this.$$scope); + } + var prevModelValue = this.$modelValue; + var allowInvalid = this.$options.getOption('allowInvalid'); + this.$$rawModelValue = modelValue; + + if (allowInvalid) { + this.$modelValue = modelValue; + writeToModelIfNeeded(); + } + + // Pass the $$lastCommittedViewValue here, because the cached viewValue might be out of date. + // This can happen if e.g. $setViewValue is called from inside a parser + this.$$runValidators(modelValue, this.$$lastCommittedViewValue, function(allValid) { + if (!allowInvalid) { + // Note: Don't check this.$valid here, as we could have + // external validators (e.g. calculated on the server), + // that just call $setValidity and need the model value + // to calculate their validity. + that.$modelValue = allValid ? modelValue : undefined; + writeToModelIfNeeded(); + } + }); + + function writeToModelIfNeeded() { + if (that.$modelValue !== prevModelValue) { + that.$$writeModelToScope(); + } + } + }, + + $$writeModelToScope: function() { + this.$$ngModelSet(this.$$scope, this.$modelValue); + forEach(this.$viewChangeListeners, function(listener) { + try { + listener(); + } catch (e) { + // eslint-disable-next-line no-invalid-this + this.$$exceptionHandler(e); + } + }, this); + }, + + /** + * @ngdoc method + * @name ngModel.NgModelController#$setViewValue + * + * @description + * Update the view value. + * + * This method should be called when a control wants to change the view value; typically, + * this is done from within a DOM event handler. For example, the {@link ng.directive:input input} + * directive calls it when the value of the input changes and {@link ng.directive:select select} + * calls it when an option is selected. + * + * When `$setViewValue` is called, the new `value` will be staged for committing through the `$parsers` + * and `$validators` pipelines. If there are no special {@link ngModelOptions} specified then the staged + * value is sent directly for processing through the `$parsers` pipeline. After this, the `$validators` and + * `$asyncValidators` are called and the value is applied to `$modelValue`. + * Finally, the value is set to the **expression** specified in the `ng-model` attribute and + * all the registered change listeners, in the `$viewChangeListeners` list are called. + * + * In case the {@link ng.directive:ngModelOptions ngModelOptions} directive is used with `updateOn` + * and the `default` trigger is not listed, all those actions will remain pending until one of the + * `updateOn` events is triggered on the DOM element. + * All these actions will be debounced if the {@link ng.directive:ngModelOptions ngModelOptions} + * directive is used with a custom debounce for this particular event. + * Note that a `$digest` is only triggered once the `updateOn` events are fired, or if `debounce` + * is specified, once the timer runs out. + * + * When used with standard inputs, the view value will always be a string (which is in some cases + * parsed into another type, such as a `Date` object for `input[date]`.) + * However, custom controls might also pass objects to this method. In this case, we should make + * a copy of the object before passing it to `$setViewValue`. This is because `ngModel` does not + * perform a deep watch of objects, it only looks for a change of identity. If you only change + * the property of the object then ngModel will not realize that the object has changed and + * will not invoke the `$parsers` and `$validators` pipelines. For this reason, you should + * not change properties of the copy once it has been passed to `$setViewValue`. + * Otherwise you may cause the model value on the scope to change incorrectly. + * + *
      + * In any case, the value passed to the method should always reflect the current value + * of the control. For example, if you are calling `$setViewValue` for an input element, + * you should pass the input DOM value. Otherwise, the control and the scope model become + * out of sync. It's also important to note that `$setViewValue` does not call `$render` or change + * the control's DOM value in any way. If we want to change the control's DOM value + * programmatically, we should update the `ngModel` scope expression. Its new value will be + * picked up by the model controller, which will run it through the `$formatters`, `$render` it + * to update the DOM, and finally call `$validate` on it. + *
      + * + * @param {*} value value from the view. + * @param {string} trigger Event that triggered the update. + */ + $setViewValue: function(value, trigger) { + this.$viewValue = value; + if (this.$options.getOption('updateOnDefault')) { + this.$$debounceViewValueCommit(trigger); + } + }, + + $$debounceViewValueCommit: function(trigger) { + var debounceDelay = this.$options.getOption('debounce'); + + if (isNumber(debounceDelay[trigger])) { + debounceDelay = debounceDelay[trigger]; + } else if (isNumber(debounceDelay['default']) && + this.$options.getOption('updateOn').indexOf(trigger) === -1 + ) { + debounceDelay = debounceDelay['default']; + } else if (isNumber(debounceDelay['*'])) { + debounceDelay = debounceDelay['*']; + } + + this.$$timeout.cancel(this.$$pendingDebounce); + var that = this; + if (debounceDelay > 0) { // this fails if debounceDelay is an object + this.$$pendingDebounce = this.$$timeout(function() { + that.$commitViewValue(); + }, debounceDelay); + } else if (this.$$rootScope.$$phase) { + this.$commitViewValue(); + } else { + this.$$scope.$apply(function() { + that.$commitViewValue(); + }); + } + }, + + /** + * @ngdoc method + * + * @name ngModel.NgModelController#$overrideModelOptions + * + * @description + * + * Override the current model options settings programmatically. + * + * The previous `ModelOptions` value will not be modified. Instead, a + * new `ModelOptions` object will inherit from the previous one overriding + * or inheriting settings that are defined in the given parameter. + * + * See {@link ngModelOptions} for information about what options can be specified + * and how model option inheritance works. + * + *
      + * **Note:** this function only affects the options set on the `ngModelController`, + * and not the options on the {@link ngModelOptions} directive from which they might have been + * obtained initially. + *
      + * + *
      + * **Note:** it is not possible to override the `getterSetter` option. + *
      + * + * @param {Object} options a hash of settings to override the previous options + * + */ + $overrideModelOptions: function(options) { + this.$options = this.$options.createChild(options); + this.$$setUpdateOnEvents(); + }, + + /** + * @ngdoc method + * + * @name ngModel.NgModelController#$processModelValue + + * @description + * + * Runs the model -> view pipeline on the current + * {@link ngModel.NgModelController#$modelValue $modelValue}. + * + * The following actions are performed by this method: + * + * - the `$modelValue` is run through the {@link ngModel.NgModelController#$formatters $formatters} + * and the result is set to the {@link ngModel.NgModelController#$viewValue $viewValue} + * - the `ng-empty` or `ng-not-empty` class is set on the element + * - if the `$viewValue` has changed: + * - {@link ngModel.NgModelController#$render $render} is called on the control + * - the {@link ngModel.NgModelController#$validators $validators} are run and + * the validation status is set. + * + * This method is called by ngModel internally when the bound scope value changes. + * Application developers usually do not have to call this function themselves. + * + * This function can be used when the `$viewValue` or the rendered DOM value are not correctly + * formatted and the `$modelValue` must be run through the `$formatters` again. + * + * @example + * Consider a text input with an autocomplete list (for fruit), where the items are + * objects with a name and an id. + * A user enters `ap` and then selects `Apricot` from the list. + * Based on this, the autocomplete widget will call `$setViewValue({name: 'Apricot', id: 443})`, + * but the rendered value will still be `ap`. + * The widget can then call `ctrl.$processModelValue()` to run the model -> view + * pipeline again, which formats the object to the string `Apricot`, + * then updates the `$viewValue`, and finally renders it in the DOM. + * + * + +
      +
      + Search Fruit: + +
      +
      + Model:
      +
      {{selectedFruit | json}}
      +
      +
      +
      + + angular.module('inputExample', []) + .controller('inputController', function($scope) { + $scope.items = [ + {name: 'Apricot', id: 443}, + {name: 'Clementine', id: 972}, + {name: 'Durian', id: 169}, + {name: 'Jackfruit', id: 982}, + {name: 'Strawberry', id: 863} + ]; + }) + .component('basicAutocomplete', { + bindings: { + items: '<', + onSelect: '&' + }, + templateUrl: 'autocomplete.html', + controller: function($element, $scope) { + var that = this; + var ngModel; + + that.$postLink = function() { + ngModel = $element.find('input').controller('ngModel'); + + ngModel.$formatters.push(function(value) { + return (value && value.name) || value; + }); + + ngModel.$parsers.push(function(value) { + var match = value; + for (var i = 0; i < that.items.length; i++) { + if (that.items[i].name === value) { + match = that.items[i]; + break; + } + } + + return match; + }); + }; + + that.selectItem = function(item) { + ngModel.$setViewValue(item); + ngModel.$processModelValue(); + that.onSelect({item: item}); + }; + } + }); + + +
      + +
        +
      • + +
      • +
      +
      +
      + *
      + * + */ + $processModelValue: function() { + var viewValue = this.$$format(); + + if (this.$viewValue !== viewValue) { + this.$$updateEmptyClasses(viewValue); + this.$viewValue = this.$$lastCommittedViewValue = viewValue; + this.$render(); + // It is possible that model and view value have been updated during render + this.$$runValidators(this.$modelValue, this.$viewValue, noop); + } + }, + + /** + * This method is called internally to run the $formatters on the $modelValue + */ + $$format: function() { + var formatters = this.$formatters, + idx = formatters.length; + + var viewValue = this.$modelValue; + while (idx--) { + viewValue = formatters[idx](viewValue); + } + + return viewValue; + }, + + /** + * This method is called internally when the bound scope value changes. + */ + $$setModelValue: function(modelValue) { + this.$modelValue = this.$$rawModelValue = modelValue; + this.$$parserValid = undefined; + this.$processModelValue(); + }, + + $$setUpdateOnEvents: function() { + if (this.$$updateEvents) { + this.$$element.off(this.$$updateEvents, this.$$updateEventHandler); + } + + this.$$updateEvents = this.$options.getOption('updateOn'); + if (this.$$updateEvents) { + this.$$element.on(this.$$updateEvents, this.$$updateEventHandler); + } + }, + + $$updateEventHandler: function(ev) { + this.$$debounceViewValueCommit(ev && ev.type); + } +}; + +function setupModelWatcher(ctrl) { + // model -> value + // Note: we cannot use a normal scope.$watch as we want to detect the following: + // 1. scope value is 'a' + // 2. user enters 'b' + // 3. ng-change kicks in and reverts scope value to 'a' + // -> scope value did not change since the last digest as + // ng-change executes in apply phase + // 4. view should be changed back to 'a' + ctrl.$$scope.$watch(function ngModelWatch(scope) { + var modelValue = ctrl.$$ngModelGet(scope); + + // if scope model value and ngModel value are out of sync + // This cannot be moved to the action function, because it would not catch the + // case where the model is changed in the ngChange function or the model setter + if (modelValue !== ctrl.$modelValue && + // checks for NaN is needed to allow setting the model to NaN when there's an asyncValidator + // eslint-disable-next-line no-self-compare + (ctrl.$modelValue === ctrl.$modelValue || modelValue === modelValue) + ) { + ctrl.$$setModelValue(modelValue); + } + + return modelValue; + }); +} + +/** + * @ngdoc method + * @name ngModel.NgModelController#$setValidity + * + * @description + * Change the validity state, and notify the form. + * + * This method can be called within $parsers/$formatters or a custom validation implementation. + * However, in most cases it should be sufficient to use the `ngModel.$validators` and + * `ngModel.$asyncValidators` collections which will call `$setValidity` automatically. + * + * @param {string} validationErrorKey Name of the validator. The `validationErrorKey` will be assigned + * to either `$error[validationErrorKey]` or `$pending[validationErrorKey]` + * (for unfulfilled `$asyncValidators`), so that it is available for data-binding. + * The `validationErrorKey` should be in camelCase and will get converted into dash-case + * for class name. Example: `myError` will result in `ng-valid-my-error` and `ng-invalid-my-error` + * classes and can be bound to as `{{ someForm.someControl.$error.myError }}`. + * @param {boolean} isValid Whether the current state is valid (true), invalid (false), pending (undefined), + * or skipped (null). Pending is used for unfulfilled `$asyncValidators`. + * Skipped is used by AngularJS when validators do not run because of parse errors and + * when `$asyncValidators` do not run because any of the `$validators` failed. + */ +addSetValidityMethod({ + clazz: NgModelController, + set: function(object, property) { + object[property] = true; + }, + unset: function(object, property) { + delete object[property]; + } +}); + + +/** + * @ngdoc directive + * @name ngModel + * @restrict A + * @priority 1 + * @param {expression} ngModel assignable {@link guide/expression Expression} to bind to. + * + * @description + * The `ngModel` directive binds an `input`,`select`, `textarea` (or custom form control) to a + * property on the scope using {@link ngModel.NgModelController NgModelController}, + * which is created and exposed by this directive. + * + * `ngModel` is responsible for: + * + * - Binding the view into the model, which other directives such as `input`, `textarea` or `select` + * require. + * - Providing validation behavior (i.e. required, number, email, url). + * - Keeping the state of the control (valid/invalid, dirty/pristine, touched/untouched, validation errors). + * - Setting related css classes on the element (`ng-valid`, `ng-invalid`, `ng-dirty`, `ng-pristine`, `ng-touched`, + * `ng-untouched`, `ng-empty`, `ng-not-empty`) including animations. + * - Registering the control with its parent {@link ng.directive:form form}. + * + * Note: `ngModel` will try to bind to the property given by evaluating the expression on the + * current scope. If the property doesn't already exist on this scope, it will be created + * implicitly and added to the scope. + * + * For best practices on using `ngModel`, see: + * + * - [Understanding Scopes](https://github.com/angular/angular.js/wiki/Understanding-Scopes) + * + * For basic examples, how to use `ngModel`, see: + * + * - {@link ng.directive:input input} + * - {@link input[text] text} + * - {@link input[checkbox] checkbox} + * - {@link input[radio] radio} + * - {@link input[number] number} + * - {@link input[email] email} + * - {@link input[url] url} + * - {@link input[date] date} + * - {@link input[datetime-local] datetime-local} + * - {@link input[time] time} + * - {@link input[month] month} + * - {@link input[week] week} + * - {@link ng.directive:select select} + * - {@link ng.directive:textarea textarea} + * + * ## Complex Models (objects or collections) + * + * By default, `ngModel` watches the model by reference, not value. This is important to know when + * binding inputs to models that are objects (e.g. `Date`) or collections (e.g. arrays). If only properties of the + * object or collection change, `ngModel` will not be notified and so the input will not be re-rendered. + * + * The model must be assigned an entirely new object or collection before a re-rendering will occur. + * + * Some directives have options that will cause them to use a custom `$watchCollection` on the model expression + * - for example, `ngOptions` will do so when a `track by` clause is included in the comprehension expression or + * if the select is given the `multiple` attribute. + * + * The `$watchCollection()` method only does a shallow comparison, meaning that changing properties deeper than the + * first level of the object (or only changing the properties of an item in the collection if it's an array) will still + * not trigger a re-rendering of the model. + * + * ## CSS classes + * The following CSS classes are added and removed on the associated input/select/textarea element + * depending on the validity of the model. + * + * - `ng-valid`: the model is valid + * - `ng-invalid`: the model is invalid + * - `ng-valid-[key]`: for each valid key added by `$setValidity` + * - `ng-invalid-[key]`: for each invalid key added by `$setValidity` + * - `ng-pristine`: the control hasn't been interacted with yet + * - `ng-dirty`: the control has been interacted with + * - `ng-touched`: the control has been blurred + * - `ng-untouched`: the control hasn't been blurred + * - `ng-pending`: any `$asyncValidators` are unfulfilled + * - `ng-empty`: the view does not contain a value or the value is deemed "empty", as defined + * by the {@link ngModel.NgModelController#$isEmpty} method + * - `ng-not-empty`: the view contains a non-empty value + * + * Keep in mind that ngAnimate can detect each of these classes when added and removed. + * + * @animations + * Animations within models are triggered when any of the associated CSS classes are added and removed + * on the input element which is attached to the model. These classes include: `.ng-pristine`, `.ng-dirty`, + * `.ng-invalid` and `.ng-valid` as well as any other validations that are performed on the model itself. + * The animations that are triggered within ngModel are similar to how they work in ngClass and + * animations can be hooked into using CSS transitions, keyframes as well as JS animations. + * + * The following example shows a simple way to utilize CSS transitions to style an input element + * that has been rendered as invalid after it has been validated: + * + *
      + * //be sure to include ngAnimate as a module to hook into more
      + * //advanced animations
      + * .my-input {
      + *   transition:0.5s linear all;
      + *   background: white;
      + * }
      + * .my-input.ng-invalid {
      + *   background: red;
      + *   color:white;
      + * }
      + * 
      + * + * @example + * ### Basic Usage + * + + + +

      + Update input to see transitions when valid/invalid. + Integer is a valid value. +

      +
      + +
      +
      + *
      + * + * @example + * ### Binding to a getter/setter + * + * Sometimes it's helpful to bind `ngModel` to a getter/setter function. A getter/setter is a + * function that returns a representation of the model when called with zero arguments, and sets + * the internal state of a model when called with an argument. It's sometimes useful to use this + * for models that have an internal representation that's different from what the model exposes + * to the view. + * + *
      + * **Best Practice:** It's best to keep getters fast because AngularJS is likely to call them more + * frequently than other parts of your code. + *
      + * + * You use this behavior by adding `ng-model-options="{ getterSetter: true }"` to an element that + * has `ng-model` attached to it. You can also add `ng-model-options="{ getterSetter: true }"` to + * a `
      `, which will enable this behavior for all ``s within it. See + * {@link ng.directive:ngModelOptions `ngModelOptions`} for more. + * + * The following example shows how to use `ngModel` with a getter/setter: + * + * @example + * + +
      + + + +
      user.name = 
      +
      +
      + + angular.module('getterSetterExample', []) + .controller('ExampleController', ['$scope', function($scope) { + var _name = 'Brian'; + $scope.user = { + name: function(newName) { + // Note that newName can be undefined for two reasons: + // 1. Because it is called as a getter and thus called with no arguments + // 2. Because the property should actually be set to undefined. This happens e.g. if the + // input is invalid + return arguments.length ? (_name = newName) : _name; + } + }; + }]); + + *
      + */ +var ngModelDirective = ['$rootScope', function($rootScope) { + return { + restrict: 'A', + require: ['ngModel', '^?form', '^?ngModelOptions'], + controller: NgModelController, + // Prelink needs to run before any input directive + // so that we can set the NgModelOptions in NgModelController + // before anyone else uses it. + priority: 1, + compile: function ngModelCompile(element) { + // Setup initial state of the control + element.addClass(PRISTINE_CLASS).addClass(UNTOUCHED_CLASS).addClass(VALID_CLASS); + + return { + pre: function ngModelPreLink(scope, element, attr, ctrls) { + var modelCtrl = ctrls[0], + formCtrl = ctrls[1] || modelCtrl.$$parentForm, + optionsCtrl = ctrls[2]; + + if (optionsCtrl) { + modelCtrl.$options = optionsCtrl.$options; + } + + modelCtrl.$$initGetterSetters(); + + // notify others, especially parent forms + formCtrl.$addControl(modelCtrl); + + attr.$observe('name', function(newValue) { + if (modelCtrl.$name !== newValue) { + modelCtrl.$$parentForm.$$renameControl(modelCtrl, newValue); + } + }); + + scope.$on('$destroy', function() { + modelCtrl.$$parentForm.$removeControl(modelCtrl); + }); + }, + post: function ngModelPostLink(scope, element, attr, ctrls) { + var modelCtrl = ctrls[0]; + modelCtrl.$$setUpdateOnEvents(); + + function setTouched() { + modelCtrl.$setTouched(); + } + + element.on('blur', function() { + if (modelCtrl.$touched) return; + + if ($rootScope.$$phase) { + scope.$evalAsync(setTouched); + } else { + scope.$apply(setTouched); + } + }); + } + }; + } + }; +}]; diff --git a/src/ng/directive/ngModelOptions.js b/src/ng/directive/ngModelOptions.js new file mode 100644 index 000000000000..1f242001adf9 --- /dev/null +++ b/src/ng/directive/ngModelOptions.js @@ -0,0 +1,580 @@ +'use strict'; + +/* exported defaultModelOptions */ +var defaultModelOptions; +var DEFAULT_REGEXP = /(\s+|^)default(\s+|$)/; + +/** + * @ngdoc type + * @name ModelOptions + * @description + * A container for the options set by the {@link ngModelOptions} directive + */ +function ModelOptions(options) { + this.$$options = options; +} + +ModelOptions.prototype = { + + /** + * @ngdoc method + * @name ModelOptions#getOption + * @param {string} name the name of the option to retrieve + * @returns {*} the value of the option + * @description + * Returns the value of the given option + */ + getOption: function(name) { + return this.$$options[name]; + }, + + /** + * @ngdoc method + * @name ModelOptions#createChild + * @param {Object} options a hash of options for the new child that will override the parent's options + * @return {ModelOptions} a new `ModelOptions` object initialized with the given options. + */ + createChild: function(options) { + var inheritAll = false; + + // make a shallow copy + options = extend({}, options); + + // Inherit options from the parent if specified by the value `"$inherit"` + forEach(options, /** @this */ function(option, key) { + if (option === '$inherit') { + if (key === '*') { + inheritAll = true; + } else { + options[key] = this.$$options[key]; + // `updateOn` is special so we must also inherit the `updateOnDefault` option + if (key === 'updateOn') { + options.updateOnDefault = this.$$options.updateOnDefault; + } + } + } else { + if (key === 'updateOn') { + // If the `updateOn` property contains the `default` event then we have to remove + // it from the event list and set the `updateOnDefault` flag. + options.updateOnDefault = false; + options[key] = trim(option.replace(DEFAULT_REGEXP, function() { + options.updateOnDefault = true; + return ' '; + })); + } + } + }, this); + + if (inheritAll) { + // We have a property of the form: `"*": "$inherit"` + delete options['*']; + defaults(options, this.$$options); + } + + // Finally add in any missing defaults + defaults(options, defaultModelOptions.$$options); + + return new ModelOptions(options); + } +}; + + +defaultModelOptions = new ModelOptions({ + updateOn: '', + updateOnDefault: true, + debounce: 0, + getterSetter: false, + allowInvalid: false, + timezone: null +}); + + +/** + * @ngdoc directive + * @name ngModelOptions + * @restrict A + * @priority 10 + * + * @description + * This directive allows you to modify the behaviour of {@link ngModel} directives within your + * application. You can specify an `ngModelOptions` directive on any element. All {@link ngModel} + * directives will use the options of their nearest `ngModelOptions` ancestor. + * + * The `ngModelOptions` settings are found by evaluating the value of the attribute directive as + * an AngularJS expression. This expression should evaluate to an object, whose properties contain + * the settings. For example: `
      + *
      + * + *
      + *
      + * ``` + * + * the `input` element will have the following settings + * + * ```js + * { allowInvalid: true, updateOn: 'default', debounce: 0 } + * ``` + * + * Notice that the `debounce` setting was not inherited and used the default value instead. + * + * You can specify that all undefined settings are automatically inherited from an ancestor by + * including a property with key of `"*"` and value of `"$inherit"`. + * + * For example given the following fragment of HTML + * + * + * ```html + *
      + *
      + * + *
      + *
      + * ``` + * + * the `input` element will have the following settings + * + * ```js + * { allowInvalid: true, updateOn: 'default', debounce: 200 } + * ``` + * + * Notice that the `debounce` setting now inherits the value from the outer `
      ` element. + * + * If you are creating a reusable component then you should be careful when using `"*": "$inherit"` + * since you may inadvertently inherit a setting in the future that changes the behavior of your component. + * + * + * ## Triggering and debouncing model updates + * + * The `updateOn` and `debounce` properties allow you to specify a custom list of events that will + * trigger a model update and/or a debouncing delay so that the actual update only takes place when + * a timer expires; this timer will be reset after another change takes place. + * + * Given the nature of `ngModelOptions`, the value displayed inside input fields in the view might + * be different from the value in the actual model. This means that if you update the model you + * should also invoke {@link ngModel.NgModelController#$rollbackViewValue} on the relevant input field in + * order to make sure it is synchronized with the model and that any debounced action is canceled. + * + * The easiest way to reference the control's {@link ngModel.NgModelController#$rollbackViewValue} + * method is by making sure the input is placed inside a form that has a `name` attribute. This is + * important because `form` controllers are published to the related scope under the name in their + * `name` attribute. + * + * Any pending changes will take place immediately when an enclosing form is submitted via the + * `submit` event. Note that `ngClick` events will occur before the model is updated. Use `ngSubmit` + * to have access to the updated model. + * + * ### Overriding immediate updates + * + * The following example shows how to override immediate updates. Changes on the inputs within the + * form will update the model only when the control loses focus (blur event). If `escape` key is + * pressed while the input field is focused, the value is reset to the value in the current model. + * + * + * + *
      + *
      + *
      + *
      + *
      + *
      user.name = 
      + *
      + *
      + * + * angular.module('optionsExample', []) + * .controller('ExampleController', ['$scope', function($scope) { + * $scope.user = { name: 'say', data: '' }; + * + * $scope.cancel = function(e) { + * if (e.keyCode === 27) { + * $scope.userForm.userName.$rollbackViewValue(); + * } + * }; + * }]); + * + * + * var model = element(by.binding('user.name')); + * var input = element(by.model('user.name')); + * var other = element(by.model('user.data')); + * + * it('should allow custom events', function() { + * input.sendKeys(' hello'); + * input.click(); + * expect(model.getText()).toEqual('say'); + * other.click(); + * expect(model.getText()).toEqual('say hello'); + * }); + * + * it('should $rollbackViewValue when model changes', function() { + * input.sendKeys(' hello'); + * expect(input.getAttribute('value')).toEqual('say hello'); + * input.sendKeys(protractor.Key.ESCAPE); + * expect(input.getAttribute('value')).toEqual('say'); + * other.click(); + * expect(model.getText()).toEqual('say'); + * }); + * + *
      + * + * ### Debouncing updates + * + * The next example shows how to debounce model changes. Model will be updated only 1 sec after last change. + * If the `Clear` button is pressed, any debounced action is canceled and the value becomes empty. + * + * + * + *
      + *
      + * Name: + * + *
      + *
      + *
      user.name = 
      + *
      + *
      + * + * angular.module('optionsExample', []) + * .controller('ExampleController', ['$scope', function($scope) { + * $scope.user = { name: 'say' }; + * }]); + * + *
      + * + * ### Default events, extra triggers, and catch-all debounce values + * + * This example shows the relationship between "default" update events and + * additional `updateOn` triggers. + * + * `default` events are those that are bound to the control, and when fired, update the `$viewValue` + * via {@link ngModel.NgModelController#$setViewValue $setViewValue}. Every event that is not listed + * in `updateOn` is considered a "default" event, since different control types have different + * default events. + * + * The control in this example updates by "default", "click", and "blur", with different `debounce` + * values. You can see that "click" doesn't have an individual `debounce` value - + * therefore it uses the `*` debounce value. + * + * There is also a button that calls {@link ngModel.NgModelController#$setViewValue $setViewValue} + * directly with a "custom" event. Since "custom" is not defined in the `updateOn` list, + * it is considered a "default" event and will update the + * control if "default" is defined in `updateOn`, and will receive the "default" debounce value. + * Note that this is just to illustrate how custom controls would possibly call `$setViewValue`. + * + * You can change the `updateOn` and `debounce` configuration to test different scenarios. This + * is done with {@link ngModel.NgModelController#$overrideModelOptions $overrideModelOptions}. + * + + + + + + angular.module('optionsExample', []) + .component('modelUpdateDemo', { + templateUrl: 'template.html', + controller: function() { + this.name = 'Chinua'; + + this.options = { + updateOn: 'default blur click', + debounce: { + default: 2000, + blur: 0, + '*': 1000 + } + }; + + this.updateEvents = function() { + var eventList = this.options.updateOn.split(' '); + eventList.push('*'); + var events = {}; + + for (var i = 0; i < eventList.length; i++) { + events[eventList[i]] = this.options.debounce[eventList[i]]; + } + + this.events = events; + }; + + this.updateOptions = function() { + var options = angular.extend(this.options, { + updateOn: Object.keys(this.events).join(' ').replace('*', ''), + debounce: this.events + }); + + this.form.input.$overrideModelOptions(options); + }; + + // Initialize the event form + this.updateEvents(); + } + }); + + +
      + Input: +
      + Model: {{$ctrl.name}} +
      + + +
      +
      + updateOn
      + + + + + + + + + + + +
      OptionDebounce value
      {{key}}
      + +
      + +
      +
      +
      + * + * + * ## Model updates and validation + * + * The default behaviour in `ngModel` is that the model value is set to `undefined` when the + * validation determines that the value is invalid. By setting the `allowInvalid` property to true, + * the model will still be updated even if the value is invalid. + * + * + * ## Connecting to the scope + * + * By setting the `getterSetter` property to true you are telling ngModel that the `ngModel` expression + * on the scope refers to a "getter/setter" function rather than the value itself. + * + * The following example shows how to bind to getter/setters: + * + * + * + *
      + *
      + * + *
      + *
      user.name = 
      + *
      + *
      + * + * angular.module('getterSetterExample', []) + * .controller('ExampleController', ['$scope', function($scope) { + * var _name = 'Brian'; + * $scope.user = { + * name: function(newName) { + * return angular.isDefined(newName) ? (_name = newName) : _name; + * } + * }; + * }]); + * + *
      + * + * + * ## Programmatically changing options + * + * The `ngModelOptions` expression is only evaluated once when the directive is linked; it is not + * watched for changes. However, it is possible to override the options on a single + * {@link ngModel.NgModelController} instance with + * {@link ngModel.NgModelController#$overrideModelOptions `NgModelController#$overrideModelOptions()`}. + * See also the example for + * {@link ngModelOptions#default-events-extra-triggers-and-catch-all-debounce-values + * Default events, extra triggers, and catch-all debounce values}. + * + * + * ## Specifying timezones + * + * You can specify the timezone that date/time input directives expect by providing its name in the + * `timezone` property. + * + * + * ## Formatting the value of `time` and `datetime-local` + * + * With the options `timeSecondsFormat` and `timeStripZeroSeconds` it is possible to adjust the value + * that is displayed in the control. Note that browsers may apply their own formatting + * in the user interface. + * + + + + + + angular.module('timeExample', []) + .component('timeExample', { + templateUrl: 'timeExample.html', + controller: function() { + this.time = new Date(1970, 0, 1, 14, 57, 0); + + this.options = { + timeSecondsFormat: 'ss', + timeStripZeroSeconds: true + }; + + this.optionChange = function() { + this.timeForm.timeFormatted.$overrideModelOptions(this.options); + this.time = new Date(this.time); + }; + } + }); + + +
      + Default: +
      + With options: + +
      + + Options:
      + timeSecondsFormat: + +
      + timeStripZeroSeconds: + +
      +
      + *
      + * + * @param {Object} ngModelOptions options to apply to {@link ngModel} directives on this element and + * and its descendents. + * + * **General options**: + * + * - `updateOn`: string specifying which event should the input be bound to. You can set several + * events using an space delimited list. There is a special event called `default` that + * matches the default events belonging to the control. These are the events that are bound to + * the control, and when fired, update the `$viewValue` via `$setViewValue`. + * + * `ngModelOptions` considers every event that is not listed in `updateOn` a "default" event, + * since different control types use different default events. + * + * See also the section {@link ngModelOptions#triggering-and-debouncing-model-updates + * Triggering and debouncing model updates}. + * + * - `debounce`: integer value which contains the debounce model update value in milliseconds. A + * value of 0 triggers an immediate update. If an object is supplied instead, you can specify a + * custom value for each event. For example: + * ``` + * ng-model-options="{ + * updateOn: 'default blur', + * debounce: { 'default': 500, 'blur': 0 } + * }" + * ``` + * You can use the `*` key to specify a debounce value that applies to all events that are not + * specifically listed. In the following example, `mouseup` would have a debounce delay of 1000: + * ``` + * ng-model-options="{ + * updateOn: 'default blur mouseup', + * debounce: { 'default': 500, 'blur': 0, '*': 1000 } + * }" + * ``` + * - `allowInvalid`: boolean value which indicates that the model can be set with values that did + * not validate correctly instead of the default behavior of setting the model to undefined. + * - `getterSetter`: boolean value which determines whether or not to treat functions bound to + * `ngModel` as getters/setters. + * + * + * **Input-type specific options**: + * + * - `timezone`: Defines the timezone to be used to read/write the `Date` instance in the model for + * ``, ``, ... . It understands UTC/GMT and the + * continental US time zone abbreviations, but for general use, use a time zone offset, for + * example, `'+0430'` (4 hours, 30 minutes east of the Greenwich meridian) + * If not specified, the timezone of the browser will be used. + * Note that changing the timezone will have no effect on the current date, and is only applied after + * the next input / model change. + * + * - `timeSecondsFormat`: Defines if the `time` and `datetime-local` types should show seconds and + * milliseconds. The option follows the format string of {@link date date filter}. + * By default, the options is `undefined` which is equal to `'ss.sss'` (seconds and milliseconds). + * The other options are `'ss'` (strips milliseconds), and `''` (empty string), which strips both + * seconds and milliseconds. + * Note that browsers that support `time` and `datetime-local` require the hour and minutes + * part of the time string, and may show the value differently in the user interface. + * {@link ngModelOptions#formatting-the-value-of-time-and-datetime-local- See the example}. + * + * - `timeStripZeroSeconds`: Defines if the `time` and `datetime-local` types should strip the + * seconds and milliseconds from the formatted value if they are zero. This option is applied + * after `timeSecondsFormat`. + * This option can be used to make the formatting consistent over different browsers, as some + * browsers with support for `time` will natively hide the milliseconds and + * seconds if they are zero, but others won't, and browsers that don't implement these input + * types will always show the full string. + * {@link ngModelOptions#formatting-the-value-of-time-and-datetime-local- See the example}. + * + */ +var ngModelOptionsDirective = function() { + NgModelOptionsController.$inject = ['$attrs', '$scope']; + function NgModelOptionsController($attrs, $scope) { + this.$$attrs = $attrs; + this.$$scope = $scope; + } + NgModelOptionsController.prototype = { + $onInit: function() { + var parentOptions = this.parentCtrl ? this.parentCtrl.$options : defaultModelOptions; + var modelOptionsDefinition = this.$$scope.$eval(this.$$attrs.ngModelOptions); + + this.$options = parentOptions.createChild(modelOptionsDefinition); + } + }; + + return { + restrict: 'A', + // ngModelOptions needs to run before ngModel and input directives + priority: 10, + require: {parentCtrl: '?^^ngModelOptions'}, + bindToController: true, + controller: NgModelOptionsController + }; +}; + + +// shallow copy over values from `src` that are not already specified on `dst` +function defaults(dst, src) { + forEach(src, function(value, key) { + if (!isDefined(dst[key])) { + dst[key] = value; + } + }); +} diff --git a/src/ng/directive/ngNonBindable.js b/src/ng/directive/ngNonBindable.js index 473b416b8cde..fed7683af711 100644 --- a/src/ng/directive/ngNonBindable.js +++ b/src/ng/directive/ngNonBindable.js @@ -2,35 +2,33 @@ /** * @ngdoc directive - * @name ng.directive:ngNonBindable + * @name ngNonBindable * @restrict AC * @priority 1000 + * @element ANY * * @description - * The `ngNonBindable` directive tells Angular not to compile or bind the contents of the current - * DOM element. This is useful if the element contains what appears to be Angular directives and - * bindings but which should be ignored by Angular. This could be the case if you have a site that - * displays snippets of code, for instance. - * - * @element ANY + * The `ngNonBindable` directive tells AngularJS not to compile or bind the contents of the current + * DOM element, including directives on the element itself that have a lower priority than + * `ngNonBindable`. This is useful if the element contains what appears to be AngularJS directives + * and bindings but which should be ignored by AngularJS. This could be the case if you have a site + * that displays snippets of code, for instance. * * @example * In this example there are two locations where a simple interpolation binding (`{{}}`) is present, * but the one wrapped in `ngNonBindable` is left alone. * - * @example - - -
      Normal: {{1 + 2}}
      -
      Ignored: {{1 + 2}}
      -
      - - it('should check ng-non-bindable', function() { - expect(using('.doc-example-live').binding('1 + 2')).toBe('3'); - expect(using('.doc-example-live').element('div:last').text()). - toMatch(/1 \+ 2/); - }); - -
      + + +
      Normal: {{1 + 2}}
      +
      Ignored: {{1 + 2}}
      +
      + + it('should check ng-non-bindable', function() { + expect(element(by.binding('1 + 2')).getText()).toContain('3'); + expect(element.all(by.css('div')).last().getText()).toMatch(/1 \+ 2/); + }); + +
      */ var ngNonBindableDirective = ngDirective({ terminal: true, priority: 1000 }); diff --git a/src/ng/directive/ngOptions.js b/src/ng/directive/ngOptions.js new file mode 100644 index 000000000000..af963c665dc7 --- /dev/null +++ b/src/ng/directive/ngOptions.js @@ -0,0 +1,717 @@ +'use strict'; + +/* exported ngOptionsDirective */ + +/* global jqLiteRemove */ + +var ngOptionsMinErr = minErr('ngOptions'); + +/** + * @ngdoc directive + * @name ngOptions + * @restrict A + * + * @description + * + * The `ngOptions` attribute can be used to dynamically generate a list of `` + * DOM element. + * * `disable`: The result of this expression will be used to disable the rendered `